X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fmonsters%2Fmonster%2Fshambler.qc;h=3ba01fe21f226005c15b0bc04d59084e0b923938;hb=c039d054a46888048d214000273ccfc63e4611b6;hp=dd9a61d4183a5765b34a69628739e619a4bf5b74;hpb=1237e104131b37576287fddcbee29a0fe8806f9c;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/monsters/monster/shambler.qc b/qcsrc/common/monsters/monster/shambler.qc index dd9a61d41..3ba01fe21 100644 --- a/qcsrc/common/monsters/monster/shambler.qc +++ b/qcsrc/common/monsters/monster/shambler.qc @@ -1,28 +1,4 @@ -#ifndef SHAMBLER_H -#define SHAMBLER_H - -#ifndef MENUQC -MODEL(MON_SHAMBLER, M_Model("shambler.mdl")); -#endif - -CLASS(Shambler, Monster) - ATTRIB(Shambler, spawnflags, int, MONSTER_SIZE_BROKEN | MON_FLAG_SUPERMONSTER | MON_FLAG_MELEE | MON_FLAG_RANGED); - ATTRIB(Shambler, mins, vector, '-41 -41 -31'); - ATTRIB(Shambler, maxs, vector, '41 41 65'); -#ifndef MENUQC - ATTRIB(Shambler, m_model, Model, MDL_MON_SHAMBLER); -#endif - ATTRIB(Shambler, netname, string, "shambler"); - ATTRIB(Shambler, monster_name, string, _("Shambler")); -ENDCLASS(Shambler) - -REGISTER_MONSTER(SHAMBLER, NEW(Shambler)) { -#ifndef MENUQC - this.mr_precache(this); -#endif -} - -#endif +#include "shambler.qh" #ifdef IMPLEMENTATION @@ -85,13 +61,13 @@ void M_Shambler_Attack_Lightning_Explode(entity this, entity directhitentity) this.event_damage = func_null; this.takedamage = DAMAGE_NO; - this.movetype = MOVETYPE_NONE; + set_movetype(this, MOVETYPE_NONE); this.velocity = '0 0 0'; - if(this.movetype == MOVETYPE_NONE) + if(this.move_movetype == MOVETYPE_NONE) this.velocity = this.oldvelocity; - RadiusDamage (this, this.realowner, (autocvar_g_monster_shambler_attack_lightning_damage), (autocvar_g_monster_shambler_attack_lightning_damage), (autocvar_g_monster_shambler_attack_lightning_radius), + RadiusDamage (this, this.realowner, (autocvar_g_monster_shambler_attack_lightning_damage), (autocvar_g_monster_shambler_attack_lightning_damage), (autocvar_g_monster_shambler_attack_lightning_radius), NULL, NULL, (autocvar_g_monster_shambler_attack_lightning_force), this.projectiledeathtype, directhitentity); FOREACH_ENTITY_RADIUS(this.origin, autocvar_g_monster_shambler_attack_lightning_radius_zap, it != this.realowner && it.takedamage, @@ -150,7 +126,7 @@ void M_Shambler_Attack_Lightning(entity this) gren.owner = gren.realowner = this; gren.bot_dodge = true; gren.bot_dodgerating = (autocvar_g_monster_shambler_attack_lightning_damage); - gren.movetype = MOVETYPE_BOUNCE; + set_movetype(gren, MOVETYPE_BOUNCE); PROJECTILE_MAKETRIGGER(gren); gren.projectiledeathtype = DEATH_MONSTER_SHAMBLER_ZAP.m_id; setorigin(gren, CENTER_OR_VIEWOFS(this)); @@ -173,6 +149,7 @@ void M_Shambler_Attack_Lightning(entity this) gren.angles = vectoangles (gren.velocity); gren.flags = FL_PROJECTILE; + IL_PUSH(g_projectiles, gren); CSQCProjectile(gren, true, PROJECTILE_SHAMBLER_LIGHTNING, true); } @@ -249,7 +226,7 @@ METHOD(Shambler, mr_death, bool(Shambler this, entity actor)) return true; } #endif -#ifndef MENUQC +#ifdef GAMEQC METHOD(Shambler, mr_anim, bool(Shambler this, entity actor)) { TC(Shambler, this);