X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fg_damage.qc;h=efd59e940ba9dbf2a38064aacbba42cd9863a2d3;hb=719ba01817465b96db552e18c7f277721d8dbb7e;hp=b005da47a24e48e7a5b70eaa7cd143273eb03f30;hpb=6bb4f10f1ed0f3d39e18c03a3db1dd7c8c74f14d;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/g_damage.qc b/qcsrc/server/g_damage.qc index b005da47a..efd59e940 100644 --- a/qcsrc/server/g_damage.qc +++ b/qcsrc/server/g_damage.qc @@ -2,7 +2,7 @@ #include "bot/bot.qh" #include "g_hook.qh" -#include "mutators/mutators_include.qh" +#include "mutators/all.qh" #include "scores.qh" #include "spawnpoints.qh" #include "t_items.qh" @@ -49,7 +49,8 @@ void Damage_DamageInfo(vector org, float coredamage, float edgedamage, float rad if(!sound_allowed(MSG_BROADCAST, dmgowner)) deathtype |= 0x8000; - e = spawn(); + e = new(damageinfo); + make_pure(e); setorigin(e, org); e.projectiledeathtype = deathtype; e.dmg = coredamage; @@ -114,8 +115,7 @@ void GiveFrags (entity attacker, entity targ, float f, int deathtype) { if(!GiveFrags_randomweapons) { - GiveFrags_randomweapons = spawn(); - GiveFrags_randomweapons.classname = "GiveFrags_randomweapons"; + GiveFrags_randomweapons = new(GiveFrags_randomweapons); } if(warmup_stage) @@ -204,7 +204,7 @@ void Obituary_SpecialDeath( { if(DEATH_ISSPECIAL(deathtype)) { - entity deathent = Deathtypes[deathtype - DT_FIRST]; + entity deathent = Deathtypes_from(deathtype - DT_FIRST); if (!deathent) { backtrace("Obituary_SpecialDeath: Could not find deathtype entity!\n"); return; } if(murder) @@ -563,10 +563,8 @@ void Freeze (entity targ, float freeze_time, float frozen_type, float show_waypo targ.revive_speed = freeze_time; self.bot_attack = false; - entity ice, head; - ice = spawn(); + entity ice = new(ice); ice.owner = targ; - ice.classname = "ice"; ice.scale = targ.scale; ice.think = Ice_Think; ice.nextthink = time; @@ -582,6 +580,7 @@ void Freeze (entity targ, float freeze_time, float frozen_type, float show_waypo RemoveGrapplingHook(targ); + entity head; FOR_EACH_PLAYER(head) if(head.hook.aiment == targ) RemoveGrapplingHook(head); @@ -626,7 +625,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, int d mirrordamage = 0; mirrorforce = 0; - if (gameover || targ.killcount == -666) + if (gameover || targ.killcount == FRAGS_SPECTATOR) return; setself(targ); @@ -748,22 +747,22 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, int d if(targ.frozen) if(deathtype != DEATH_HURTTRIGGER.m_id && deathtype != DEATH_TEAMCHANGE.m_id && deathtype != DEATH_AUTOTEAMCHANGE.m_id) { - if(autocvar_g_freezetag_revive_falldamage > 0) + if(autocvar_g_frozen_revive_falldamage > 0) if(deathtype == DEATH_FALL.m_id) - if(damage >= autocvar_g_freezetag_revive_falldamage) + if(damage >= autocvar_g_frozen_revive_falldamage) { Unfreeze(targ); - targ.health = autocvar_g_freezetag_revive_falldamage_health; + targ.health = autocvar_g_frozen_revive_falldamage_health; Send_Effect(EFFECT_ICEORGLASS, targ.origin, '0 0 0', 3); Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_FREEZETAG_REVIVED_FALL, targ.netname); Send_Notification(NOTIF_ONE, targ, MSG_CENTER, CENTER_FREEZETAG_REVIVE_SELF); } damage = 0; - force *= autocvar_g_freezetag_frozen_force; + force *= autocvar_g_frozen_force; } - if(targ.frozen && deathtype == DEATH_HURTTRIGGER.m_id && !autocvar_g_freezetag_frozen_damage_trigger) + if(targ.frozen && deathtype == DEATH_HURTTRIGGER.m_id && !autocvar_g_frozen_damage_trigger) { Send_Effect(EFFECT_TELEPORT, targ.origin, '0 0 0', 1); @@ -889,9 +888,7 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, int d vector farce = damage_explosion_calcpush(self.damageforcescale * force, self.velocity, autocvar_g_balance_damagepush_speedfactor); if(self.movetype == MOVETYPE_PHYSICS) { - entity farcent; - farcent = spawn(); - farcent.classname = "farce"; + entity farcent = new(farce); farcent.enemy = self; farcent.movedir = farce * 10; if(self.mass) @@ -1140,8 +1137,7 @@ float Fire_AddDamage(entity e, entity o, float d, float t, float dt) if(!e.fire_burner) { // print("adding a fire burner to ", e.classname, "\n"); - e.fire_burner = spawn(); - e.fire_burner.classname = "fireburner"; + e.fire_burner = new(fireburner); e.fire_burner.think = fireburner_think; e.fire_burner.nextthink = time; e.fire_burner.owner = e;