////////////////// enemy leave key /////////////////

define gold_key,1;

define red_key,2;

define green_key,3;

define _keymode,skill47;

//////////////////////////////////////////////////

ACTION enemy_key_green

{

 my._keymode = green_key;

               MY._FORCE = 2;

               MY._FIREMODE = DAMAGE_SHOOT+FIRE_PARTICLE+HIT_FLASH+0.05;

               MY._HITMODE = HIT_EXPLO;

 my._health = 100;

               MY._WALKSOUND = _SOUND_ROBOT;

               anim_init();

               drop_shadow(); // attach shadow to robot

                actor_fight();

}

//////////////////////////////////////////////////

ACTION enemy_key_gold

{

 my._keymode = gold_key;

               MY._FORCE = 2;

               MY._FIREMODE = DAMAGE_SHOOT+FIRE_PARTICLE+HIT_FLASH+0.05;

               MY._HITMODE = HIT_EXPLO;

 my._health = 100;

               MY._WALKSOUND = _SOUND_ROBOT;

               anim_init();

               drop_shadow(); // attach shadow to robot

                actor_fight();

}

/////////////////////////////////////////////

ACTION enemy_key_red

{

 my._keymode = red_key;

               MY._FORCE = 2;

               MY._FIREMODE = DAMAGE_SHOOT+FIRE_PARTICLE+HIT_FLASH+0.05;

               MY._HITMODE = HIT_EXPLO;

 my._health = 100;

               MY._WALKSOUND = _SOUND_ROBOT;

               anim_init();

               drop_shadow(); // attach shadow to robot

                actor_fight();

}

///////////////////////////////////////////////////

SKILL leavkey_X { val 0; }

SKILL leavkey_Y { val 0; }

SKILL leavkey_Z { val 0; }

 

 function state_die()

  {

      IF ((ME != player) && (MY._keymode == red_key))

 {

   CREATE <redkey.mdl>,MY_POS,leave_red_key;

   leavkey_X = MY.X;

   leavkey_Y = MY.Y;

   leavkey_Z = MY.Z;

   wait(1);

   morph actor_explo,me;

  my._dieframes = actor_explo_frames;

   actor_explode(); }

{

    IF ((ME != player) && (MY._keymode == gold_key))

 {

   CREATE <gldkey.mdl>,MY_POS,leave_gold_key;

   leavkey_X = MY.X;

   leavkey_Y = MY.Y;

   leavkey_Z = MY.Z;

 wait 1;

   morph actor_explo,me;

  my._dieframes = actor_explo_frames;

   actor_explode(); }

   {

    IF ((ME != player) && (MY._keymode == green_key))

 {

   CREATE <greenkey.mdl>,MY_POS,leave_green_key;

   leavkey_X = MY.X;

   leavkey_Y = MY.Y;

   leavkey_Z = MY.Z;

 wait 1;

   morph actor_explo,me;

  my._dieframes = actor_explo_frames;

   actor_explode();

    }} }

//////////////////////////////////////////

ACTION leave_green_key

{WAIT 1;

  MY.X = leavkey_X;

  MY.Y = leavkey_Y;

  MY.Z = leavkey_Z;

  MY.AMBIENT = 80;

  MY.skill4 = 2;

  SET MY.EVENT,_key_pickup;

  SET MY.ENABLE_SCAN,ON;

                 MY.TRIGGER_RANGE = 5;

  MY.enable_impact = on;

  WHILE (1){ MY.PAN += 5*TIME; WAIT 1;}}

///////////////////////////////////////////

ACTION leave_gold_key

{WAIT 1;

  MY.X = leavkey_X;

  MY.Y = leavkey_Y;

  MY.Z = leavkey_Z;

  MY.AMBIENT = 80;

  MY.skill4 = 5;

  SET MY.EVENT,_key_pickup;

  SET MY.ENABLE_SCAN,ON;

                 MY.TRIGGER_RANGE = 5;

  MY.enable_impact = on;

  WHILE (1){ MY.PAN += 5*TIME; WAIT 1;}}

//////////////////////////////////////////////

ACTION leave_red_key

{WAIT 1;

  MY.X = leavkey_X;

  MY.Y = leavkey_Y;

  MY.Z = leavkey_Z;

  MY.AMBIENT = 80;

  MY.skill4 = 1;

  SET MY.EVENT,_key_pickup;

  SET MY.ENABLE_SCAN,ON;

                 MY.TRIGGER_RANGE = 5;

  MY.enable_impact = on;

  WHILE (1){ MY.PAN += 5*TIME; WAIT 1;}}

////////////////// end of enemy leave key ///////////////////////////