House cleaning in scripts for cam1 first mission.
parent
0f467ceacd
commit
6b4e5ec5b7
|
@ -5,7 +5,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
|
||||
// enemy1 variables
|
||||
private GROUP enemy1Build, enemy1Attack, enemy1Start, enemy1Fin;
|
||||
private GROUP enemy2Build, enemy2Attack, enemy2Start, enemy2Fin;
|
||||
|
@ -83,10 +82,9 @@ trigger enm2Fact2Trig(every,130);
|
|||
// event prototypes
|
||||
event enemy1AttackBase;
|
||||
|
||||
|
||||
event startup(CALL_GAMEINIT)
|
||||
{
|
||||
//set assembly points (can't do later in case the factories are dead!!!
|
||||
// set assembly points (can't do later in case the factories are dead!!!
|
||||
setAssemblyPoint (enm1, enm1Ass1X, enm1Ass1Y);
|
||||
setAssemblyPoint (enm2, enm2Ass1X, enm2Ass1Y);
|
||||
setAssemblyPoint (enm22, enm2Ass2X, enm2Ass2Y);
|
||||
|
@ -96,55 +94,36 @@ event startup(CALL_GAMEINIT)
|
|||
createAlliance(enemy1, enemy2);
|
||||
// whether the oil well has been cleared
|
||||
oilWellClear = FALSE;
|
||||
//set starting power
|
||||
// set starting power
|
||||
setPowerLevel(pow1, enemy1);
|
||||
setPowerLevel(pow2, enemy2);
|
||||
ld=75; //enemy2 leadership (change to higher when fixed!)
|
||||
//make all droids left part of build group
|
||||
|
||||
//temporarily commented out to get morale effects back!
|
||||
groupAddArea(enemy1Start, enemy1, 128, 128, 7744, 7744);
|
||||
groupAddGroup(enemy1Build, enemy1Start);
|
||||
groupAddArea(enemy2Start, enemy2, 128, 128, 7744, 7744);
|
||||
groupAddGroup(enemy2Build, enemy2Start);
|
||||
//set retreat point
|
||||
// set retreat point
|
||||
setGroupRetreatPoint(enemy1Build, enm1Ret1X, enm1Ret1Y); //retreat to newbase //road block
|
||||
setGroupRetreatForce(enemy1Build, 99); //95 //set morale to 5%
|
||||
setGroupRetreatLeadership(enemy1Build, 50); //50 //set leadership chance (small=more likely?)
|
||||
//set retreat point enemy2
|
||||
// set retreat point enemy2
|
||||
setGroupRetreatPoint(enemy2Build, enm2Ret2X, enm2Ret2Y); //retreat to base2
|
||||
setGroupRetreatForce(enemy2Build, 90); //set morale to 25%
|
||||
setGroupRetreatLeadership(enemy2Build, ld); //set leadership chance (small=more likely?)
|
||||
//make 4 barbs attack base
|
||||
/* Now done after a delay in cam1a.slo
|
||||
addDroid(bloke,4544,6592,enemy1); //fake attack
|
||||
addDroid(bloke,4672,6592,enemy1);
|
||||
addDroid(bloke,4544,6720,enemy1);
|
||||
addDroid(bloke,4672,6720,enemy1);
|
||||
groupAddArea(enemy1Start, enemy1, 4544, 6592, 4672, 6720);
|
||||
orderGroupLoc(enemy1Start, DORDER_SCOUT, playerX,playerY);
|
||||
*/
|
||||
//orderGroupLoc(enemy1Start, DORDER_SCOUT, playerX,playerY);
|
||||
|
||||
groupAddArea(raidGroup, enemy2, 3392,576, 3904,1088);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// deal with a droid being built by enemy1
|
||||
event enemy1build(CALL_NEWDROID, enemy1, ref newDroid,ref newDroidFactory)
|
||||
{
|
||||
|
||||
|
||||
// see if there are any enemy droids near the base
|
||||
if (droidInRange(player, enm1Ass1X, enm1Ass1Y, 9 * 128))
|
||||
{
|
||||
|
||||
groupAddDroid(enemy1Attack, newDroid);
|
||||
//set Morale to stubborn
|
||||
setGroupRetreatPoint(enemy1Attack, enm1Ret2X, enm1Ret2Y); //retreat to base
|
||||
//setGroupRetreatForce(enemy1Attack, 90); //set morale to 50%
|
||||
//setGroupRetreatLeadership(enemy1Attack, 50); //set leadership chance (small=more likely?)
|
||||
|
||||
// get all the droids back to base
|
||||
orderGroupLoc(enemy1Attack, DORDER_SCOUT, enm1Ass1X, enm1Ass1Y);
|
||||
|
@ -155,47 +134,20 @@ event enemy1build(CALL_NEWDROID, enemy1, ref newDroid,ref newDroidFactory)
|
|||
|
||||
if (enemy1Build.members >= 4)
|
||||
{
|
||||
|
||||
|
||||
groupAddGroup(enemy1Attack, enemy1Build);
|
||||
|
||||
// if (droidInRange(player, rBlkX,rBlkY, 8 * 128))
|
||||
// {
|
||||
// in the canyon go get em
|
||||
moveX = rBlkX; moveY = rBlkY;
|
||||
// }
|
||||
/* don't make base 1 attack player's derek or base!
|
||||
else
|
||||
{
|
||||
if (oilWellClear)
|
||||
{
|
||||
// go attack the base
|
||||
moveX = playerX;
|
||||
moveY = playerY;
|
||||
}
|
||||
else
|
||||
{
|
||||
// go and have a look at the derek
|
||||
moveX = oilPatchX; moveY = oilPatchY;
|
||||
|
||||
//setEventTrigger(enemy1AttackBase, enemy1AttackPause);
|
||||
}
|
||||
}
|
||||
*/
|
||||
// in the canyon go get em
|
||||
moveX = rBlkX; moveY = rBlkY;
|
||||
orderGroupLoc(enemy1Attack, DORDER_SCOUT, moveX,moveY);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// send the droids to the player base if there is nothing at
|
||||
// the oil derek
|
||||
event enemy1AttackBase( inactive )
|
||||
{
|
||||
if (not objectInRange(player, oilPatchX, oilPatchY, 8*128))
|
||||
{
|
||||
//orderGroupLoc(enemy1Attack, DORDER_SCOUT, playerX,playerY);
|
||||
//changed so only does enemy2!!!!
|
||||
orderGroupLoc(enemy2Attack, DORDER_SCOUT, playerX,playerY);
|
||||
oilWellClear = TRUE;
|
||||
}
|
||||
|
@ -208,17 +160,12 @@ event enemy1AttackBase( inactive )
|
|||
// deal with a droid being built by enemy2
|
||||
event enemy2build(CALL_NEWDROID, enemy2, ref newDroid,ref newDroidFactory)
|
||||
{
|
||||
|
||||
|
||||
// see if there are any player droids near enemy2 base1
|
||||
if (droidInRange(player, enm2Ass1X, enm2Ass1Y, 9 * 128))
|
||||
{
|
||||
groupAddDroid(enemy2Attack, newDroid);
|
||||
//Set Morale to stubborn
|
||||
setGroupRetreatPoint(enemy2Attack, enm2Ret2X, enm2Ret2Y); //retreat to base2
|
||||
//setGroupRetreatForce(enemy2Attack, 90); //set morale to 50%
|
||||
//setGroupRetreatLeadership(enemy2Attack, ld); //set leadership chance (small=more likely?)
|
||||
|
||||
// get all the droids back to base
|
||||
orderGroupLoc(enemy2Attack, DORDER_SCOUT, enm2Ass1X, enm2Ass1Y);
|
||||
}
|
||||
|
@ -228,9 +175,6 @@ event enemy2build(CALL_NEWDROID, enemy2, ref newDroid,ref newDroidFactory)
|
|||
groupAddDroid(enemy2Attack, newDroid);
|
||||
//Set Morale
|
||||
setGroupRetreatPoint(enemy2Attack, enm2Ret1X, enm2Ret1Y); //retreat to base1
|
||||
//setGroupRetreatForce(enemy2Attack, 90); //set morale to 50%
|
||||
//setGroupRetreatLeadership(enemy2Attack, ld); //set leadership chance (small=more likely?)
|
||||
|
||||
// get all the droids back to base
|
||||
orderGroupLoc(enemy2Attack, DORDER_SCOUT, enm2Ass2X, enm2Ass2Y);
|
||||
}
|
||||
|
@ -243,42 +187,17 @@ event enemy2build(CALL_NEWDROID, enemy2, ref newDroid,ref newDroidFactory)
|
|||
groupAddGroup(enemy2Attack, enemy2Build);
|
||||
//set Morale low
|
||||
setGroupRetreatPoint(enemy2Attack, enm2Ret2X, enm2Ret2Y); //retreat to base2
|
||||
//setGroupRetreatForce(enemy2Attack, 75); //set morale to 25%
|
||||
//setGroupRetreatLeadership(enemy2Attack, ld); //set leadership chance (small=more likely?)
|
||||
|
||||
if (droidInRange(player, enm1Ass1X, enm1Ass1Y, 4 * 128))
|
||||
{
|
||||
// if near base1 go get em
|
||||
moveX = enm1Ass1X; moveY = enm1Ass1Y;
|
||||
}
|
||||
/* stop enemy2 from attacking player's stuff (save for 1B?)
|
||||
else
|
||||
{
|
||||
if (oilWellClear)
|
||||
{
|
||||
// go attack the base
|
||||
//moveX = playerX;
|
||||
//moveY = playerY;
|
||||
//go look at base 1 instead!
|
||||
moveX = enm1Ass1X;
|
||||
moveY = enm1Ass1Y;
|
||||
}
|
||||
else
|
||||
{
|
||||
// go and have a look at the derek
|
||||
moveX = oilPatchX; moveY = oilPatchY;
|
||||
|
||||
setEventTrigger(enemy1AttackBase, enemy1AttackPause);
|
||||
}
|
||||
}
|
||||
*/
|
||||
orderGroupLoc(enemy2Attack, DORDER_SCOUT, moveX,moveY);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* events for build lists start here */
|
||||
/* Enemy 1 */
|
||||
//build list
|
||||
|
@ -306,12 +225,8 @@ event enm1Fact1Evnt(inactive)
|
|||
|
||||
event enm1Start1Evnt(enm1Start1Trig)
|
||||
{
|
||||
|
||||
//set Morale to low
|
||||
setGroupRetreatPoint(enemy1Build, enm1Ret2X, enm1Ret2Y); //retreat to base (guys at x-roads should flee!)
|
||||
//setGroupRetreatForce(enemy1Build, 99); //set morale to 1%
|
||||
//setGroupRetreatLeadership(enemy1Build, 50); //set leadership chance (small=more likely)
|
||||
|
||||
buildDroid (bloke, enm1, enemy1, 3); //build first ones so AI triggered
|
||||
setEventTrigger(enm1Fact1Evnt, enm1Fact1Trig);
|
||||
setEventTrigger(enm1Start1Evnt, inactive);
|
||||
|
@ -389,31 +304,27 @@ event enm2Start1Evnt(enm2Start1Trig)
|
|||
|
||||
event lastAttack1(every, 50)
|
||||
{
|
||||
//make enemy easier to find if all his buildings destroyed
|
||||
// make enemy easier to find if all his buildings destroyed
|
||||
if (not anyStructButWallsLeft(enemy1))
|
||||
{
|
||||
groupAddArea(enemy1Fin, enemy1, 0, 0, 8191, 8191);
|
||||
orderGroupLoc(enemy1Fin, DORDER_SCOUT, enm1Ass1X, enm1Ass1Y);
|
||||
//setEventTrigger(lastAttack1, inactive);
|
||||
}
|
||||
}
|
||||
|
||||
event lastAttack2(every, 50)
|
||||
{
|
||||
//make enemy easier to find if all his buildings destroyed
|
||||
// make enemy easier to find if all his buildings destroyed
|
||||
if (not anyStructButWallsLeft(enemy2))
|
||||
{
|
||||
groupAddArea(enemy2Fin, enemy2, 0, 0, 8191, 8191);
|
||||
orderGroupLoc(enemy2Fin, DORDER_SCOUT, enm2Ass1X, enm2Ass1Y);
|
||||
//setEventTrigger(lastAttack2, inactive);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
event raiderAttack(structureBeingBuilt(derek, player) and
|
||||
droidInArea(player, 4416,1600, 5824,3008), 10)
|
||||
{
|
||||
orderGroupLoc(raidGroup, DORDER_SCOUT, 5056,2496);
|
||||
|
||||
setEventTrigger(raiderAttack, inactive);
|
||||
}
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
/* structure limit stuff */
|
||||
public STRUCTURESTAT factory, research, oilDerrick, powerGen;
|
||||
public STRUCTURESTAT command;
|
||||
//public STRUCTURESTAT powerModuleHack;
|
||||
public INT numPow, numExt, numFac, numRes;
|
||||
public int startPower; //initial power level
|
||||
|
||||
|
@ -23,8 +22,6 @@ public int player;
|
|||
public int enemy1;
|
||||
public int enemy2;
|
||||
private int numart; //keep track of number of artifacts collected
|
||||
//private int res1x,res1y;
|
||||
//public STRUCTURE commandCentre;
|
||||
|
||||
/* Base Under Attack Stuff */
|
||||
private STRUCTURE hitStruc;
|
||||
|
@ -37,44 +34,29 @@ public INTMESSAGE MissionBrief, MissionBrief2, obj1Msg;
|
|||
public SOUND incomingSnd;
|
||||
public INTMESSAGE endMsg; //, winMsg;
|
||||
|
||||
//public SOUND briefSnd1, briefSnd2;
|
||||
|
||||
/* Proximity: Resources */
|
||||
/*
|
||||
public FEATURE res1;
|
||||
public INTMESSAGE res1Msg;
|
||||
public SOUND res1Snd;
|
||||
public STRUCTURESTAT derrick;
|
||||
*/
|
||||
|
||||
/* Proximity: Artifacts */
|
||||
public FEATURESTAT crate;
|
||||
|
||||
public int art1X, art1Y;
|
||||
public STRUCTURE art1Get;
|
||||
public SOUND art1Snd2;
|
||||
//public INTMESSAGE art1Msg;
|
||||
public RESEARCHSTAT art1Comp; //Engineering Upgrade
|
||||
private FEATURE art1ID;
|
||||
|
||||
public int art2X, art2Y;
|
||||
public STRUCTURE art2Get;
|
||||
public SOUND art2Snd2;
|
||||
//public INTMESSAGE art2Msg;
|
||||
public RESEARCHSTAT art2Comp; //Repair Facility (NOT Robotics)
|
||||
private FEATURE art2ID;
|
||||
|
||||
public int art3X, art3Y;
|
||||
public STRUCTURE art3Get;
|
||||
public SOUND art3Snd2;
|
||||
//public INTMESSAGE art3Msg;
|
||||
public RESEARCHSTAT art3Comp; //Flamer
|
||||
private FEATURE art3ID;
|
||||
|
||||
public int art4X, art4Y;
|
||||
//public STRUCTURE art4Get; //placed in script
|
||||
public SOUND art4Snd2;
|
||||
//public INTMESSAGE art4Msg;
|
||||
public RESEARCHSTAT art4Comp; //Light Machine Gun Mk1
|
||||
private FEATURE art4ID;
|
||||
|
||||
|
@ -104,7 +86,6 @@ public STRUCTURE enm22;
|
|||
public STRUCTUREID enm22ID;
|
||||
public INTMESSAGE enm22Msg;
|
||||
public SOUND enm22Snd1;
|
||||
//public SOUND enm22Snd2;
|
||||
private BOOL base2Flag;
|
||||
|
||||
/* Enemy Tactics */
|
||||
|
@ -121,34 +102,17 @@ public INT timeLimit;
|
|||
//group to stop players droids chsing too much!!
|
||||
private GROUP allPlayer, scavGroup;
|
||||
|
||||
/* Triggers: Resource */
|
||||
/*
|
||||
trigger res1SeenTrig(droidHasSeen(res1, player), 10); //resWait
|
||||
trigger res1UsedTrig(every, 10); //resWait
|
||||
//trigger res1UsedTrig(CALL_RESEX_BUILT); //until built function fixed
|
||||
*/
|
||||
|
||||
/* Triggers: Artifacts */
|
||||
//trigger art1SeenTrig(droidInRange(player, art1X, art1Y, 512), 5);
|
||||
//trigger art1SeenTrig(droidHasSeen(art1ID, player), 5);
|
||||
trigger art1TakeTrig(droidInRange(player, art1X, art1Y, 171), 5);
|
||||
trigger art1PlaceTrig((art1Get==NULLOBJECT), 5);
|
||||
|
||||
//trigger art2SeenTrig(droidInRange(player, art2X, art2Y, 512), 5);
|
||||
//trigger art2SeenTrig(droidHasSeen(art2ID, player), 5);
|
||||
trigger art2TakeTrig(droidInRange(player, art2X, art2Y, 171), 5);
|
||||
trigger art2PlaceTrig((art2Get==NULLOBJECT), 5);
|
||||
|
||||
//trigger art3SeenTrig(droidInRange(player, art3X, art3Y, 512), 5);
|
||||
//trigger art3SeenTrig(droidHasSeen(art3ID, player), 5);
|
||||
trigger art3TakeTrig(droidInRange(player, art3X, art3Y, 171), 5);
|
||||
trigger art3PlaceTrig((art3Get==NULLOBJECT), 5);
|
||||
|
||||
//trigger art4SeenTrig(droidInRange(player, art4X, art4Y, 512), 5);
|
||||
//trigger art4SeenTrig(droidHasSeen(art4ID, player), 5);
|
||||
trigger art4TakeTrig(droidInRange(player, art4X, art4Y, 171), 5);
|
||||
//trigger art4PlaceTrig((art4Get==NULLOBJECT), 5);
|
||||
|
||||
|
||||
/* Triggers: Enemy */
|
||||
trigger enm0SeenTrig(seenStructInArea(player, enemy1, FALSE, 3520, 4416, 4416, 5056), 10);
|
||||
|
@ -163,8 +127,6 @@ trigger enm2DeadTrig((numStructsButNotWallsInArea(enemy2, 1088, 1216, 2240, 2240
|
|||
trigger enm22SeenTrig(seenStructInArea(player, enemy2, FALSE, 1472, 3776, 2752, 5440), 10);
|
||||
trigger enm22DeadTrig((numStructsButNotWallsInArea(enemy2, 1472, 3776, 2752, 5440) == 0), 20);
|
||||
|
||||
|
||||
|
||||
/* Triggers: Win or Lose */
|
||||
trigger winLoseTrig(every, 5);
|
||||
trigger gameLostTrig(every, 20);
|
||||
|
@ -179,7 +141,6 @@ trigger obj1Trig(droidInRange(player, 4928, 6592, 5*128), 20);
|
|||
event enm2SeenEvnt;
|
||||
event enm2DeadEvnt;
|
||||
event wonYetEvnt;
|
||||
//event art4SeenEvnt;
|
||||
event art4TakeEvnt;
|
||||
event scavAttack2;
|
||||
event timeUp;
|
||||
|
@ -187,23 +148,15 @@ event timeUp;
|
|||
/* Events: Start */
|
||||
event startEvnt(CALL_GAMEINIT)
|
||||
{
|
||||
//take over the selectedPlayer's units to avoid id number clashes on later levels
|
||||
takeOverDroidsInArea(0,0, 0,0, mapWidth*128, mapHeight*128);
|
||||
// take over the selectedPlayer's units to avoid id number clashes on later levels
|
||||
takeOverDroidsInArea(0,0, 0,0, mapWidth * 128, mapHeight * 128);
|
||||
|
||||
//set scroll limits
|
||||
// setScrollParams(0, 0, 64, 70); //limit scroll
|
||||
//centreView(commandCentre);
|
||||
centreViewPos(1728, 6720); //centre near transport
|
||||
//set zoom Level 64x64
|
||||
// set zoom Level 64x64
|
||||
setRadarZoom(1);
|
||||
//set starting power
|
||||
// set starting power
|
||||
setPowerLevel(startPower,player);
|
||||
//set start tech
|
||||
/*
|
||||
makeComponentAvailable(viperBody, player);
|
||||
makeComponentAvailable(spade, player);
|
||||
makeComponentAvailable(wheeledProp, player);
|
||||
*/
|
||||
makeComponentAvailable(mg, player); //needs to be done this way so doesn't enable rest of tree!
|
||||
|
||||
count = 0;
|
||||
|
@ -212,9 +165,10 @@ event startEvnt(CALL_GAMEINIT)
|
|||
completeResearch(tech[count], player);
|
||||
count = count +1;
|
||||
}
|
||||
//give player briefing
|
||||
// give player briefing
|
||||
addMessage(MissionBrief, CAMP_MSG, player, false);
|
||||
//make sure all buttons available
|
||||
|
||||
// make sure all buttons available
|
||||
addReticuleButton(OPTIONS);
|
||||
addReticuleButton(CANCEL);
|
||||
addReticuleButton(BUILD);
|
||||
|
@ -222,19 +176,15 @@ event startEvnt(CALL_GAMEINIT)
|
|||
addReticuleButton(RESEARCH);
|
||||
addReticuleButton(INTELMAP);
|
||||
addReticuleButton(DESIGN);
|
||||
//stop player building on LZ
|
||||
setLandingZone(10, 51, 12, 53);
|
||||
//stop players droids from chasing!
|
||||
/* not any more - john
|
||||
groupAddArea(allPlayer, player, 0, 30*128, 40*128, 70*128);
|
||||
setGroupSecondary(allPlayer,DSO_HALTTYPE, DSS_HALT_HOLD);
|
||||
*/
|
||||
|
||||
//set no time limits (can carry over from previous missions if not set!)
|
||||
//stop player building on LZ
|
||||
setLandingZone(10, 51, 12, 53);
|
||||
|
||||
// set no time limits (can carry over from previous missions if not set!)
|
||||
setReinforcementTime(-1);
|
||||
setMissionTime(timeLimit); //set Mission time limit
|
||||
|
||||
///allow to build stuff
|
||||
// allow to build stuff
|
||||
setStructureLimits (powerGen,numPow,0);
|
||||
setStructureLimits (oilDerrick,numExt,0);
|
||||
setStructureLimits (research,numRes,0); // numRes changed by Keith to set Research Facility Limits to 1, until.... 1C
|
||||
|
@ -245,17 +195,13 @@ event startEvnt(CALL_GAMEINIT)
|
|||
enableStructure(oilDerrick,0);
|
||||
enableStructure(research,0);
|
||||
enableStructure(factory,0);
|
||||
//enableStructure(powerModuleHack, 0);
|
||||
|
||||
//add machine gun crate *** BACK IN ***
|
||||
//now got from new 1st base
|
||||
art4ID=addFeature(crate, art4X, art4Y);
|
||||
//setEventTrigger(art4SeenEvnt, art4SeenTrig);
|
||||
//setEventTrigger(art4TakeEvnt, art4TakeTrig); //set from start since didn't always set!!
|
||||
art4ID = addFeature(crate, art4X, art4Y);
|
||||
|
||||
//set up initial attack group
|
||||
// set up initial attack group
|
||||
groupAddArea(scavGroup, enemy1, 4416, 6336, 5440, 7104);
|
||||
//set retreat point
|
||||
|
||||
// set retreat point
|
||||
setGroupRetreatPoint(scavGroup, 4416, 5440); //retreat to crossroads
|
||||
setGroupRetreatForce(scavGroup, 99); //set morale to 1%
|
||||
setGroupRetreatLeadership(scavGroup, 10); //set leadership chance 10% (small=more likely)
|
||||
|
@ -268,10 +214,8 @@ event startEvnt(CALL_GAMEINIT)
|
|||
event art1TakeEvnt(inactive)
|
||||
{
|
||||
numart=numart+1;
|
||||
//playSound(art1Snd2, player);
|
||||
playSoundPos(art1Snd2, player, art1ID.x, art1ID.y, art1ID.z);
|
||||
destroyFeature(art1ID);
|
||||
//removeMessage(art1Msg, PROX_MSG, player);
|
||||
enableResearch(art1Comp, player);
|
||||
setEventTrigger(art1TakeEvnt, inactive);
|
||||
}
|
||||
|
@ -280,7 +224,6 @@ event art1PlaceEvnt(art1PlaceTrig)
|
|||
{
|
||||
//place artifact crate, and allow check for prox
|
||||
art1ID=addFeature(crate, art1X, art1Y);
|
||||
//setEventTrigger(art1SeenEvnt, art1SeenTrig);
|
||||
setEventTrigger(art1TakeEvnt, art1TakeTrig);
|
||||
setEventTrigger(art1PlaceEvnt, inactive);
|
||||
}
|
||||
|
@ -288,10 +231,8 @@ event art1PlaceEvnt(art1PlaceTrig)
|
|||
event art2TakeEvnt(inactive)
|
||||
{
|
||||
numart=numart+1;
|
||||
//playSound(art2Snd2, player);
|
||||
playSoundPos(art2Snd2, player, art2ID.x, art2ID.y, art2ID.z);
|
||||
destroyFeature(art2ID);
|
||||
//removeMessage(art2Msg, PROX_MSG, player);
|
||||
enableResearch(art2Comp, player);
|
||||
setEventTrigger(art2TakeEvnt, inactive);
|
||||
}
|
||||
|
@ -300,11 +241,7 @@ event art2PlaceEvnt(art2PlaceTrig)
|
|||
{
|
||||
//place artifact crate, and allow check for prox
|
||||
art2ID=addFeature(crate, art2X, art2Y);
|
||||
//setEventTrigger(art2SeenEvnt, art2SeenTrig);
|
||||
setEventTrigger(art2TakeEvnt, art2TakeTrig);
|
||||
//make sure art2 placed before base2 dead
|
||||
//setEventTrigger(enm2DeadEvnt, enm2DeadTrig);
|
||||
//make sure art2 placed before mission won as well!!!
|
||||
setEventTrigger(wonYetEvnt, winLoseTrig);
|
||||
setEventTrigger(art2PlaceEvnt, inactive);
|
||||
}
|
||||
|
@ -313,9 +250,7 @@ event art3TakeEvnt(inactive)
|
|||
{
|
||||
numart=numart+1;
|
||||
destroyFeature(art3ID);
|
||||
//playSound(art3Snd2, player);
|
||||
playSoundPos(art3Snd2, player, art3ID.x, art3ID.y, art3ID.z);
|
||||
//removeMessage(art3Msg, PROX_MSG, player);
|
||||
enableResearch(art3Comp, player);
|
||||
setEventTrigger(art3TakeEvnt, inactive);
|
||||
}
|
||||
|
@ -324,7 +259,6 @@ event art3PlaceEvnt(art3PlaceTrig)
|
|||
{
|
||||
//place artifact crate, and allow check for prox
|
||||
art3ID=addFeature(crate, art3X, art3Y);
|
||||
//setEventTrigger(art3SeenEvnt, art3SeenTrig);
|
||||
setEventTrigger(art3TakeEvnt, art3TakeTrig);
|
||||
setEventTrigger(art3PlaceEvnt, inactive);
|
||||
}
|
||||
|
@ -333,9 +267,7 @@ event art4TakeEvnt(art4TakeTrig) //mg crate (placed at start of script)
|
|||
{
|
||||
numart=numart+1;
|
||||
destroyFeature(art4ID);
|
||||
//playSound(art4Snd2, player);
|
||||
playSoundPos(art4Snd2, player, art4ID.x, art4ID.y, art4ID.z);
|
||||
//removeMessage(art4Msg, PROX_MSG, player);
|
||||
enableResearch(art4Comp, player);
|
||||
setEventTrigger(art4TakeEvnt, inactive);
|
||||
}
|
||||
|
@ -346,7 +278,6 @@ event enm0DeadEvnt(inactive) //newbase dead?
|
|||
killStructsInArea(enemy1, REF_WALL, 3520, 4416, 4416, 5056, TRUE, TRUE); //remove walls and building features in base
|
||||
killStructsInArea(enemy1, REF_WALLCORNER, 3520, 4416, 4416, 5056, TRUE, FALSE); //remove corner walls in base
|
||||
removeMessage(enm0Msg, PROX_MSG, player);
|
||||
//playSound(enm0Snd2, player);
|
||||
playSoundPos(enm0Snd2, player, 3904, 4672, 0); //should be same as in prox1a.txt
|
||||
setEventTrigger(enm0DeadEvnt, inactive);
|
||||
}
|
||||
|
@ -354,7 +285,6 @@ event enm0DeadEvnt(inactive) //newbase dead?
|
|||
event enm0SeenEvnt(enm0SeenTrig) //base 2 seen
|
||||
{
|
||||
addMessage(enm0Msg, PROX_MSG, player, false);
|
||||
//playSound(enm0Snd1, player);
|
||||
playSoundPos(enm0Snd1, player, 3904, 4672, 0); //should be same as in prox1a.txt
|
||||
setEventTrigger(enm0DeadEvnt, enm0DeadTrig);
|
||||
setEventTrigger(enm0SeenEvnt, inactive);
|
||||
|
@ -365,14 +295,12 @@ event enm1DeadEvnt(inactive)
|
|||
killStructsInArea(enemy1, REF_WALL, 4544, 1856, 5440, 2496, TRUE, TRUE); //remove walls and features in base
|
||||
killStructsInArea(enemy1, REF_WALLCORNER, 4544, 1856, 5440, 2496, TRUE, FALSE); //remove corner walls in base
|
||||
removeMessage(enm1Msg, PROX_MSG, player);
|
||||
//playSound(enm1Snd2, player);
|
||||
playSoundPos(enm1Snd2, player, 5002, 2154, 135); //should be same as in prox1a.txt
|
||||
//trigger 2nd base blip if not already triggered
|
||||
// trigger 2nd base blip if not already triggered
|
||||
if (not base2Flag)
|
||||
{
|
||||
base2Flag = TRUE;
|
||||
addMessage(enm2Msg, PROX_MSG, player, false);
|
||||
//playSound(enm2Snd1, player);
|
||||
playSoundPos(enm2Snd1, player, 1600, 1728, 0); //should be same as in prox1a.txt
|
||||
setEventTrigger(enm2DeadEvnt, enm2DeadTrig);
|
||||
setEventTrigger(enm2SeenEvnt, inactive);
|
||||
|
@ -383,7 +311,6 @@ event enm1DeadEvnt(inactive)
|
|||
event enm1SeenEvnt(enm1SeenTrig)
|
||||
{
|
||||
addMessage(enm1Msg, PROX_MSG, player, false);
|
||||
//playSound(enm1Snd1, player);
|
||||
playSoundPos(enm1Snd1, player, 5002, 2154, 135); //should be same as in prox1a.txt
|
||||
setEventTrigger(enm1DeadEvnt, enm1DeadTrig);
|
||||
setEventTrigger(enm1SeenEvnt, inactive);
|
||||
|
@ -394,7 +321,6 @@ event enm2DeadEvnt(inactive) //base 2 dead?
|
|||
killStructsInArea(enemy2, REF_WALL, 1088, 1216, 2240, 2240, TRUE, TRUE); //remove walls and features in base
|
||||
killStructsInArea(enemy2, REF_WALLCORNER, 1088, 1216, 2240, 2240, TRUE, FALSE); //remove corner walls in base
|
||||
removeMessage(enm2Msg, PROX_MSG, player);
|
||||
//playSound(enm2Snd2, player);
|
||||
playSoundPos(enm2Snd2, player, 1600, 1728, 0); //should be same as in prox1a.txt
|
||||
setEventTrigger(enm2DeadEvnt, inactive);
|
||||
}
|
||||
|
@ -403,7 +329,6 @@ event enm2SeenEvnt(enm2SeenTrig) //base 2 seen (used to be wrong trigger!)
|
|||
{
|
||||
base2Flag = TRUE;
|
||||
addMessage(enm2Msg, PROX_MSG, player, false);
|
||||
//playSound(enm2Snd1, player);
|
||||
playSoundPos(enm2Snd1, player, 1600, 1728, 0); //should be same as in prox1a.txt
|
||||
setEventTrigger(enm2DeadEvnt, enm2DeadTrig);
|
||||
setEventTrigger(enm2SeenEvnt, inactive);
|
||||
|
@ -414,7 +339,6 @@ event enm22DeadEvnt(inactive) //base 2A dead?
|
|||
killStructsInArea(enemy2, REF_WALL, 1472, 3776, 2752, 5440, TRUE, TRUE); //remove walls and features in base
|
||||
killStructsInArea(enemy2, REF_WALLCORNER, 1472, 3776, 2752, 5440, TRUE, FALSE); //remove corner walls in base
|
||||
removeMessage(enm22Msg, PROX_MSG, player);
|
||||
//playSound(enm2Snd2, player); //should this be enm22Snd2?
|
||||
playSoundPos(enm2Snd2, player, 2112, 4544, 0); //should be same as in prox1a.txt
|
||||
setEventTrigger(enm22DeadEvnt, inactive);
|
||||
}
|
||||
|
@ -422,7 +346,6 @@ event enm22DeadEvnt(inactive) //base 2A dead?
|
|||
event enm22SeenEvnt(enm22SeenTrig) //base 2A seen
|
||||
{
|
||||
addMessage(enm22Msg, PROX_MSG, player, false);
|
||||
//playSound(enm22Snd1, player);
|
||||
playSoundPos(enm22Snd1, player, 2112, 4544, 0); //should be same as in prox1a.txt
|
||||
setEventTrigger(enm22DeadEvnt, enm22DeadTrig);
|
||||
setEventTrigger(enm22SeenEvnt, inactive);
|
||||
|
@ -444,16 +367,12 @@ event nextLevEvnt(inactive) //assumes victory already checked
|
|||
}
|
||||
|
||||
gameLevel=gameLevel+1; //flag next part of map
|
||||
//removeMessage(MissionBrief, MISS_MSG, player);
|
||||
startMission(CAMP_EXPAND, NextLev);
|
||||
setEventTrigger(nextLevEvnt, inactive);
|
||||
}
|
||||
|
||||
event gameLost(inactive)
|
||||
{
|
||||
// addMessage(endMsg, MISS_MSG, 0, true);
|
||||
// pause(10);
|
||||
// gameOver(false);
|
||||
gameOverMessage(endMsg, MISS_MSG, 0, false);
|
||||
setEventTrigger(gameLost, inactive);
|
||||
}
|
||||
|
@ -527,7 +446,7 @@ event everySec(every, 20)
|
|||
|
||||
event seeBaseHit(CALL_MISSION_END)
|
||||
{
|
||||
//go to where the structure being attacked is on CTRL B
|
||||
// go to where the structure being attacked is on CTRL B
|
||||
if (hitStruc!=NULLOBJECT)
|
||||
{
|
||||
centreView(hitStruc);
|
||||
|
@ -541,21 +460,8 @@ event removeObj1(inactive)
|
|||
setEventTrigger(removeObj1, inactive);
|
||||
}
|
||||
|
||||
/*
|
||||
event scavAttack(scavtrig)
|
||||
{
|
||||
setEventTrigger(scavAttack2, inactive);
|
||||
setEventTrigger(scavAttack, inactive);
|
||||
//setEventTrigger(removeObj1, obj1Trig);
|
||||
//addMessage(MissionBrief2, MISS_MSG, player, true);
|
||||
//addMessage(obj1Msg, PROX_MSG, player, false);
|
||||
//orderGroupLoc(scavGroup, DORDER_SCOUT, 2100, 6700);
|
||||
}
|
||||
*/
|
||||
|
||||
event scavAttack2(scavtrig2)
|
||||
{
|
||||
//setEventTrigger(scavAttack, inactive);
|
||||
playSound(incomingSnd, player);
|
||||
pause(20);
|
||||
setEventTrigger(scavAttack2, inactive);
|
||||
|
|
Loading…
Reference in New Issue