Small scorenum/damnum refactor.
This commit is contained in:
parent
6d8732af5d
commit
38cd7df826
23 changed files with 182 additions and 54 deletions
|
|
@ -25,16 +25,16 @@ Class ArmorNuggetItem : SWWMSpareArmor
|
|||
SWWMLoreLibrary.Add(Owner.player,"Nugget");
|
||||
bool bUsed = Super.Use(pickup);
|
||||
// sell excess
|
||||
if ( !bUsed )
|
||||
if ( !bUsed && Owner.player )
|
||||
{
|
||||
int sellprice = abs(Stamina)/2;
|
||||
SWWMScoreObj.Spawn(sellprice,level.Vec3Offset(Owner.pos,SWWMUtility.Vec3FromAngles(FRandom[ScoreBits](0,360),FRandom[ScoreBits](-90,90))*8.+(0,0,Owner.Height/2)));
|
||||
SWWMCredits.Give(Owner.player,sellprice);
|
||||
if ( Owner.player )
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
{
|
||||
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);
|
||||
SWWMScoreObj.SpawnAtActorBunch(sellprice,Owner);
|
||||
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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -110,6 +110,8 @@ Class SWWMArmor : Armor abstract
|
|||
while ( (amount <= (MaxAmount-default.Amount)) && (Owner.CountInv(parent) > 0) )
|
||||
{
|
||||
Amount += default.Amount;
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
SWWMScoreObj.SpawnAtActorBunch(default.Amount,Owner,Font.CR_GREEN);
|
||||
Owner.TakeInventory(parent,1);
|
||||
// absorb the extra damage too
|
||||
saved = HandleDamage(damage,damageType,flags);
|
||||
|
|
@ -168,6 +170,8 @@ Class SWWMSpareArmor : Inventory abstract
|
|||
}
|
||||
Owner.GiveInventory(giveme,GetDefaultByType(giveme).Amount);
|
||||
SWWMHandler.ArmorFlash(Owner.PlayerNumber());
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
SWWMScoreObj.SpawnAtActorBunch(GetDefaultByType(giveme).Amount,Owner,Font.CR_GREEN);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -93,6 +93,8 @@ Class SWWMHealth : Inventory abstract
|
|||
}
|
||||
SWWMHandler.HealthFlash(Owner.PlayerNumber());
|
||||
Owner.GiveInventory(giveme,GetDefaultByType(giveme).Amount);
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
SWWMScoreObj.SpawnAtActorBunch(GetDefaultByType(giveme).Amount,Owner,Font.CR_BLUE);
|
||||
AutoUseExtra(false);
|
||||
return true;
|
||||
}
|
||||
|
|
@ -141,6 +143,8 @@ Class SWWMHealth : Inventory abstract
|
|||
while ( (Amount > 0) && (newdamage > 0) )
|
||||
{
|
||||
newdamage = newdamage-GetDefaultByType(giveme).Amount;
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
SWWMScoreObj.SpawnAtActorBunch(GetDefaultByType(giveme).Amount,Owner,Font.CR_BLUE);
|
||||
if ( newdamage < 0 ) Owner.GiveBody(-newdamage,GetDefaultByType(giveme).MaxAmount);
|
||||
newdamage = max(0,newdamage);
|
||||
if ( !morethanonce ) SWWMHandler.HealthFlash(Owner.PlayerNumber());
|
||||
|
|
|
|||
|
|
@ -15,14 +15,18 @@ Mixin Class SWWMAutoUseFix
|
|||
// sell excess if there's a price
|
||||
if ( !deathmatch && bALWAYSPICKUP && (Amount+item.Amount > MaxAmount) && (Stamina != 0) )
|
||||
{
|
||||
int sellprice = abs(Stamina)/2;
|
||||
SWWMScoreObj.Spawn(sellprice,level.Vec3Offset(Owner.pos,SWWMUtility.Vec3FromAngles(FRandom[ScoreBits](0,360),FRandom[ScoreBits](-90,90))*8.+(0,0,Owner.Height/2)));
|
||||
SWWMCredits.Give(Owner.player,sellprice);
|
||||
if ( Owner.player )
|
||||
{
|
||||
if ( Owner.player == players[consoleplayer] ) Console.Printf(StringTable.Localize(SWWMUtility.SellFemaleItem(item)?"$SWWM_SELLEXTRA_FEM":"$SWWM_SELLEXTRA"),GetTag(),sellprice);
|
||||
int sellprice = abs(Stamina)/2;
|
||||
SWWMCredits.Give(Owner.player,sellprice);
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
{
|
||||
SWWMScoreObj.SpawnAtActorBunch(sellprice,Owner);
|
||||
Console.Printf(StringTable.Localize(SWWMUtility.SellFemaleItem(item)?"$SWWM_SELLEXTRA_FEM":"$SWWM_SELLEXTRA"),GetTag(),sellprice);
|
||||
}
|
||||
else Console.Printf(StringTable.Localize(SWWMUtility.SellFemaleItem(item)?"$SWWM_SELLEXTRAREM_FEM":"$SWWM_SELLEXTRAREM"),Owner.player.GetUserName(),GetTag(),sellprice);
|
||||
}
|
||||
item.bPickupGood = true;
|
||||
}
|
||||
}
|
||||
return Super.HandlePickup(item);
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ Class SWWMCollectible : Inventory abstract
|
|||
// give credit
|
||||
if ( other.player && (Stamina > 0) )
|
||||
{
|
||||
SWWMScoreObj.Spawn(Stamina,level.Vec3Offset(other.pos,SWWMUtility.Vec3FromAngles(FRandom[ScoreBits](0,360),FRandom[ScoreBits](-90,90))*8.+(0,0,other.Height/2)));
|
||||
if ( other.player == players[consoleplayer] ) SWWMScoreObj.SpawnAtActorBunch(Stamina,other);
|
||||
SWWMCredits.Give(other.player,Stamina);
|
||||
}
|
||||
// send to all other players
|
||||
|
|
|
|||
|
|
@ -56,6 +56,8 @@ Class RefresherRegen : Powerup
|
|||
if ( !Owner || (Owner.health <= 0) || ((EffectTics-5)%175) ) return;
|
||||
if ( !Owner.GiveBody(int(Strength),500) ) return;
|
||||
SWWMHandler.DoFlash(Owner,Color(32,224,128,255),10);
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
SWWMScoreObj.SpawnAtActorBunch(int(Strength),Owner,Font.CR_BLUE);
|
||||
Owner.A_StartSound("powerup/refresher",CHAN_ITEMEXTRA,CHANF_LOCAL|CHANF_OVERLAP,.4);
|
||||
if ( Owner is 'Demolitionist' )
|
||||
Demolitionist(Owner).lastbump *= 0.99;
|
||||
|
|
@ -70,16 +72,16 @@ Class HealthNuggetItem : SWWMHealth
|
|||
SWWMLoreLibrary.Add(Owner.player,"Nugget");
|
||||
bool bUsed = Super.Use(pickup);
|
||||
// sell excess
|
||||
if ( !bUsed )
|
||||
if ( !bUsed && Owner.player )
|
||||
{
|
||||
int sellprice = abs(Stamina)/2;
|
||||
SWWMScoreObj.Spawn(sellprice,level.Vec3Offset(Owner.pos,SWWMUtility.Vec3FromAngles(FRandom[ScoreBits](0,360),FRandom[ScoreBits](-90,90))*8.+(0,0,Owner.Height/2)));
|
||||
SWWMCredits.Give(Owner.player,sellprice);
|
||||
if ( Owner.player )
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
{
|
||||
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);
|
||||
SWWMScoreObj.SpawnAtActorBunch(sellprice,Owner);
|
||||
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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -529,12 +529,15 @@ Class SWWMLamp : Inventory
|
|||
if ( (Charge >= Default.Charge) && (Amount+item.Amount > MaxAmount) )
|
||||
{
|
||||
// sell excess
|
||||
int sellprice = abs(Stamina)/2;
|
||||
SWWMScoreObj.Spawn(sellprice,level.Vec3Offset(Owner.pos,SWWMUtility.Vec3FromAngles(FRandom[ScoreBits](0,360),FRandom[ScoreBits](-90,90))*8.+(0,0,Owner.Height/2)));
|
||||
SWWMCredits.Give(Owner.player,sellprice);
|
||||
if ( Owner.player )
|
||||
{
|
||||
if ( Owner.player == players[consoleplayer] ) Console.Printf(StringTable.Localize(SWWMUtility.SellFemaleItem(item)?"$SWWM_SELLEXTRA_FEM":"$SWWM_SELLEXTRA"),GetTag(),sellprice);
|
||||
int sellprice = abs(Stamina)/2;
|
||||
SWWMCredits.Give(Owner.player,sellprice);
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
{
|
||||
SWWMScoreObj.SpawnAtActorBunch(sellprice,Owner);
|
||||
Console.Printf(StringTable.Localize(SWWMUtility.SellFemaleItem(item)?"$SWWM_SELLEXTRA_FEM":"$SWWM_SELLEXTRA"),GetTag(),sellprice);
|
||||
}
|
||||
else Console.Printf(StringTable.Localize(SWWMUtility.SellFemaleItem(item)?"$SWWM_SELLEXTRAREM_FEM":"$SWWM_SELLEXTRAREM"),Owner.player.GetUserName(),GetTag(),sellprice);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,17 +43,34 @@ Class GrilledCheeseSandwich : Inventory
|
|||
SWWMHandler.DoFlash(Owner,Color(64,255,255,64),10);
|
||||
Owner.A_QuakeEx(9.,9.,9.,3,0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.);
|
||||
Owner.GiveBody(1000,1000);
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
SWWMScoreObj.SpawnAtActorBunch(1000,Owner,Font.CR_BLUE);
|
||||
if ( Owner is 'Demolitionist' )
|
||||
{
|
||||
let n = Owner.FindInventory("ArmorNugget");
|
||||
if ( !n ) Owner.GiveInventory("ArmorNugget",GetDefaultByType("ArmorNugget").MaxAmount);
|
||||
else n.Amount = n.MaxAmount;
|
||||
else
|
||||
{
|
||||
n.Amount = n.MaxAmount;
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
SWWMScoreObj.SpawnAtActorBunch(n.MaxAmount,Owner,Font.CR_GREEN);
|
||||
}
|
||||
let b = Owner.FindInventory("BlastSuit");
|
||||
if ( !b ) Owner.GiveInventory("BlastSuit",GetDefaultByType("BlastSuit").MaxAmount);
|
||||
else b.Amount = b.MaxAmount;
|
||||
else
|
||||
{
|
||||
b.Amount = b.MaxAmount;
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
SWWMScoreObj.SpawnAtActorBunch(b.MaxAmount,Owner,Font.CR_GREEN);
|
||||
}
|
||||
let w = Owner.FindInventory("WarArmor");
|
||||
if ( !w ) Owner.GiveInventory("WarArmor",GetDefaultByType("WarArmor").MaxAmount);
|
||||
else w.Amount = w.MaxAmount;
|
||||
else
|
||||
{
|
||||
w.Amount = w.MaxAmount;
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
SWWMScoreObj.SpawnAtActorBunch(w.MaxAmount,Owner,Font.CR_GREEN);
|
||||
}
|
||||
SWWMLoreLibrary.Add(Owner.player,"Nugget");
|
||||
SWWMLoreLibrary.Add(Owner.player,"BlastSuit");
|
||||
SWWMLoreLibrary.Add(Owner.player,"WarArmor");
|
||||
|
|
@ -1044,8 +1061,12 @@ Class RagekitPower : Powerup
|
|||
SWWMHandler.DoFlash(Owner,Color(16,255,0,0),5);
|
||||
Owner.GiveBody(1,100);
|
||||
Owner.A_AlertMonsters(swwm_uncapalert?0:2000);
|
||||
if ( (Owner.player == players[consoleplayer]) && (gametic > lastrage) && (swwm_mutevoice < 2) )
|
||||
lastrage = SWWMHandler.AddOneliner("ragekit",2,5)+20;
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
{
|
||||
SWWMScoreObj.SpawnAtActorBunch(1,Owner,Font.CR_BLUE);
|
||||
if ( (gametic > lastrage) && (swwm_mutevoice < 2) )
|
||||
lastrage = SWWMHandler.AddOneliner("ragekit",2,5)+20;
|
||||
}
|
||||
Owner.A_QuakeEx(1.5,1.5,1.5,Random[Rage](1,2),0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:.5);
|
||||
lastpulse = max(lastpulse,gametic+10);
|
||||
Demolitionist(Owner).lastbump *= .995;
|
||||
|
|
@ -1078,8 +1099,12 @@ Class RagekitPower : Powerup
|
|||
Owner.A_AlertMonsters(swwm_uncapalert?0:5000);
|
||||
SWWMHandler.DoFlash(Owner,Color(64,255,0,0),10);
|
||||
Owner.A_QuakeEx(8.,8.,8.,Random[Rage](3,8),0,1,"",QF_RELATIVE|QF_SCALEDOWN|QF_3D,rollIntensity:1.);
|
||||
if ( (Owner.player == players[consoleplayer]) && (gametic > lastrage) && (swwm_mutevoice < 2) )
|
||||
lastrage = SWWMHandler.AddOneliner("ragekit",2,5)+40;
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
{
|
||||
SWWMScoreObj.SpawnAtActorBunch(5,Owner,Font.CR_BLUE);
|
||||
if ( (gametic > lastrage) && (swwm_mutevoice < 2) )
|
||||
lastrage = SWWMHandler.AddOneliner("ragekit",2,5)+40;
|
||||
}
|
||||
Owner.A_StartSound("powerup/ragekithit",CHAN_POWERUP,CHANF_OVERLAP);
|
||||
lasteffect = level.maptime;
|
||||
lastpulse = max(lastpulse,gametic+35);
|
||||
|
|
@ -1120,6 +1145,8 @@ Class Ragekit : Inventory
|
|||
if ( pickup && !deathmatch ) return false;
|
||||
if ( pickup && ((Owner.player == players[consoleplayer]) || bBigPowerup) ) Owner.A_StartSound(UseSound,CHAN_ITEMEXTRA);
|
||||
Owner.GiveBody(100,100);
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
SWWMScoreObj.SpawnAtActorBunch(100,Owner,Font.CR_BLUE);
|
||||
SWWMUtility.AchievementProgressInc("rage",1,Owner.player);
|
||||
if ( !(Owner is 'Demolitionist') )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1172,6 +1172,8 @@ Class DivineSpriteEffect : Inventory
|
|||
{
|
||||
healcnt = 0;
|
||||
Owner.GiveBody(1000,1000);
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
SWWMScoreObj.SpawnAtActorBunch(1000,Owner,Font.CR_BLUE);
|
||||
SWWMHandler.DoFlash(Owner,Color(40,255,255,255),20);
|
||||
if ( Owner is 'Demolitionist' )
|
||||
Demolitionist(Owner).lastbump *= 0.97;
|
||||
|
|
@ -1180,6 +1182,8 @@ Class DivineSpriteEffect : Inventory
|
|||
else if ( !(healcnt%5) )
|
||||
{
|
||||
Owner.GiveBody(500,10000);
|
||||
if ( Owner.player == players[consoleplayer] )
|
||||
SWWMScoreObj.SpawnAtActorBunch(500,Owner,Font.CR_BLUE);
|
||||
Owner.A_StartSound("powerup/divinehit",CHAN_ITEMEXTRA,CHANF_OVERLAP);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue