/* * $Header: /HexenWorld/HCode/necro.hc 1 2/04/98 1:59p Rjohnson $ */ /* ============================================================================== Q:\art\models\players\necroman\final\necro.hc ============================================================================== */ // For building the model $cd Q:\art\models\players\necroman\final $origin 0 0 0 $base BASE skin $skin skin $flags 0 // $frame cwalk1 cwalk2 cwalk3 cwalk4 cwalk5 $frame cwalk6 cwalk7 cwalk8 cwalk9 cwalk10 $frame cwalk11 cwalk12 cwalk13 cwalk14 cwalk15 $frame cwalk16 cwalk17 cwalk18 cwalk19 cwalk20 // $frame die1 die2 die3 die4 die5 $frame die6 die7 die8 die9 die10 $frame die11 die12 die13 die14 die15 $frame die16 die17 die18 die19 die20 // $frame behead1 behead2 behead3 behead4 behead5 $frame behead6 behead7 behead8 behead9 behead10 $frame behead11 behead12 behead13 behead14 behead15 $frame behead16 behead17 behead18 behead19 behead20 // $frame Hatak1 Hatak2 Hatak3 Hatak4 Hatak5 $frame Hatak6 Hatak7 Hatak8 // $frame Hfly1 Hfly2 Hfly3 Hfly4 Hfly5 $frame Hfly6 Hfly7 Hfly8 Hfly9 Hfly10 $frame Hfly11 Hfly12 Hfly13 Hfly14 // $frame Hpain1 Hpain2 Hpain3 Hpain4 Hpain5 $frame Hpain6 Hpain7 Hpain8 // $frame Hrun1 Hrun2 Hrun3 Hrun4 Hrun5 $frame Hrun6 Hrun7 Hrun8 Hrun9 Hrun10 $frame Hrun11 Hrun12 // $frame Hwait1 Hwait2 Hwait3 Hwait4 Hwait5 $frame Hwait6 Hwait7 Hwait8 Hwait9 Hwait10 $frame Hwait11 Hwait12 // $frame Siatak1 Siatak2 Siatak3 Siatak4 Siatak5 $frame Siatak6 Siatak7 Siatak8 Siatak9 Siatak10 $frame Siatak11 Siatak12 // $frame Sifly1 Sifly2 Sifly3 Sifly4 Sifly5 $frame Sifly6 Sifly7 Sifly8 Sifly9 Sifly10 $frame Sifly11 Sifly12 Sifly13 Sifly14 // $frame Sipain1 Sipain2 Sipain3 Sipain4 Sipain5 $frame Sipain6 Sipain7 Sipain8 // $frame Sirun1 Sirun2 Sirun3 Sirun4 Sirun5 $frame Sirun6 Sirun7 Sirun8 Sirun9 Sirun10 $frame Sirun11 Sirun12 // $frame Siwait1 Siwait2 Siwait3 Siwait4 Siwait5 $frame Siwait6 Siwait7 Siwait8 Siwait9 Siwait10 $frame Siwait11 Siwait12 // $frame Statak1 Statak2 Statak3 Statak4 Statak5 $frame Statak6 Statak7 Statak8 // $frame Stfly1 Stfly2 Stfly3 Stfly4 Stfly5 $frame Stfly6 Stfly7 Stfly8 Stfly9 Stfly10 $frame Stfly11 Stfly12 Stfly13 Stfly14 // $frame Stpain1 Stpain2 Stpain3 Stpain4 Stpain5 $frame Stpain6 Stpain7 Stpain8 // $frame Strun1 Strun2 Strun3 Strun4 Strun5 $frame Strun6 Strun7 Strun8 Strun9 Strun10 $frame Strun11 Strun12 // $frame Stwait1 Stwait2 Stwait3 Stwait4 Stwait5 $frame Stwait6 Stwait7 Stwait8 Stwait9 Stwait10 $frame Stwait11 Stwait12 /*-------------------------- ACTUAL (UNIQUE TO CLASS) PLAYER CODE ----------------------------*/ void() player_necromancer_run; void() player_necromancer_crouch_stand; void() player_necromancer_crouch_move; void() player_necromancer_stand; void() player_necromancer_swim = { if(self.viewentity==self) self.th_weapon(); if(self.waterlevel<3) if (self.velocity_x || self.velocity_y) self.think=self.th_run; else self.think=self.th_stand; }; void() player_necromancer_sickle_swim =[++$Sifly1..$Sifly14] { player_necromancer_swim(); }; void() player_necromancer_setstaff_swim =[++$Stfly1..$Stfly14] { player_necromancer_swim(); }; void() player_necromancer_spell_swim =[++$Hfly1..$Hfly14] { player_necromancer_swim(); }; void() player_necromancer_fly = { if(self.viewentity==self) self.th_weapon(); if(self.waterlevel>2) self.think=self.th_swim; else if(self.movetype!=MOVETYPE_FLY) if (self.velocity_x || self.velocity_y) self.think=self.th_run; else self.think=self.th_stand; }; void() player_necromancer_sickle_fly =[++$Sifly1..$Sifly14] { player_necromancer_fly(); }; void() player_necromancer_setstaff_fly =[++$Stfly1..$Stfly14] { player_necromancer_fly(); }; void() player_necromancer_spell_fly =[++$Hfly1..$Hfly14] { player_necromancer_fly(); }; void() player_necromancer_stand = { if(self.viewentity==self) self.th_weapon(); if(self.hull==HULL_CROUCH) self.think=player_necromancer_crouch_stand; else if(self.waterlevel>2) self.think=self.th_swim; else if(self.movetype==MOVETYPE_FLY) self.think=self.th_fly; else if (self.velocity_x || self.velocity_y) self.think=self.th_run; }; void() player_necromancer_sickle_stand =[++$Siwait1..$Siwait12] { player_necromancer_stand(); }; void() player_necromancer_setstaff_stand =[++$Stwait1..$Stwait12] { player_necromancer_stand(); }; void() player_necromancer_spell_stand =[++$Hwait1..$Hwait12] { player_necromancer_stand(); }; void() player_necromancer_run = { if(self.viewentity==self) self.th_weapon(); if(self.hull==HULL_CROUCH) self.think=player_necromancer_crouch_move; else if(self.waterlevel>2) self.think=self.th_swim; else if(self.movetype==MOVETYPE_FLY) self.think=self.th_fly; else if (!self.velocity_x && !self.velocity_y) self.think=self.th_stand; }; void() player_necromancer_sickle_run =[++$Sirun1..$Sirun12] { player_necromancer_run(); }; void() player_necromancer_setstaff_run =[++$Strun1..$Strun12] { player_necromancer_run(); }; void() player_necromancer_spell_run =[++$Hrun1..$Hrun12] { player_necromancer_run(); }; void() player_necromancer_crouch_stand = { if(self.viewentity==self) self.th_weapon(); if(self.frame>$cwalk20 || self.frame<$cwalk1) self.frame=$cwalk1; if(self.movetype==MOVETYPE_FLY) self.think=self.th_fly; else if(self.hull==HULL_PLAYER) self.think=self.th_stand; else if (self.velocity_x || self.velocity_y) self.think=player_necromancer_crouch_move; thinktime self : HX_FRAME_TIME; }; void() player_necromancer_crouch_move =[++$cwalk1..$cwalk20] { if(self.viewentity==self) self.th_weapon(); if(self.movetype==MOVETYPE_FLY) self.think=player_necromancer_fly; else if(self.hull==HULL_PLAYER) self.think=self.th_run; else if (!self.velocity_x && !self.velocity_y) self.think=player_necromancer_crouch_stand; }; void() player_necromancer_attack= { if(self.viewentity==self) self.th_weapon(); if(cycle_wrapped&&!self.button0) { if(!self.velocity_x && !self.velocity_y) self.think=self.th_stand; else self.think=self.th_run; } }; void() player_necromancer_sickle_attack=[++$Siatak1..$Siatak12] { player_necromancer_attack(); }; void() player_necromancer_spell_attack=[++$Hatak1..$Hatak8] { player_necromancer_attack(); }; void() player_necromancer_setstaff_attack=[++$Statak1..$Statak8] { player_necromancer_attack(); }; void() player_necromancer_pain= { if(self.viewentity==self) self.th_weapon(); if(cycle_wrapped) { if(!self.velocity_x && !self.velocity_y) self.think=self.th_stand; else self.think=self.th_run; } }; void() player_necromancer_sickle_pain =[++$Sipain1..$Sipain8] { if(self.frame==$Sipain1) PainSound(); player_necromancer_pain(); }; void() player_necromancer_setstaff_pain =[++$Stpain1..$Stpain8] { if(self.frame==$Stpain1) PainSound(); player_necromancer_pain(); }; void() player_necromancer_spell_pain =[++$Hpain1..$Hpain8] { if(self.frame==$Hpain1) PainSound(); player_necromancer_pain(); }; void() player_necromancer_die1=[++$die1..$die10] { if(cycle_wrapped) { self.frame=$die20; self.think=PlayerDead; } }; void() player_necromancer_die2=[++$die1..$die10] { if(cycle_wrapped) { self.frame=$die20; self.think=PlayerDead; } }; void() player_necromancer_behead = { self.level=$behead1; self.dmg=$behead20; self.cnt=0; player_behead(); }; void Nec_Change_Weapon (void) { if(self.weapon==IT_WEAPON1) { self.th_stand=player_necromancer_sickle_stand; self.th_missile=sickle_decide_attack; self.th_run=player_necromancer_sickle_run; self.th_pain=player_necromancer_sickle_pain; self.th_swim=player_necromancer_sickle_swim; self.th_fly=player_necromancer_sickle_fly; } else if(self.weapon==IT_WEAPON4) { self.th_stand=player_necromancer_setstaff_stand; self.th_missile=setstaff_decide_attack; self.th_run=player_necromancer_setstaff_run; self.th_pain=player_necromancer_setstaff_pain; self.th_swim=player_necromancer_setstaff_swim; self.th_fly=player_necromancer_setstaff_fly; } else { self.th_stand=player_necromancer_spell_stand; if(self.weapon==IT_WEAPON2) self.th_missile=Nec_Mis_Attack; else self.th_missile=Nec_Bon_Attack; self.th_run=player_necromancer_spell_run; self.th_pain=player_necromancer_spell_pain; self.th_swim=player_necromancer_spell_swim; self.th_fly=player_necromancer_spell_fly; } if(self.hull!=HULL_CROUCH) self.think=self.th_stand; }