96 lines
2.7 KiB
Plaintext
96 lines
2.7 KiB
Plaintext
//SLO file for changing colour of player units on map,
|
|
//so can be found later on Cam2-1
|
|
|
|
//cam2-1X.SLO
|
|
|
|
/* ******************** */
|
|
/* Declared Variables */
|
|
/* ******************** */
|
|
|
|
public int curPlayer, newPlayer;
|
|
public int numRegions, RegionsX1[2], RegionsY1[2], RegionsX2[2], RegionsY2[2];
|
|
private int count, newColour, oldColour;
|
|
private DROID objectDroid, viewerDroid;
|
|
|
|
public int numDroids;
|
|
public DROID droids[10];
|
|
public SOUND LZSnd;
|
|
public TEXTSTRING RetLZMsg;
|
|
public INTMESSAGE LZ_MSG;
|
|
public STRUCTURE transStruct;
|
|
public SOUND goodSnd, badSnd;
|
|
|
|
event seen;
|
|
|
|
event start(CALL_GAMEINIT)
|
|
{
|
|
createAlliance(newPlayer, curPlayer);
|
|
//make player 0 (newPlayer) units belong to player 1 (curPlayer)
|
|
|
|
//save the old colour so we can set it back again
|
|
oldColour = getPlayerColour(curPlayer);
|
|
|
|
newColour = getPlayerColour(newPlayer);
|
|
setPlayerColour(newColour, curPlayer); //make curPlayer units newPlayer colour
|
|
|
|
//pre damage some of these droids
|
|
count = 0;
|
|
while (count < numDroids)
|
|
{
|
|
forceDamageObject(droids[count], random(20) + 50); //anywhere from 50% to 70% health
|
|
setDroidSecondary(droids[count], DSO_HALTTYPE, DSS_HALT_HOLD);
|
|
count = count + 1;
|
|
}
|
|
forceDamageObject(transStruct, random(20) + 30); //anywhere from 30% to 50% health
|
|
}
|
|
|
|
event transDead((transStruct == NULLOBJECT), 29)
|
|
{
|
|
playSound(badSnd, newPlayer); //"Objective destroyed"
|
|
extraFailFlag = TRUE;
|
|
|
|
//reset the player colour for future missions
|
|
setPlayerColour(oldColour, curPlayer);
|
|
|
|
setEventTrigger(seen, inactive);
|
|
setEventTrigger(transDead, inactive);
|
|
}
|
|
|
|
//has player found these units?
|
|
//event seen(CALL_DROID_SEEN, newPlayer, ref objectDroid, ref viewerDroid)
|
|
event seen(droidInArea(newPlayer, RegionsX1[0], RegionsY1[0], RegionsX2[0], RegionsY2[0]), 18)
|
|
{
|
|
count = 0;
|
|
while (count < numDroids)
|
|
{
|
|
if (droids[count] != NULLOBJECT)
|
|
{
|
|
takeOverSingleDroid(droids[count], newPlayer);
|
|
}
|
|
count = count + 1;
|
|
}
|
|
count = 0;
|
|
while (count < numRegions)
|
|
{
|
|
//takeOverDroidsInArea(curPlayer, newPlayer, RegionsX1[count], RegionsY1[count], RegionsX2[count], RegionsY2[count]);
|
|
takeOverStructsInArea(curPlayer, newPlayer, RegionsX1[count], RegionsY1[count], RegionsX2[count], RegionsY2[count]);
|
|
count = count + 1;
|
|
}
|
|
playSound(goodSnd, newPlayer); //"Units rescued"
|
|
|
|
//reset the player colour for future missions
|
|
setPlayerColour(oldColour, curPlayer);
|
|
|
|
extraVictoryFlag = TRUE;
|
|
setEventTrigger(transDead, inactive);
|
|
|
|
/* no longer need to return
|
|
//add lz blip & return to LZ message
|
|
addMessage(LZ_MSG, PROX_MSG, newPlayer, false);
|
|
//addConsoleText(RetLZMsg, newPlayer);
|
|
playSoundPos(LZSnd, newPlayer, 960, 7488, 0); //as in prox2-1.txt
|
|
*/
|
|
setEventTrigger(seen, inactive);
|
|
}
|
|
|