VIP weapon/ammo spawn tweakery.

This commit is contained in:
Mari the Deer 2021-09-07 00:32:10 +02:00
commit cf3d42f1ee
5 changed files with 48 additions and 9 deletions

View file

@ -183,6 +183,15 @@ Class SWWMCellAmmoBig : SWWMAmmoSpawner
static Class<Actor> PickAmmo( bool notondemand = false )
{
if ( !Random[Replacements](0,3) )
{
//if ( Random[Replacements](0,1) && (notondemand || SWWMUtility.ItemExists('GrandLance')) && SWWMUtility.CheckNeedsItem('GrandAmmo',true) && !SWWMUtility.ItemExists('GrandAmmo',worldonly:true) && !SWWMUtility.ItemExists('GrandLance',worldonly:true) )
// return 'GrandAmmo';
//if ( Random[Replacements](0,1) && (notondemand || SWWMUtility.ItemExists('RafanKos')) && SWWMUtility.CheckNeedsItem('UltimateAmmo',true) && !SWWMUtility.ItemExists('UltimateAmmo',worldonly:true) && !SWWMUtility.ItemExists('RafanKos',worldonly:true) )
// return 'UltimateAmmo';
if ( (notondemand || SWWMUtility.ItemExists('Ynykron')) && SWWMUtility.CheckNeedsItem('YnykronAmmo',true) && !SWWMUtility.ItemExists('YnykronAmmo',worldonly:true) && !SWWMUtility.ItemExists('Ynykron',worldonly:true) )
return 'YnykronAmmo';
}
/*if ( Random[Replacements](0,1) )
{
if ( !Random[Replacements](0,2) && (notondemand || SWWMUtility.ItemExists('EMPCarbine')) ) return Random[Replacements](0,3)?'EMPCoreBundleSpawn':'EMPCore';

View file

@ -947,7 +947,17 @@ Class Chancebox : Actor
// no candidates? just burst into treats
if ( Random[Chancebox](0,1) )
{
let a = Spawn((!Random[Chancebox](0,2)&&SWWMUtility.ItemExists("Spreadgun"))?"GoldShell":(Random[Chancebox](0,1)&&SWWMUtility.ItemExists("Ynykron"))?"YnykronAmmo":"GrilledCheeseSandwich",pos);
Class<Inventory> vipammodrop = null;
if ( SWWMUtility.ItemExists("Ynykron") && Random[Chancebox](0,1) ) vipammodrop = "YnykronAmmo";
//if ( SWWMUtility.ItemExists("GrandLance") && Random[Chancebox](0,1) && !vipammodrop ) vipammodrop = "GrandAmmo";
//if ( SWWMUtility.ItemExists("RafanKos") && Random[Chancebox](0,1) && !vipammodrop ) vipammodrop = "UltimateAmmo";
if ( SWWMUtility.ItemExists("Spreadgun") && SWWMUtility.CheckNeedsItem("GoldShell",true) && !vipammodrop ) vipammodrop = "GoldShell";
Class<Inventory> vipitemdrop = null;
if ( SWWMUtility.CheckNeedsItem("Mykradvo",true) && !SWWMUtility.ItemExists("Mykradvo",worldonly:true) && Random[Chancebox](0,1) ) vipitemdrop = "Mykradvo";
if ( SWWMUtility.CheckNeedsItem("AngerySigil",true) && !SWWMUtility.ItemExists("AngerySigil",worldonly:true) && Random[Chancebox](0,1) && !vipitemdrop ) vipitemdrop = "AngerySigil";
if ( SWWMUtility.CheckNeedsItem("DivineSprite",true) && !SWWMUtility.ItemExists("DivineSprite",worldonly:true) && Random[Chancebox](0,1) && !vipitemdrop ) vipitemdrop = "DivineSprite";
if ( !vipitemdrop ) vipitemdrop = "GrilledCheeseSandwich";
let a = Spawn((!Random[Chancebox](0,2)&&vipammodrop)?vipammodrop:vipitemdrop,pos);
a.bDROPPED = false;
a.bNOGRAVITY = false;
a.vel.z = FRandom[Chancebox](2,4);

View file

@ -1809,9 +1809,27 @@ Class SWWMUtility
}
static Class<Inventory> PickSWWMSlot0()
{
//return PickTrio('Ynykron','GrandLance','RafanKos');
//return PickPair('Ynykron','GrandLance');
return 'Ynykron';
/*if ( !CheckNeedsItem('Ynykron') )
{
if ( !CheckNeedsItem('GrandLance') )
{
if ( !CheckNeedsItem('RafanKos') )
return PickSWWMSlot9();
return 'RafanKos';
}
if ( !CheckNeedsItem('RafanKos') )
return 'GrandLance';
return PickPair('GrandLance','RafanKos');
}
return PickTrio('Ynykron','GrandLance','RafanKos');*/
/*if ( !CheckNeedsItem('Ynykron') )
{
if ( !CheckNeedsItem('GrandLance') )
return PickSWWMSlot9();
return 'GrandLance';
}
return PickPair('Ynykron','GrandLance');*/
return !CheckNeedsItem('Ynykron')?'CandyGun':'Ynykron';
}
static Class<Inventory> PickDoomSlot6()
{