]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Add random item feature for itemdrop nade for the sake of Mario's thread in the Merge...
authorLegendaryGuard <rootuser999@gmail.com>
Wed, 3 Mar 2021 23:35:37 +0000 (00:35 +0100)
committerLegendaryGuard <rootuser999@gmail.com>
Wed, 3 Mar 2021 23:35:37 +0000 (00:35 +0100)
qcsrc/common/mutators/mutator/nades/nades.qc
qcsrc/common/mutators/mutator/nades/nades.qh

index f69b75f40453933d1775c86aff1417616961aa6c..e3c21ebb9618a716ff17c4cb96a61e45cd8715c3 100644 (file)
@@ -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;
        }
 }
 
index a0f5b315edbdbffc2778e68af795c8708f5fade9..ec88d0025005be49127c9d397d2f7a1e11f843f4 100644 (file)
@@ -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;