pipfromslitherine wrote:Merr, once you are happy that these have been kicked around enough I would love to put them up on the content list. I've been a little lax recently with chasing content I have to confess...
Pip,
At the moment, the MP versions are 99% ready to go. There is a small addition that I just added to the my VP placement logic (MP version). I'm planning on adding it to my SP version. So, the MP is ready for official downloading (after change), while the SP versions need some more AI tweaks and might be a little longer wait, unless you have no problem with me updating the SP version every week or two?
Ok .... here's my change ;

If it can't place ALL the vp's, it will "hide" ALL of the effect markers before it tries again.
What was happening

After player(0) finished his first turn, you can suddenly see dozen's of effect markers on the map

. This wasn't causing a problem but I fear that some day it might leave this "extra marker" on the map if "stubby" (the nick-name I call the STUBengine) decides to hiccup

.
If you have a moment ... Look at my SetSmallVP() function (shown below) ... Do you think I should run a loop for each vp instead of all the vp's?
Currently this works since it's trying 1024 times and so far ... so good.
Also, you can see the "HideEffectMarker" stuff I added to the end. I was suprised I had to do this but it works.
Code: Select all
FUNCTION SetSmallVP()
{
int x ;
int y ;
int i ;
int vp ;
int place ;
place = 0 ;
vp = 5 ;
for(i=0;i<1024;i++)
{
if ( place == vp )
{
i = 1024 ;
}
else
{
if ( place == 0 )
{
x = Rand(20,43) ;
y = Rand(20,24) ;
if( (IsWaterTile(x,y) != 1) && (GetTileCoverFlag(x,y) != 1) )
{
ShowEffectMarker(-1, x, y, "neutral_victory_marker", 0, -1) ;
SetUniversalVar("vp1x", x) ;
SetUniversalVar("vp1y", y) ;
place++ ;
}
}
if( (place == 1) )
{
x = Rand(20,43) ;
y = Rand(25,29) ;
if( (IsWaterTile(x,y) != 1) && (GetTileCoverFlag(x,y) != 1) )
{
ShowEffectMarker(-2, x, y, "neutral_victory_marker", 0, -1) ;
SetUniversalVar("vp2x", x) ;
SetUniversalVar("vp2y", y) ;
place++ ;
}
}
if( (place == 2) )
{
x = Rand(20,43) ;
y = Rand(30,33) ;
if( (IsWaterTile(x,y) != 1) && (GetTileCoverFlag(x,y) != 1) )
{
ShowEffectMarker(-3, x, y, "neutral_victory_marker", 0, -1) ;
SetUniversalVar("vp3x", x) ;
SetUniversalVar("vp3y", y) ;
place++ ;
}
}
if( (place == 3) )
{
x = Rand(20,43) ;
y = Rand(34,38) ;
if( (IsWaterTile(x,y) != 1) && (GetTileCoverFlag(x,y) != 1) )
{
ShowEffectMarker(-4, x, y, "neutral_victory_marker", 0, -1) ;
SetUniversalVar("vp4x", x) ;
SetUniversalVar("vp4y", y) ;
place++ ;
}
}
if( (place == 4) )
{
x = Rand(20,43) ;
y = Rand(39,43) ;
if( (IsWaterTile(x,y) != 1) && (GetTileCoverFlag(x,y) != 1) )
{
ShowEffectMarker(-5, x, y, "neutral_victory_marker", 0, -1) ;
SetUniversalVar("vp5x", x) ;
SetUniversalVar("vp5y", y) ;
place++ ;
}
}
if ( place != vp )
{
place = 0 ;
HideEffectMarker(-1) ;
HideEffectMarker(-2) ;
HideEffectMarker(-3) ;
HideEffectMarker(-4) ;
HideEffectMarker(-5) ;
}
}
}
}