#include maps\mp\zombies\_zm_weap_staff_fire; #include common_scripts\utility; #include maps\mp\_utility; #include maps\mp\zombies\_zm_utility; #include maps\mp\zombies\_zm_net; #include maps\mp\zombies\_zm_spawner; #include maps\mp\zombies\_zm_craftables; #include maps\mp\zombies\_zm_equipment; #include maps\mp\zm_tomb_teleporter; #include maps\mp\zm_tomb_vo; #include maps\mp\zombies\_zm_ai_basic; #include maps\mp\animscripts\zm_shared; #include maps\mp\zombies\_zm_unitrigger; #include maps\mp\zombies\_zm_zonemgr; #include maps\mp\zm_tomb_chamber; #include maps\mp\zombies\_zm_challenges; #include maps\mp\zm_tomb_challenges; #include maps\mp\zm_tomb_tank; #include maps\mp\zm_tomb_craftables; #include maps\mp\zm_tomb_utility; flame_damage_fx(damageweapon, e_attacker, pct_damage = 1.0) { was_on_fire = is_true(self.is_on_fire); n_initial_dmg = get_impact_damage(damageweapon) * pct_damage; is_upgraded = damageweapon == "staff_fire_upgraded_zm" || damageweapon == "staff_fire_upgraded2_zm" || damageweapon == "staff_fire_upgraded3_zm"; if (is_upgraded) { self do_damage_network_safe(e_attacker, self.health, damageweapon, "MOD_BURNED"); if (cointoss()) self thread zombie_gib_all(); else self thread zombie_gib_guts(); return; } self endon("death"); if (!is_upgraded && !was_on_fire) { self.is_on_fire = 1; self thread zombie_set_and_restore_flame_state(); wait 0.5; self thread flame_damage_over_time(e_attacker, damageweapon, pct_damage); } if (n_initial_dmg > 0) self do_damage_network_safe(e_attacker, n_initial_dmg, damageweapon, "MOD_BURNED"); } get_impact_damage(damageweapon) { switch (damageweapon) { case "staff_fire_zm": return 2050; case "staff_fire_upgraded_zm": case "staff_fire_upgraded2_zm": case "staff_fire_upgraded3_zm": return 3300; case "one_inch_punch_fire_zm": return 0; default: return 0; } }