From: Mario Date: Mon, 31 Aug 2015 14:15:08 +0000 (+1000) Subject: Merge branch 'master' into Mario/vaporizer_damage X-Git-Tag: xonotic-v0.8.2~1917^2 X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=commitdiff_plain;h=86c9dc7c3696c329496b06375c1e79fb407401ce;hp=33a622888e895b345d10f4625f7f84299565f95f Merge branch 'master' into Mario/vaporizer_damage # Conflicts: # qcsrc/common/weapons/w_vaporizer.qc # qcsrc/server/cl_player.qc --- diff --git a/bal-wep-nexuiz25.cfg b/bal-wep-nexuiz25.cfg index c3fefe39da..4800657f73 100644 --- a/bal-wep-nexuiz25.cfg +++ b/bal-wep-nexuiz25.cfg @@ -433,6 +433,7 @@ set g_balance_porto_weaponthrowable 1 // {{{ #12: Vaporizer set g_balance_vaporizer_primary_ammo 10 set g_balance_vaporizer_primary_animtime 0.3 +set g_balance_vaporizer_primary_damage -1 set g_balance_vaporizer_primary_refire 1 set g_balance_vaporizer_reload_ammo 0 set g_balance_vaporizer_reload_time 0 diff --git a/bal-wep-samual.cfg b/bal-wep-samual.cfg index c0cb54aa31..9fde147a6e 100644 --- a/bal-wep-samual.cfg +++ b/bal-wep-samual.cfg @@ -486,6 +486,7 @@ set g_balance_porto_weaponthrowable 1 // {{{ #13: Vaporizer set g_balance_vaporizer_primary_ammo 10 set g_balance_vaporizer_primary_animtime 0.3 +set g_balance_vaporizer_primary_damage 150 set g_balance_vaporizer_primary_refire 1 set g_balance_vaporizer_reload_ammo 0 set g_balance_vaporizer_reload_time 0 diff --git a/bal-wep-xdf.cfg b/bal-wep-xdf.cfg index f65891c9f7..ce00717c4e 100644 --- a/bal-wep-xdf.cfg +++ b/bal-wep-xdf.cfg @@ -433,6 +433,7 @@ set g_balance_porto_weaponthrowable 1 // {{{ #12: Vaporizer set g_balance_vaporizer_primary_ammo 10 set g_balance_vaporizer_primary_animtime 0.3 +set g_balance_vaporizer_primary_damage -1 set g_balance_vaporizer_primary_refire 1 set g_balance_vaporizer_reload_ammo 0 set g_balance_vaporizer_reload_time 0 diff --git a/bal-wep-xonotic.cfg b/bal-wep-xonotic.cfg index 1fa36d0c49..ec50bdf508 100644 --- a/bal-wep-xonotic.cfg +++ b/bal-wep-xonotic.cfg @@ -433,6 +433,7 @@ set g_balance_porto_weaponthrowable 1 // {{{ #12: Vaporizer set g_balance_vaporizer_primary_ammo 10 set g_balance_vaporizer_primary_animtime 0.3 +set g_balance_vaporizer_primary_damage 150 set g_balance_vaporizer_primary_refire 1 set g_balance_vaporizer_reload_ammo 0 set g_balance_vaporizer_reload_time 0 diff --git a/bal-wep-xpm.cfg b/bal-wep-xpm.cfg index 1fa36d0c49..ec50bdf508 100644 --- a/bal-wep-xpm.cfg +++ b/bal-wep-xpm.cfg @@ -433,6 +433,7 @@ set g_balance_porto_weaponthrowable 1 // {{{ #12: Vaporizer set g_balance_vaporizer_primary_ammo 10 set g_balance_vaporizer_primary_animtime 0.3 +set g_balance_vaporizer_primary_damage 150 set g_balance_vaporizer_primary_refire 1 set g_balance_vaporizer_reload_ammo 0 set g_balance_vaporizer_reload_time 0 diff --git a/qcsrc/common/weapons/weapon/vaporizer.qc b/qcsrc/common/weapons/weapon/vaporizer.qc index 4ed2dc2d36..256019d69d 100644 --- a/qcsrc/common/weapons/weapon/vaporizer.qc +++ b/qcsrc/common/weapons/weapon/vaporizer.qc @@ -19,6 +19,7 @@ REGISTER_WEAPON( #define VAPORIZER_SETTINGS_LIST(w_cvar,w_prop,id,sn) \ w_cvar(id, sn, PRI, ammo) \ w_cvar(id, sn, PRI, animtime) \ + w_cvar(id, sn, PRI, damage) \ w_cvar(id, sn, PRI, refire) \ w_cvar(id, sn, SEC, ammo) \ w_cvar(id, sn, SEC, animtime) \ @@ -70,17 +71,17 @@ void W_RocketMinsta_Explosion(vector loc) void W_Vaporizer_Attack(void) { - float flying; - flying = IsFlying(self); // do this BEFORE to make the trace values from FireRailgunBullet last + bool flying = IsFlying(self); // do this BEFORE to make the trace values from FireRailgunBullet last + float vaporizer_damage = ((WEP_CVAR_PRI(vaporizer, damage) > 0) ? WEP_CVAR_PRI(vaporizer, damage) : 10000); - W_SetupShot(self, true, 0, "", CH_WEAPON_A, 10000); + W_SetupShot(self, true, 0, "", CH_WEAPON_A, vaporizer_damage); // handle sound separately so we can change the volume // added bonus: no longer plays the strength sound (strength gives no bonus to instakill anyway) sound (self, CH_WEAPON_A, W_Sound("minstanexfire"), VOL_BASE * 0.8, ATTEN_NORM); yoda = 0; damage_goodhits = 0; - FireRailgunBullet(w_shotorg, w_shotorg + w_shotdir * MAX_SHOT_DISTANCE, 10000, 800, 0, 0, 0, 0, WEP_VAPORIZER.m_id); + FireRailgunBullet(w_shotorg, w_shotorg + w_shotdir * MAX_SHOT_DISTANCE, vaporizer_damage, 800, 0, 0, 0, 0, WEP_VAPORIZER.m_id); if(yoda && flying) Send_Notification(NOTIF_ONE, self, MSG_ANNCE, ANNCE_ACHIEVEMENT_YODA); diff --git a/qcsrc/server/cl_player.qc b/qcsrc/server/cl_player.qc index 76253977c1..6310d7ff3e 100644 --- a/qcsrc/server/cl_player.qc +++ b/qcsrc/server/cl_player.qc @@ -548,6 +548,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, int deathtyp attacker.accuracy.(accuracy_frags[w-1]) += 1; MUTATOR_CALLHOOK(PlayerDies, inflictor, attacker, self, deathtype); + excess = frag_damage; WEP_ACTION(self.weapon, WR_PLAYERDEATH); diff --git a/qcsrc/server/mutators/mutator_instagib.qc b/qcsrc/server/mutators/mutator_instagib.qc index 2e76d700e1..77b7559e49 100644 --- a/qcsrc/server/mutators/mutator_instagib.qc +++ b/qcsrc/server/mutators/mutator_instagib.qc @@ -388,6 +388,14 @@ MUTATOR_HOOKFUNCTION(instagib_ItemCountdown) return false; } +MUTATOR_HOOKFUNCTION(instagib_PlayerDies) +{ + if(DEATH_ISWEAPON(frag_deathtype, WEP_VAPORIZER.m_id)) + frag_damage = 1000; // always gib if it was a vaporizer death + + return FALSE; +} + MUTATOR_HOOKFUNCTION(instagib_ItemTouch) { if(self.ammo_cells) @@ -473,6 +481,7 @@ MUTATOR_DEFINITION(mutator_instagib) MUTATOR_HOOK(FilterItem, instagib_FilterItem, CBC_ORDER_ANY); MUTATOR_HOOK(CustomizeWaypoint, instagib_CustomizeWaypoint, CBC_ORDER_ANY); MUTATOR_HOOK(Item_RespawnCountdown, instagib_ItemCountdown, CBC_ORDER_ANY); + MUTATOR_HOOK(PlayerDies, instagib_PlayerDies, CBC_ORDER_ANY); MUTATOR_HOOK(PlayerDamage_SplitHealthArmor, instagib_SplitHealthArmor, CBC_ORDER_ANY); MUTATOR_HOOK(PlayerPowerups, instagib_PlayerPowerups, CBC_ORDER_ANY); MUTATOR_HOOK(ForbidThrowCurrentWeapon, instagib_ForbidThrowing, CBC_ORDER_ANY); diff --git a/vehicles.cfg b/vehicles.cfg index b5f0178ffc..0fefec6dfb 100644 --- a/vehicles.cfg +++ b/vehicles.cfg @@ -30,6 +30,6 @@ set g_vehicles_delayspawn_jitter 10 set g_vehicles_vortex_damagerate 0.5 set g_vehicles_machinegun_damagerate 0.65 set g_vehicles_rifle_damagerate 1 -set g_vehicles_vaporizer_damagerate 0.007 +set g_vehicles_vaporizer_damagerate 0.8 set g_vehicles_tag_damagerate 2