From 3cc24170b8aa2ebc88ca8cdef290926780c370c6 Mon Sep 17 00:00:00 2001 From: LegendaryGuard Date: Thu, 7 Jul 2022 14:18:50 +0200 Subject: [PATCH] Emerald nade is replaced to monster nade, now monster nade is renamed as tandem nade, all spawn options are inside this nade! Add some cvar descriptions, engaging effects and colors. No longer confussed by entrap nade color --- gfx/hud/default/nade_monster.tga | Bin 36712 -> 0 bytes .../{nade_emerald.tga => nade_tandem.tga} | Bin gfx/hud/luma/nade_monster.tga | Bin 65554 -> 0 bytes .../{nade_emerald.tga => nade_tandem.tga} | Bin mutators.cfg | 45 ++-- qcsrc/common/mutators/mutator/nades/nades.inc | 27 +-- qcsrc/common/mutators/mutator/nades/nades.qc | 194 +++++++++--------- qcsrc/common/mutators/mutator/nades/nades.qh | 36 ++-- 8 files changed, 152 insertions(+), 150 deletions(-) delete mode 100644 gfx/hud/default/nade_monster.tga rename gfx/hud/default/{nade_emerald.tga => nade_tandem.tga} (100%) delete mode 100644 gfx/hud/luma/nade_monster.tga rename gfx/hud/luma/{nade_emerald.tga => nade_tandem.tga} (100%) diff --git a/gfx/hud/default/nade_monster.tga b/gfx/hud/default/nade_monster.tga deleted file mode 100644 index fbd516d24b63be31eee403be213c4a7eeacd424e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36712 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 #include #include -//LegendGuard adds include for spawning vehicles 20-06-2021 #include -//LegendGuard adds include for spawning turrets 22-06-2021 #include .float nade_time_primed; @@ -689,58 +687,7 @@ void nade_heal_boom(entity this) settouch(orb, nade_heal_touch); orb.colormod = '1 0 0'; } - -void nade_monster_boom(entity this) -{ - if(!autocvar_g_monsters) - return; - entity e = spawn(); - e.noalign = true; // don't drop to floor - e = spawnmonster(e, this.pokenade_type, MON_Null, this.realowner, this.realowner, this.origin, false, false, 1); - if(!e) - return; // monster failed to be spawned - - if(autocvar_g_nades_pokenade_monster_lifetime > 0) - e.monster_lifetime = time + autocvar_g_nades_pokenade_monster_lifetime; - e.monster_skill = MONSTER_SKILL_INSANE; -} - -void nade_veil_touch(entity this, entity toucher) -{ - if ( IS_REAL_CLIENT(toucher) || (IS_VEHICLE(toucher) && toucher.owner) ) - { - entity show_tint = (IS_VEHICLE(toucher) && toucher.owner) ? toucher.owner : toucher; - - float tint_alpha = 0.75; - if(SAME_TEAM(toucher, this.realowner)) - { - tint_alpha = 0.45; - if(!STAT(VEIL_ORB, show_tint)) - { - toucher.nade_veil_prevalpha = toucher.alpha; - toucher.alpha = -1; - } - } - STAT(VEIL_ORB, show_tint) = time + 0.1; - STAT(VEIL_ORB_ALPHA, show_tint) = tint_alpha * (this.ltime - time) / this.orb_lifetime; - } -} - -void nade_veil_boom(entity this) -{ - entity orb = nades_spawn_orb(this.owner, this.realowner, this.origin, autocvar_g_nades_veil_time, autocvar_g_nades_veil_radius); - - settouch(orb, nade_veil_touch); - orb.colormod = NADE_TYPE_VEIL.m_color; -} -/**************LEGENDGUARD NEW NADES: EMERALD, AMMO AND DARK NADES functions "cl_nade_type 10", "cl_nade_type 11" and "cl_nade_type 12" *** //more ideas: SPAWNING MINI SPIDERS NADE, SPARKING NADE ***********************/ -// All nade icons are in these directories, samples: gfx/hud/default/nade_emerald.tga and gfx/hud/luma/nade_emerald.tga 02-03-2021 -// Mario suggests to rename itemdrop nade name to "emerald" nade 02-03-2021 - -//LegendGuard adds weapon item spawn option for emerald nade 25-05-2021 - -//LegendGuard adds random weapon item spawn function for emerald nade 25-05-2021 -void nade_emerald_randomweapon(entity e, vector org) +void nade_tandem_randomweapon(entity e, vector org) { RandomSelection_Init(); FOREACH(Weapons, @@ -749,7 +696,7 @@ void nade_emerald_randomweapon(entity e, vector org) || (it.spawnflags & WEP_FLAG_MUTATORBLOCKED) || (it.spawnflags & WEP_FLAG_SPECIALATTACK) || (it.spawnflags & WEP_FLAG_SUPERWEAPON)) - || autocvar_g_nades_emerald_randomweapons_includespecial), + || autocvar_g_nades_tandem_randomweapon_includespecial), { if((it.spawnflags & WEP_FLAG_HIDDEN) && (it.spawnflags & WEP_FLAG_MUTATORBLOCKED)) @@ -772,11 +719,7 @@ void nade_emerald_randomweapon(entity e, vector org) weapon_defaultspawnfunc(e, RandomSelection_chosen_ent); } -//LegendGuard adds vehicle spawn option for emerald nade 20-06-2021 - -//LegendGuard adds turret spawn option for emerald nade 22-06-2021 - -entity nade_emerald_randomitem() +entity nade_tandem_randomitem() { RandomSelection_Init(); FOREACH(Items, @@ -788,7 +731,7 @@ entity nade_emerald_randomitem() && !(it.m_itemid & IT_INVINCIBLE) && !(it.m_itemid & IT_INVISIBILITY) && !(it.m_itemid & IT_SPEED) - || autocvar_g_nades_emerald_items_includespecial), + || autocvar_g_nades_tandem_item_includespecial), { if(it.m_canonical_spawnfunc == "item_armor_mega" || it.m_canonical_spawnfunc == "item_health_mega" @@ -805,7 +748,7 @@ entity nade_emerald_randomitem() return RandomSelection_chosen_ent; } -void nade_emerald_spawnitem(entity e, vector org) +void nade_tandem_spawnitem(entity e, vector org) { entity itm; @@ -823,12 +766,12 @@ void nade_emerald_spawnitem(entity e, vector org) } case "jetpack" : { - itm = (!autocvar_g_nades_emerald_items_includespecial) ? + itm = (!autocvar_g_nades_tandem_item_includespecial) ? ITEM_JetpackFuel : (random() < 0.5) ? ITEM_JetpackFuel : ITEM_Jetpack; break; } - default: { itm = nade_emerald_randomitem(); break; } + default: { itm = nade_tandem_randomitem(); break; } } if((IS_GAMETYPE(FREEZETAG) || IS_GAMETYPE(LMS)) @@ -847,10 +790,10 @@ void nade_emerald_spawnitem(entity e, vector org) setorigin(e, org); e.velocity = randomvec() * 175 + '0 0 325'; e.item_spawnshieldtime = time + 0.7; - SUB_SetFade(e, time + autocvar_g_nades_emerald_lifetime, 1); + SUB_SetFade(e, time + autocvar_g_nades_tandem_item_lifetime, 1); } -void nade_emerald_dropping(entity this, vector org) +void nade_tandem_dropping(entity this, vector org) { entity e = spawn(); e.spawnfunc_checked = true; @@ -860,18 +803,18 @@ void nade_emerald_dropping(entity this, vector org) { switch (this.pokenade_type) { - case "weapon" : { nade_emerald_randomweapon(e, org); return; } + case "weapon" : { nade_tandem_randomweapon(e, org); return; } case "health" : case "armor" : case "ammo" : case "jetpack" : - default : { nade_emerald_spawnitem(e, org); return; } + default : { nade_tandem_spawnitem(e, org); return; } } } else print_to(this, "Items can't be spawned on CA and Instagib"); } -void emerald_ball_think(entity this) +void tandem_ball_think(entity this) { if(round_handler_IsActive()) if(!round_handler_IsRoundStarted()) @@ -897,16 +840,16 @@ void emerald_ball_think(entity this) this.angles = vectoangles(this.velocity); - if (this.nade_item_spawncount < autocvar_g_nades_emerald_spawncount) + if (this.nade_item_spawncount < autocvar_g_nades_tandem_ball_item_spawncount) { this.nade_item_spawncount++; - nade_emerald_dropping(this, this.origin); + nade_tandem_dropping(this, this.origin); } this.nextthink = time + 0.1; } -void nade_emerald_ball(entity this) +void nade_tandem_ball(entity this) { entity proj; vector kick; @@ -921,16 +864,16 @@ void nade_emerald_ball(entity this) proj.scale = 1; //0.5; setsize(proj, '-4 -4 -4', '4 4 4'); setorigin(proj, this.origin); - setthink(proj, emerald_ball_think); + setthink(proj, tandem_ball_think); proj.nextthink = time; proj.effects = EF_LOWPRECISION; - kick.x =(random() - 0.5) * 2 * autocvar_g_nades_emerald_ball_spread; - kick.y = (random() - 0.5) * 2 * autocvar_g_nades_emerald_ball_spread; - kick.z = (random() / 2 + 0.5) * autocvar_g_nades_emerald_ball_spread; + kick.x =(random() - 0.5) * 2 * autocvar_g_nades_tandem_ball_spread; + kick.y = (random() - 0.5) * 2 * autocvar_g_nades_tandem_ball_spread; + kick.z = (random() / 2 + 0.5) * autocvar_g_nades_tandem_ball_spread; proj.velocity = kick; - proj.pushltime = time + autocvar_g_nades_emerald_ball_lifetime; + proj.pushltime = time + autocvar_g_nades_tandem_ball_lifetime; proj.angles = vectoangles(proj.velocity); proj.flags = FL_PROJECTILE; @@ -939,7 +882,7 @@ void nade_emerald_ball(entity this) proj.missile_flags = MIF_SPLASH | MIF_PROXY | MIF_ARC; } -void emerald_fountain_think(entity this) +void tandem_fountain_think(entity this) { if(round_handler_IsActive()) if(!round_handler_IsRoundStarted()) @@ -971,15 +914,15 @@ void emerald_fountain_think(entity this) this.nextthink = time + 0.1; if(time >= this.nade_special_time) { - this.nade_special_time = time + autocvar_g_nades_emerald_fountain_delay; - nade_emerald_ball(this); + this.nade_special_time = time + autocvar_g_nades_tandem_fountain_delay; + nade_tandem_ball(this); Send_Effect(EFFECT_SMOKE_LARGE, this.origin, '0 0 0', 1); } } -void emerald_item_fountain_explode(entity this) +void tandem_item_fountain_explode(entity this) { - entity fountain = new(nade_emerald_fountain); + entity fountain = new(nade_tandem_fountain); fountain.owner = this.owner; fountain.realowner = this.realowner; fountain.origin = this.origin; @@ -988,9 +931,9 @@ void emerald_item_fountain_explode(entity this) IL_PUSH(g_projectiles, fountain); IL_PUSH(g_bot_dodge, fountain); setorigin(fountain, fountain.origin); - setthink(fountain, emerald_fountain_think); + setthink(fountain, tandem_fountain_think); fountain.nextthink = time; - fountain.ltime = time + autocvar_g_nades_emerald_fountain_lifetime; + fountain.ltime = time + autocvar_g_nades_tandem_fountain_lifetime; fountain.pushltime = fountain.ltime; fountain.team = this.team; @@ -1011,10 +954,10 @@ void emerald_item_fountain_explode(entity this) fountain.bot_dodge = true; fountain.nade_special_time = time; setsize(fountain, '-16 -16 -16', '16 16 16'); - CSQCProjectile(fountain, true, PROJECTILE_NADE_EMERALD_BURN, true); + CSQCProjectile(fountain, true, PROJECTILE_NADE_TANDEM_BURN, true); } -void nade_emerald_boom(entity this) +void nade_tandem_boom(entity this) { entity e = spawn(); e.noalign = true; // don't drop to floor @@ -1026,7 +969,7 @@ void nade_emerald_boom(entity this) { case 1: { - emerald_item_fountain_explode(this); + tandem_item_fountain_explode(this); return; } case 2: @@ -1081,7 +1024,17 @@ void nade_emerald_boom(entity this) if(!autocvar_g_monsters) return; - e = spawnmonster(e, this.pokenade_type, MON_Null, this.realowner, this.realowner, this.origin, false, false, 1); + e = spawnmonster( + e, + this.pokenade_type, + MON_Null, + this.realowner, + this.realowner, + this.origin, + false, + false, + 1 + ); if(!e) return; // monster failed to be spawned @@ -1093,7 +1046,46 @@ void nade_emerald_boom(entity this) } } -/***********************************************************************************/ +void nade_veil_touch(entity this, entity toucher) +{ + if ( IS_REAL_CLIENT(toucher) || (IS_VEHICLE(toucher) && toucher.owner) ) + { + entity show_tint = (IS_VEHICLE(toucher) && toucher.owner) ? toucher.owner : toucher; + + float tint_alpha = 0.75; + if(SAME_TEAM(toucher, this.realowner)) + { + tint_alpha = 0.45; + if(!STAT(VEIL_ORB, show_tint)) + { + toucher.nade_veil_prevalpha = toucher.alpha; + toucher.alpha = -1; + } + } + STAT(VEIL_ORB, show_tint) = time + 0.1; + STAT(VEIL_ORB_ALPHA, show_tint) = tint_alpha * (this.ltime - time) / this.orb_lifetime; + } +} + +void nade_veil_boom(entity this) +{ + entity orb = nades_spawn_orb(this.owner, this.realowner, this.origin, autocvar_g_nades_veil_time, autocvar_g_nades_veil_radius); + + settouch(orb, nade_veil_touch); + orb.colormod = NADE_TYPE_VEIL.m_color; +} +/**************LEGENDGUARD NEW NADES: EMERALD, AMMO AND DARK NADES functions "cl_nade_type 10", "cl_nade_type 11" and "cl_nade_type 12" *** //more ideas: SPAWNING MINI SPIDERS NADE, SPARKING NADE ***********************/ +// All nade icons are in these directories, samples: gfx/hud/default/nade_emerald.tga and gfx/hud/luma/nade_emerald.tga 02-03-2021 +// Mario suggests to rename itemdrop nade name to "emerald" (funny suggestion lol) nade 02-03-2021 + +//LegendGuard adds weapon item spawn option for tandem nade 25-05-2021 + +//LegendGuard adds random weapon item spawn function for tandem nade 25-05-2021 + +//LegendGuard adds vehicle spawn option for tandem nade 20-06-2021 + +//LegendGuard adds turret spawn option for tandem nade 22-06-2021 + //LegendGuard develops ammo nade 13-02-2021 void nade_ammo_touch(entity this, entity toucher) { @@ -1319,12 +1311,22 @@ void nade_boom(entity this) case NADE_TYPE_TRANSLOCATE: nade_blast = false; break; - case NADE_TYPE_MONSTER: + case NADE_TYPE_TANDEM: if(!autocvar_g_monsters) { expef = EFFECT_NADE_EXPLODE(this.realowner.team); break; // fall back to a standard nade explosion } + if(!autocvar_g_vehicles) + { + expef = EFFECT_NADE_EXPLODE(this.realowner.team); + break; // fall back to a standard nade explosion + } + if(!autocvar_g_turrets) + { + expef = EFFECT_NADE_EXPLODE(this.realowner.team); + break; // fall back to a standard nade explosion + } case NADE_TYPE_SPAWN: nade_blast = false; switch(this.realowner.team) @@ -1350,11 +1352,6 @@ void nade_boom(entity this) nade_blast = false; expef = EFFECT_SPAWN_NEUTRAL; break; - - case NADE_TYPE_EMERALD: //LegendGuard adds nade case 11-02-2021 - nade_blast = false; - expef = EFFECT_EXPLOSION_SMALL; - break; case NADE_TYPE_AMMO: //LegendGuard adds nade case 13-02-2021 nade_blast = false; @@ -1395,10 +1392,9 @@ void nade_boom(entity this) case NADE_TYPE_TRANSLOCATE: nade_translocate_boom(this); break; case NADE_TYPE_SPAWN: nade_spawn_boom(this); break; case NADE_TYPE_HEAL: nade_heal_boom(this); break; - case NADE_TYPE_MONSTER: nade_monster_boom(this); break; + case NADE_TYPE_TANDEM: nade_tandem_boom(this); break; case NADE_TYPE_ENTRAP: nade_entrap_boom(this); break; case NADE_TYPE_VEIL: nade_veil_boom(this); break; - case NADE_TYPE_EMERALD: nade_emerald_boom(this); break; //LegendGuard adds the register of new nade 11-02-2021 case NADE_TYPE_AMMO: nade_ammo_boom(this); break; //LegendGuard adds the register of new nade 13-02-2021 case NADE_TYPE_DARK: nade_dark_boom(this); break; //LegendGuard adds the register of new nade 08-02-2021 } @@ -1777,7 +1773,7 @@ void nade_prime(entity this) else { ntype = ((autocvar_g_nades_client_select) ? CS_CVAR(this).cvar_cl_nade_type : autocvar_g_nades_nade_type); - pntype = ((autocvar_g_nades_client_select) ? CS_CVAR(this).cvar_cl_pokenade_type : autocvar_g_nades_pokenade_monster_type); + pntype = ((autocvar_g_nades_client_select) ? CS_CVAR(this).cvar_cl_pokenade_type : autocvar_g_nades_pokenade_type); tntype = ((autocvar_g_nades_client_select) ? CS_CVAR(this).cvar_cl_tandemnade_type : autocvar_g_nades_tandemnade_type); } @@ -1946,7 +1942,7 @@ MUTATOR_HOOKFUNCTION(nades, PlayerPreThink) else { STAT(NADE_BONUS_TYPE, player) = autocvar_g_nades_bonus_type; - player.pokenade_type = autocvar_g_nades_pokenade_monster_type; + player.pokenade_type = autocvar_g_nades_pokenade_type; player.tandemnade_type = autocvar_g_nades_tandemnade_type; } diff --git a/qcsrc/common/mutators/mutator/nades/nades.qh b/qcsrc/common/mutators/mutator/nades/nades.qh index f26cccfba3..c3cf84afc9 100644 --- a/qcsrc/common/mutators/mutator/nades/nades.qh +++ b/qcsrc/common/mutators/mutator/nades/nades.qh @@ -64,22 +64,22 @@ float autocvar_g_nades_entrap_radius = 500; float autocvar_g_nades_entrap_time = 10; float autocvar_g_nades_veil_time = 8; float autocvar_g_nades_veil_radius = 300; -float autocvar_g_nades_emerald_lifetime = 5; //LegendGuard adds new nade cvars 28-02-2021 -bool autocvar_g_nades_emerald_randomweapons_includespecial = false; -bool autocvar_g_nades_emerald_items_includespecial = false; -float autocvar_g_nades_emerald_spawncount = 1; -float autocvar_g_nades_emerald_ball_spread = 0.5; -float autocvar_g_nades_emerald_ball_lifetime = 1; //if much time, many items will spawn -float autocvar_g_nades_emerald_fountain_delay = 5; -float autocvar_g_nades_emerald_fountain_lifetime = 1; //if much time, fountain will remain -float autocvar_g_nades_ammo_time = 5; //LegendGuard adds new nade cvars 13-02-2021 -float autocvar_g_nades_ammo_rate = 30; -float autocvar_g_nades_ammo_friend = 1; -float autocvar_g_nades_ammo_foe = -2; -float autocvar_g_nades_dark_damage = 25; //LegendGuard adds new nade cvars 08-02-2021 -float autocvar_g_nades_dark_time = 13; -float autocvar_g_nades_dark_radius = 700; -string autocvar_g_nades_pokenade_monster_type; +float autocvar_g_nades_tandem_item_lifetime; //LegendGuard adds new nade cvars 28-02-2021 +bool autocvar_g_nades_tandem_randomweapon_includespecial = false; +bool autocvar_g_nades_tandem_item_includespecial; +float autocvar_g_nades_tandem_ball_item_spawncount = 1; +float autocvar_g_nades_tandem_ball_spread; +float autocvar_g_nades_tandem_ball_lifetime = 1; //if much time, ball will stay longer +float autocvar_g_nades_tandem_fountain_delay = 5; +float autocvar_g_nades_tandem_fountain_lifetime; +float autocvar_g_nades_ammo_time; //LegendGuard adds new nade cvars 13-02-2021 +float autocvar_g_nades_ammo_rate; +float autocvar_g_nades_ammo_friend; +float autocvar_g_nades_ammo_foe; +float autocvar_g_nades_dark_damage; //LegendGuard adds new nade cvars 08-02-2021 +float autocvar_g_nades_dark_time; +float autocvar_g_nades_dark_radius; +string autocvar_g_nades_pokenade_type; int autocvar_g_nades_tandemnade_type; //LegendGuard adds new nade cvar for emerald nade options 01-07-2021 float autocvar_g_nades_pokenade_monster_lifetime; #endif @@ -96,8 +96,8 @@ const int PROJECTILE_NADE_TRANSLOCATE = 78; const int PROJECTILE_NADE_SPAWN = 79; const int PROJECTILE_NADE_HEAL = 80; const int PROJECTILE_NADE_HEAL_BURN = 81; -const int PROJECTILE_NADE_MONSTER = 82; -const int PROJECTILE_NADE_MONSTER_BURN = 83; +const int PROJECTILE_NADE_TANDEM = 82; +const int PROJECTILE_NADE_TANDEM_BURN = 83; const int PROJECTILE_NADE_ENTRAP = 84; const int PROJECTILE_NADE_ENTRAP_BURN = 85; const int PROJECTILE_NADE_VEIL = 86; -- 2.39.2