Remove Dragon's Breath shells.

Nuggets can no longer be stored as spares.
This commit is contained in:
Mari the Deer 2022-06-04 22:09:46 +02:00
commit 93ac4d3a4f
45 changed files with 612 additions and 1028 deletions

View file

@ -17,7 +17,7 @@ Class RedShell : SWWMAmmo
Inventory.Amount 1;
Inventory.MaxAmount 30;
Ammo.BackpackAmount 3;
Ammo.BackpackMaxAmount 50;
Ammo.BackpackMaxAmount 60;
Ammo.DropAmount 1;
+FLOATBOB;
FloatBobStrength 0.25;
@ -72,7 +72,7 @@ Class GreenShell : SWWMAmmo
Inventory.Amount 1;
Inventory.MaxAmount 25;
Ammo.BackpackAmount 2;
Ammo.BackpackMaxAmount 45;
Ammo.BackpackMaxAmount 50;
Ammo.DropAmount 1;
+FLOATBOB;
FloatBobStrength 0.25;
@ -112,60 +112,6 @@ Class GreenShell4 : GreenShell
}
}
Class WhiteShell : SWWMAmmo
{
Default
{
//$Title 1x White Shells
//$Group Ammo
//$Sprite graphics/HUD/Icons/A_ShellsDragon.png
//$Icon ammo
Tag "$T_WHITESHELL";
SWWMAmmo.PickupTag "WHITESHELL";
Stamina 1000;
Inventory.Icon "graphics/HUD/Icons/A_ShellsDragon.png";
Inventory.Amount 1;
Inventory.MaxAmount 10;
Ammo.BackpackAmount 0;
Ammo.BackpackMaxAmount 30;
Ammo.DropAmount 1;
+FLOATBOB;
FloatBobStrength 0.25;
Radius 4;
Accuracy 70;
}
States
{
Spawn:
XZW1 A -1;
Stop;
}
}
Class WhiteShell2 : WhiteShell
{
Default
{
//$Title 2x White Shells
//$Group Ammo
//$Sprite graphics/HUD/Icons/A_ShellsDragon.png
//$Icon ammo
Inventory.Amount 2;
Radius 6;
}
}
Class WhiteShell4 : WhiteShell
{
Default
{
//$Title 3x White Shells
//$Group Ammo
//$Sprite graphics/HUD/Icons/A_ShellsDragon.png
//$Icon ammo
Inventory.Amount 4;
Radius 6;
}
}
Class BlueShell : SWWMAmmo
{
Default
@ -176,12 +122,12 @@ Class BlueShell : SWWMAmmo
//$Icon ammo
Tag "$T_BLUESHELL";
SWWMAmmo.PickupTag "BLUESHELL";
Stamina 2500;
Stamina 1500;
Inventory.Icon "graphics/HUD/Icons/A_ShellsKinylum.png";
Inventory.Amount 1;
Inventory.MaxAmount 15;
Inventory.MaxAmount 20;
Ammo.BackpackAmount 1;
Ammo.BackpackMaxAmount 35;
Ammo.BackpackMaxAmount 40;
Ammo.DropAmount 1;
+FLOATBOB;
FloatBobStrength 0.25;
@ -221,61 +167,6 @@ Class BlueShell4 : BlueShell
}
}
Class BlackShell : SWWMAmmo
{
Default
{
//$Title 1x Black Shells
//$Group Ammo
//$Sprite graphics/HUD/Icons/A_ShellsFuck.png
//$Icon ammo
Tag "$T_BLACKSHELL";
SWWMAmmo.PickupTag "BLACKSHELL";
Stamina 4000;
Inventory.Icon "graphics/HUD/Icons/A_ShellsFuck.png";
Inventory.Amount 1;
Inventory.MaxAmount 5;
Ammo.BackpackAmount 0;
Ammo.BackpackMaxAmount 25;
Ammo.DropAmount 1;
+FLOATBOB;
FloatBobStrength 0.25;
Radius 4;
Height 20;
Accuracy 75;
}
States
{
Spawn:
XZW1 A -1;
Stop;
}
}
Class BlackShell2 : BlackShell
{
Default
{
//$Title 2x Black Shells
//$Group Ammo
//$Sprite graphics/HUD/Icons/A_ShellsFuck.png
//$Icon ammo
Inventory.Amount 2;
Radius 6;
}
}
Class BlackShell4 : BlackShell
{
Default
{
//$Title 4x Black Shells
//$Group Ammo
//$Sprite graphics/HUD/Icons/A_ShellsFuck.png
//$Icon ammo
Inventory.Amount 4;
Radius 6;
}
}
Class PurpleShell : SWWMAmmo
{
Default
@ -286,12 +177,12 @@ Class PurpleShell : SWWMAmmo
//$Icon ammo
Tag "$T_PURPLESHELL";
SWWMAmmo.PickupTag "PURPLESHELL";
Stamina 1500;
Stamina 2500;
Inventory.Icon "graphics/HUD/Icons/A_ShellsBall.png";
Inventory.Amount 1;
Inventory.MaxAmount 20;
Inventory.MaxAmount 15;
Ammo.BackpackAmount 1;
Ammo.BackpackMaxAmount 40;
Ammo.BackpackMaxAmount 30;
Ammo.DropAmount 1;
+FLOATBOB;
FloatBobStrength 0.25;
@ -331,6 +222,61 @@ Class PurpleShell4 : PurpleShell
}
}
Class BlackShell : SWWMAmmo
{
Default
{
//$Title 1x Black Shells
//$Group Ammo
//$Sprite graphics/HUD/Icons/A_ShellsFuck.png
//$Icon ammo
Tag "$T_BLACKSHELL";
SWWMAmmo.PickupTag "BLACKSHELL";
Stamina 4000;
Inventory.Icon "graphics/HUD/Icons/A_ShellsFuck.png";
Inventory.Amount 1;
Inventory.MaxAmount 10;
Ammo.BackpackAmount 0;
Ammo.BackpackMaxAmount 20;
Ammo.DropAmount 1;
+FLOATBOB;
FloatBobStrength 0.25;
Radius 4;
Height 20;
Accuracy 75;
}
States
{
Spawn:
XZW1 A -1;
Stop;
}
}
Class BlackShell2 : BlackShell
{
Default
{
//$Title 2x Black Shells
//$Group Ammo
//$Sprite graphics/HUD/Icons/A_ShellsFuck.png
//$Icon ammo
Inventory.Amount 2;
Radius 6;
}
}
Class BlackShell4 : BlackShell
{
Default
{
//$Title 4x Black Shells
//$Group Ammo
//$Sprite graphics/HUD/Icons/A_ShellsFuck.png
//$Icon ammo
Inventory.Amount 4;
Radius 6;
}
}
Class GoldShellSparkle : Actor
{
override void PostBeginPlay()
@ -529,7 +475,7 @@ Class HellblazerMissiles : SWWMAmmo
Inventory.Amount 1;
Inventory.MaxAmount 18;
Ammo.BackpackAmount 2;
Ammo.BackpackMaxAmount 36;
Ammo.BackpackMaxAmount 48;
Ammo.DropAmount 1;
+FLOATBOB;
FloatBobStrength 0.25;
@ -755,7 +701,7 @@ Class SparkUnit : SWWMAmmo
Inventory.Amount 1;
Inventory.MaxAmount 8;
Ammo.BackpackAmount 1;
Ammo.BackpackMaxAmount 24;
Ammo.BackpackMaxAmount 20;
Ammo.DropAmount 1;
+FLOATBOB;
FloatBobStrength 0.25;

View file

@ -63,10 +63,10 @@ Class SWWMShellAmmoSmall : SWWMAmmoSpawner
return 'GreenShell';
case 6:
case 7:
return 'PurpleShell';
return 'BlueShell';
}
// case 8-9
return 'BlueShell';
return 'PurpleShell';
}
}
Class SWWMShellAmmoBig : SWWMAmmoSpawner
@ -77,7 +77,7 @@ Class SWWMShellAmmoBig : SWWMAmmoSpawner
{
/*if ( Random[Replacements](0,1) && (notondemand || SWWMUtility.ItemExists('PuntzerBeta') || SWWMUtility.ItemExists('PuntzerGamma')) )
return Random[Replacements](0,2)?'SMW05SmallAmmo':'SMW05BigAmmo';*/
switch( Random[Replacements](0,17) )
switch( Random[Replacements](0,14) )
{
case 0:
case 1:
@ -92,16 +92,12 @@ Class SWWMShellAmmoBig : SWWMAmmoSpawner
case 8:
case 9:
case 10:
return 'PurpleShell';
return 'BlueShell';
case 11:
case 12:
case 13:
return 'BlueShell';
case 14:
case 15:
return 'WhiteShell';
return 'PurpleShell';
}
// case 16-17
// case 13-14
return 'BlackShell';
}
}

View file

@ -19,11 +19,24 @@ Class ArmorNugget : SWWMArmor
}
Class ArmorNuggetItem : SWWMSpareArmor
{
override Inventory CreateCopy( Actor other )
override bool Use( bool pickup )
{
// additional lore
SWWMLoreLibrary.Add(other.player,"Nugget");
return Super.CreateCopy(other);
SWWMLoreLibrary.Add(Owner.player,"Nugget");
bool bUsed = Super.Use(pickup);
// sell excess
if ( !bUsed )
{
int sellprice = int(abs(Stamina)*.5);
SWWMScoreObj.Spawn(sellprice,Owner.Vec3Offset(FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8)+Owner.Height/2));
SWWMCredits.Give(Owner.player,sellprice);
if ( Owner.player )
{
if ( Owner.player == players[consoleplayer] ) Console.Printf(StringTable.Localize(SWWMUtility.SellFemaleItem(self)?"$SWWM_SELLEXTRA_FEM":"$SWWM_SELLEXTRA"),GetTag(),sellprice);
else Console.Printf(StringTable.Localize(SWWMUtility.SellFemaleItem(self)?"$SWWM_SELLEXTRAREM_FEM":"$SWWM_SELLEXTRAREM"),Owner.player.GetUserName(),GetTag(),sellprice);
}
}
return bUsed;
}
override void DoPickupSpecial( Actor toucher )
@ -40,13 +53,13 @@ Class ArmorNuggetItem : SWWMSpareArmor
//$Icon armour
Tag "$T_NUGGETA";
Stamina 400;
Inventory.Icon "graphics/HUD/Icons/I_ArmorNugget.png";
Inventory.PickupMessage "$T_NUGGETA";
Inventory.MaxAmount 20;
Inventory.InterHubAmount 20;
Inventory.MaxAmount 0;
Inventory.InterHubAmount 0;
Inventory.UseSound "misc/armor_pkup";
SWWMSpareArmor.GiveArmor "ArmorNugget";
+INVENTORY.ALWAYSPICKUP;
-INVENTORY.INVBAR;
Radius 4;
Height 22;
}

View file

@ -970,9 +970,8 @@ Class Chancebox : Actor
else if ( Random[Chancebox](0,1) )
{
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("Ynykron") && SWWMUtility.CheckNeedsItem("YnykronAmmo",true) && Random[Chancebox](0,1) ) vipammodrop = "YnykronAmmo";
if ( SWWMUtility.ItemExists("RafanKos") && SWWMUtility.CheckNeedsItem("UltimateAmmo",true) && 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";
@ -1051,21 +1050,13 @@ Class Chancebox : Actor
a.bDROPPED = false;
a.bNOGRAVITY = false;
a.vel.z = FRandom[Chancebox](2,4);
for ( int i=0; i<3; i++ )
{
a = Spawn("WhiteShell",pos);
a.bDROPPED = false;
a.bNOGRAVITY = false;
a.vel.z = FRandom[Chancebox](2,4);
a.vel.xy = (cos(i*120),sin(i*120))*FRandom[Chancebox](1,2);
}
for ( int i=0; i<8; i++ )
{
a = Spawn((i%2)?"PurpleShell":"BlueShell",pos);
a.bDROPPED = false;
a.bNOGRAVITY = false;
a.vel.z = FRandom[Chancebox](2,4);
a.vel.xy = (cos(i*72),sin(i*72))*FRandom[Chancebox](3,4);
a.vel.xy = (cos(i*72),sin(i*72))*FRandom[Chancebox](2,3);
}
for ( int i=0; i<12; i++ )
{
@ -1073,7 +1064,7 @@ Class Chancebox : Actor
a.bDROPPED = false;
a.bNOGRAVITY = false;
a.vel.z = FRandom[Chancebox](2,4);
a.vel.xy = (cos(i*30),sin(i*30))*FRandom[Chancebox](5,6);
a.vel.xy = (cos(i*30),sin(i*30))*FRandom[Chancebox](4,5);
}
}
else if ( Random[Chancebox](0,1) )

View file

@ -65,11 +65,24 @@ Class RefresherRegen : Powerup
Class HealthNuggetItem : SWWMHealth
{
override Inventory CreateCopy( Actor other )
override bool Use( bool pickup )
{
// additional lore
SWWMLoreLibrary.Add(other.player,"Nugget");
return Super.CreateCopy(other);
SWWMLoreLibrary.Add(Owner.player,"Nugget");
bool bUsed = Super.Use(pickup);
// sell excess
if ( !bUsed )
{
int sellprice = int(abs(Stamina)*.5);
SWWMScoreObj.Spawn(sellprice,Owner.Vec3Offset(FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8),FRandom[ScoreBits](-8,8)+Owner.Height/2));
SWWMCredits.Give(Owner.player,sellprice);
if ( Owner.player )
{
if ( Owner.player == players[consoleplayer] ) Console.Printf(StringTable.Localize(SWWMUtility.SellFemaleItem(self)?"$SWWM_SELLEXTRA_FEM":"$SWWM_SELLEXTRA"),GetTag(),sellprice);
else Console.Printf(StringTable.Localize(SWWMUtility.SellFemaleItem(self)?"$SWWM_SELLEXTRAREM_FEM":"$SWWM_SELLEXTRAREM"),Owner.player.GetUserName(),GetTag(),sellprice);
}
}
return bUsed;
}
override void DoPickupSpecial( Actor toucher )
{
@ -84,12 +97,12 @@ Class HealthNuggetItem : SWWMHealth
//$Icon health
Tag "$T_NUGGETH";
Stamina 200;
Inventory.Icon "graphics/HUD/Icons/I_HealthNugget.png";
Inventory.PickupMessage "$T_NUGGETH";
Inventory.MaxAmount 20;
Inventory.InterHubAmount 20;
Inventory.MaxAmount 0;
Inventory.InterHubAmount 0;
SWWMHealth.GiveHealth "HealthNugget";
+INVENTORY.ALWAYSPICKUP;
-INVENTORY.INVBAR;
Radius 4;
Height 22;
}