From 4ed62aa3a5ef4e0da2418652771f892e9eca6c2e Mon Sep 17 00:00:00 2001 From: LegendaryGuard Date: Thu, 4 Mar 2021 00:35:37 +0100 Subject: [PATCH] Add random item feature for itemdrop nade for the sake of Mario's thread in the Merge request --- qcsrc/common/mutators/mutator/nades/nades.qc | 35 ++++++++++++++++++-- qcsrc/common/mutators/mutator/nades/nades.qh | 5 +-- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/qcsrc/common/mutators/mutator/nades/nades.qc b/qcsrc/common/mutators/mutator/nades/nades.qc index f69b75f40..e3c21ebb9 100644 --- a/qcsrc/common/mutators/mutator/nades/nades.qc +++ b/qcsrc/common/mutators/mutator/nades/nades.qc @@ -724,7 +724,7 @@ void nade_veil_boom(entity this) } /**************LEGENDGUARD NEW NADES: ARMORIZE, 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 ***********************/ //TODO: rename in gfx/hud/luma/nade_itemdrop.tga from nade_armorize.tga 02-03-2021 -//TODO: rename itemdrop nade name to emerald nade 02-03-2021 +//TODO: Mario suggests to rename itemdrop nade name to "emerald" nade 02-03-2021 void nade_itemdrop_dropitem(entity e, vector org, entity itm) { Item_SetLoot(e, true); @@ -740,13 +740,42 @@ void nade_itemdrop_dropitem(entity e, vector org, entity itm) void nade_itemdrop_dropping(vector org) { - //TODO: Add random item: any ammo type, armor, health, ... 02-03-2012 + //look in qcsrc/server/items/items.qc + //ITEM_Shells; ITEM_Bullets; ITEM_Rockets; ITEM_Cells; ITEM_Plasma; ITEM_JetpackFuel; + //ITEM_Strength; ITEM_Shield int itemcount = autocvar_g_nades_itemdrop_spawncount; for(int j = 0; j < itemcount; ++j) { entity e = spawn(); e.spawnfunc_checked = true; - nade_itemdrop_dropitem(e, org, ((random() > 0.5) ? ITEM_ArmorSmall : ITEM_HealthSmall)); + float a = random(); + float b = random(); + float c = random(); + float d = random(); + + if (a > b) + { + if (a > 0.5) + nade_itemdrop_dropitem(e, org, ((random() > 0.5) ? ITEM_ArmorSmall : ITEM_HealthSmall)); + else + nade_itemdrop_dropitem(e, org, ((random() > 0.5) ? ITEM_Shells : ITEM_Bullets)); + } + else if (c > d) + { + if (c > 0.5) + nade_itemdrop_dropitem(e, org, ((random() > 0.5) ? ITEM_Shells : ITEM_Bullets)); + else + nade_itemdrop_dropitem(e, org, ((random() > 0.5) ? ITEM_Rockets : ITEM_Cells)); + } + else if (autocvar_g_nades_itemdrop_powerupjetpackdrop) + { + if (a < 0.5) + nade_itemdrop_dropitem(e, org, ((random() > 0.5) ? ITEM_Jetpack : ITEM_JetpackFuel)); + else + nade_itemdrop_dropitem(e, org, ((random() > 0.5) ? ITEM_Shield : ITEM_Strength)); + } + else + return; } } diff --git a/qcsrc/common/mutators/mutator/nades/nades.qh b/qcsrc/common/mutators/mutator/nades/nades.qh index a0f5b315e..ec88d0025 100644 --- a/qcsrc/common/mutators/mutator/nades/nades.qh +++ b/qcsrc/common/mutators/mutator/nades/nades.qh @@ -64,10 +64,6 @@ 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_armorize_time = 5; //LegendGuard adds new nade cvars 11-02-2021 -float autocvar_g_nades_armorize_rate = 30; -float autocvar_g_nades_armorize_friend = 1; -float autocvar_g_nades_armorize_foe = -2;*/ float autocvar_g_nades_itemdrop_lifetime = 5; //LegendGuard adds new nade cvars 28-02-2021 float autocvar_g_nades_itemdrop_spawncount = 1; float autocvar_g_nades_itemdrop_ball_spread = 0.5; @@ -75,6 +71,7 @@ float autocvar_g_nades_itemdrop_ball_lifetime = 1; //if much time, many items wi float autocvar_g_nades_itemdrop_fountain_delay = 5; float autocvar_g_nades_itemdrop_ball_count = 3; float autocvar_g_nades_itemdrop_fountain_lifetime = 1; //if much time, fountain will remain +bool autocvar_g_nades_itemdrop_powerupjetpackdrop = 0; 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; -- 2.39.2