]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Inferno buff: damaged targets are inflicted with burning for a few seconds
authorMario <zacjardine@y7mail.com>
Mon, 9 Feb 2015 23:05:27 +0000 (10:05 +1100)
committerMario <zacjardine@y7mail.com>
Mon, 9 Feb 2015 23:05:27 +0000 (10:05 +1100)
models/relics/relic.md3_16.skin [new file with mode: 0644]
models/relics/sign_inferno.tga [new file with mode: 0644]
models/relics/sign_inferno_glow.tga [new file with mode: 0644]
mutators.cfg
qcsrc/common/buffs.qh
qcsrc/common/notifications.qh
qcsrc/server/autocvars.qh
qcsrc/server/mutators/mutator_buffs.qc
scripts/relics.shader

diff --git a/models/relics/relic.md3_16.skin b/models/relics/relic.md3_16.skin
new file mode 100644 (file)
index 0000000..5c30ed6
--- /dev/null
@@ -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 (file)
index 0000000..50842cc
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 (file)
index 0000000..2f5ef0b
Binary files /dev/null and b/models/relics/sign_inferno_glow.tga differ
index be5af23f9c1ad9f6e2950369c28f5275abab9447..4d051f83bc8579b37f205db823207dec100a736f 100644 (file)
@@ -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"
index b8cb7372a482edc42fd9c11b5ba78f74efc9d317..ef1a0e8241eb7116d9874f57b438abb0ab634305 100644 (file)
@@ -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)
index 99578b7ab0a2513658bebd118beec9b92a67af64..97a1099a9923d47a955520d9707a23c62f9070a7 100644 (file)
@@ -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)) \
index bcb9d28d70240e779e942a25b3c5764e7252298a..673d84dfdc5464edf1a074d43302e709c9680485 100644 (file)
@@ -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
index aef575ae494113c8d4b2c0ff3985542c605e8107..2171e6ed312bc9b429b93647c181002e31299bbf 100644 (file)
@@ -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)
index 24f95617f1e235736de4070cad542afec746cbc3..1ebd9c49ddcdd412e1f0b9c6f1201e471091b15c 100644 (file)
@@ -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
        }