+++ /dev/null
-ring,models/relics/relic_ring
-mesh,models/relics/relic
-sign,models/relics/sign_resistance
\ No newline at end of file
ring,models/relics/relic_ring
mesh,models/relics/relic
-sign,models/relics/sign_jump
\ No newline at end of file
+sign,models/relics/sign_flight
\ No newline at end of file
ring,models/relics/relic_ring
mesh,models/relics/relic
-sign,models/relics/sign_flight
\ No newline at end of file
+sign,models/relics/sign_invisible
\ No newline at end of file
ring,models/relics/relic_ring
mesh,models/relics/relic
-sign,models/relics/sign_invisible
\ No newline at end of file
+sign,textures/common/nodraw
\ No newline at end of file
ring,models/relics/relic_ring
mesh,models/relics/relic
-sign,textures/common/nodraw
\ No newline at end of file
+sign,models/relics/sign_blessed
\ No newline at end of file
ring,models/relics/relic_ring
mesh,models/relics/relic
-sign,models/relics/sign_blessed
\ No newline at end of file
+sign,models/relics/sign_vengeance
\ No newline at end of file
ring,models/relics/relic_ring
mesh,models/relics/relic
-sign,models/relics/sign_vengeance
\ No newline at end of file
+sign,models/relics/sign_inferno
\ No newline at end of file
ring,models/relics/relic_ring
mesh,models/relics/relic
-sign,models/relics/sign_inferno
\ No newline at end of file
+sign,models/relics/sign_swapper
\ No newline at end of file
ring,models/relics/relic_ring
mesh,models/relics/relic
-sign,models/relics/sign_swapper
\ No newline at end of file
+sign,models/relics/sign_magnet
\ No newline at end of file
ring,models/relics/relic_ring
mesh,models/relics/relic
-sign,models/relics/sign_magnet
\ No newline at end of file
+sign,models/relics/sign_luck
\ No newline at end of file
+++ /dev/null
-ring,models/relics/relic_ring
-mesh,models/relics/relic
-sign,models/relics/sign_luck
\ No newline at end of file
ring,models/relics/relic_ring
mesh,models/relics/relic
-sign,models/relics/sign_bash
\ No newline at end of file
+sign,textures/common/nodraw
\ No newline at end of file
ring,models/relics/relic_ring
mesh,models/relics/relic
-sign,textures/common/nodraw
\ No newline at end of file
+sign,models/relics/sign_disability
\ No newline at end of file
ring,models/relics/relic_ring
mesh,models/relics/relic
-sign,models/relics/sign_disability
\ No newline at end of file
+sign,textures/common/nodraw
\ No newline at end of file
ring,models/relics/relic_ring
mesh,models/relics/relic
-sign,textures/common/nodraw
\ No newline at end of file
+sign,models/relics/sign_speed
\ No newline at end of file
ring,models/relics/relic_ring
mesh,models/relics/relic
-sign,models/relics/sign_speed
\ No newline at end of file
+sign,models/relics/sign_jump
\ No newline at end of file
set g_buffs_cooldown_respawn 3 "cooldown period when buff is reloading"
set g_buffs_ammo 1 "ammo buff: infinite ammunition"
set g_buffs_ammo_time 60 "ammo buff carry time"
-set g_buffs_resistance 1 "resistance buff: greatly reduces damage taken"
-set g_buffs_resistance_time 60 "resistance buff time"
-set g_buffs_resistance_blockpercent 0.5 "damage reduction multiplier, higher values mean less damage"
set g_buffs_medic 1 "medic buff: increased regeneration speed, extra health, chance to survive a fatal attack"
set g_buffs_medic_time 60 "medic buff carry time"
set g_buffs_medic_survive_chance 0.6 "multiplier chance of player surviving a fatal hit"
set g_buffs_vengeance 1 "vengeance buff: attackers also take damage"
set g_buffs_vengeance_time 60 "vengeance buff carry time"
set g_buffs_vengeance_damage_multiplier 0.4 "amount of damage dealt the attacker takes when hitting a target with vengeance"
-set g_buffs_bash 1 "bash buff: increased knockback force and immunity to knockback"
-set g_buffs_bash_time 60 "bash buff carry time"
-set g_buffs_bash_force 2 "bash force multiplier"
-set g_buffs_bash_force_self 1.2 "bash self force multiplier"
set g_buffs_disability 0 "disability buff: attacks to players and monsters deal slowness (decreased movement/attack speed) for a few seconds"
set g_buffs_disability_time 60 "disability buff carry time"
set g_buffs_disability_slowtime 3 "time in seconds for target disability"
-DEF(relic_resistance);
-SUB(relic_resistance) {
- MY(airfriction) = 0.200000;
- MY(alpha_min) = 128;
- MY(alpha_max) = 256;
- MY(alpha_fade) = 256;
- MY(color_min) = "0x00ff80";
- MY(color_max) = "0x00ff80";
- MY(count) = 20;
- MY(gravity) = -0.100000;
- MY(liquidfriction) = 0.800000;
- MY(originjitter) = '8.0 8.0 32.0';
- MY(size_min) = 1.500000;
- MY(size_max) = 1.500000;
- MY(type) = "static";
- MY(velocityjitter) = '64.0 64.0 32.0';
-}
-
DEF(relic_regeneration);
SUB(relic_regeneration) {
MY(airfriction) = 0.200000;
{
case "ammoregen": return "ammo"; // Q3TA ammoregen
case "doubler": return "inferno"; // Q3TA doubler
- case "scout": return "bash"; // Q3TA scout
- case "guard": return "resistance"; // Q3TA guard
case "revival": case "regen": return "medic"; // WOP revival, Q3A regen
case "jumper": return "jump"; // WOP jumper
case "invulnerability": return "vampire"; // Q3TA invulnerability
BUFF_SPAWNFUNCS(ammo, BUFF_AMMO)
BUFF_SPAWNFUNC_Q3COMPAT(item_ammoregen, BUFF_AMMO)
-CLASS(ResistanceBuff, Buff)
- ATTRIB(ResistanceBuff, m_name, string, _("Resistance"));
- ATTRIB(ResistanceBuff, netname, string, "resistance");
- ATTRIB(ResistanceBuff, m_icon, string, "buff_resistance");
- ATTRIB(ResistanceBuff, m_skin, int, 0);
- ATTRIB(ResistanceBuff, m_color, vector, '0.36 1 0.07');
-ENDCLASS(ResistanceBuff)
-REGISTER_BUFF(RESISTANCE, NEW(ResistanceBuff));
-BUFF_SPAWNFUNCS(resistance, BUFF_RESISTANCE)
-BUFF_SPAWNFUNC_Q3COMPAT(item_guard, BUFF_RESISTANCE)
-
CLASS(MedicBuff, Buff)
ATTRIB(MedicBuff, m_name, string, _("Medic"));
ATTRIB(MedicBuff, netname, string, "medic");
BUFF_SPAWNFUNC_Q3COMPAT(item_regen, BUFF_MEDIC)
BUFF_SPAWNFUNC_Q3COMPAT(item_revival, BUFF_MEDIC)
-CLASS(BashBuff, Buff)
- ATTRIB(BashBuff, m_name, string, _("Bash"));
- ATTRIB(BashBuff, netname, string, "bash");
- ATTRIB(BashBuff, m_icon, string, "buff_bash");
- ATTRIB(BashBuff, m_skin, int, 5);
- ATTRIB(BashBuff, m_color, vector, '1 0.39 0');
-ENDCLASS(BashBuff)
-REGISTER_BUFF(BASH, NEW(BashBuff));
-BUFF_SPAWNFUNCS(bash, BUFF_BASH)
-BUFF_SPAWNFUNC_Q3COMPAT(item_scout, BUFF_BASH)
-
CLASS(VampireBuff, Buff)
ATTRIB(VampireBuff, m_name, string, _("Vampire"));
ATTRIB(VampireBuff, netname, string, "vampire");
if(frag_deathtype == DEATH_BUFF.m_id) { return; }
- if(StatusEffects_active(BUFF_RESISTANCE, frag_target))
- {
- float reduced = frag_damage * autocvar_g_buffs_resistance_blockpercent;
- frag_damage = bound(0, frag_damage - reduced, frag_damage);
- }
-
if(StatusEffects_active(BUFF_MEDIC, frag_target))
if((GetResource(frag_target, RES_HEALTH) - frag_damage) <= 0)
if(!ITEM_DAMAGE_NEEDKILL(frag_deathtype))
dmgent.nextthink = time + 0.1;
}
- if(StatusEffects_active(BUFF_BASH, frag_target))
- if(frag_attacker != frag_target)
- frag_force = '0 0 0';
-
- if(StatusEffects_active(BUFF_BASH, frag_attacker))
- if(frag_force)
- {
- if(frag_attacker == frag_target)
- frag_force *= autocvar_g_buffs_bash_force_self;
- else
- frag_force *= autocvar_g_buffs_bash_force;
- }
-
if(StatusEffects_active(BUFF_DISABILITY, frag_attacker))
if(frag_target != frag_attacker)
StatusEffects_apply(STATUSEFFECT_Disabled, frag_target, time + autocvar_g_buffs_disability_slowtime, 0);
bool autocvar_g_buffs_drop = false;
float autocvar_g_buffs_cooldown_activate;
float autocvar_g_buffs_cooldown_respawn;
-float autocvar_g_buffs_resistance_blockpercent;
float autocvar_g_buffs_medic_survive_chance;
float autocvar_g_buffs_medic_survive_health;
float autocvar_g_buffs_medic_rot;
float autocvar_g_buffs_medic_max;
float autocvar_g_buffs_medic_regen;
float autocvar_g_buffs_vengeance_damage_multiplier;
-float autocvar_g_buffs_bash_force;
-float autocvar_g_buffs_bash_force_self;
float autocvar_g_buffs_disability_slowtime;
float autocvar_g_buffs_disability_speed;
float autocvar_g_buffs_disability_rate;
}
}
-models/relics/sign_bash
-{
- deformVertexes autosprite
- cull none
- nopicmip
- {
- map models/relics/sign_bash
- blendfunc add
- }
-}
-
models/relics/sign_blessed
{
deformVertexes autosprite
}
}
-models/relics/sign_resistance
-{
- deformVertexes autosprite
- cull none
- nopicmip
- {
- map models/relics/sign_resistance
- blendfunc add
- }
-}
-
models/relics/sign_speed
{
deformVertexes autosprite