/* ============================================================================== Scout coded by Michael Rogers some code done by iD software ============================================================================== */ $cd /models/enemies $origin 0 0 24 $base base $skin base //=========================================================================== $frame idle101 idle102 idle103 idle104 idle105 idle106 idle107 idle108 idle109 idle110 $frame idle111 idle112 idle113 idle114 idle115 idle116 idle117 idle118 idle119 $frame idle201 idle202 idle203 idle204 idle205 idle206 idle207 idle208 idle209 idle210 $frame idle211 idle212 idle213 idle214 idle215 idle216 idle217 idle218 idle219 idle220 $frame idle221 idle222 idle223 idle224 idle225 idle226 idle227 idle228 idle229 idle230 $frame idle231 idle232 idle233 idle234 idle235 idle236 idle237 idle238 idle239 idle240 $frame idle301 idle302 idle303 idle304 idle305 idle306 idle307 idle308 idle309 idle310 $frame idle311 idle312 idle313 $frame idle401 idle402 idle403 idle404 $frame idle501 idle502 idle503 idle504 idle505 idle506 idle507 idle508 idle509 idle510 $frame idle511 idle512 idle513 idle514 idle515 idle516 idle517 idle518 idle519 idle520 $frame idle601 idle602 idle603 idle604 idle605 $frame run01 run02 run03 run04 run05 run06 run07 run08 $frame walk01 walk02 walk03 walk04 walk05 walk06 walk07 walk08 walk09 walk10 $frame walk11 walk12 $frame attack101 attack102 attack103 attack104 attack105 attack106 attack107 $frame attack201 attack202 attack203 attack204 attack205 attack206 attack207 attack208 attack209 attack210 $frame attack211 $frame attack301 attack302 attack303 attack304 attack305 attack306 attack307 $frame pain101 pain102 pain103 pain104 $frame pain201 pain202 pain203 pain204 pain205 $frame pain301 pain302 pain303 pain304 pain305 pain306 pain307 pain308 pain309 pain310 $frame pain311 $frame pain401 pain402 pain403 pain404 pain405 $frame death101 death102 death103 death104 death105 death106 death107 death108 death109 death110 $frame death111 death112 death113 death114 death115 death116 death117 death118 death119 death120 $frame death121 death122 death123 death124 death125 death126 death127 death128 death129 death130 $frame death201 death202 death203 death204 death205 death206 death207 death208 death209 death210 $frame death301 death302 death303 death304 death305 death306 death307 death308 death309 death310 $frame death311 $frame death401 death402 death403 death404 death405 death406 death407 death408 death409 $frame death5001 death5002 death5003 death5004 death5005 death5006 death5007 death5008 death5009 death5010 $frame death5011 death5012 death5013 death5014 death5015 death5016 death5017 death5018 $frame walkns01 walkns02 walkns03 walkns04 walkns05 walkns06 walkns07 walkns08 walkns09 walkns10 $frame walkns11 walkns12 $frame walkns01 walkns02 walkns03 walkns04 walkns05 walkns06 walkns07 walkns08 walkns09 walkns10 $frame walkns11 walkns12 $frame block101 block102 block103 block104 block105 block106 block107 $frame limp101 limp102 limp103 limp104 limp105 limp106 limp107 limp108 limp109 void() outrider_painsound; void() outrider_deathsound; //=========================================================================== void() scout_stand1 =[ $idle101, scout_stand2 ] {ai_stand();}; void() scout_stand2 =[ $idle102, scout_stand3 ] {ai_stand();}; void() scout_stand3 =[ $idle103, scout_stand4 ] {ai_stand();}; void() scout_stand4 =[ $idle104, scout_stand5 ] {ai_stand();}; void() scout_stand5 =[ $idle105, scout_stand6 ] {ai_stand();}; void() scout_stand6 =[ $idle106, scout_stand7 ] {ai_stand();}; void() scout_stand7 =[ $idle107, scout_stand8 ] {ai_stand();}; void() scout_stand8 =[ $idle108, scout_stand9 ] {ai_stand();}; void() scout_stand9 =[ $idle109, scout_stand10 ] {ai_stand();}; void() scout_stand10 =[ $idle110, scout_stand11 ] {ai_stand();}; void() scout_stand11 =[ $idle111, scout_stand12 ] {ai_stand();}; void() scout_stand12 =[ $idle112, scout_stand13 ] {ai_stand();}; void() scout_stand13 =[ $idle113, scout_stand14 ] {ai_stand();}; void() scout_stand14 =[ $idle114, scout_stand15 ] {ai_stand();}; void() scout_stand15 =[ $idle115, scout_stand16 ] {ai_stand();}; void() scout_stand16 =[ $idle116, scout_stand17 ] {ai_stand();}; void() scout_stand17 =[ $idle117, scout_stand18 ] {ai_stand();}; void() scout_stand18 =[ $idle118, scout_stand19 ] {ai_stand();}; void() scout_stand19 =[ $idle119, scout_stand20 ] {ai_stand();}; void() scout_stand20 =[ $idle201, scout_stand21 ] {ai_stand();}; void() scout_stand21 =[ $idle202, scout_stand22 ] {ai_stand();}; void() scout_stand22 =[ $idle203, scout_stand23 ] {ai_stand();}; void() scout_stand23 =[ $idle204, scout_stand24 ] {ai_stand();}; void() scout_stand24 =[ $idle205, scout_stand25 ] {ai_stand();}; void() scout_stand25 =[ $idle206, scout_stand26 ] {ai_stand();}; void() scout_stand26 =[ $idle207, scout_stand27 ] {ai_stand();}; void() scout_stand27 =[ $idle208, scout_stand28 ] {ai_stand();}; void() scout_stand28 =[ $idle209, scout_stand29 ] {ai_stand();}; void() scout_stand29 =[ $idle210, scout_stand30 ] {ai_stand();}; void() scout_stand30 =[ $idle211, scout_stand31 ] {ai_stand();}; void() scout_stand31 =[ $idle212, scout_stand32 ] {ai_stand();}; void() scout_stand32 =[ $idle213, scout_stand33 ] {ai_stand();}; void() scout_stand33 =[ $idle214, scout_stand34 ] {ai_stand();}; void() scout_stand34 =[ $idle215, scout_stand35 ] {ai_stand();}; void() scout_stand35 =[ $idle216, scout_stand36 ] {ai_stand();}; void() scout_stand36 =[ $idle217, scout_stand37 ] {ai_stand();}; void() scout_stand37 =[ $idle218, scout_stand38 ] {ai_stand();}; void() scout_stand38 =[ $idle219, scout_stand39 ] {ai_stand();}; void() scout_stand39 =[ $idle220, scout_stand40 ] {ai_stand();}; void() scout_stand40 =[ $idle221, scout_stand41 ] {ai_stand();}; void() scout_stand41 =[ $idle222, scout_stand42 ] {ai_stand();}; void() scout_stand42 =[ $idle223, scout_stand43 ] {ai_stand();}; void() scout_stand43 =[ $idle224, scout_stand44 ] {ai_stand();}; void() scout_stand44 =[ $idle225, scout_stand45 ] {ai_stand();}; void() scout_stand45 =[ $idle226, scout_stand46 ] {ai_stand();}; void() scout_stand46 =[ $idle227, scout_stand47 ] {ai_stand();}; void() scout_stand47 =[ $idle228, scout_stand48 ] {ai_stand();}; void() scout_stand48 =[ $idle229, scout_stand49 ] {ai_stand();}; void() scout_stand49 =[ $idle230, scout_stand50 ] {ai_stand();}; void() scout_stand50 =[ $idle231, scout_stand51 ] {ai_stand();}; void() scout_stand51 =[ $idle232, scout_stand52 ] {ai_stand();}; void() scout_stand52 =[ $idle233, scout_stand53 ] {ai_stand();}; void() scout_stand53 =[ $idle234, scout_stand54 ] {ai_stand();}; void() scout_stand54 =[ $idle235, scout_stand55 ] {ai_stand();}; void() scout_stand55 =[ $idle236, scout_stand56 ] {ai_stand();}; void() scout_stand56 =[ $idle237, scout_stand57 ] {ai_stand();}; void() scout_stand57 =[ $idle238, scout_stand58 ] {ai_stand();}; void() scout_stand58 =[ $idle239, scout_stand59 ] {ai_stand();}; void() scout_stand59 =[ $idle240, scout_stand60 ] {ai_stand();}; void() scout_stand60 =[ $idle301, scout_stand61 ] {ai_stand();}; void() scout_stand61 =[ $idle302, scout_stand62 ] {ai_stand();}; void() scout_stand62 =[ $idle303, scout_stand63 ] {ai_stand();}; void() scout_stand63 =[ $idle304, scout_stand64 ] {ai_stand();}; void() scout_stand64 =[ $idle305, scout_stand65 ] {ai_stand();}; void() scout_stand65 =[ $idle306, scout_stand66 ] {ai_stand();}; void() scout_stand66 =[ $idle307, scout_stand67 ] {ai_stand();}; void() scout_stand67 =[ $idle308, scout_stand68 ] {ai_stand();}; void() scout_stand68 =[ $idle309, scout_stand69 ] {ai_stand();}; void() scout_stand69 =[ $idle310, scout_stand70 ] {ai_stand();}; void() scout_stand70 =[ $idle311, scout_stand71 ] {ai_stand();}; void() scout_stand71 =[ $idle312, scout_stand72 ] {ai_stand();}; void() scout_stand72 =[ $idle313, scout_stand73 ] {ai_stand();}; void() scout_stand73 =[ $idle401, scout_stand74 ] {ai_stand();}; void() scout_stand74 =[ $idle402, scout_stand75 ] {ai_stand();}; void() scout_stand75 =[ $idle403, scout_stand76 ] {ai_stand();}; void() scout_stand76 =[ $idle404, scout_stand77 ] {ai_stand();}; void() scout_stand77 =[ $idle501, scout_stand78 ] {ai_stand();}; void() scout_stand78 =[ $idle502, scout_stand79 ] {ai_stand();}; void() scout_stand79 =[ $idle503, scout_stand80 ] {ai_stand();}; void() scout_stand80 =[ $idle504, scout_stand81 ] {ai_stand();}; void() scout_stand81 =[ $idle505, scout_stand82 ] {ai_stand();}; void() scout_stand82 =[ $idle506, scout_stand83 ] {ai_stand();}; void() scout_stand83 =[ $idle507, scout_stand84 ] {ai_stand();}; void() scout_stand84 =[ $idle508, scout_stand85 ] {ai_stand();}; void() scout_stand85 =[ $idle509, scout_stand86 ] {ai_stand();}; void() scout_stand86 =[ $idle510, scout_stand87 ] {ai_stand();}; void() scout_stand87 =[ $idle511, scout_stand88 ] {ai_stand();}; void() scout_stand88 =[ $idle512, scout_stand89 ] {ai_stand();}; void() scout_stand89 =[ $idle513, scout_stand90 ] {ai_stand();}; void() scout_stand90 =[ $idle514, scout_stand91 ] {ai_stand();}; void() scout_stand91 =[ $idle515, scout_stand92 ] {ai_stand();}; void() scout_stand92 =[ $idle516, scout_stand93 ] {ai_stand();}; void() scout_stand93 =[ $idle517, scout_stand94 ] {ai_stand();}; void() scout_stand94 =[ $idle518, scout_stand95 ] {ai_stand();}; void() scout_stand95 =[ $idle519, scout_stand96 ] {ai_stand();}; void() scout_stand96 =[ $idle520, scout_stand97 ] {ai_stand();}; void() scout_stand97 =[ $idle601, scout_stand98 ] {ai_stand();}; void() scout_stand98 =[ $idle602, scout_stand99 ] {ai_stand();}; void() scout_stand99 =[ $idle603, scout_stand100 ] {ai_stand();}; void() scout_stand100 =[ $idle604, scout_stand101 ] {ai_stand();}; void() scout_stand101 =[ $idle605, scout_stand1 ] {ai_stand();}; //=========================================================================== void() scout_run1 =[ $run01, scout_run2 ] {ai_run(12);}; void() scout_run2 =[ $run02, scout_run3 ] {ai_run(15);}; void() scout_run3 =[ $run03, scout_run4 ] {ai_run(14);}; void() scout_run4 =[ $run04, scout_run5 ] {ai_run(17);}; void() scout_run5 =[ $run05, scout_run6 ] {ai_run(13);}; void() scout_run6 =[ $run06, scout_run7 ] {ai_run(15);}; void() scout_run7 =[ $run07, scout_run8 ] {ai_run(12);}; void() scout_run8 =[ $run08, scout_run1 ] {ai_run(13);}; //=========================================================================== void() scout_walks1 =[ $walk01, scout_walks2 ] {ai_walk(5);}; void() scout_walks2 =[ $walk02, scout_walks3 ] {ai_walk(6);}; void() scout_walks3 =[ $walk03, scout_walks4 ] {ai_walk(4);}; void() scout_walks4 =[ $walk04, scout_walks5 ] {ai_walk(7);}; void() scout_walks5 =[ $walk05, scout_walks6 ] {ai_walk(5);}; void() scout_walks6 =[ $walk06, scout_walks7 ] {ai_walk(6);}; void() scout_walks7 =[ $walk07, scout_walks8 ] {ai_walk(4);}; void() scout_walks8 =[ $walk08, scout_walks9 ] {ai_walk(7);}; void() scout_walks9 =[ $walk09, scout_walks10 ] {ai_walk(5);}; void() scout_walks10 =[ $walk10, scout_walks11 ] {ai_walk(6);}; void() scout_walks11 =[ $walk11, scout_walks12 ] {ai_walk(4);}; void() scout_walks12 =[ $walk12, scout_walks1 ] {ai_walk(7);}; //=========================================================================== void() scout_atka1 =[ $attack101, scout_atka2 ] {ai_charge(20);}; void() scout_atka2 =[ $attack102, scout_atka3 ] {ai_charge_side();}; void() scout_atka3 =[ $attack103, scout_atka4 ] {ai_charge_side();}; void() scout_atka4 =[ $attack104, scout_atka5 ] {ai_charge_side();}; void() scout_atka5 =[ $attack105, scout_atka6 ] {ai_melee_side();}; void() scout_atka6 =[ $attack106, scout_atka7 ] {ai_melee_side();}; void() scout_atka7 =[ $attack107, scout_run1 ] {ai_charge(20);}; //=========================================================================== void() scout_atkb1 =[ $attack201, scout_atkb2 ] {ai_charge(15);}; void() scout_atkb2 =[ $attack202, scout_atkb3 ] {ai_charge(20);}; void() scout_atkb3 =[ $attack203, scout_atkb4 ] {ai_charge(21);}; void() scout_atkb4 =[ $attack204, scout_atkb5 ] {ai_charge(20);}; void() scout_atkb5 =[ $attack205, scout_atkb6 ] {ai_charge(17);}; void() scout_atkb6 =[ $attack206, scout_atkb7 ] {ai_charge(18);ai_melee();}; void() scout_atkb7 =[ $attack207, scout_atkb8 ] {ai_charge(15);ai_melee();}; void() scout_atkb8 =[ $attack208, scout_atkb9 ] {ai_charge(17);ai_melee();}; void() scout_atkb9 =[ $attack209, scout_atkb10 ] {ai_charge(18);}; void() scout_atkb10 =[ $attack210, scout_atkb11 ] {ai_charge(20);}; void() scout_atkb11 =[ $attack211, scout_run1 ] {ai_charge(21);}; //=========================================================================== void() scout_atkc1 =[ $attack301, scout_atkc2 ] {ai_charge(15);}; void() scout_atkc2 =[ $attack302, scout_atkc3 ] {ai_charge(20);}; void() scout_atkc3 =[ $attack303, scout_atkc4 ] {ai_charge(21);}; void() scout_atkc4 =[ $attack304, scout_atkc5 ] {ai_charge(20);ai_melee();}; void() scout_atkc5 =[ $attack305, scout_atkc6 ] {ai_charge(17);ai_melee();}; void() scout_atkc6 =[ $attack306, scout_atkc7 ] {ai_charge(18);ai_melee();}; void() scout_atkc7 =[ $attack307, scout_run1 ] {ai_charge(15);}; //=========================================================================== void() scout_paina1 =[ $pain101, scout_paina2 ] {}; void() scout_paina2 =[ $pain102, scout_paina3 ] {}; void() scout_paina3 =[ $pain103, scout_paina4 ] {}; void() scout_paina4 =[ $pain104, scout_run1 ] {}; //=========================================================================== void() scout_painb1 =[ $pain201, scout_painb2 ] {}; void() scout_painb2 =[ $pain202, scout_painb3 ] {}; void() scout_painb3 =[ $pain203, scout_painb4 ] {}; void() scout_painb4 =[ $pain204, scout_painb5 ] {}; void() scout_painb5 =[ $pain205, scout_run1 ] {}; //=========================================================================== void() scout_painc1 =[ $pain301, scout_painc2 ] {}; void() scout_painc2 =[ $pain302, scout_painc3 ] {}; void() scout_painc3 =[ $pain303, scout_painc4 ] {}; void() scout_painc4 =[ $pain304, scout_painc5 ] {}; void() scout_painc5 =[ $pain305, scout_painc6 ] {}; void() scout_painc6 =[ $pain306, scout_painc7 ] {}; void() scout_painc7 =[ $pain307, scout_painc8 ] {}; void() scout_painc8 =[ $pain308, scout_painc9 ] {}; void() scout_painc9 =[ $pain309, scout_painc10 ] {}; void() scout_painc10 =[ $pain310, scout_painc11 ] {}; void() scout_painc11 =[ $pain311, scout_run1 ] {}; //=========================================================================== void() scout_paind1 =[ $pain401, scout_paind2 ] {}; void() scout_paind2 =[ $pain402, scout_paind3 ] {}; void() scout_paind3 =[ $pain403, scout_paind4 ] {}; void() scout_paind4 =[ $pain404, scout_paind5 ] {}; void() scout_paind5 =[ $pain405, scout_run1 ] {}; void(entity attacker, float damage) scout_pain = { local float r; if (self.pain_finished > time) return; r = random(); //play random pain sound outrider_painsound(); if (r < 0.25) scout_paina1 (); else if(r < 0.50) scout_painb1 (); else if(r < 0.75) scout_painc1 (); else scout_paind1 (); self.pain_finished = time + 1; }; //=========================================================================== void() scout_diea1 =[ $death101, scout_diea2 ] {}; void() scout_diea2 =[ $death102, scout_diea3 ] {}; void() scout_diea3 =[ $death103, scout_diea4 ] {self.solid = SOLID_NOT;}; void() scout_diea4 =[ $death104, scout_diea5 ] {}; void() scout_diea5 =[ $death105, scout_diea6 ] {}; void() scout_diea6 =[ $death106, scout_diea7 ] {}; void() scout_diea7 =[ $death107, scout_diea8 ] {}; void() scout_diea8 =[ $death108, scout_diea9 ] {}; void() scout_diea9 =[ $death109, scout_diea10 ] {}; void() scout_diea10 =[ $death110, scout_diea11 ] {}; void() scout_diea11 =[ $death111, scout_diea12 ] {}; void() scout_diea12 =[ $death112, scout_diea13 ] {}; void() scout_diea13 =[ $death113, scout_diea14 ] {}; void() scout_diea14 =[ $death114, scout_diea15 ] {}; void() scout_diea15 =[ $death115, scout_diea16 ] {}; void() scout_diea16 =[ $death116, scout_diea17 ] {}; void() scout_diea17 =[ $death117, scout_diea18 ] {}; void() scout_diea18 =[ $death118, scout_diea19 ] {}; void() scout_diea19 =[ $death119, scout_diea20 ] {}; void() scout_diea20 =[ $death120, scout_diea21 ] {}; void() scout_diea21 =[ $death121, scout_diea22 ] {}; void() scout_diea22 =[ $death122, scout_diea23 ] {}; void() scout_diea23 =[ $death123, scout_diea24 ] {}; void() scout_diea24 =[ $death124, scout_diea25 ] {}; void() scout_diea25 =[ $death125, scout_diea26 ] {}; void() scout_diea26 =[ $death126, scout_diea27 ] {}; void() scout_diea27 =[ $death127, scout_diea28 ] {}; void() scout_diea28 =[ $death128, scout_diea29 ] {}; void() scout_diea29 =[ $death129, scout_diea30 ] {}; void() scout_diea30 =[ $death130, scout_diea30 ] {banish_monster();}; //=========================================================================== void() scout_dieb1 =[ $death201, scout_dieb2 ] {}; void() scout_dieb2 =[ $death202, scout_dieb3 ] {}; void() scout_dieb3 =[ $death203, scout_dieb4 ] {self.solid = SOLID_NOT;}; void() scout_dieb4 =[ $death204, scout_dieb5 ] {}; void() scout_dieb5 =[ $death205, scout_dieb6 ] {}; void() scout_dieb6 =[ $death206, scout_dieb7 ] {}; void() scout_dieb7 =[ $death207, scout_dieb8 ] {}; void() scout_dieb8 =[ $death208, scout_dieb9 ] {}; void() scout_dieb9 =[ $death209, scout_dieb10 ] {}; void() scout_dieb10 =[ $death210, scout_dieb10 ] {banish_monster();}; //=========================================================================== void() scout_diec1 =[ $death301, scout_diec2 ] {}; void() scout_diec2 =[ $death302, scout_diec3 ] {}; void() scout_diec3 =[ $death303, scout_diec4 ] {self.solid = SOLID_NOT;}; void() scout_diec4 =[ $death304, scout_diec5 ] {}; void() scout_diec5 =[ $death305, scout_diec6 ] {}; void() scout_diec6 =[ $death306, scout_diec7 ] {}; void() scout_diec7 =[ $death307, scout_diec8 ] {}; void() scout_diec8 =[ $death308, scout_diec9 ] {}; void() scout_diec9 =[ $death309, scout_diec10 ] {}; void() scout_diec10 =[ $death310, scout_diec11 ] {}; void() scout_diec11 =[ $death311, scout_diec11 ] {banish_monster();}; //=========================================================================== void() scout_died1 =[ $death401, scout_died2 ] {}; void() scout_died2 =[ $death402, scout_died3 ] {}; void() scout_died3 =[ $death403, scout_died4 ] {self.solid = SOLID_NOT;}; void() scout_died4 =[ $death404, scout_died5 ] {}; void() scout_died5 =[ $death405, scout_died6 ] {}; void() scout_died6 =[ $death406, scout_died7 ] {}; void() scout_died7 =[ $death407, scout_died8 ] {}; void() scout_died8 =[ $death408, scout_died9 ] {}; void() scout_died9 =[ $death409, scout_died9 ] {banish_monster();}; void() scout_die = { local float r; r = random(); //pick death sound at random outrider_deathsound(); if (r < 0.25) scout_diea1 (); else if (r < 0.50) scout_dieb1 (); else if (r < 0.75) scout_diec1 (); else scout_died1 (); }; //=========================================================================== /* void() scout_walkns1 =[ $walkns01, scout_walkns2 ] {ai_walk(1);}; void() scout_walkns2 =[ $walkns02, scout_walkns3 ] {ai_walk(1);}; void() scout_walkns3 =[ $walkns03, scout_walkns4 ] {ai_walk(1);}; void() scout_walkns4 =[ $walkns04, scout_walkns5 ] {ai_walk(1);}; void() scout_walkns5 =[ $walkns05, scout_walkns6 ] {ai_walk(2);}; void() scout_walkns6 =[ $walkns06, scout_walkns7 ] {ai_walk(3);}; void() scout_walkns7 =[ $walkns07, scout_walkns8 ] {ai_walk(4);}; void() scout_walkns8 =[ $walkns08, scout_walkns9 ] {ai_walk(4);}; void() scout_walkns9 =[ $walkns09, scout_walkns10 ] {ai_walk(2);}; void() scout_walkns10 =[ $walkns10, scout_walkns11 ] {ai_walk(2);}; void() scout_walkns11 =[ $walkns11, scout_walkns12 ] {ai_walk(1);}; void() scout_walkns12 =[ $walkns12, scout_walkns1 ] {ai_walk(1);}; void() scout_walk = { if (random() < 0.5) scout_walks1 (); else scout_walkns1 (); }; */ void() scout_melee = { local float len; // decide if now is a good swing time len = vlen(self.enemy.origin+self.enemy.view_ofs - (self.origin+self.view_ofs)); if (len<80) { if (random() < 0.5) { sound (self, CHAN_VOICE, "enemy/scout/slash1.wav", 1, ATTN_NORM); scout_atkb1 (); } else { sound (self, CHAN_VOICE, "enemy/scout/slash2.wav", 1, ATTN_NORM); scout_atkc1 (); } } else { sound (self, CHAN_VOICE, "enemy/scout/slash1.wav", 1, ATTN_NORM); scout_atka1 (); } }; //=========================================================================== void() scout_precache = { //scout graphics precache_model ("models/enemies/scout.md2"); //scout sounds precache_sound ("enemy/scout/alert1.wav"); precache_sound ("enemy/scout/alert2.wav"); precache_sound ("enemy/scout/death1.wav"); precache_sound ("enemy/scout/death2.wav"); precache_sound ("enemy/scout/pain1.wav"); precache_sound ("enemy/scout/pain2.wav"); precache_sound ("enemy/scout/pain3.wav"); precache_sound ("enemy/scout/pain4.wav"); precache_sound ("enemy/scout/slash1.wav"); precache_sound ("enemy/scout/slash2.wav"); }; /*EWED monster_scout (1 0 0) (-16 -16 -24) (16 16 40) Ambush */ void() monster_scout = { local float r; if (deathmatch) { remove(self); return; } //if we are put in the level directly then call scout_precache if (self.classname != "monster_army") scout_precache(); self.solid = SOLID_SLIDEBOX; self.movetype = MOVETYPE_STEP; setmodel (self, "models/enemies/scout.md2"); setsize (self, '-16 -16 -24', '16 16 40'); // setsize (self, VEC_HULL2_MIN, VEC_HULL2_MAX); self.health = set_health(45); self.speed = set_speed(500); self.dtype = 2; //dodge type forward_strafe self.alpha = 1; //we aren't transparent self.th_stand = scout_stand1; self.th_walk = scout_walks1; self.th_run = scout_run1; self.th_melee = scout_melee; self.th_pain = scout_pain; self.th_die = scout_die; //pick a random skin r = random(); if (r <= 0.25) self.skin = 0; else if (r <= 0.5) self.skin = 1; else if (r <= 0.75) self.skin = 2; else self.skin = 3; //my new classname is? self.classname = "monster_scout"; //set up our monflag self.monflag = "TRUE"; walkmonster_start (); }; /* ================= create_scoutbot Creates a Scout at the specified 'spot'. This is used by demon portals in Flood Co-op. ================= */ void(vector spot) create_scoutbot = { local entity bot; local float r; // start entity and place it in world bot = spawn(); bot.angles = self.angles; setorigin (bot, spot); bot.fixangle = TRUE; spawn_tfog (bot.origin); spawn_tdeath (bot.origin, bot); // set size and shape bot.solid = SOLID_SLIDEBOX; bot.movetype = MOVETYPE_STEP; setmodel (bot, "models/enemies/scout.md2"); setsize (bot, '-16 -16 -24', '16 16 40'); bot.flags = bot.flags | FL_MONSTER; bot.takedamage = DAMAGE_AIM; // define his animation bot.th_stand = scout_stand1; bot.th_walk = scout_walks1; bot.th_run = scout_run1; bot.th_melee = scout_melee; bot.th_pain = scout_pain; bot.th_die = scout_die; bot.health = set_health(45); bot.speed = set_speed(500); bot.dtype = 2; //dodge type forward_strafe bot.alpha = 1; //we aren't transparent // polish him up bot.classname = "monster_scout"; bot.ideal_yaw = bot.angles * '0 1 0'; bot.yaw_speed = 120; bot.view_ofs = '0 0 22'; //set up our monflag bot.monflag = "TRUE"; //pick a random skin r = random(); if (r <= 0.25) bot.skin = 0; else if (r <= 0.5) bot.skin = 1; else if (r <= 0.75) bot.skin = 2; else bot.skin = 3; // begin his thinking bot.nextthink = time + 0.1 + random(); bot.think = th_stuck; };