Removed the UTAmmo class entirely, as it's more trouble than it's worth.

This commit is contained in:
Marisa the Magician 2018-05-24 14:20:57 +02:00
commit 5b0fbf589d
11 changed files with 15 additions and 51 deletions

View file

@ -17,7 +17,7 @@ Class Tier3Weapon : RandomSpawner2 replaces Shotgun
} }
Class Tier3Weapon2 : Tier3Weapon replaces SuperShotgun {} Class Tier3Weapon2 : Tier3Weapon replaces SuperShotgun {}
Class BioAmmo : UTAmmo Class BioAmmo : Ammo
{ {
Default Default
{ {
@ -28,7 +28,6 @@ Class BioAmmo : UTAmmo
Ammo.BackpackAmount 50; Ammo.BackpackAmount 50;
Ammo.BackpackMaxAmount 100; Ammo.BackpackMaxAmount 100;
Ammo.DropAmount 25; Ammo.DropAmount 25;
UTAmmo.UsedInSlot AMMO_SLOT3;
} }
States States
{ {

View file

@ -1,4 +1,4 @@
Class UTRocketAmmo : UTAmmo Class UTRocketAmmo : Ammo
{ {
Default Default
{ {
@ -9,7 +9,6 @@ Class UTRocketAmmo : UTAmmo
Ammo.BackpackAmount 12; Ammo.BackpackAmount 12;
Ammo.BackpackMaxAmount 48; Ammo.BackpackMaxAmount 48;
Ammo.DropAmount 12; Ammo.DropAmount 12;
UTAmmo.UsedInSlot AMMO_SLOT9;
} }
States States
{ {

View file

@ -24,7 +24,7 @@ Class Tier5Weapon : RandomSpawner2 replaces RocketLauncher
} }
} }
Class FlakAmmo : UTAmmo Class FlakAmmo : Ammo
{ {
Default Default
{ {
@ -35,7 +35,6 @@ Class FlakAmmo : UTAmmo
Ammo.BackpackAmount 20; Ammo.BackpackAmount 20;
Ammo.BackpackMaxAmount 50; Ammo.BackpackMaxAmount 50;
Ammo.DropAmount 10; Ammo.DropAmount 10;
UTAmmo.UsedInSlot AMMO_SLOT8;
} }
States States
{ {

View file

@ -24,7 +24,7 @@ Class Tier6Weapon : RandomSpawner2 replaces PlasmaRifle
} }
} }
Class MiniAmmo : UTAmmo Class MiniAmmo : Ammo
{ {
Default Default
{ {
@ -35,7 +35,6 @@ Class MiniAmmo : UTAmmo
Ammo.BackpackAmount 100; Ammo.BackpackAmount 100;
Ammo.BackpackMaxAmount 199; Ammo.BackpackMaxAmount 199;
Ammo.DropAmount 50; Ammo.DropAmount 50;
UTAmmo.UsedInSlot AMMO_SLOT2|AMMO_SLOT7;
} }
States States
{ {

View file

@ -101,7 +101,7 @@ Class DamageAmplifier : Powerup
} }
} }
// Backpack that handles UT ammo types // Backpack that only gives ammo for valid weapons
Class UTBackpack : BackpackItem replaces Backpack Class UTBackpack : BackpackItem replaces Backpack
{ {
override Inventory CreateCopy( Actor other ) override Inventory CreateCopy( Actor other )
@ -111,7 +111,7 @@ Class UTBackpack : BackpackItem replaces Backpack
for ( int i=0; i<AllActorClasses.Size(); i++ ) for ( int i=0; i<AllActorClasses.Size(); i++ )
{ {
let type = (class<Ammo>)(AllActorClasses[i]); let type = (class<Ammo>)(AllActorClasses[i]);
if ( !type || ((type.GetParentClass() != 'Ammo') && (type.GetParentClass() != 'UTAmmo')) ) continue; if ( !type || (type.GetParentClass() != 'Ammo') ) continue;
// check that it's for a valid weapon // check that it's for a valid weapon
bool isvalid = false; bool isvalid = false;
for ( int j=0; j<AllActorClasses.Size(); j++ ) for ( int j=0; j<AllActorClasses.Size(); j++ )
@ -170,7 +170,7 @@ Class UTBackpack : BackpackItem replaces Backpack
{ {
for ( let probe = Owner.Inv; probe; probe = probe.Inv ) for ( let probe = Owner.Inv; probe; probe = probe.Inv )
{ {
if ( (probe.GetParentClass() != 'Ammo') && (probe.GetParentClass() != 'UTAmmo') ) continue; if ( probe.GetParentClass() != 'Ammo' ) continue;
if ( probe.Amount >= probe.MaxAmount && !sv_unlimited_pickup ) continue; if ( probe.Amount >= probe.MaxAmount && !sv_unlimited_pickup ) continue;
int amount = Ammo(probe).Default.BackpackAmount; int amount = Ammo(probe).Default.BackpackAmount;
// extra ammo in baby mode and nightmare mode // extra ammo in baby mode and nightmare mode

View file

@ -16,7 +16,7 @@ Class Tier4Weapon : RandomSpawner2 replaces Chaingun
} }
} }
Class PulseAmmo : UTAmmo Class PulseAmmo : Ammo
{ {
Default Default
{ {
@ -27,7 +27,6 @@ Class PulseAmmo : UTAmmo
Ammo.BackpackAmount 50; Ammo.BackpackAmount 50;
Ammo.BackpackMaxAmount 199; Ammo.BackpackMaxAmount 199;
Ammo.DropAmount 25; Ammo.DropAmount 25;
UTAmmo.UsedInSlot AMMO_SLOT5;
} }
States States
{ {

View file

@ -1,4 +1,4 @@
Class RipperAmmo : UTAmmo Class RipperAmmo : Ammo
{ {
Default Default
{ {
@ -9,7 +9,6 @@ Class RipperAmmo : UTAmmo
Ammo.BackpackAmount 50; Ammo.BackpackAmount 50;
Ammo.BackpackMaxAmount 75; Ammo.BackpackMaxAmount 75;
Ammo.DropAmount 25; Ammo.DropAmount 25;
UTAmmo.UsedInSlot AMMO_SLOT6;
} }
States States
{ {

View file

@ -1,4 +1,4 @@
Class ShockAmmo : UTAmmo Class ShockAmmo : Ammo
{ {
Default Default
{ {
@ -9,7 +9,6 @@ Class ShockAmmo : UTAmmo
Ammo.BackpackAmount 20; Ammo.BackpackAmount 20;
Ammo.BackpackMaxAmount 50; Ammo.BackpackMaxAmount 50;
Ammo.DropAmount 10; Ammo.DropAmount 10;
UTAmmo.UsedInSlot AMMO_SLOT4;
} }
States States
{ {
@ -869,7 +868,7 @@ Class ShockRifle : UTWeapon
} }
} }
Class EnhancedShockAmmo : UTAmmo Class EnhancedShockAmmo : Ammo
{ {
Default Default
{ {
@ -880,7 +879,6 @@ Class EnhancedShockAmmo : UTAmmo
Ammo.BackpackAmount 0; Ammo.BackpackAmount 0;
Ammo.BackpackMaxAmount 25; Ammo.BackpackMaxAmount 25;
Ammo.DropAmount 5; Ammo.DropAmount 5;
UTAmmo.UsedInSlot AMMO_SLOT4;
} }
States States
{ {

View file

@ -1,4 +1,4 @@
Class RifleAmmo : UTAmmo Class RifleAmmo : Ammo
{ {
Default Default
{ {
@ -9,7 +9,6 @@ Class RifleAmmo : UTAmmo
Ammo.BackpackAmount 20; Ammo.BackpackAmount 20;
Ammo.BackpackMaxAmount 50; Ammo.BackpackMaxAmount 50;
Ammo.DropAmount 10; Ammo.DropAmount 10;
UTAmmo.UsedInSlot AMMO_SLOT10;
} }
States States
{ {

View file

@ -7,7 +7,7 @@ Class UTPlayer : DoomPlayer
Player.StartItem "Enforcer"; Player.StartItem "Enforcer";
} }
// Have to modify the give cheat to recognize UT ammo and handle UT armor // Have to modify the give cheat to handle UT armor
override void CheatGive( String name, int amount ) override void CheatGive( String name, int amount )
{ {
if ( PlayerNumber() != consoleplayer ) if ( PlayerNumber() != consoleplayer )
@ -39,7 +39,7 @@ Class UTPlayer : DoomPlayer
for ( int i=0; i<AllActorClasses.Size(); i++ ) for ( int i=0; i<AllActorClasses.Size(); i++ )
{ {
let type = (class<Ammo>)(AllActorClasses[i]); let type = (class<Ammo>)(AllActorClasses[i]);
if ( !type || ((type.GetParentClass() != "Ammo") && (type.GetParentClass() != "UTAmmo")) ) if ( !type || (type.GetParentClass() != "Ammo") )
continue; continue;
// Only give if it's for a valid weapon, unless using "give everything" // Only give if it's for a valid weapon, unless using "give everything"
bool isvalid = false; bool isvalid = false;
@ -158,32 +158,6 @@ Class UTPlayer : DoomPlayer
} }
} }
enum EAmmoSlot
{
AMMO_SLOT10 = 1,
AMMO_SLOT1 = 2,
AMMO_SLOT2 = 4,
AMMO_SLOT3 = 8,
AMMO_SLOT4 = 16,
AMMO_SLOT5 = 32,
AMMO_SLOT6 = 64,
AMMO_SLOT7 = 128,
AMMO_SLOT8 = 256,
AMMO_SLOT9 = 512,
};
Class UTAmmo : Ammo
{
int usedinslot; // bitfield indicating which weapon slots use this ammo
Property UsedInSlot : usedinslot;
Default
{
UTAmmo.UsedInSlot 0;
}
}
// Random Spawner that passes through dropped status to items // Random Spawner that passes through dropped status to items
Class RandomSpawner2 : RandomSpawner Class RandomSpawner2 : RandomSpawner
{ {

View file

@ -1,5 +1,5 @@
// shouldn't be placed in the world (it wasn't in UT99) // shouldn't be placed in the world (it wasn't in UT99)
Class WarheadAmmo : UTAmmo Class WarheadAmmo : Ammo
{ {
Default Default
{ {
@ -11,7 +11,6 @@ Class WarheadAmmo : UTAmmo
Ammo.BackpackMaxAmount 2; Ammo.BackpackMaxAmount 2;
Ammo.DropAmount 1; Ammo.DropAmount 1;
Inventory.RespawnTics 2100; Inventory.RespawnTics 2100;
UTAmmo.UsedInSlot AMMO_SLOT10;
} }
States States
{ {