X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fmonsters%2Fsv_monsters.qc;h=8b05f781d2e395b44a3893474fdc6788501dd40e;hp=1474ad5d241fb9c29ae8baadf9f00bf6bf4f0bad;hb=7bd8f8562a392fda3ac881b1fbe2a35a5ef0f5c8;hpb=3e4fba6a8948d035faf1dd5afcb672fbf5498078 diff --git a/qcsrc/common/monsters/sv_monsters.qc b/qcsrc/common/monsters/sv_monsters.qc index 1474ad5d24..8b05f781d2 100644 --- a/qcsrc/common/monsters/sv_monsters.qc +++ b/qcsrc/common/monsters/sv_monsters.qc @@ -268,7 +268,7 @@ void Monster_Sound_Precache(string f) void Monster_Sounds_Precache() {SELFPARAM(); - string m = (get_monsterinfo(self.monsterid)).model; + string m = (get_monsterinfo(self.monsterid)).m_model.model_str(); float globhandle, n, i; string f; @@ -435,7 +435,7 @@ void Monster_Attack_Check(entity e, entity targ) if(targ_vlen <= e.attack_range) { - float attack_success = e.monster_attackfunc(MONSTER_ATTACK_MELEE); + float attack_success = e.monster_attackfunc(MONSTER_ATTACK_MELEE, targ); if(attack_success == 1) Monster_Sound(monstersound_melee, 0, false, CH_VOICE); else if(attack_success > 0) @@ -444,7 +444,7 @@ void Monster_Attack_Check(entity e, entity targ) if(targ_vlen > e.attack_range) { - float attack_success = e.monster_attackfunc(MONSTER_ATTACK_RANGED); + float attack_success = e.monster_attackfunc(MONSTER_ATTACK_RANGED, targ); if(attack_success == 1) Monster_Sound(monstersound_melee, 0, false, CH_VOICE); else if(attack_success > 0) @@ -472,7 +472,8 @@ void Monster_UpdateModel() self.anim_die2 = animfixfps(self, '9 1 0.01', '0 0 0');*/ // then get the real values - MON_ACTION(self.monsterid, MR_ANIM); + Monster mon = get_monsterinfo(self.monsterid); + mon.mr_anim(mon); } void Monster_Touch() @@ -1038,7 +1039,8 @@ void Monster_Dead(entity attacker, float gibbed) CSQCModel_UnlinkEntity(self); - MON_ACTION(self.monsterid, MR_DEATH); + Monster mon = get_monsterinfo(self.monsterid); + mon.mr_death(mon); if(self.candrop && self.weapon) W_ThrowNewWeapon(self, self.weapon, 0, self.origin, randomvec() * 150 + '0 0 325'); @@ -1071,7 +1073,8 @@ void Monster_Damage(entity inflictor, entity attacker, float damage, int deathty damage_take = take; frag_attacker = attacker; frag_deathtype = deathtype; - MON_ACTION(self.monsterid, MR_PAIN); + Monster mon = get_monsterinfo(self.monsterid); + mon.mr_pain(mon); take = damage_take; if(take) @@ -1232,7 +1235,8 @@ void Monster_Think() return; } - if(MON_ACTION(self.monsterid, MR_THINK)) + Monster mon = get_monsterinfo(self.monsterid); + if(mon.mr_think(mon)) Monster_Move(self.speed2, self.speed, self.stopspeed); Monster_Anim(); @@ -1242,7 +1246,8 @@ void Monster_Think() float Monster_Spawn_Setup() {SELFPARAM(); - MON_ACTION(self.monsterid, MR_SETUP); + Monster mon = get_monsterinfo(self.monsterid); + mon.mr_setup(mon); // ensure some basic needs are met if(!self.health) { self.health = 100; } @@ -1308,7 +1313,6 @@ bool Monster_Spawn(int mon_id) if(!autocvar_g_monsters) { Monster_Remove(self); return false; } - self.mdl = mon.model; if(Monster_Appear_Check(self, mon_id)) { return true; } // return true so the monster isn't removed if(!self.monster_skill) @@ -1326,7 +1330,7 @@ bool Monster_Spawn(int mon_id) if(!(self.spawnflags & MONSTERFLAG_RESPAWNED)) // don't count re-spawning monsters either monsters_total += 1; - _setmodel(self, self.mdl); + setmodel(self, mon.m_model); self.flags = FL_MONSTER; self.classname = "monster"; self.takedamage = DAMAGE_AIM;