4.10 support update (unfinished and untested).
This commit is contained in:
parent
eb624f15e3
commit
8e952f412f
80 changed files with 2343 additions and 2356 deletions
|
|
@ -111,10 +111,10 @@ Class SWWMAmmo : Ammo
|
|||
// enumerate all subclasses
|
||||
Array<Class<Ammo> > ammotypes;
|
||||
ammotypes.Clear();
|
||||
for ( int i=0; i<AllActorClasses.Size(); i++ )
|
||||
foreach ( cls:AllActorClasses )
|
||||
{
|
||||
if ( AllActorClasses[i] is GetParentAmmo() )
|
||||
ammotypes.Push((Class<Ammo>)(AllActorClasses[i]));
|
||||
if ( cls is GetParentAmmo() )
|
||||
ammotypes.Push((Class<Ammo>)(cls));
|
||||
}
|
||||
// sort from largest to smallest
|
||||
qsort_ammotypes(ammotypes,0,ammotypes.Size()-1);
|
||||
|
|
@ -122,12 +122,12 @@ Class SWWMAmmo : Ammo
|
|||
Inventory last = null;
|
||||
while ( amt > 0 )
|
||||
{
|
||||
for ( int i=0; i<ammotypes.Size(); i++ )
|
||||
foreach ( type:ammotypes )
|
||||
{
|
||||
let def = GetDefaultByType(ammotypes[i]);
|
||||
let def = GetDefaultByType(type);
|
||||
if ( amt >= def.Amount )
|
||||
{
|
||||
last = DoDrop(ammotypes[i]);
|
||||
last = DoDrop(type);
|
||||
amt -= def.Amount;
|
||||
Amount -= def.Amount;
|
||||
break;
|
||||
|
|
@ -149,10 +149,10 @@ Class SWWMAmmo : Ammo
|
|||
// enumerate all subclasses
|
||||
Array<Class<Ammo> > ammotypes;
|
||||
ammotypes.Clear();
|
||||
for ( int i=0; i<AllActorClasses.Size(); i++ )
|
||||
foreach ( cls:AllActorClasses )
|
||||
{
|
||||
if ( AllActorClasses[i] is GetParentAmmo() )
|
||||
ammotypes.Push((Class<Ammo>)(AllActorClasses[i]));
|
||||
if ( cls is GetParentAmmo() )
|
||||
ammotypes.Push((Class<Ammo>)(cls));
|
||||
}
|
||||
// sort from largest to smallest
|
||||
qsort_ammotypes(ammotypes,0,ammotypes.Size()-1);
|
||||
|
|
@ -177,13 +177,13 @@ Class SWWMAmmo : Ammo
|
|||
continue;
|
||||
}
|
||||
}
|
||||
for ( int i=0; i<ammotypes.Size(); i++ )
|
||||
foreach ( type:ammotypes )
|
||||
{
|
||||
let def = GetDefaultByType(ammotypes[i]);
|
||||
let def = GetDefaultByType(type);
|
||||
if ( excess >= def.Amount )
|
||||
{
|
||||
double ang = FRandom[Junk](0,360);
|
||||
last = DoDrop(ammotypes[i]);
|
||||
last = DoDrop(type);
|
||||
last.SetOrigin(item.pos,false);
|
||||
last.vel.xy = AngleToVector(ang,FRandom[Junk](2,5));
|
||||
excess -= def.Amount;
|
||||
|
|
@ -252,10 +252,10 @@ Class SWWMAmmo : Ammo
|
|||
{
|
||||
Super.ModifyDropAmount(dropamount);
|
||||
int maxdrop = 1;
|
||||
for ( int i=0; i<AllActorClasses.Size(); i++ )
|
||||
foreach ( cls:AllActorClasses )
|
||||
{
|
||||
if ( !(AllActorClasses[i] is GetParentAmmo()) ) continue;
|
||||
let def = GetDefaultByType((Class<Ammo>)(AllActorClasses[i]));
|
||||
if ( !(cls is GetParentAmmo()) ) continue;
|
||||
let def = GetDefaultByType((Class<Ammo>)(cls));
|
||||
maxdrop = max(maxdrop,def.amount);
|
||||
}
|
||||
Amount = Random[ShellDrop](1,clamp(dropamount,1,maxdrop));
|
||||
|
|
@ -393,10 +393,10 @@ Class MagAmmo : Inventory abstract
|
|||
// enumerate all subclasses
|
||||
Array<Class<MagAmmo> > ammotypes;
|
||||
ammotypes.Clear();
|
||||
for ( int i=0; i<AllActorClasses.Size(); i++ )
|
||||
foreach ( cls:AllActorClasses )
|
||||
{
|
||||
if ( AllActorClasses[i] is GetParentMagAmmo() )
|
||||
ammotypes.Push((Class<MagAmmo>)(AllActorClasses[i]));
|
||||
if ( cls is GetParentMagAmmo() )
|
||||
ammotypes.Push((Class<MagAmmo>)(cls));
|
||||
}
|
||||
// sort from largest to smallest
|
||||
qsort_ammotypes(ammotypes,0,ammotypes.Size()-1);
|
||||
|
|
@ -415,13 +415,13 @@ Class MagAmmo : Inventory abstract
|
|||
continue;
|
||||
}
|
||||
// drop bullets otherwise
|
||||
for ( int i=0; i<ammotypes.Size(); i++ )
|
||||
foreach ( type:ammotypes )
|
||||
{
|
||||
let def = GetDefaultByType(ammotypes[i]);
|
||||
let def = GetDefaultByType(type);
|
||||
if ( excess >= def.Amount )
|
||||
{
|
||||
double ang = FRandom[Junk](0,360);
|
||||
last = DoDrop(ammotypes[i]);
|
||||
last = DoDrop(type);
|
||||
last.SetOrigin(item.pos,false);
|
||||
last.vel.xy = AngleToVector(ang,FRandom[Junk](2,5));
|
||||
excess -= def.Amount;
|
||||
|
|
@ -566,10 +566,10 @@ Class MagAmmo : Inventory abstract
|
|||
// enumerate all subclasses
|
||||
Array<Class<MagAmmo> > ammotypes;
|
||||
ammotypes.Clear();
|
||||
for ( int i=0; i<AllActorClasses.Size(); i++ )
|
||||
foreach ( cls:AllActorClasses )
|
||||
{
|
||||
if ( AllActorClasses[i] is GetParentMagAmmo() )
|
||||
ammotypes.Push((Class<MagAmmo>)(AllActorClasses[i]));
|
||||
if ( cls is GetParentMagAmmo() )
|
||||
ammotypes.Push((Class<MagAmmo>)(cls));
|
||||
}
|
||||
// sort from largest to smallest
|
||||
qsort_ammotypes(ammotypes,0,ammotypes.Size()-1);
|
||||
|
|
@ -587,12 +587,12 @@ Class MagAmmo : Inventory abstract
|
|||
continue;
|
||||
}
|
||||
// drop bullets otherwise
|
||||
for ( int i=0; i<ammotypes.Size(); i++ )
|
||||
foreach ( type:ammotypes )
|
||||
{
|
||||
let def = GetDefaultByType(ammotypes[i]);
|
||||
let def = GetDefaultByType(type);
|
||||
if ( amt >= def.Amount )
|
||||
{
|
||||
last = DoDrop(ammotypes[i]);
|
||||
last = DoDrop(type);
|
||||
amt -= def.Amount;
|
||||
Amount -= def.Amount;
|
||||
break;
|
||||
|
|
@ -606,10 +606,10 @@ Class MagAmmo : Inventory abstract
|
|||
{
|
||||
Super.ModifyDropAmount(dropamount);
|
||||
int maxdrop = 1;
|
||||
for ( int i=0; i<AllActorClasses.Size(); i++ )
|
||||
foreach ( cls:AllActorClasses )
|
||||
{
|
||||
if ( !(AllActorClasses[i] is GetParentMagAmmo()) ) continue;
|
||||
let def = GetDefaultByType((Class<MagAmmo>)(AllActorClasses[i]));
|
||||
if ( !(cls is GetParentMagAmmo()) ) continue;
|
||||
let def = GetDefaultByType((Class<MagAmmo>)(cls));
|
||||
maxdrop = max(maxdrop,def.amount);
|
||||
}
|
||||
Amount = Random[ShellDrop](1,clamp(dropamount,1,maxdrop));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue