-.float sprite_height;
-
.void() attack_melee;
.float() attack_ranged;
.float() checkattack;
if(teamplay)
self.monster_attack = TRUE; // we can have monster enemies in team games
-
- self.sprite_height *= self.scale; // do this after setting the monster's scale
if(autocvar_g_monsters_healthbars)
{
- WaypointSprite_Spawn(nname, 0, 600, self, '0 0 1' * self.sprite_height, world, 0, self, sprite, FALSE, RADARICON_DANGER, ((self.team) ? Team_ColorRGB(self.team) : '1 0 0'));
+ WaypointSprite_Spawn(nname, 0, 600, self, '0 0 1' * (self.maxs_z + 15), world, 0, self, sprite, FALSE, RADARICON_DANGER, ((self.team) ? Team_ColorRGB(self.team) : '1 0 0'));
WaypointSprite_UpdateMaxHealth(self.sprite, self.max_health);
WaypointSprite_UpdateHealth(self.sprite, self.health);
}
self.attack_ranged = demon_jump;
self.nextthink = time + random() * 0.5 + 0.1;
self.think = demon_think;
- self.sprite_height = 30;
monsters_setframe(demon_anim_stand);
self.checkattack = GenericCheckAttack;
self.nextthink = time + random() * 0.5 + 0.1;
self.think = dog_think;
- self.sprite_height = 20;
+
monsters_setframe(dog_anim_idle);
monster_setupsounds("dog");
self.flags |= FL_SWIM;
self.nextthink = time + random() * 0.5 + 0.1;
self.think = fish_think;
- self.sprite_height = 20;
monster_setupsounds("fish");
self.attack_ranged = hknight_magic;
self.nextthink = time + random() * 0.5 + 0.1;
self.think = hellknight_think;
- self.sprite_height = 30;
monsters_setframe(hellknight_anim_stand);
self.attack_melee = knight_attack;
self.nextthink = time + random() * 0.5 + 0.1;
self.think = knight_think;
- self.sprite_height = 30;
- self.view_ofs *= 0.5;
monsters_setframe(knight_anim_stand);
if not(self.health)
self.health = autocvar_g_monster_ogre_health * self.scale;
- self.damageforcescale = 0.003;
+ self.damageforcescale = 0.003;
self.classname = "monster_ogre";
- self.checkattack = GenericCheckAttack;
+ self.checkattack = GenericCheckAttack;
self.attack_melee = ogre_melee;
- self.attack_ranged = ogre_missile;
- self.nextthink = time + 0.1;
- self.think = ogre_think;
- self.sprite_height = 65;
+ self.attack_ranged = ogre_missile;
+ self.nextthink = time + 0.1;
+ self.think = ogre_think;
self.weapon = WEP_GRENADE_LAUNCHER;
monsters_setframe(ogre_anim_idle);
self.attack_melee = shalrath_attack_melee;
self.nextthink = time + random() * 0.5 + 0.1;
self.think = shalrath_think;
- self.sprite_height = 65;
monsters_setframe(shalrath_anim_walk);
#ifndef MENUQC
// size
const vector SHAMBLER_MIN = '-32 -32 -24';
-const vector SHAMBLER_MAX = '32 32 64';
+const vector SHAMBLER_MAX = '32 32 50';
// model
string SHAMBLER_MODEL = "models/monsters/shambler.mdl";
self.attack_ranged = sham_lightning;
self.nextthink = time + random() * 0.5 + 0.1;
self.think = shambler_think;
- self.sprite_height = 70;
self.weapon = WEP_NEX;
monsters_setframe(shambler_anim_stand);
#ifndef MENUQC
// size
const vector SOLDIER_MIN = '-16 -16 -30';
-const vector SOLDIER_MAX = '16 16 32';
+const vector SOLDIER_MAX = '16 16 24';
// model
string SOLDIER_MODEL = "models/monsters/soldier.zym";
self.nextthink = time + random() * 0.5 + 0.1;
self.think = soldier_think;
self.currentammo = 3;
- self.sprite_height = 45;
self.items = (IT_SHELLS | IT_ROCKETS | IT_NAILS);
monsters_setframe(soldier_anim_draw);
self.attack_melee = spider_attack_standing;
self.attack_ranged = spider_attack_ranged;
self.think = spider_think;
- self.sprite_height = 40;
monsters_setframe(spider_anim_idle);
self.attack_melee = tarbaby_jump;
self.nextthink = time + random() * 0.5 + 0.1;
self.think = tarbaby_think;
- self.sprite_height = 20;
monsters_setframe(tarbaby_anim_walk);
self.movetype = MOVETYPE_FLY; // TODO: make it fly up/down
self.flags |= FL_FLY;
self.think = wizard_think;
- self.sprite_height = 30;
monster_setupsounds("wizard");
self.classname = "monster_zombie";
self.nextthink = time + 2.1;
self.think = zombie_think;
- self.sprite_height = 50;
self.checkattack = GenericCheckAttack;
self.attack_melee = zombie_attack_standing;
self.attack_ranged = zombie_attack_ranged;