From: Mario Date: Mon, 9 Feb 2015 23:05:27 +0000 (+1100) Subject: Inferno buff: damaged targets are inflicted with burning for a few seconds X-Git-Tag: xonotic-v0.8.1~18^2~31 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=5dc2aa8432fe53b34ee9ba7d99b5d9b789483798;p=xonotic%2Fxonotic-data.pk3dir.git Inferno buff: damaged targets are inflicted with burning for a few seconds --- diff --git a/models/relics/relic.md3_16.skin b/models/relics/relic.md3_16.skin new file mode 100644 index 000000000..5c30ed67c --- /dev/null +++ b/models/relics/relic.md3_16.skin @@ -0,0 +1,3 @@ +ring,models/relics/relic_ring +mesh,models/relics/relic +sign,models/relics/sign_inferno \ No newline at end of file diff --git a/models/relics/sign_inferno.tga b/models/relics/sign_inferno.tga new file mode 100644 index 000000000..50842cc5a Binary files /dev/null and b/models/relics/sign_inferno.tga differ diff --git a/models/relics/sign_inferno_glow.tga b/models/relics/sign_inferno_glow.tga new file mode 100644 index 000000000..2f5ef0b01 Binary files /dev/null and b/models/relics/sign_inferno_glow.tga differ diff --git a/mutators.cfg b/mutators.cfg index be5af23f9..4d051f83b 100644 --- a/mutators.cfg +++ b/mutators.cfg @@ -317,4 +317,6 @@ set g_buffs_flight 1 "flight buff: greatly decreased gravity" set g_buffs_flight_gravity 0.3 "player gravity multiplier while holding flight buff" set g_buffs_invisible 1 "invisible buff: carrier becomes invisible" set g_buffs_invisible_alpha 0.4 "player invisibility multiplier while holding invisible buff" - +set g_buffs_inferno 1 "inferno buff: targets damaged by player carrying inferno buff will also receive burning damage" +set g_buffs_inferno_burntime 1.5 "burning time of damaged target" +set g_buffs_inferno_damagemultiplier 0.25 "multiplier of damage dealt during burn" diff --git a/qcsrc/common/buffs.qh b/qcsrc/common/buffs.qh index b8cb7372a..ef1a0e824 100644 --- a/qcsrc/common/buffs.qh +++ b/qcsrc/common/buffs.qh @@ -53,6 +53,7 @@ REGISTER_BUFF(_("Vengeance"),vengeance,VENGEANCE,15,'0.55 0.5 1'); REGISTER_BUFF(_("Jump"),jump,JUMP,10,'0.7 0.2 1'); REGISTER_BUFF(_("Flight"),flight,FLIGHT,11,'1 0.2 0.5'); REGISTER_BUFF(_("Invisible"),invisible,INVISIBLE,12,'0.9 0.9 0.9'); +REGISTER_BUFF(_("Inferno"),inferno,INFERNO,16,'2 0 0'); #undef REGISTER_BUFF #ifdef SVQC @@ -80,6 +81,7 @@ BUFF_SPAWNFUNCS(vengeance, BUFF_VENGEANCE) BUFF_SPAWNFUNCS(jump, BUFF_JUMP) BUFF_SPAWNFUNCS(flight, BUFF_FLIGHT) BUFF_SPAWNFUNCS(invisible, BUFF_INVISIBLE) +BUFF_SPAWNFUNCS(inferno, BUFF_INFERNO) BUFF_SPAWNFUNCS(random, 0) BUFF_SPAWNFUNC_Q3TA_COMPAT(doubler, BUFF_MEDIC) diff --git a/qcsrc/common/notifications.qh b/qcsrc/common/notifications.qh index 99578b7ab..97a1099a9 100644 --- a/qcsrc/common/notifications.qh +++ b/qcsrc/common/notifications.qh @@ -1069,6 +1069,7 @@ const float ARG_DC = 6; // unique result to durcnt/centerprint ARG_CASE(ARG_CS_SV, "spree_lost", (autocvar_notification_show_sprees ? notif_arg_spree_inf(-2, "", "", f1) : "")) \ ARG_CASE(ARG_CS_SV, "item_wepname", WEP_NAME(f1)) \ ARG_CASE(ARG_CS_SV, "item_buffname", sprintf("%s%s", rgb_to_hexcolor(Buff_Color(f1)), Buff_PrettyName(f1))) \ + ARG_CASE(ARG_CS_SV, "f3buffname", sprintf("%s%s", rgb_to_hexcolor(Buff_Color(f3)), Buff_PrettyName(f3))) \ ARG_CASE(ARG_CS_SV, "item_wepammo", (s1 != "" ? sprintf(_(" with %s"), s1) : "")) \ ARG_CASE(ARG_DC, "item_centime", ftos(autocvar_notification_item_centerprinttime)) \ ARG_CASE(ARG_SV, "death_team", Team_ColoredFullName(f1)) \ diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh index bcb9d28d7..673d84dfd 100644 --- a/qcsrc/server/autocvars.qh +++ b/qcsrc/server/autocvars.qh @@ -882,4 +882,6 @@ float autocvar_g_buffs_vampire_damage_steal; float autocvar_g_buffs_invisible_alpha; float autocvar_g_buffs_flight_gravity; float autocvar_g_buffs_jump_height; +float autocvar_g_buffs_inferno_burntime; +float autocvar_g_buffs_inferno_damagemultiplier; #endif diff --git a/qcsrc/server/mutators/mutator_buffs.qc b/qcsrc/server/mutators/mutator_buffs.qc index aef575ae4..2171e6ed3 100644 --- a/qcsrc/server/mutators/mutator_buffs.qc +++ b/qcsrc/server/mutators/mutator_buffs.qc @@ -428,6 +428,10 @@ MUTATOR_HOOKFUNCTION(buffs_PlayerDamage_Calculate) frag_damage = 0; } + if(frag_attacker.buffs & BUFF_INFERNO) + if(frag_target != frag_attacker) + Fire_AddDamage(frag_target, frag_attacker, (frag_damage * autocvar_g_buffs_inferno_damagemultiplier) * autocvar_g_buffs_inferno_burntime, autocvar_g_buffs_inferno_burntime, DEATH_BUFF); + // this... is ridiculous (TODO: fix!) if(frag_attacker.buffs & BUFF_VAMPIRE) if(!frag_target.vehicle) diff --git a/scripts/relics.shader b/scripts/relics.shader index 24f95617f..1ebd9c49d 100644 --- a/scripts/relics.shader +++ b/scripts/relics.shader @@ -2,14 +2,14 @@ models/relics/relic { dpreflectcube cubemaps/default/sky { - map models/relics/relic.tga + map models/relics/relic rgbgen lightingDiffuse } } models/relics/relic_ring { { - map models/relics/relic_ring.tga + map models/relics/relic_ring blendfunc GL_SRC_ALPHA GL_ONE rgbgen lightingDiffuse } @@ -18,7 +18,7 @@ models/relics/sign_resistance { cull none { - map models/relics/sign_resistance.tga + map models/relics/sign_resistance blendfunc add rgbgen lightingDiffuse } @@ -27,7 +27,7 @@ models/relics/sign_regeneration { cull none { - map models/relics/sign_regeneration.tga + map models/relics/sign_regeneration blendfunc add rgbgen lightingDiffuse } @@ -36,7 +36,7 @@ models/relics/sign_vampire { cull none { - map models/relics/sign_vampire.tga + map models/relics/sign_vampire blendfunc add rgbgen lightingDiffuse } @@ -45,7 +45,7 @@ models/relics/sign_ammo { cull none { - map models/relics/sign_ammo.tga + map models/relics/sign_ammo blendfunc add rgbgen lightingDiffuse } @@ -54,7 +54,7 @@ models/relics/sign_damage { cull none { - map models/relics/sign_damage.tga + map models/relics/sign_damage blendfunc add rgbgen lightingDiffuse } @@ -63,7 +63,7 @@ models/relics/sign_splashdamage { cull none { - map models/relics/sign_splashdamage.tga + map models/relics/sign_splashdamage blendfunc add rgbgen lightingDiffuse } @@ -72,7 +72,7 @@ models/relics/sign_firingspeed { cull none { - map models/relics/sign_firingspeed.tga + map models/relics/sign_firingspeed blendfunc add rgbgen lightingDiffuse } @@ -81,7 +81,7 @@ models/relics/sign_disability { cull none { - map models/relics/sign_disability.tga + map models/relics/sign_disability blendfunc add rgbgen lightingDiffuse } @@ -90,7 +90,7 @@ models/relics/sign_teamboost { cull none { - map models/relics/sign_teamboost.tga + map models/relics/sign_teamboost blendfunc add rgbgen lightingDiffuse } @@ -99,7 +99,7 @@ models/relics/sign_speed { cull none { - map models/relics/sign_speed.tga + map models/relics/sign_speed blendfunc add rgbgen lightingDiffuse } @@ -108,7 +108,7 @@ models/relics/sign_jump { cull none { - map models/relics/sign_jump.tga + map models/relics/sign_jump blendfunc add rgbgen lightingDiffuse } @@ -117,7 +117,7 @@ models/relics/sign_flight { cull none { - map models/relics/sign_flight.tga + map models/relics/sign_flight blendfunc add rgbgen lightingDiffuse } @@ -126,7 +126,7 @@ models/relics/sign_invisible { cull none { - map models/relics/sign_invisible.tga + map models/relics/sign_invisible blendfunc add rgbgen lightingDiffuse } @@ -135,7 +135,7 @@ models/relics/sign_radioactive { cull none { - map models/relics/sign_radioactive.tga + map models/relics/sign_radioactive blendfunc add rgbgen lightingDiffuse } @@ -144,7 +144,7 @@ models/relics/sign_resurrection { cull none { - map models/relics/sign_resurrection.tga + map models/relics/sign_resurrection blendfunc add rgbgen lightingDiffuse } @@ -153,7 +153,16 @@ models/relics/sign_vengeance { cull none { - map models/relics/sign_vengeance.tga + map models/relics/sign_vengeance + blendfunc add + rgbgen lightingDiffuse + } +} +models/relics/sign_inferno +{ + cull none + { + map models/relics/sign_inferno blendfunc add rgbgen lightingDiffuse }