93 lines
2.1 KiB
Plaintext
93 lines
2.1 KiB
Plaintext
//Cam1BX.SLO
|
|
//extra script file to show glimpse of new paradigm
|
|
|
|
//Variables
|
|
public int player, enemy, enemy1, enemy2;
|
|
public TEMPLATE NPScout;
|
|
public int maxCoords, coordsX[4], coordsY[4];
|
|
public int regionsX1[1], regionsY1[1], regionsX2[1], regionsY2[1];
|
|
/* Starting Technology */
|
|
public int numtecE2;
|
|
public RESEARCHSTAT tecE2[9];
|
|
|
|
private DROID scoutDroid;
|
|
private int grpPosCurrent, count;
|
|
|
|
//triggers
|
|
trigger scoutSeenTrig(every, 15);
|
|
trigger removeScoutTrig(droidInArea(enemy, regionsX1[0],regionsY1[0], regionsX2[0], regionsY2[0]), 10);
|
|
trigger wayTrig(every, 17);
|
|
|
|
//events
|
|
|
|
event startEvnt(CALL_GAMEINIT)
|
|
{
|
|
createAlliance(enemy, enemy1);
|
|
createAlliance(enemy, enemy2);
|
|
//NP technology startup
|
|
count = 0;
|
|
while (count < numtecE2)
|
|
{
|
|
completeResearch(tecE2[count], enemy);
|
|
count = count +1;
|
|
}
|
|
//place scout vehicle
|
|
scoutDroid = addDroid(NPScout, coordsX[0], coordsY[0], enemy);
|
|
//now turn him round!
|
|
grpPosCurrent = grpPosCurrent + 1;
|
|
if (scoutDroid != NULLOBJECT)
|
|
{
|
|
orderDroidLoc(scoutDroid, DORDER_MOVE, coordsX[grpPosCurrent], coordsY[grpPosCurrent]);
|
|
}
|
|
}
|
|
|
|
event wayEvnt(inactive)
|
|
{
|
|
if (scoutDroid != NULLOBJECT)
|
|
{
|
|
//has the scout got to waypoint or idle?
|
|
if (scoutDroid.order == DORDER_NONE)
|
|
{
|
|
grpPosCurrent = grpPosCurrent + 1;
|
|
if (grpPosCurrent > maxCoords)
|
|
{
|
|
setEventTrigger(wayEvnt, inactive);
|
|
}
|
|
else
|
|
{
|
|
orderDroidLoc(scoutDroid, DORDER_MOVE, coordsX[grpPosCurrent], coordsY[grpPosCurrent]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
event scoutSeenEvnt(scoutSeenTrig)
|
|
{
|
|
//make NP scout vehicle goto cam1C canyon when player sees him.
|
|
//pause(30); //wait for 3 second!
|
|
if (scoutDroid != NULLOBJECT)
|
|
{
|
|
if (droidHasSeen(scoutDroid, player))
|
|
{
|
|
orderDroidLoc(scoutDroid, DORDER_MOVE, coordsX[1], coordsY[1]);
|
|
setEventTrigger(wayEvnt, wayTrig);
|
|
setEventTrigger(scoutSeenEvnt, inactive);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
setEventTrigger(scoutSeenEvnt, inactive);
|
|
}
|
|
}
|
|
|
|
event removeScoutEvnt(removeScoutTrig)
|
|
{
|
|
//remove scout droid when at edge of map
|
|
if (scoutDroid != NULLOBJECT)
|
|
{
|
|
vanishUnit(scoutDroid);
|
|
}
|
|
setEventTrigger(removeScoutEvnt, inactive);
|
|
}
|
|
|