Files
dsrc/sku.0/sys.server/compiled/game/script/poi/city/droid_convo2.script
T
2013-09-10 23:17:15 -07:00

84 lines
1.7 KiB
Plaintext

include library.ai_lib;
include library.create;
trigger OnInitialize ()
{
spawnDroid( self );
spawnGuy( self );
messageTo( self, "handleChatting", null, 10, false );
messageTo( self, "checkForScripts", null, 10, true );
return SCRIPT_CONTINUE;
}
messageHandler handleChatting()
{
messageTo( self, "handleChatting", null, 600, false );
obj_id droid = getObjIdObjVar( self, "droidSpawn" );
obj_id guy1 = getObjIdObjVar(self, "guy1");
if ( !exists( droid ) || !exists( guy1 ) )
return SCRIPT_CONTINUE;
faceTo (guy1, droid);
faceTo (droid, guy1);
setAnimationMood (guy1, "conversation");
return SCRIPT_CONTINUE;
}
void spawnGuy( obj_id baseObject )
{
obj_id guy1 = create.themeParkObject( getRandomGuy(), 1f, 0f, "handleDeadGuy", 0f );
if( isIdValid(guy1) )
{
setObjVar( baseObject, "guy1", guy1 );
}
}
messageHandler handleDeadGuy()
{
spawnGuy( self );
return SCRIPT_CONTINUE;
}
void spawnDroid( obj_id baseObject )
{
string[] droids = new string[4];
droids[0]= "r2";
droids[1]= "r3";
droids[2]= "r4";
droids[3]= "r5";
obj_id droid = create.themeParkObject( droids[ rand(0, 3) ], 2f, 1f , "handleDeadDroid", 0f);
if( isIdValid(droid) )
{
setObjVar( baseObject, "droidSpawn", droid ); // Suppress linting - The lint script is incorrectly
} // catching this due to a similarly named array
}
messageHandler handleDeadDroid()
{
spawnDroid( self );
return SCRIPT_CONTINUE;
}
string getRandomGuy ()
{
int whichGuy = rand (1,5);
string guy;
if (whichGuy == 1)
{
guy = "commoner";
}
else
{
guy = "noble";
}
return guy;
}
messageHandler checkForScripts()
{
if (hasScript (self, "theme_park.poi.launch"))
{
detachScript (self, "theme_park.poi.launch");
}
return SCRIPT_CONTINUE;
}