#include "command/common.qh"
#include "../common/animdecide.qh"
#include "../common/csqcmodel_settings.qh"
-#include "../common/deathtypes.qh"
+#include "../common/deathtypes/all.qh"
#include "../common/triggers/subs.qh"
#include "../common/playerstats.qh"
#include "../lib/csqcmodel/sv_model.qh"
damage /= sqrt(bound(1.0, attacker.cvar_cl_handicap, 100.0));
}
- if(DEATH_ISWEAPON(deathtype, WEP_TUBA.m_id))
+ if(DEATH_ISWEAPON(deathtype, WEP_TUBA))
{
// tuba causes blood to come out of the ears
vector ear1, ear2;
}
if(sound_allowed(MSG_BROADCAST, attacker))
- if((self.health < 2 * WEP_CVAR_PRI(blaster, damage) * autocvar_g_balance_selfdamagepercent + 1) || !((get_weaponinfo(DEATH_WEAPONOF(deathtype))).spawnflags & WEP_FLAG_CANCLIMB) || attacker != self) // WEAPONTODO: create separate limit for pain notification with laser
+ if((self.health < 2 * WEP_CVAR_PRI(blaster, damage) * autocvar_g_balance_selfdamagepercent + 1) || !(DEATH_WEAPONOF(deathtype).spawnflags & WEP_FLAG_CANCLIMB) || attacker != self) // WEAPONTODO: create separate limit for pain notification with laser
if(self.health > 1)
// exclude pain sounds for laserjumps as long as you aren't REALLY low on health and would die of the next two
{
- if(deathtype == DEATH_FALL)
+ if(deathtype == DEATH_FALL.m_id)
PlayerSound(playersound_fall, CH_PAIN, VOICETYPE_PLAYERSOUND);
else if(self.health > 75) // TODO make a "gentle" version?
PlayerSound(playersound_pain100, CH_PAIN, VOICETYPE_PLAYERSOUND);
self.dmg_take = self.dmg_take + take;//max(take - 10, 0);
self.dmg_inflictor = inflictor;
- float abot, vbot, awep;
+ float abot, vbot;
abot = (IS_BOT_CLIENT(attacker));
vbot = (IS_BOT_CLIENT(self));
valid_damage_for_weaponstats = 0;
- awep = 0;
+ Weapon awep = WEP_Null;
if(vbot || IS_REAL_CLIENT(self))
if(abot || IS_REAL_CLIENT(attacker))
if(DIFF_TEAM(self, attacker))
{
if(DEATH_ISSPECIAL(deathtype))
- awep = attacker.weapon;
+ awep = get_weaponinfo(attacker.weapon);
else
awep = DEATH_WEAPONOF(deathtype);
valid_damage_for_weaponstats = 1;
{
dh = dh - max(self.health, 0);
da = da - max(self.armorvalue, 0);
- WeaponStats_LogDamage(awep, abot, self.weapon, vbot, dh + da);
+ WeaponStats_LogDamage(awep.m_id, abot, self.weapon, vbot, dh + da);
MUTATOR_CALLHOOK(PlayerDamaged, attacker, self, dh, da, hitloc);
}
}
if(valid_damage_for_weaponstats)
- WeaponStats_LogKill(awep, abot, self.weapon, vbot);
+ WeaponStats_LogKill(awep.m_id, abot, self.weapon, vbot);
if(autocvar_sv_gentle < 1) // TODO make a "gentle" version?
if(sound_allowed(MSG_BROADCAST, attacker))
{
- if(deathtype == DEATH_DROWN)
+ if(deathtype == DEATH_DROWN.m_id)
PlayerSound(playersound_drown, CH_PAIN, VOICETYPE_PLAYERSOUND);
else
PlayerSound(playersound_death, CH_PAIN, VOICETYPE_PLAYERSOUND);
defer_ClientKill_Now_TeamChange = true;
if(self.classname == "body")
- if(deathtype == DEATH_KILL)
+ if(deathtype == DEATH_KILL.m_id)
{
// for the lemmings fans, a small harmless explosion
Send_Effect(EFFECT_ROCKET_EXPLODE, self.origin, '0 0 0', 1);
Obituary (attacker, inflictor, self, deathtype);
// increment frag counter for used weapon type
- int w = DEATH_WEAPONOF(deathtype);
- if(WEP_VALID(w))
+ Weapon w = DEATH_WEAPONOF(deathtype);
+ if(w != WEP_Null)
if(accuracy_isgooddamage(attacker, self))
- attacker.accuracy.(accuracy_frags[w-1]) += 1;
+ attacker.accuracy.(accuracy_frags[w.m_id-1]) += 1;
MUTATOR_CALLHOOK(PlayerDies, inflictor, attacker, self, deathtype);
excess = frag_damage;
TeamchangeFrags(client); // move the players frags
SetPlayerColors(client, team_colour - 1); // set the players colour
- Damage(client, client, client, 100000, DEATH_AUTOTEAMCHANGE, client.origin, '0 0 0'); // kill the player
+ Damage(client, client, client, 100000, DEATH_AUTOTEAMCHANGE.m_id, client.origin, '0 0 0'); // kill the player
lockteams = lockteams_backup; // restore the team lock