1 #ifdef REGISTER_MONSTER
3 /* MON_##id */ BRUISER,
4 /* function */ m_bruiser,
5 /* mins,maxs */ '-20 -20 -31', '20 20 53',
6 /* model */ "knight.mdl",
7 /* netname */ "bruiser",
8 /* fullname */ _("Bruiser")
13 float autocvar_g_monster_bruiser;
14 float autocvar_g_monster_bruiser_health;
15 float autocvar_g_monster_bruiser_melee_damage;
16 float autocvar_g_monster_bruiser_speed_walk;
17 float autocvar_g_monster_bruiser_speed_run;
19 const float bruiser_anim_stand = 0;
20 const float bruiser_anim_run = 1;
21 const float bruiser_anim_runattack = 2;
22 const float bruiser_anim_pain1 = 3;
23 const float bruiser_anim_pain2 = 4;
24 const float bruiser_anim_attack = 5;
25 const float bruiser_anim_walk = 6;
26 const float bruiser_anim_kneel = 7;
27 const float bruiser_anim_standing = 8;
28 const float bruiser_anim_death1 = 9;
29 const float bruiser_anim_death2 = 10;
31 float bruiser_attack(float attack_type)
35 case MONSTER_ATTACK_MELEE:
37 float len = vlen(self.velocity);
38 monsters_setframe((len < 50) ? bruiser_anim_attack : bruiser_anim_runattack);
39 self.attack_finished_single = time + 1.25;
41 monster_melee(self.enemy, autocvar_g_monster_bruiser_melee_damage, 0.3, DEATH_MONSTER_BRUISER, FALSE);
45 case MONSTER_ATTACK_RANGED:
47 // no ranged attacks for bruiser
55 void spawnfunc_monster_bruiser()
57 if not(autocvar_g_monster_bruiser) { remove(self); return; }
59 self.classname = "monster_bruiser";
61 self.monster_spawnfunc = spawnfunc_monster_bruiser;
63 if(Monster_CheckAppearFlags(self))
66 if not(monster_initialize(MON_BRUISER, FALSE, MONSTER_SIZE_BROKEN)) { remove(self); return; }
69 float m_bruiser(float req)
75 monster_move(autocvar_g_monster_bruiser_speed_run, autocvar_g_monster_bruiser_speed_walk, 50, bruiser_anim_run, bruiser_anim_walk, bruiser_anim_stand);
80 monsters_setframe((random() > 0.5) ? bruiser_anim_death1 : bruiser_anim_death2);
85 if not(self.health) self.health = autocvar_g_monster_bruiser_health;
87 self.monster_attackfunc = bruiser_attack;
88 monsters_setframe(bruiser_anim_stand);
104 float m_bruiser(float req)
115 precache_model ("models/monsters/knight.mdl");
124 #endif // REGISTER_MONSTER