mirror of
https://github.com/nzp-team/quakec.git
synced 2025-04-25 19:12:53 +00:00
SERVER: Remove references to limbs
SERVER: Add temporary FTE macros around non-FTE iqm funcs
This commit is contained in:
parent
a33d02e125
commit
223e911437
10 changed files with 359 additions and 321 deletions
source/server
|
@ -26,7 +26,7 @@
|
|||
*/
|
||||
|
||||
void(float type) Zombie_PlaySoundType;
|
||||
void() LinkZombiesHitbox;
|
||||
// void() LinkZombiesHitbox;
|
||||
entity() Dog_FindEnemy;
|
||||
|
||||
void() path_corner_touch =
|
||||
|
@ -943,20 +943,20 @@ void() AI_SetAllEnemiesBBOX =
|
|||
zombies.last_solid = zombies.solid;
|
||||
zombies.solid = SOLID_BBOX;
|
||||
|
||||
if (zombies.head) {
|
||||
zombies.head.last_solid = zombies.head.solid;
|
||||
zombies.head.solid = SOLID_BBOX;
|
||||
}
|
||||
// if (zombies.head) {
|
||||
// zombies.head.last_solid = zombies.head.solid;
|
||||
// zombies.head.solid = SOLID_BBOX;
|
||||
// }
|
||||
|
||||
if (zombies.larm) {
|
||||
zombies.larm.last_solid = zombies.larm.solid;
|
||||
zombies.larm.solid = SOLID_BBOX;
|
||||
}
|
||||
// if (zombies.larm) {
|
||||
// zombies.larm.last_solid = zombies.larm.solid;
|
||||
// zombies.larm.solid = SOLID_BBOX;
|
||||
// }
|
||||
|
||||
if (zombies.rarm) {
|
||||
zombies.rarm.last_solid = zombies.rarm.solid;
|
||||
zombies.rarm.solid = SOLID_BBOX;
|
||||
}
|
||||
// if (zombies.rarm) {
|
||||
// zombies.rarm.last_solid = zombies.rarm.solid;
|
||||
// zombies.rarm.solid = SOLID_BBOX;
|
||||
// }
|
||||
}
|
||||
|
||||
zombies = find(zombies, classname, "ai_zombie");
|
||||
|
|
|
@ -54,7 +54,7 @@ void() crawler_footstep
|
|||
}
|
||||
|
||||
//14-28
|
||||
void() zombie_crawl1 =[ 0, zombie_crawl2 ] {Zombie_Walk((2.955*self.speed_penalty));SetZombieHitBox(CRAWLER_BBOX);self.frame = 14;Zombie_Think();};
|
||||
void() zombie_crawl1 =[ 0, zombie_crawl2 ] {Zombie_Walk((2.955*self.speed_penalty));self.frame = 14;Zombie_Think();};
|
||||
void() zombie_crawl2 =[ 1, zombie_crawl3 ] {Zombie_Walk((3.841*self.speed_penalty)); self.frame = 15;Zombie_Think();};
|
||||
void() zombie_crawl3 =[ 2, zombie_crawl4 ] {Zombie_Walk((0.886*self.speed_penalty)); self.frame = 16;Zombie_Think();};
|
||||
void() zombie_crawl4 =[ 3, zombie_crawl5 ] {Zombie_Walk((1.871*self.speed_penalty)); self.frame = 17;Zombie_Think();};
|
||||
|
@ -70,7 +70,7 @@ void() zombie_crawl13 =[ 12, zombie_crawl14 ] {Zombie_Walk((1.182*self.speed_
|
|||
void() zombie_crawl14 =[ 13, zombie_crawl15 ] {Zombie_Walk((0.492*self.speed_penalty)); self.frame = 27;Zombie_Think();};
|
||||
void() zombie_crawl15 =[ 14, Crawler_Walk_Setup ] {Zombie_Walk((2.856*self.speed_penalty)); self.frame = 28;Zombie_Think();crawler_footstep();};//footstep
|
||||
|
||||
void() zombie_fastcrawl1 =[ 0, zombie_fastcrawl2 ] {Zombie_Walk((2.955*self.speed_penalty));SetZombieHitBox(CRAWLER_BBOX);self.frame = 14;Zombie_Think();};
|
||||
void() zombie_fastcrawl1 =[ 0, zombie_fastcrawl2 ] {Zombie_Walk((2.955*self.speed_penalty));self.frame = 14;Zombie_Think();};
|
||||
void() zombie_fastcrawl2 =[ 1, zombie_fastcrawl3 ] {Zombie_Walk((0.886*self.speed_penalty)); self.frame = 16;Zombie_Think();};
|
||||
void() zombie_fastcrawl3 =[ 2, zombie_fastcrawl4 ] {Zombie_Walk((3.25*self.speed_penalty)); self.frame = 18;Zombie_Think();};
|
||||
void() zombie_fastcrawl4 =[ 3, zombie_fastcrawl5 ] {Zombie_Walk((0.908*self.speed_penalty)); self.frame = 20;Zombie_Think();crawler_footstep();};//footstep
|
||||
|
@ -81,7 +81,7 @@ void() zombie_fastcrawl8 =[ 7, Crawler_Walk_Setup ] {Zombie_Walk((2.856*self.
|
|||
|
||||
//====================== Zombie To Crawler =======================
|
||||
//0-4
|
||||
void() crawlerify1 =[ 0, crawlerify2 ] {SetZombieHitBox(CRAWLER_BBOX); self.frame = 0;Zombie_Think();};
|
||||
void() crawlerify1 =[ 0, crawlerify2 ] { self.frame = 0;Zombie_Think();};
|
||||
void() crawlerify2 =[ 1, crawlerify3 ] {self.frame = 1;Zombie_Think();};
|
||||
void() crawlerify3 =[ 2, crawlerify4 ] {self.frame = 2;Zombie_Think();};
|
||||
void() crawlerify4 =[ 3, crawlerify5 ] {self.frame = 3;Zombie_Think();crawler_footstep();crawler_footstep();};//hit floor
|
||||
|
@ -89,7 +89,7 @@ void() crawlerify5 =[ 4, Crawler_Walk_Setup ] {self.frame = 4;Zombie_Think();
|
|||
|
||||
//====================== Crawler Idle ==============================
|
||||
//4-13
|
||||
void() crawler_idle1 =[ 0, crawler_idle2 ] {SetZombieHitBox(CRAWLER_BBOX);Zombie_Walk(0); self.frame = 4;Zombie_Think();};
|
||||
void() crawler_idle1 =[ 0, crawler_idle2 ] {Zombie_Walk(0); self.frame = 4;Zombie_Think();};
|
||||
void() crawler_idle2 =[ 1, crawler_idle3 ] {Zombie_Walk(0); self.frame = 5;Zombie_Think();};
|
||||
void() crawler_idle3 =[ 2, crawler_idle4 ] {Zombie_Walk(0); self.frame = 6;Zombie_Think();};
|
||||
void() crawler_idle4 =[ 3, crawler_idle5 ] {Zombie_Walk(0); self.frame = 7;Zombie_Think();};
|
||||
|
@ -101,7 +101,7 @@ void() crawler_idle9 =[ 8, crawler_idle10 ] {Zombie_Walk(0); self.frame = 12;
|
|||
void() crawler_idle10 =[ 9, crawler_idle1 ] {Zombie_Walk(0); self.frame = 13;Zombie_Think();};
|
||||
//===================== Crawler Attack ===========================
|
||||
//29-36
|
||||
void() crawler_atk1 =[ 0, crawler_atk2] {SetZombieHitBox(CRAWLER_BBOX);self.frame = 29;Zombie_Think();};
|
||||
void() crawler_atk1 =[ 0, crawler_atk2] {self.frame = 29;Zombie_Think();};
|
||||
void() crawler_atk2 =[ 1, crawler_atk3] {self.frame = 30;Zombie_Think();};
|
||||
void() crawler_atk3 =[ 2, crawler_atk4] {self.frame = 31;Zombie_Think();};
|
||||
void() crawler_atk4 =[ 3, crawler_atk5] {self.frame = 32;zombie_attack2();Zombie_Think();};
|
||||
|
@ -134,7 +134,7 @@ void(float which) crawler_attack_choose =
|
|||
};
|
||||
|
||||
|
||||
void() crawler_da1 =[ 0, crawler_da2 ] {SetZombieHitBox(CRAWLER_BBOX);crawler_attack_choose(0); self.frame = 4;Zombie_Think();};
|
||||
void() crawler_da1 =[ 0, crawler_da2 ] {crawler_attack_choose(0); self.frame = 4;Zombie_Think();};
|
||||
void() crawler_da2 =[ 1, crawler_da3 ] {crawler_attack_choose(0); self.frame = 5;Zombie_Think();};
|
||||
void() crawler_da3 =[ 2, crawler_da4 ] {crawler_attack_choose(0); self.frame = 6;Zombie_Think();};
|
||||
void() crawler_da4 =[ 3, crawler_da5 ] {crawler_attack_choose(0); self.frame = 7;Zombie_Think();};
|
||||
|
@ -148,7 +148,7 @@ void() crawler_da10 =[ 9, crawler_da1 ] {crawler_attack_choose(0); self.frame
|
|||
|
||||
//====================== Crawler Death ============================
|
||||
//37-39
|
||||
void() crawler_die1 =[ 0, crawler_die2] {SetZombieHitBox(CRAWLER_BBOX);self.frame = 37;};
|
||||
void() crawler_die1 =[ 0, crawler_die2] {self.frame = 37;};
|
||||
void() crawler_die2 =[ 1, crawler_die3] {self.frame = 38;};
|
||||
void() crawler_die3 =[ 2, SUB_Null] {self.iszomb = 0; self.frame = 39;self.nextthink = time + 3;self.think = removeZombie; if (crawler_num > 0) {crawler_num = crawler_num - 1;}};
|
||||
|
||||
|
@ -169,7 +169,7 @@ void() crawler_death_wunder10 =[ 40, SUB_Null ] {tesla_arc(); self.iszomb =
|
|||
|
||||
//======================== Climb Over Barricade ====================
|
||||
//40-70
|
||||
void() crawler_climbBarricade1 =[ 0, crawler_climbBarricade2] {self.movetype = MOVETYPE_STEP;self.zoom = 1;self.frame = 40;Zombie_Think();SetZombieHitBox(IDLE_BBOX);};
|
||||
void() crawler_climbBarricade1 =[ 0, crawler_climbBarricade2] {self.movetype = MOVETYPE_STEP;self.zoom = 1;self.frame = 40;Zombie_Think();};
|
||||
void() crawler_climbBarricade2 =[ 1, crawler_climbBarricade3] {self.frame = 41; moveforwardalittle(0);Zombie_Think();};
|
||||
void() crawler_climbBarricade3 =[ 2, crawler_climbBarricade4] {self.frame = 42; moveforwardalittle(0);Zombie_Think();};
|
||||
void() crawler_climbBarricade4 =[ 3, crawler_climbBarricade5] {self.frame = 43; moveforwardalittle(1);Zombie_Think();};
|
||||
|
@ -203,7 +203,7 @@ void() crawler_climbBarricade31 =[ 30, SUB_Null] {self.frame = 70; self.movety
|
|||
|
||||
//======================== Crawler Fall =============================
|
||||
//71 - 77
|
||||
void() crawler_fall1 =[ 0, crawler_fall2] {SetZombieHitBox(CRAWLER_BBOX);self.fall = TRUE;CheckLand();self.frame=71;Zombie_Think();};
|
||||
void() crawler_fall1 =[ 0, crawler_fall2] {self.fall = TRUE;CheckLand();self.frame=71;Zombie_Think();};
|
||||
void() crawler_fall2 =[ 1, crawler_fall3] {self.fall = TRUE;CheckLand();self.frame=72;Zombie_Think();};
|
||||
void() crawler_fall3 =[ 2, crawler_fall4] {self.fall = TRUE;CheckLand();self.frame=73;Zombie_Think();};
|
||||
void() crawler_fall4 =[ 3, crawler_fall5] {self.fall = TRUE;CheckLand();self.frame=74;Zombie_Think();};
|
||||
|
@ -212,7 +212,7 @@ void() crawler_fall6 =[ 5, crawler_fall7] {self.fall = TRUE;CheckLand();self.
|
|||
void() crawler_fall7 =[ 6, crawler_fall1] {self.fall = TRUE;CheckLand();self.frame=77;Zombie_Think();};
|
||||
//======================== Crawler Land ============================
|
||||
//77-86
|
||||
void() crawler_land1 =[ 0, crawler_land2] {SetZombieHitBox(CRAWLER_BBOX);self.frame=77;Zombie_Think();};
|
||||
void() crawler_land1 =[ 0, crawler_land2] {self.frame=77;Zombie_Think();};
|
||||
void() crawler_land2 =[ 1, crawler_land3] {self.frame=78;Zombie_Think();};
|
||||
void() crawler_land3 =[ 2, crawler_land4] {self.frame=79;Zombie_Think();};
|
||||
void() crawler_land4 =[ 3, crawler_land5] {self.frame=80;Zombie_Think();};
|
||||
|
@ -225,7 +225,7 @@ void() crawler_land10 =[ 9, Crawler_Walk_Setup] {self.frame=86;Zombie_Think()
|
|||
//======================== Crawler Rip Board =======================
|
||||
//103-126
|
||||
|
||||
void() crawler_rip_board1 =[ 0, crawler_rip_board2] {SetZombieHitBox(IDLE_BBOX);self.frame=103;Zombie_Think();};
|
||||
void() crawler_rip_board1 =[ 0, crawler_rip_board2] {self.frame=103;Zombie_Think();};
|
||||
void() crawler_rip_board2 =[ 1, crawler_rip_board3] {self.frame=104;Zombie_Think();};
|
||||
void() crawler_rip_board3 =[ 2, crawler_rip_board4] {self.frame=105;Zombie_Think();};
|
||||
void() crawler_rip_board4 =[ 3, crawler_rip_board5] {self.frame=106;Zombie_Think();};
|
||||
|
|
|
@ -66,35 +66,35 @@ void(float type) Zombie_PlaySoundType =
|
|||
|
||||
switch(rand) {
|
||||
case 1:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/a0.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/zombie/a0.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
curr_sound_len = 1.1;
|
||||
break;
|
||||
case 2:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/a1.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/zombie/a1.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
curr_sound_len = 0.8;
|
||||
break;
|
||||
case 3:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/a2.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/zombie/a2.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
curr_sound_len = 0.9;
|
||||
break;
|
||||
case 4:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/a3.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/zombie/a3.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
curr_sound_len = 0.8;
|
||||
break;
|
||||
case 5:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/a4.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/zombie/a4.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
curr_sound_len = 1;
|
||||
break;
|
||||
case 6:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/a5.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/zombie/a5.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
curr_sound_len = 1;
|
||||
break;
|
||||
case 7:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/a6.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/zombie/a6.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
curr_sound_len = 1;
|
||||
break;
|
||||
case 8:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/a7.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/zombie/a7.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
curr_sound_len = 1;
|
||||
break;
|
||||
default:
|
||||
|
@ -113,63 +113,63 @@ void(float type) Zombie_PlaySoundType =
|
|||
|
||||
switch(rand) {
|
||||
case 1:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/w0.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/w0.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 1.3;
|
||||
break;
|
||||
case 2:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/w1.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/w1.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 1.75;
|
||||
break;
|
||||
case 3:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/w2.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/w2.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 1.95;
|
||||
break;
|
||||
case 4:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/w3.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/w3.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 1.4;
|
||||
break;
|
||||
case 5:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/w4.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/w4.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 2.7;
|
||||
break;
|
||||
case 6:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/w5.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/w5.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 1.9;
|
||||
break;
|
||||
case 7:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/w6.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/w6.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 1.6;
|
||||
break;
|
||||
case 8:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/w7.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/w7.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 1.9;
|
||||
break;
|
||||
case 9:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/w8.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/w8.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 2.4;
|
||||
break;
|
||||
case 10:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/w9.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/w9.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 1.5;
|
||||
break;
|
||||
case 11:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/t0.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/t0.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 1.5;
|
||||
break;
|
||||
case 12:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/t1.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/t1.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 1.6;
|
||||
break;
|
||||
case 13:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/t2.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/t2.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 2.3;
|
||||
break;
|
||||
case 14:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/t3.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/t3.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 1.75;
|
||||
break;
|
||||
case 15:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/t4.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/t4.wav", SOUND_TYPE_ZOMBIE_QUIET, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 1.7;
|
||||
break;
|
||||
default:
|
||||
|
@ -188,23 +188,23 @@ void(float type) Zombie_PlaySoundType =
|
|||
|
||||
switch(rand) {
|
||||
case 1:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/t0.wav", SOUND_TYPE_ZOMBIE_CRAWLER, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/t0.wav", SOUND_TYPE_ZOMBIE_CRAWLER, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 1.5;
|
||||
break;
|
||||
case 2:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/t1.wav", SOUND_TYPE_ZOMBIE_CRAWLER, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/t1.wav", SOUND_TYPE_ZOMBIE_CRAWLER, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 1.6;
|
||||
break;
|
||||
case 3:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/t2.wav", SOUND_TYPE_ZOMBIE_CRAWLER, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/t2.wav", SOUND_TYPE_ZOMBIE_CRAWLER, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 2.3;
|
||||
break;
|
||||
case 4:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/t3.wav", SOUND_TYPE_ZOMBIE_CRAWLER, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/t3.wav", SOUND_TYPE_ZOMBIE_CRAWLER, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 1.75;
|
||||
break;
|
||||
case 5:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/t4.wav", SOUND_TYPE_ZOMBIE_CRAWLER, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/t4.wav", SOUND_TYPE_ZOMBIE_CRAWLER, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 1.7;
|
||||
break;
|
||||
default:
|
||||
|
@ -223,43 +223,43 @@ void(float type) Zombie_PlaySoundType =
|
|||
|
||||
switch(rand) {
|
||||
case 1:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/r0.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/r0.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 3.1;
|
||||
break;
|
||||
case 2:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/r1.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/r1.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 4.6;
|
||||
break;
|
||||
case 3:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/r2.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/r2.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 3.4;
|
||||
break;
|
||||
case 4:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/r3.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/r3.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 5.1;
|
||||
break;
|
||||
case 5:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/r4.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/r4.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 3.5;
|
||||
break;
|
||||
case 6:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/r5.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/r5.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 3.2;
|
||||
break;
|
||||
case 7:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/r6.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/r6.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 5.1;
|
||||
break;
|
||||
case 8:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/r7.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/r7.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 5.1;
|
||||
break;
|
||||
case 9:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/r8.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/r8.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 3;
|
||||
break;
|
||||
case 10:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/r9.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
Sound_PlaySound(self, "sounds/zombie/r9.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_ALLOWSKIP);
|
||||
curr_sound_len = 4.1;
|
||||
break;
|
||||
default:
|
||||
|
@ -275,28 +275,28 @@ void(float type) Zombie_PlaySoundType =
|
|||
|
||||
switch(rand) {
|
||||
case 1:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/d0.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/zombie/d0.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
break;
|
||||
case 2:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/d1.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/zombie/d1.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
break;
|
||||
case 3:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/d2.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/zombie/d2.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
break;
|
||||
case 4:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/d3.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/zombie/d3.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
break;
|
||||
case 5:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/d4.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/zombie/d4.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
break;
|
||||
case 6:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/d5.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/zombie/d5.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
break;
|
||||
case 7:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/d6.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/zombie/d6.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
break;
|
||||
case 8:
|
||||
Sound_PlaySound(self.head, "sounds/zombie/d7.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/zombie/d7.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -316,145 +316,145 @@ void(__inout vector what, float howmuch) vector_scale_hack =
|
|||
what_z *= howmuch;
|
||||
}
|
||||
|
||||
void(float which) SetZombieHitBox =
|
||||
{
|
||||
// void(float which) SetZombieHitBox =
|
||||
// {
|
||||
|
||||
//Zombie's bbox is constant across all hitbox setups, so we don't update it.
|
||||
// //Zombie's bbox is constant across all hitbox setups, so we don't update it.
|
||||
|
||||
if(self.currentHitBoxSetup == which)
|
||||
return;
|
||||
// if(self.currentHitBoxSetup == which)
|
||||
// return;
|
||||
|
||||
//which = IDLE_BBOX;
|
||||
// //which = IDLE_BBOX;
|
||||
|
||||
switch(which)
|
||||
{
|
||||
case EMPTY_BBOX:
|
||||
self.head.view_ofs = '0 0 0';
|
||||
self.rarm.view_ofs = '0 0 0';
|
||||
self.larm.view_ofs = '0 0 0';
|
||||
break;
|
||||
case IDLE_BBOX:
|
||||
self.head.bbmins = '-5 -5 -5';
|
||||
self.head.bbmaxs = '5 5 5';
|
||||
self.head.view_ofs = '0 10 35';
|
||||
// switch(which)
|
||||
// {
|
||||
// case EMPTY_BBOX:
|
||||
// self.head.view_ofs = '0 0 0';
|
||||
// self.rarm.view_ofs = '0 0 0';
|
||||
// self.larm.view_ofs = '0 0 0';
|
||||
// break;
|
||||
// case IDLE_BBOX:
|
||||
// self.head.bbmins = '-5 -5 -5';
|
||||
// self.head.bbmaxs = '5 5 5';
|
||||
// self.head.view_ofs = '0 10 35';
|
||||
|
||||
self.larm.bbmins = '-5 -5 -15';
|
||||
self.larm.bbmaxs = '5 5 15';
|
||||
self.larm.view_ofs = '-10 10 10';
|
||||
// self.larm.bbmins = '-5 -5 -15';
|
||||
// self.larm.bbmaxs = '5 5 15';
|
||||
// self.larm.view_ofs = '-10 10 10';
|
||||
|
||||
self.rarm.bbmins = '-5 -5 -15';
|
||||
self.rarm.bbmaxs = '5 5 15';
|
||||
self.rarm.view_ofs = '10 10 10';
|
||||
break;
|
||||
case WALK1_BBOX:
|
||||
self.head.bbmins = '-5 -5 -5';
|
||||
self.head.bbmaxs = '5 5 5';
|
||||
self.head.view_ofs = '2 -3 35';
|
||||
// self.rarm.bbmins = '-5 -5 -15';
|
||||
// self.rarm.bbmaxs = '5 5 15';
|
||||
// self.rarm.view_ofs = '10 10 10';
|
||||
// break;
|
||||
// case WALK1_BBOX:
|
||||
// self.head.bbmins = '-5 -5 -5';
|
||||
// self.head.bbmaxs = '5 5 5';
|
||||
// self.head.view_ofs = '2 -3 35';
|
||||
|
||||
self.larm.bbmins = '-5 -7 -15';
|
||||
self.larm.bbmaxs = '5 7 15';
|
||||
self.larm.view_ofs = '-10 -4 15';
|
||||
// self.larm.bbmins = '-5 -7 -15';
|
||||
// self.larm.bbmaxs = '5 7 15';
|
||||
// self.larm.view_ofs = '-10 -4 15';
|
||||
|
||||
self.rarm.bbmins = '-5 -8 -11';
|
||||
self.rarm.bbmaxs = '5 8 11';
|
||||
self.rarm.view_ofs = '10 11 11';
|
||||
break;
|
||||
case WALK2_BBOX:
|
||||
self.head.bbmins = '-7 -5 -5';
|
||||
self.head.bbmaxs = '7 5 5';
|
||||
self.head.view_ofs = '-11 6 36';
|
||||
// self.rarm.bbmins = '-5 -8 -11';
|
||||
// self.rarm.bbmaxs = '5 8 11';
|
||||
// self.rarm.view_ofs = '10 11 11';
|
||||
// break;
|
||||
// case WALK2_BBOX:
|
||||
// self.head.bbmins = '-7 -5 -5';
|
||||
// self.head.bbmaxs = '7 5 5';
|
||||
// self.head.view_ofs = '-11 6 36';
|
||||
|
||||
self.larm.bbmins = '-5 -6 -15';
|
||||
self.larm.bbmaxs = '5 6 15';
|
||||
self.larm.view_ofs = '-14 3 15';
|
||||
// self.larm.bbmins = '-5 -6 -15';
|
||||
// self.larm.bbmaxs = '5 6 15';
|
||||
// self.larm.view_ofs = '-14 3 15';
|
||||
|
||||
self.rarm.bbmins = '-5 -5 -11';
|
||||
self.rarm.bbmaxs = '5 5 11';
|
||||
self.rarm.view_ofs = '4 13 11';
|
||||
break;
|
||||
case WALK3_BBOX:
|
||||
self.head.bbmins = '-5 -5 -5';
|
||||
self.head.bbmaxs = '5 5 5';
|
||||
self.head.view_ofs = '-2 13 31';
|
||||
// self.rarm.bbmins = '-5 -5 -11';
|
||||
// self.rarm.bbmaxs = '5 5 11';
|
||||
// self.rarm.view_ofs = '4 13 11';
|
||||
// break;
|
||||
// case WALK3_BBOX:
|
||||
// self.head.bbmins = '-5 -5 -5';
|
||||
// self.head.bbmaxs = '5 5 5';
|
||||
// self.head.view_ofs = '-2 13 31';
|
||||
|
||||
self.larm.bbmins = '-4 -6 -14';
|
||||
self.larm.bbmaxs = '4 6 14';
|
||||
self.larm.view_ofs = '-12 3 11';
|
||||
// self.larm.bbmins = '-4 -6 -14';
|
||||
// self.larm.bbmaxs = '4 6 14';
|
||||
// self.larm.view_ofs = '-12 3 11';
|
||||
|
||||
self.rarm.bbmins = '-5 -5 -11';
|
||||
self.rarm.bbmaxs = '5 5 11';
|
||||
self.rarm.view_ofs = '14 6 12';
|
||||
break;
|
||||
case JOG_BBOX:
|
||||
self.head.bbmins = '-5 -5 -5';
|
||||
self.head.bbmaxs = '5 5 5';
|
||||
self.head.view_ofs = '0 5 36';
|
||||
// self.rarm.bbmins = '-5 -5 -11';
|
||||
// self.rarm.bbmaxs = '5 5 11';
|
||||
// self.rarm.view_ofs = '14 6 12';
|
||||
// break;
|
||||
// case JOG_BBOX:
|
||||
// self.head.bbmins = '-5 -5 -5';
|
||||
// self.head.bbmaxs = '5 5 5';
|
||||
// self.head.view_ofs = '0 5 36';
|
||||
|
||||
self.larm.bbmins = '-5 -13 -5';
|
||||
self.larm.bbmaxs = '5 13 5';
|
||||
self.larm.view_ofs = '-8 19 24';
|
||||
// self.larm.bbmins = '-5 -13 -5';
|
||||
// self.larm.bbmaxs = '5 13 5';
|
||||
// self.larm.view_ofs = '-8 19 24';
|
||||
|
||||
self.rarm.bbmins = '-5 -13 -5';
|
||||
self.rarm.bbmaxs = '5 13 5';
|
||||
self.rarm.view_ofs = '10 19 24';
|
||||
break;
|
||||
case RUN_BBOX:
|
||||
self.head.bbmins = '-5 -5 -5';
|
||||
self.head.bbmaxs = '5 5 5';
|
||||
self.head.view_ofs = '3 17 32';
|
||||
// self.rarm.bbmins = '-5 -13 -5';
|
||||
// self.rarm.bbmaxs = '5 13 5';
|
||||
// self.rarm.view_ofs = '10 19 24';
|
||||
// break;
|
||||
// case RUN_BBOX:
|
||||
// self.head.bbmins = '-5 -5 -5';
|
||||
// self.head.bbmaxs = '5 5 5';
|
||||
// self.head.view_ofs = '3 17 32';
|
||||
|
||||
self.larm.bbmins = '-4 -10 -9';
|
||||
self.larm.bbmaxs = '4 10 9';
|
||||
self.larm.view_ofs = '-12 28 18';
|
||||
// self.larm.bbmins = '-4 -10 -9';
|
||||
// self.larm.bbmaxs = '4 10 9';
|
||||
// self.larm.view_ofs = '-12 28 18';
|
||||
|
||||
self.rarm.bbmins = '-4 -13 -10';
|
||||
self.rarm.bbmaxs = '4 13 10';
|
||||
self.rarm.view_ofs = '12 -2 19';
|
||||
break;
|
||||
case CRAWLER_BBOX:
|
||||
self.head.bbmins = '-5 -5 -5';
|
||||
self.head.bbmaxs = '5 5 5';
|
||||
self.head.view_ofs = '2 18 -14';
|
||||
// self.rarm.bbmins = '-4 -13 -10';
|
||||
// self.rarm.bbmaxs = '4 13 10';
|
||||
// self.rarm.view_ofs = '12 -2 19';
|
||||
// break;
|
||||
// case CRAWLER_BBOX:
|
||||
// self.head.bbmins = '-5 -5 -5';
|
||||
// self.head.bbmaxs = '5 5 5';
|
||||
// self.head.view_ofs = '2 18 -14';
|
||||
|
||||
// self.larm.bbmins = '-4 -10 -9';
|
||||
// self.larm.bbmaxs = '4 10 9';
|
||||
// self.larm.view_ofs = '-9 24 -27';
|
||||
// // self.larm.bbmins = '-4 -10 -9';
|
||||
// // self.larm.bbmaxs = '4 10 9';
|
||||
// // self.larm.view_ofs = '-9 24 -27';
|
||||
|
||||
self.rarm.bbmins = '-4 -13 -10';
|
||||
self.rarm.bbmaxs = '4 13 10';
|
||||
self.rarm.view_ofs = '12 15 -25';
|
||||
break;
|
||||
default: //also known as BASE_BBOX
|
||||
self.head.bbmins = '-5 -5 -5';
|
||||
self.head.bbmaxs = '5 5 5';
|
||||
self.head.view_ofs = '0 0 35';
|
||||
// self.rarm.bbmins = '-4 -13 -10';
|
||||
// self.rarm.bbmaxs = '4 13 10';
|
||||
// self.rarm.view_ofs = '12 15 -25';
|
||||
// break;
|
||||
// default: //also known as BASE_BBOX
|
||||
// self.head.bbmins = '-5 -5 -5';
|
||||
// self.head.bbmaxs = '5 5 5';
|
||||
// self.head.view_ofs = '0 0 35';
|
||||
|
||||
self.larm.bbmins = '-5 -5 -15';
|
||||
self.larm.bbmaxs = '5 5 15';
|
||||
self.larm.view_ofs = '-10 0 5';
|
||||
// self.larm.bbmins = '-5 -5 -15';
|
||||
// self.larm.bbmaxs = '5 5 15';
|
||||
// self.larm.view_ofs = '-10 0 5';
|
||||
|
||||
self.rarm.bbmins = '-5 -5 -15';
|
||||
self.rarm.bbmaxs = '5 5 15';
|
||||
self.rarm.view_ofs = '10 0 5';
|
||||
break;
|
||||
}
|
||||
// self.rarm.bbmins = '-5 -5 -15';
|
||||
// self.rarm.bbmaxs = '5 5 15';
|
||||
// self.rarm.view_ofs = '10 0 5';
|
||||
// break;
|
||||
// }
|
||||
|
||||
self.currentHitBoxSetup = which;
|
||||
// self.currentHitBoxSetup = which;
|
||||
|
||||
if (map_compatibility_mode == MAP_COMPAT_BETA) {
|
||||
vector_scale_hack(self.head.bbmins, self.head.scale);
|
||||
vector_scale_hack(self.head.bbmaxs, self.head.scale);
|
||||
vector_scale_hack(self.head.view_ofs, self.head.scale);
|
||||
// if (map_compatibility_mode == MAP_COMPAT_BETA) {
|
||||
// vector_scale_hack(self.head.bbmins, self.head.scale);
|
||||
// vector_scale_hack(self.head.bbmaxs, self.head.scale);
|
||||
// vector_scale_hack(self.head.view_ofs, self.head.scale);
|
||||
|
||||
vector_scale_hack(self.larm.bbmins, self.larm.scale);
|
||||
vector_scale_hack(self.larm.bbmaxs, self.larm.scale);
|
||||
vector_scale_hack(self.larm.view_ofs, self.larm.scale);
|
||||
// vector_scale_hack(self.larm.bbmins, self.larm.scale);
|
||||
// vector_scale_hack(self.larm.bbmaxs, self.larm.scale);
|
||||
// vector_scale_hack(self.larm.view_ofs, self.larm.scale);
|
||||
|
||||
vector_scale_hack(self.rarm.bbmins, self.rarm.scale);
|
||||
vector_scale_hack(self.rarm.bbmaxs, self.rarm.scale);
|
||||
vector_scale_hack(self.rarm.view_ofs, self.rarm.scale);
|
||||
}
|
||||
};
|
||||
// vector_scale_hack(self.rarm.bbmins, self.rarm.scale);
|
||||
// vector_scale_hack(self.rarm.bbmaxs, self.rarm.scale);
|
||||
// vector_scale_hack(self.rarm.view_ofs, self.rarm.scale);
|
||||
// }
|
||||
// };
|
||||
|
||||
//
|
||||
// Zombie_ProcessRespawn()
|
||||
|
@ -525,12 +525,13 @@ void() Zombie_Think = //called every frame for zombies
|
|||
self.th_die();
|
||||
}
|
||||
|
||||
if (self.bleedingtime < time && !self.head.deadflag)
|
||||
{
|
||||
bprint(PRINT_HIGH, "bleeding?");
|
||||
self.bleedingtime = time + 1;
|
||||
DamageHandler (self, self.usedent, z_health * 0.2, DMG_TYPE_HEADSHOT);
|
||||
}
|
||||
// TODO - Check limb state for zombie head
|
||||
// if (self.bleedingtime < time && !self.head.deadflag)
|
||||
// {
|
||||
// bprint(PRINT_HIGH, "bleeding?");
|
||||
// self.bleedingtime = time + 1;
|
||||
// DamageHandler (self, self.usedent, z_health * 0.2, DMG_TYPE_HEADSHOT);
|
||||
// }
|
||||
|
||||
// If we're mid attack and our enemy has moved out of range
|
||||
if (self.is_attacking && vlen(self.enemy.origin - self.origin) > 64) {
|
||||
|
@ -563,7 +564,7 @@ void() zombie_footstep
|
|||
$frame walk1 walk2 walk3 walk4 walk5 walk6 walk7 walk8 walk9 walk10 walk11 walk12 walk13 walk14 walk15 walk16
|
||||
//walk15
|
||||
//walk 1!
|
||||
void() zombie_walk1 =[ $walk1, zombie_walk2 ] {self.nextthink = time + 0.12;Zombie_Walk(8);SetZombieHitBox(WALK1_BBOX);/*if(freeze_time < time)*/ self.frame = 37;Zombie_Think();};
|
||||
void() zombie_walk1 =[ $walk1, zombie_walk2 ] {self.nextthink = time + 0.12;Zombie_Walk(8);/*if(freeze_time < time)*/ self.frame = 37;Zombie_Think();};
|
||||
void() zombie_walk2 =[ $walk2, zombie_walk3 ] {self.nextthink = time + 0.12;Zombie_Walk(3.5); self.frame = 38;Zombie_Think();};
|
||||
void() zombie_walk3 =[ $walk3, zombie_walk4 ] {self.nextthink = time + 0.12;Zombie_Walk(3.5); self.frame = 39;Zombie_Think();};
|
||||
void() zombie_walk4 =[ $walk4, zombie_walk5 ] {self.nextthink = time + 0.12;Zombie_Walk(3.5); self.frame = 40;Zombie_Think();};
|
||||
|
@ -585,7 +586,7 @@ void() zombie_walk16 =[ $walk16, Zombie_Walk_Setup ] {self.nextthink = time +
|
|||
//Walk 2!
|
||||
$frame bwalk1 bwalk2 bwalk3 bwalk4 bwalk5 bwalk6 bwalk7 bwalk8 bwalk9 bwalk10 bwalk11 bwalk12 bwalk13 bwalk14
|
||||
|
||||
void() zombie_walkb1 =[ $bwalk1, zombie_walkb2 ] {self.nextthink = time + 0.13;Zombie_Walk(4.2);SetZombieHitBox(WALK2_BBOX);/*if(freeze_time < time)*/ self.frame = 53;Zombie_Think();};
|
||||
void() zombie_walkb1 =[ $bwalk1, zombie_walkb2 ] {self.nextthink = time + 0.13;Zombie_Walk(4.2);/*if(freeze_time < time)*/ self.frame = 53;Zombie_Think();};
|
||||
void() zombie_walkb2 =[ $bwalk2, zombie_walkb3 ] {self.nextthink = time + 0.13;Zombie_Walk(5.9); self.frame = 54;Zombie_Think();};
|
||||
void() zombie_walkb3 =[ $bwalk3, zombie_walkb4 ] {self.nextthink = time + 0.13;Zombie_Walk(3); self.frame = 55;Zombie_Think();};
|
||||
void() zombie_walkb4 =[ $bwalk4, zombie_walkb5 ] {self.nextthink = time + 0.13;Zombie_Walk(5.7); self.frame = 56;Zombie_Think();zombie_footstep();};//footstep
|
||||
|
@ -605,7 +606,7 @@ void() zombie_walkb14 =[ $bwalk14, Zombie_Walk_Setup ] {self.nextthink = time
|
|||
//Walk 3!
|
||||
$frame cwalk1 cwalk2 cwalk3 cwalk4 cwalk5 cwalk6 cwalk7 cwalk8 cwalk9 cwalk10 cwalk11 cwalk12 cwalk13 cwalk14 cwalk15 cwalk16
|
||||
|
||||
void() zombie_walkc1 =[ $cwalk1, zombie_walkc2 ] {self.nextthink = time + 0.13;Zombie_Walk(3.4);SetZombieHitBox(WALK3_BBOX);/*if(freeze_time < time)*/ self.frame = 67;Zombie_Think();};
|
||||
void() zombie_walkc1 =[ $cwalk1, zombie_walkc2 ] {self.nextthink = time + 0.13;Zombie_Walk(3.4);/*if(freeze_time < time)*/ self.frame = 67;Zombie_Think();};
|
||||
void() zombie_walkc2 =[ $cwalk2, zombie_walkc3 ] {self.nextthink = time + 0.13;Zombie_Walk(2); self.frame = 68;Zombie_Think();};
|
||||
void() zombie_walkc3 =[ $cwalk3, zombie_walkc4 ] {self.nextthink = time + 0.13;Zombie_Walk(5.4); self.frame = 69;Zombie_Think();};
|
||||
void() zombie_walkc4 =[ $cwalk4, zombie_walkc5 ] {self.nextthink = time + 0.13;Zombie_Walk(5.6); self.frame = 70;Zombie_Think();zombie_footstep();};//footstep
|
||||
|
@ -627,7 +628,7 @@ void() zombie_walkc16 =[ $cwalk16, Zombie_Walk_Setup ] {self.nextthink = time
|
|||
//116- 129
|
||||
$frame jog1 jog2 jog3 jog4 jog5 jog6 jog7 jog8
|
||||
|
||||
void() zombie_jog1 =[ $jog1, zombie_jog2 ] {self.nextthink = time + 0.08;Zombie_Walk(6);SetZombieHitBox(JOG_BBOX);/*if(freeze_time < time)*/ self.frame = 83;Zombie_Think();};//FOOTSTEP
|
||||
void() zombie_jog1 =[ $jog1, zombie_jog2 ] {self.nextthink = time + 0.08;Zombie_Walk(6);/*if(freeze_time < time)*/ self.frame = 83;Zombie_Think();};//FOOTSTEP
|
||||
void() zombie_jog2 =[ $jog2, zombie_jog3 ] {self.nextthink = time + 0.08;Zombie_Walk(6); self.frame = 84;Zombie_Think();};
|
||||
void() zombie_jog3 =[ $jog3, zombie_jog4 ] {self.nextthink = time + 0.08;Zombie_Walk(6); self.frame = 85;Zombie_Think();};
|
||||
void() zombie_jog4 =[ $jog4, zombie_jog5 ] {self.nextthink = time + 0.08;Zombie_Walk(6); self.frame = 86;Zombie_Think();zombie_footstep();};//footstep
|
||||
|
@ -640,7 +641,7 @@ void() zombie_jog8 =[ $jog8, Zombie_Walk_Setup ] {self.nextthink = time + 0.0
|
|||
//78-85
|
||||
$frame run1 run2 run3 run4 run5 run6 run7 run8 run9 run10
|
||||
//12 unless 14
|
||||
void() zombie_run1 =[ $run1, zombie_run2 ] {Zombie_Walk(13);/*if(freeze_time < time)*/ self.frame = 92;SetZombieHitBox(RUN_BBOX);Zombie_Think();zombie_footstep();};//footstep
|
||||
void() zombie_run1 =[ $run1, zombie_run2 ] {Zombie_Walk(13);/*if(freeze_time < time)*/ self.frame = 92;Zombie_Think();zombie_footstep();};//footstep
|
||||
void() zombie_run2 =[ $run2, zombie_run3 ] {Zombie_Walk(13); self.frame = 93;Zombie_Think();};
|
||||
void() zombie_run3 =[ $run3, zombie_run4 ] {Zombie_Walk(13); self.frame = 94;Zombie_Think();zombie_footstep();};//footstep
|
||||
void() zombie_run4 =[ $run4, zombie_run5 ] {Zombie_Walk(13); self.frame = 95;Zombie_Think();};
|
||||
|
@ -703,7 +704,12 @@ void() Zombie_Walk_Setup = {
|
|||
|
||||
// Build the skeleton on the server so hit detections are correct
|
||||
if(self.skeletonindex >= 0) {
|
||||
|
||||
#ifdef FTE
|
||||
// TODO - Figure out the call to FTE's skel_build...
|
||||
#else
|
||||
skel_build(self.skeletonindex, self.skeleton_anim_modelindex, self.skeleton_anim_framegroup, self.skeleton_anim_start_time, self.skeleton_anim_speed);
|
||||
#endif // FTE
|
||||
// self.angles_y = self.skeletonindex * 45 + time * 30;
|
||||
// self.angles_y = 45;
|
||||
}
|
||||
|
@ -752,7 +758,14 @@ void() Zombie_Walk_Setup = {
|
|||
|
||||
float prev_anim_frametime = self.prev_skeleton_anim_frametime;
|
||||
float cur_anim_frametime = (time - self.skeleton_anim_start_time) * self.skeleton_anim_speed;
|
||||
float dist = getmovedistance(self.skeleton_anim_modelindex, self.skeleton_anim_framegroup, prev_anim_frametime, cur_anim_frametime);
|
||||
float dist;
|
||||
|
||||
#ifdef FTE
|
||||
dist = 1;
|
||||
// TODO - Call FTE-specific routine for accumulating movement distance across frametimes for skeletal anim
|
||||
#else
|
||||
dist = getmovedistance(self.skeleton_anim_modelindex, self.skeleton_anim_framegroup, prev_anim_frametime, cur_anim_frametime);
|
||||
#endif // FTE
|
||||
|
||||
// dist = 2;
|
||||
|
||||
|
@ -800,7 +813,7 @@ void() Zombie_Walk_Setup = {
|
|||
///////////////////////////////////////////////////////////////////// ZOMBIE IDLE 1
|
||||
//0-12
|
||||
$frame idle1 idle2 idle3 idle4 idle5 idle6 idle7 idle8 idle9 idle10 idle11 idle12 idle13 idle14
|
||||
void() zombie_idle =[ $idle1, zombie_idle1 ] {Zombie_Walk(0);self.frame = 0;SetZombieHitBox(IDLE_BBOX);Zombie_Think();};
|
||||
void() zombie_idle =[ $idle1, zombie_idle1 ] {Zombie_Walk(0);self.frame = 0;Zombie_Think();};
|
||||
void() zombie_idle1 =[ $idle2, zombie_idle2 ] {Zombie_Walk(0);self.frame = 1;Zombie_Think();};
|
||||
void() zombie_idle2 =[ $idle3, zombie_idle3 ] {Zombie_Walk(0);self.frame = 2;Zombie_Think();};
|
||||
void() zombie_idle3 =[ $idle4, zombie_idle4 ] {Zombie_Walk(0);self.frame = 3;Zombie_Think();};
|
||||
|
@ -937,7 +950,7 @@ void() zombie_hop10_5=[ $hop10, SUB_Null ] {self.frame = 122;
|
|||
//ripboard1
|
||||
//181-191
|
||||
$frame zrip1 zrip2 zrip3 zrip4 zrip5 zrip6 zrip7 zrip8 zrip9 zrip10 zrip11
|
||||
void() zombie_ripboardA1 =[ $zrip1, zombie_ripboardA2 ] {self.frame = 181;SetZombieHitBox(IDLE_BBOX);Zombie_Think();};
|
||||
void() zombie_ripboardA1 =[ $zrip1, zombie_ripboardA2 ] {self.frame = 181;Zombie_Think();};
|
||||
void() zombie_ripboardA2 =[ $zrip2, zombie_ripboardA3 ] {self.frame = 182;Zombie_Think();};
|
||||
void() zombie_ripboardA3 =[ $zrip3, zombie_ripboardA4 ] {self.frame = 183;Zombie_Think();};
|
||||
void() zombie_ripboardA4 =[ $zrip4, zombie_ripboardA5 ] {self.frame = 184;Zombie_Think();};
|
||||
|
@ -952,7 +965,7 @@ void() zombie_ripboardA11 =[ $zrip11, zombie_decide ] {self.frame = 191;Zomb
|
|||
//ripboard2
|
||||
//192-201
|
||||
$frame zripB1 zripB2 zripB3 zripB4 zripB5 zripB6 zripB7 zripB8 zripB9 zripB10 zripB11
|
||||
void() zombie_ripboardB1 =[ $zripB1, zombie_ripboardB2 ] {self.frame = 192;SetZombieHitBox(IDLE_BBOX);Zombie_Think();};
|
||||
void() zombie_ripboardB1 =[ $zripB1, zombie_ripboardB2 ] {self.frame = 192;Zombie_Think();};
|
||||
void() zombie_ripboardB2 =[ $zripB2, zombie_ripboardB3 ] {self.frame = 193;Zombie_Think();};
|
||||
void() zombie_ripboardB3 =[ $zripB3, zombie_ripboardB4 ] {self.frame = 194;Zombie_Think();};
|
||||
void() zombie_ripboardB4 =[ $zripB4, zombie_ripboardB5 ] {self.frame = 195;Zombie_Think();};
|
||||
|
@ -989,7 +1002,7 @@ void() zombie_attack_through_window =
|
|||
void() zombie_attack2;
|
||||
|
||||
$frame zatkw1 zatkw2 zatkw3 zatkw4 zatkw5 zatkw6 zatkw7 zatkw8 zatkw9
|
||||
void() zombie_attack_through_w1 =[ $zatkw1, zombie_attack_through_w2 ] {self.is_attacking = true; self.frame = 202;SetZombieHitBox(IDLE_BBOX);Zombie_Think();};//START
|
||||
void() zombie_attack_through_w1 =[ $zatkw1, zombie_attack_through_w2 ] {self.is_attacking = true; self.frame = 202;Zombie_Think();};//START
|
||||
void() zombie_attack_through_w2 =[ $zatkw2, zombie_attack_through_w3 ] {self.frame = 203;zombie_attack_through_window();Zombie_Think();};//SWINGING
|
||||
void() zombie_attack_through_w3 =[ $zatkw3, zombie_attack_through_w4 ] {self.frame = 204;Zombie_Think();};//SWINGING
|
||||
void() zombie_attack_through_w4 =[ $zatkw4, zombie_attack_through_w5 ] {self.frame = 205;Zombie_Think();};//SWINGING
|
||||
|
@ -1009,7 +1022,7 @@ void() zombie_attack_through_w17 =[ $zatkw7, zombie_attack_through_w18 ] {sel
|
|||
void() zombie_attack_through_w18 =[ $zatkw8, zombie_attack_through_w19 ] {self.frame = 209;Zombie_Think();};//ENDING
|
||||
void() zombie_attack_through_w19 =[ $zatkw9, zombie_decide ] {self.is_attacking = false; self.frame = 210;Zombie_Think();};//ENDING
|
||||
|
||||
void() zm_swipe_right_slow =[ 1, zm_swipe_right_slow1 ] {self.is_attacking = true; self.frame = 102; SetZombieHitBox(BASE_BBOX); Zombie_Think(); };
|
||||
void() zm_swipe_right_slow =[ 1, zm_swipe_right_slow1 ] {self.is_attacking = true; self.frame = 102; Zombie_Think(); };
|
||||
void() zm_swipe_right_slow1 =[ 2, zm_swipe_right_slow2 ] {self.frame = 103; Zombie_Think(); };
|
||||
void() zm_swipe_right_slow2 =[ 3, zm_swipe_right_slow3 ] {self.frame = 104; Zombie_Think(); Zombie_PlaySoundType(ZOMBIE_SOUND_TYPE_MELEE); };
|
||||
void() zm_swipe_right_slow3 =[ 4, zm_swipe_right_slow4 ] {zombie_attack2(); self.frame = 105; Zombie_Think(); };
|
||||
|
@ -1019,19 +1032,19 @@ void() zm_swipe_right_fast =[ 1, zm_swipe_right_fast1 ] {self.is_attacking = tr
|
|||
void() zm_swipe_right_fast1 =[ 2, zm_swipe_right_fast2 ] {zombie_attack2(); self.frame = 105; Zombie_Think(); };
|
||||
void() zm_swipe_right_fast2 =[ 3, zombie_decide ] {self.is_attacking = false; self.frame = 106; Zombie_Think(); };
|
||||
|
||||
void() zm_swipe_left_slow =[ 1, zm_swipe_left_slow1 ] {self.is_attacking = true; self.frame = 107; SetZombieHitBox(BASE_BBOX); Zombie_Think(); };
|
||||
void() zm_swipe_left_slow =[ 1, zm_swipe_left_slow1 ] {self.is_attacking = true; self.frame = 107; Zombie_Think(); };
|
||||
void() zm_swipe_left_slow1 =[ 2, zm_swipe_left_slow2 ] {self.frame = 108; Zombie_Think(); };
|
||||
void() zm_swipe_left_slow2 =[ 3, zm_swipe_left_slow3 ] {self.frame = 109; Zombie_Think(); Zombie_PlaySoundType(ZOMBIE_SOUND_TYPE_MELEE); };
|
||||
void() zm_swipe_left_slow3 =[ 4, zm_swipe_left_slow4 ] {zombie_attack2(); self.frame = 110; Zombie_Think(); };
|
||||
void() zm_swipe_left_slow4 =[ 5, zm_swipe_left_slow5 ] {self.frame = 111; Zombie_Think(); };
|
||||
void() zm_swipe_left_slow5 =[ 6, zombie_decide ] {self.is_attacking = false; self.frame = 112; Zombie_Think(); };
|
||||
|
||||
void() zm_swipe_left_fast =[ 1, zm_swipe_left_fast1 ] {self.is_attacking = true; self.frame = 109; SetZombieHitBox(BASE_BBOX); Zombie_Think(); Zombie_PlaySoundType(ZOMBIE_SOUND_TYPE_MELEE); };
|
||||
void() zm_swipe_left_fast =[ 1, zm_swipe_left_fast1 ] {self.is_attacking = true; self.frame = 109; Zombie_Think(); Zombie_PlaySoundType(ZOMBIE_SOUND_TYPE_MELEE); };
|
||||
void() zm_swipe_left_fast1 =[ 2, zm_swipe_left_fast2 ] {zombie_attack2(); self.frame = 110; Zombie_Think(); };
|
||||
void() zm_swipe_left_fast2 =[ 3, zm_swipe_left_fast3 ] {self.frame = 111; Zombie_Think(); };
|
||||
void() zm_swipe_left_fast3 =[ 4, zombie_decide ] {self.is_attacking = false; self.frame = 112; Zombie_Think(); };
|
||||
|
||||
void() zm_swipe_both_slow =[ 1, zm_swipe_both_slow1 ] {self.is_attacking = true; self.frame = 102; SetZombieHitBox(BASE_BBOX); Zombie_Think(); };
|
||||
void() zm_swipe_both_slow =[ 1, zm_swipe_both_slow1 ] {self.is_attacking = true; self.frame = 102; Zombie_Think(); };
|
||||
void() zm_swipe_both_slow1 =[ 2, zm_swipe_both_slow2 ] {self.frame = 103; Zombie_Think(); };
|
||||
void() zm_swipe_both_slow2 =[ 3, zm_swipe_both_slow3 ] {self.frame = 104; Zombie_Think(); Zombie_PlaySoundType(ZOMBIE_SOUND_TYPE_MELEE); };
|
||||
void() zm_swipe_both_slow3 =[ 4, zm_swipe_both_slow4 ] {zombie_attack2(); self.frame = 105; Zombie_Think(); };
|
||||
|
@ -1042,7 +1055,7 @@ void() zm_swipe_both_slow7 =[ 8, zm_swipe_both_slow8 ] {self.frame = 109; Zomb
|
|||
void() zm_swipe_both_slow8 =[ 9, zm_swipe_both_slow9 ] {self.frame = 110; Zombie_Think(); Zombie_PlaySoundType(ZOMBIE_SOUND_TYPE_MELEE); };
|
||||
void() zm_swipe_both_slow9 =[ 10, zombie_decide ] {zombie_attack2(); self.is_attacking = false; self.frame = 111; Zombie_Think(); };
|
||||
|
||||
void() zm_swipe_both_fast =[ 1, zm_swipe_both_fast1 ] {self.is_attacking = true; self.frame = 104; SetZombieHitBox(BASE_BBOX); Zombie_Think(); Zombie_PlaySoundType(ZOMBIE_SOUND_TYPE_MELEE); };
|
||||
void() zm_swipe_both_fast =[ 1, zm_swipe_both_fast1 ] {self.is_attacking = true; self.frame = 104; Zombie_Think(); Zombie_PlaySoundType(ZOMBIE_SOUND_TYPE_MELEE); };
|
||||
void() zm_swipe_both_fast1 =[ 2, zm_swipe_both_fast2 ] {zombie_attack2(); self.frame = 105; Zombie_Think(); };
|
||||
void() zm_swipe_both_fast2 =[ 3, zm_swipe_both_fast3 ] {self.frame = 106; Zombie_Think(); };
|
||||
void() zm_swipe_both_fast3 =[ 4, zm_swipe_both_fast4 ] {self.frame = 109; Zombie_Think(); };
|
||||
|
@ -1105,7 +1118,7 @@ void(float which) zombie_attack_choose =
|
|||
};
|
||||
|
||||
$frame zda1 zda2 zda3 zda4 zda5 zda6 zda7 zda8 zda9 zda10 zda11 zda12 zda13 zda14
|
||||
void() zombie_zda =[ $zda1, zombie_zda1 ] {self.frame = 0;zombie_attack_choose(0);SetZombieHitBox(IDLE_BBOX);Zombie_Think();};
|
||||
void() zombie_zda =[ $zda1, zombie_zda1 ] {self.frame = 0;zombie_attack_choose(0);Zombie_Think();};
|
||||
void() zombie_zda1 =[ $zda2, zombie_zda2 ] {self.frame = 1;zombie_attack_choose(0);Zombie_Think();};
|
||||
void() zombie_zda2 =[ $zda3, zombie_zda3 ] {self.frame = 2;zombie_attack_choose(0);Zombie_Think();};
|
||||
void() zombie_zda3 =[ $zda4, zombie_zda4 ] {self.frame = 3;zombie_attack_choose(0);Zombie_Think();};
|
||||
|
@ -1204,7 +1217,7 @@ void CheckLand() =
|
|||
//149-152
|
||||
$frame fall1 fall2 fall3 fall4
|
||||
|
||||
void() zombie_fall1 =[ $fall1, zombie_fall2 ] {self.frame = 149;SetZombieHitBox(BASE_BBOX);self.fall = TRUE;CheckLand();Zombie_Think();};
|
||||
void() zombie_fall1 =[ $fall1, zombie_fall2 ] {self.frame = 149;self.fall = TRUE;CheckLand();Zombie_Think();};
|
||||
void() zombie_fall2 =[ $fall2, zombie_fall3 ] {self.frame = 150;CheckLand();Zombie_Think();};
|
||||
void() zombie_fall3 =[ $fall3, zombie_fall4 ] {self.frame = 151;CheckLand();Zombie_Think();};
|
||||
void() zombie_fall4 =[ $fall4, zombie_fall3 ] {self.frame = 152;CheckLand();Zombie_Think();};
|
||||
|
@ -1212,7 +1225,7 @@ void() zombie_fall4 =[ $fall4, zombie_fall3 ] {self.frame = 152;CheckLand();Zo
|
|||
//Landing
|
||||
//153-159
|
||||
$frame land1 land2 land3 land4 land5 land6 land7
|
||||
void() zombie_land1 =[ $land1, zombie_land2 ] {self.frame = 153;SetZombieHitBox(BASE_BBOX);Zombie_Think();zombie_footstep();zombie_footstep();};
|
||||
void() zombie_land1 =[ $land1, zombie_land2 ] {self.frame = 153;Zombie_Think();zombie_footstep();zombie_footstep();};
|
||||
void() zombie_land2 =[ $land2, zombie_land3 ] {self.frame = 154;Zombie_Think();};
|
||||
void() zombie_land3 =[ $land3, zombie_land4 ] {self.frame = 155;Zombie_Think();};
|
||||
void() zombie_land4 =[ $land4, zombie_land5 ] {self.frame = 156;Zombie_Think();};
|
||||
|
@ -1296,7 +1309,7 @@ void() removeZombie =
|
|||
self.th_grabledge = SUB_Null;
|
||||
self.th_diewunder = SUB_Null;
|
||||
//Disabling collision bboxes
|
||||
SetZombieHitBox(EMPTY_BBOX);
|
||||
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////// ZOMBIE DEATH 1
|
||||
|
@ -1349,23 +1362,24 @@ void(entity ent) Zombie_Death_Cleanup = {
|
|||
return;
|
||||
}
|
||||
|
||||
// TODO - Update limb checking
|
||||
// Insta-Kill should always cause the head to gib on Zombie death.
|
||||
if (ent.head && instakill_finished > time) {
|
||||
makevectors(ent.head.owner.angles);
|
||||
vector where = ent.origin + (ent.head.view_ofs_x * v_right) + (ent.head.view_ofs_y * v_forward) + (ent.head.view_ofs_z * v_up);
|
||||
spawn_gibs(where);
|
||||
ent.head.deadflag = false;
|
||||
ent.head.solid = SOLID_NOT;
|
||||
setmodel(ent.head, "");
|
||||
ent.head.frame = 0;
|
||||
// if (ent.head && instakill_finished > time) {
|
||||
// makevectors(ent.head.owner.angles);
|
||||
// vector where = ent.origin + (ent.head.view_ofs_x * v_right) + (ent.head.view_ofs_y * v_forward) + (ent.head.view_ofs_z * v_up);
|
||||
// spawn_gibs(where);
|
||||
// ent.head.deadflag = false;
|
||||
// ent.head.solid = SOLID_NOT;
|
||||
// setmodel(ent.head, "");
|
||||
// ent.head.frame = 0;
|
||||
|
||||
#ifndef FTE
|
||||
// #ifndef FTE
|
||||
|
||||
updateLimb (ent, 0, world);
|
||||
// updateLimb (ent, 0, world);
|
||||
|
||||
#endif // FTE
|
||||
// #endif // FTE
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
ent.aistatus = "0";
|
||||
ent.solid = SOLID_NOT;
|
||||
|
@ -1373,7 +1387,11 @@ void(entity ent) Zombie_Death_Cleanup = {
|
|||
ent.takedamage = DAMAGE_NO;
|
||||
|
||||
|
||||
#ifdef FTE
|
||||
// TODO - Call FTE's skeleton destroy func
|
||||
#else
|
||||
skel_destroy(ent.skeletonindex);
|
||||
#endif // FTE
|
||||
|
||||
// ent.head.classname = "";
|
||||
// ent.head.solid = SOLID_NOT;
|
||||
|
@ -1422,7 +1440,7 @@ void() Zombie_Death =
|
|||
if (self.electro_targeted == false)
|
||||
Zombie_PlaySoundType(ZOMBIE_SOUND_TYPE_DEATH);
|
||||
else
|
||||
Sound_PlaySound(self.head, "sounds/machines/elec_shock.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/machines/elec_shock.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
|
||||
if(self.outside == false && self.electro_targeted == false)
|
||||
{
|
||||
|
@ -1531,7 +1549,7 @@ void() Z_ElectroShock =
|
|||
// }
|
||||
|
||||
// Play the first Electro-Sound
|
||||
Sound_PlaySound(self.head, "sounds/machines/elec_shock.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
Sound_PlaySound(self, "sounds/machines/elec_shock.wav", SOUND_TYPE_ZOMBIE_LOUD, SOUND_PRIORITY_PLAYALWAYS);
|
||||
}
|
||||
|
||||
/////////////////////ZOMBIE WAFFE STUFF/////////////////////
|
||||
|
@ -1847,7 +1865,7 @@ void(entity szombie) SetUpHitBoxes =
|
|||
|
||||
local entity oldself = self;
|
||||
self = szombie;
|
||||
SetZombieHitBox(BASE_BBOX);
|
||||
|
||||
self = oldself;
|
||||
};
|
||||
|
||||
|
@ -2088,8 +2106,8 @@ void(entity where) spawn_a_zombieB = {
|
|||
}
|
||||
// szombie.head.skin = szombie.larm.skin = szombie.rarm.skin = szombie.skin;
|
||||
|
||||
if (map_compatibility_mode == MAP_COMPAT_BETA)
|
||||
szombie.head.scale = szombie.larm.scale = szombie.rarm.scale = szombie.scale = 0.73;
|
||||
// if (map_compatibility_mode == MAP_COMPAT_BETA)
|
||||
// szombie.head.scale = szombie.larm.scale = szombie.rarm.scale = szombie.scale = 0.73;
|
||||
|
||||
// set up timer for next spawn
|
||||
zombie_spawn_timer = zombie_spawn_delay + time;
|
||||
|
|
|
@ -652,3 +652,12 @@ float G_PERKPOWER;
|
|||
.float last_solid;
|
||||
.float had_solid_modified;
|
||||
#endif // FTE
|
||||
|
||||
|
||||
// Limb state flags recognized by DQuake
|
||||
#define ZOMBIE_LIMB_STATE_HEAD 1
|
||||
#define ZOMBIE_LIMB_STATE_ARM_L 2
|
||||
#define ZOMBIE_LIMB_STATE_ARM_R 4
|
||||
#define ZOMBIE_LIMB_STATE_LEG_L 8
|
||||
#define ZOMBIE_LIMB_STATE_LEG_R 16
|
||||
#define ZOMBIE_LIMB_STATE_FULL (ZOMBIE_LIMB_STATE_HEAD | ZOMBIE_LIMB_STATE_ARM_L | ZOMBIE_LIMB_STATE_ARM_R | ZOMBIE_LIMB_STATE_LEG_L | ZOMBIE_LIMB_STATE_LEG_R)
|
||||
|
|
|
@ -3840,3 +3840,12 @@ accessor jsonnode : json_t
|
|||
#undef FTEDEP
|
||||
#undef DEP
|
||||
#pragma noref 0
|
||||
|
||||
|
||||
// IQM fields that are engine-linked for non-FTE
|
||||
.float skeleton_modelindex;
|
||||
.float skeleton_anim_modelindex;
|
||||
.float skeleton_anim_framegroup;
|
||||
.float skeleton_anim_start_time;
|
||||
.float skeleton_anim_speed;
|
||||
.float limbs_state;
|
||||
|
|
|
@ -522,11 +522,3 @@ void (string model_name, string anim_model_name)
|
|||
#define MOVE_NOMONSTERS 1
|
||||
#define MOVE_MISSILE 2
|
||||
#define MOVE_SKEL_HITBOXES 4
|
||||
|
||||
// Limb state flags recognized by DQuake
|
||||
#define ZOMBIE_LIMB_STATE_HEAD 1
|
||||
#define ZOMBIE_LIMB_STATE_ARM_L 2
|
||||
#define ZOMBIE_LIMB_STATE_ARM_R 4
|
||||
#define ZOMBIE_LIMB_STATE_LEG_L 8
|
||||
#define ZOMBIE_LIMB_STATE_LEG_R 16
|
||||
#define ZOMBIE_LIMB_STATE_FULL (ZOMBIE_LIMB_STATE_HEAD | ZOMBIE_LIMB_STATE_ARM_L | ZOMBIE_LIMB_STATE_ARM_R | ZOMBIE_LIMB_STATE_LEG_L | ZOMBIE_LIMB_STATE_LEG_R)
|
||||
|
|
|
@ -174,9 +174,13 @@ void() precaches =
|
|||
precache_model("models/ai/iqm/zombie_anim_walk1.iqm");
|
||||
precache_model("models/ai/iqm/zombie_anim_walk2.iqm");
|
||||
|
||||
|
||||
#ifndef FTE
|
||||
// TODO - Remove these?
|
||||
// Pre-register animations with models to calculate bounding box
|
||||
skel_register_anim("models/ai/iqm/nazi_zombie.iqm", "models/ai/iqm/zombie_anim_walk1.iqm");
|
||||
skel_register_anim("models/ai/iqm/nazi_zombie.iqm", "models/ai/iqm/zombie_anim_walk2.iqm");
|
||||
#endif // FTE
|
||||
|
||||
|
||||
//
|
||||
|
|
|
@ -563,7 +563,11 @@ void() PlayerPreThink =
|
|||
self.skeleton_anim_start_time = 0.5;
|
||||
self.skeleton_anim_speed = 0.1;
|
||||
}
|
||||
#ifdef FTE
|
||||
// TODO - Call FTE's skel_build routine
|
||||
#else
|
||||
skel_build(self.skeletonindex, self.skeleton_anim_modelindex, self.skeleton_anim_framegroup, self.skeleton_anim_start_time, self.skeleton_anim_speed);
|
||||
#endif // FTE
|
||||
|
||||
// bprint (PRINT_HIGH, "Player skel idx: ");
|
||||
// bprint (PRINT_HIGH, ftos(self.skeletonindex));
|
||||
|
@ -579,6 +583,7 @@ void() PlayerPreThink =
|
|||
// ------------------------------------------------
|
||||
// Skeletal hitbox testing
|
||||
// ------------------------------------------------
|
||||
#ifndef FTE
|
||||
vector ray_start = self.origin + self.view_ofs;
|
||||
makevectors(self.v_angle);
|
||||
traceline(ray_start, ray_start + v_forward * 200, MOVE_SKEL_HITBOXES, self);
|
||||
|
@ -638,6 +643,7 @@ void() PlayerPreThink =
|
|||
}
|
||||
sprint(self, PRINT_HIGH, "\n");
|
||||
}
|
||||
#endif // FTE
|
||||
|
||||
|
||||
// Globals set
|
||||
|
|
|
@ -65,12 +65,12 @@ void(entity hit_ent, entity arc_parent, entity arc_owner, float arc_num, float d
|
|||
if (!hit_ent.th_diewunder)
|
||||
return;
|
||||
|
||||
if (hit_ent.head)
|
||||
setmodel(hit_ent.head, "");
|
||||
if (hit_ent.larm)
|
||||
setmodel(hit_ent.larm, "");
|
||||
if (hit_ent.rarm)
|
||||
setmodel(hit_ent.rarm, "");
|
||||
// if (hit_ent.head)
|
||||
// setmodel(hit_ent.head, "");
|
||||
// if (hit_ent.larm)
|
||||
// setmodel(hit_ent.larm, "");
|
||||
// if (hit_ent.rarm)
|
||||
// setmodel(hit_ent.rarm, "");
|
||||
|
||||
hit_ent.velocity.x = 0;
|
||||
hit_ent.velocity.y = 0;
|
||||
|
@ -294,8 +294,8 @@ void() W_FireTesla =
|
|||
self.tesla_n_kills = 0;
|
||||
|
||||
entity hit_ent = trace_ent;
|
||||
if(hit_ent.classname == "ai_zombie_head" || hit_ent.classname == "ai_zombie_larm" || hit_ent.classname == "ai_zombie_rarm")
|
||||
hit_ent = hit_ent.owner;
|
||||
// if(hit_ent.classname == "ai_zombie_head" || hit_ent.classname == "ai_zombie_larm" || hit_ent.classname == "ai_zombie_rarm")
|
||||
// hit_ent = hit_ent.owner;
|
||||
|
||||
// print("W_FireTesla hit ent: ", hit_ent.classname, "\n");
|
||||
|
||||
|
|
|
@ -667,111 +667,111 @@ void Parse_Damage () = // DO NOT TOUCH
|
|||
|
||||
total_dmg = body_ent.hitamount;
|
||||
|
||||
if (body_ent.head.washit) {
|
||||
total_dmg += body_ent.head.hitamount;
|
||||
body_ent.head.health -= body_ent.head.hitamount;
|
||||
head_hit = 1;
|
||||
// if (body_ent.head.washit) {
|
||||
// total_dmg += body_ent.head.hitamount;
|
||||
// body_ent.head.health -= body_ent.head.hitamount;
|
||||
// head_hit = 1;
|
||||
|
||||
// Check if we should Gib the head, before this would
|
||||
// be a really weird check to "ressurect" a zombie if
|
||||
// it was out of health. I *think* this is more accurate
|
||||
// now. -- cypress (5 nov 2023)
|
||||
if (Zombie_HeadCanGib(body_ent, self.weapon)) {
|
||||
makevectors(body_ent.head.owner.angles);
|
||||
vector where = body_ent.origin + (body_ent.head.view_ofs_x * v_right) + (body_ent.head.view_ofs_y * v_forward) + (body_ent.head.view_ofs_z * v_up);
|
||||
spawn_gibs(where);
|
||||
// // Check if we should Gib the head, before this would
|
||||
// // be a really weird check to "ressurect" a zombie if
|
||||
// // it was out of health. I *think* this is more accurate
|
||||
// // now. -- cypress (5 nov 2023)
|
||||
// if (Zombie_HeadCanGib(body_ent, self.weapon)) {
|
||||
// makevectors(body_ent.head.owner.angles);
|
||||
// vector where = body_ent.origin + (body_ent.head.view_ofs_x * v_right) + (body_ent.head.view_ofs_y * v_forward) + (body_ent.head.view_ofs_z * v_up);
|
||||
// spawn_gibs(where);
|
||||
|
||||
body_ent.head.deadflag = false;
|
||||
body_ent.head.solid = SOLID_NOT;
|
||||
setmodel(body_ent.head, "");
|
||||
body_ent.head.frame = 0;
|
||||
// body_ent.head.deadflag = false;
|
||||
// body_ent.head.solid = SOLID_NOT;
|
||||
// setmodel(body_ent.head, "");
|
||||
// body_ent.head.frame = 0;
|
||||
|
||||
body_ent.usedent = self;
|
||||
body_ent.bleedingtime = time + 1;
|
||||
// body_ent.usedent = self;
|
||||
// body_ent.bleedingtime = time + 1;
|
||||
|
||||
#ifndef FTE
|
||||
// #ifndef FTE
|
||||
|
||||
updateLimb (body_ent.head.owner, 0, world);
|
||||
// updateLimb (body_ent.head.owner, 0, world);
|
||||
|
||||
#endif // FTE
|
||||
// #endif // FTE
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
body_ent.head.washit = 0;
|
||||
body_ent.head.hitamount = 0;
|
||||
}
|
||||
if (body_ent.larm.washit) {
|
||||
total_dmg += body_ent.larm.hitamount;
|
||||
body_ent.larm.health -= body_ent.larm.hitamount;
|
||||
// body_ent.head.washit = 0;
|
||||
// body_ent.head.hitamount = 0;
|
||||
// }
|
||||
// if (body_ent.larm.washit) {
|
||||
// total_dmg += body_ent.larm.hitamount;
|
||||
// body_ent.larm.health -= body_ent.larm.hitamount;
|
||||
|
||||
if (WepDef_WeaponCanGibEnemy(self.weapon) && body_ent.larm.owner.rarm.deadflag && body_ent.larm.deadflag)
|
||||
{
|
||||
makevectors(body_ent.larm.owner.angles);
|
||||
where = body_ent.larm.owner.origin + (body_ent.larm.view_ofs_x * v_right) + (body_ent.larm.view_ofs_y * v_forward) + (body_ent.larm.view_ofs_z * v_up);
|
||||
spawn_gibs(where);
|
||||
// if (WepDef_WeaponCanGibEnemy(self.weapon) && body_ent.larm.owner.rarm.deadflag && body_ent.larm.deadflag)
|
||||
// {
|
||||
// makevectors(body_ent.larm.owner.angles);
|
||||
// where = body_ent.larm.owner.origin + (body_ent.larm.view_ofs_x * v_right) + (body_ent.larm.view_ofs_y * v_forward) + (body_ent.larm.view_ofs_z * v_up);
|
||||
// spawn_gibs(where);
|
||||
|
||||
body_ent.larm.deadflag = false;
|
||||
body_ent.larm.solid = SOLID_NOT;
|
||||
setmodel(body_ent.larm,"");
|
||||
body_ent.larm.frame = 0;
|
||||
// body_ent.larm.deadflag = false;
|
||||
// body_ent.larm.solid = SOLID_NOT;
|
||||
// setmodel(body_ent.larm,"");
|
||||
// body_ent.larm.frame = 0;
|
||||
|
||||
#ifndef FTE
|
||||
// #ifndef FTE
|
||||
|
||||
updateLimb (body_ent.larm.owner, 1, world);
|
||||
// updateLimb (body_ent.larm.owner, 1, world);
|
||||
|
||||
#endif // FTE
|
||||
// #endif // FTE
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
body_ent.larm.washit = 0;
|
||||
body_ent.larm.hitamount = 0;
|
||||
}
|
||||
if (body_ent.rarm.washit) {
|
||||
total_dmg += body_ent.rarm.hitamount;
|
||||
body_ent.rarm.health -= body_ent.rarm.hitamount;
|
||||
// body_ent.larm.washit = 0;
|
||||
// body_ent.larm.hitamount = 0;
|
||||
// }
|
||||
// if (body_ent.rarm.washit) {
|
||||
// total_dmg += body_ent.rarm.hitamount;
|
||||
// body_ent.rarm.health -= body_ent.rarm.hitamount;
|
||||
|
||||
if (WepDef_WeaponCanGibEnemy(self.weapon) && body_ent.rarm.owner.larm.deadflag && body_ent.rarm.deadflag) {
|
||||
// if (WepDef_WeaponCanGibEnemy(self.weapon) && body_ent.rarm.owner.larm.deadflag && body_ent.rarm.deadflag) {
|
||||
|
||||
makevectors(body_ent.rarm.owner.angles);
|
||||
where = body_ent.rarm.owner.origin + (body_ent.rarm.view_ofs_x * v_right) + (body_ent.rarm.view_ofs_y * v_forward) + (body_ent.rarm.view_ofs_z * v_up);
|
||||
spawn_gibs(where);
|
||||
// makevectors(body_ent.rarm.owner.angles);
|
||||
// where = body_ent.rarm.owner.origin + (body_ent.rarm.view_ofs_x * v_right) + (body_ent.rarm.view_ofs_y * v_forward) + (body_ent.rarm.view_ofs_z * v_up);
|
||||
// spawn_gibs(where);
|
||||
|
||||
body_ent.rarm.deadflag = false;
|
||||
body_ent.rarm.solid = SOLID_NOT;
|
||||
setmodel(body_ent.rarm,"");
|
||||
body_ent.rarm.frame = 0;
|
||||
// body_ent.rarm.deadflag = false;
|
||||
// body_ent.rarm.solid = SOLID_NOT;
|
||||
// setmodel(body_ent.rarm,"");
|
||||
// body_ent.rarm.frame = 0;
|
||||
|
||||
#ifndef FTE
|
||||
// #ifndef FTE
|
||||
|
||||
updateLimb (body_ent.rarm.owner, 2, world);
|
||||
// updateLimb (body_ent.rarm.owner, 2, world);
|
||||
|
||||
#endif // FTE
|
||||
// #endif // FTE
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
body_ent.rarm.washit = 0;
|
||||
body_ent.rarm.hitamount = 0;
|
||||
}
|
||||
// body_ent.rarm.washit = 0;
|
||||
// body_ent.rarm.hitamount = 0;
|
||||
// }
|
||||
|
||||
if (instakill_finished > time) {
|
||||
if(body_ent.head.deadflag) {
|
||||
makevectors(body_ent.head.owner.angles);
|
||||
where = body_ent.origin + (body_ent.head.view_ofs_x * v_right) + (body_ent.head.view_ofs_y * v_forward) + (body_ent.head.view_ofs_z * v_up);
|
||||
spawn_gibs(where);
|
||||
// if (instakill_finished > time) {
|
||||
// if(body_ent.head.deadflag) {
|
||||
// makevectors(body_ent.head.owner.angles);
|
||||
// where = body_ent.origin + (body_ent.head.view_ofs_x * v_right) + (body_ent.head.view_ofs_y * v_forward) + (body_ent.head.view_ofs_z * v_up);
|
||||
// spawn_gibs(where);
|
||||
|
||||
body_ent.head.deadflag = false;
|
||||
body_ent.head.solid = SOLID_NOT;
|
||||
setmodel(body_ent.head,"");
|
||||
body_ent.head.frame = 0;
|
||||
// body_ent.head.deadflag = false;
|
||||
// body_ent.head.solid = SOLID_NOT;
|
||||
// setmodel(body_ent.head,"");
|
||||
// body_ent.head.frame = 0;
|
||||
|
||||
#ifndef FTE
|
||||
// #ifndef FTE
|
||||
|
||||
updateLimb (body_ent.head.owner, 0, world);
|
||||
// updateLimb (body_ent.head.owner, 0, world);
|
||||
|
||||
#endif // FTE
|
||||
// #endif // FTE
|
||||
|
||||
}
|
||||
}
|
||||
// }
|
||||
// }
|
||||
|
||||
if (head_hit)
|
||||
DamageHandler(body_ent,self, total_dmg, DMG_TYPE_HEADSHOT);
|
||||
|
@ -1238,8 +1238,8 @@ void() WeaponCore_Melee =
|
|||
|
||||
if (trace_endpos_z - trace_source_z <= 15) {
|
||||
// Check if this is a Zombie limb, set to the body if so
|
||||
if (trace_ent.owner.head == trace_ent || trace_ent.owner.larm == trace_ent || trace_ent.owner.rarm == trace_ent)
|
||||
trace_ent = trace_ent.owner;
|
||||
// if (trace_ent.owner.head == trace_ent || trace_ent.owner.larm == trace_ent || trace_ent.owner.rarm == trace_ent)
|
||||
// trace_ent = trace_ent.owner;
|
||||
|
||||
// Target does not take damage -- no need to go any further
|
||||
if (!trace_ent.takedamage && !(trace_ent.flags & FL_CLIENT)) {
|
||||
|
|
Loading…
Reference in a new issue