

actor OnceC : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor GuardUpFlag : OnceC{}
actor GuardDownFlag : OnceC{}

//actor JumpCanclerDisable : OnceC{}

actor LastHealthFlag : Inventory
{
inventory.amount 1
inventory.maxamount 30000
}

actor NoAmmoPickup : OnceC{}

actor CanSnatch_F : OnceC{}
actor IsAPirate : OnceC{}
actor IsTheLaw : OnceC{}
actor IsACommie : OnceC{}
actor PirateTreasureStack : Inventory
{
inventory.amount 1
inventory.maxamount 9999
}

actor ProjectilePortDead : OnceC{}
actor ProjectilePorting : Powerup
{
Powerup.Duration 3//2
}

actor PressButton_Main_F : Inventory {}
actor PressButton_Alt_F : Inventory {}
actor PressButton_Jump_F : Inventory {}

actor VivifyFlag1 : Inventory {}
actor VivifyFlag2 : Inventory {}
actor VivifyFlag3 : Inventory {}
//Used mainly for animating Class sprites
actor VivifyDelay3 : Powerup
{
Powerup.Duration 3
}
actor VivifyDelay4 : Powerup{Powerup.Duration 4}
actor VivifyDelay5 : Powerup{Powerup.Duration 5}
actor VivifyDelay6 : Powerup{Powerup.Duration 6}
actor VivifyDelay7 : Powerup{Powerup.Duration 7}
actor VivifyDelay8 : Powerup{Powerup.Duration 8}
actor VivifyDelay9 : Powerup{Powerup.Duration 9}
actor VivifyDelay10 : Powerup{Powerup.Duration 10}

actor SlideVivifyFlag : Inventory{}

actor VivifyCycle1 : Inventory
{
inventory.amount 1
inventory.maxamount 100
}
actor VivifyCycle2 : VivifyCycle1{}
actor VivifyCycle3 : VivifyCycle1{}
actor VivifyCycle4 : VivifyCycle1{}
actor VivifyCycle5 : VivifyCycle1{}
actor VivifyCycle6 : VivifyCycle1{}

actor PowerMomZVerify : Powerup
{
Powerup.Duration 2
}

actor HelperIsActiveFlag1 : OnceC{}//Track if a spawned actor is still active
actor HelperIsActiveFlag2 : OnceC{}
actor HelperIsActiveFlag3 : OnceC{}
actor HelperIsActiveFlag4 : OnceC{}
actor HelperIsActiveFlag5 : OnceC{}
actor HelperIsActiveFlag6 : OnceC{}

actor CBM_IsHovering : Powerup
{
Powerup.Duration 9
}

actor PowerStaminaFlagDeplete : Powerup
{
Powerup.Duration 4
}

actor EndlessAmmoCycle_F : Inventory
{
inventory.amount 1
inventory.maxamount 10
}

actor AirFraudAchieved : Inventory
{
inventory.amount 1
inventory.maxamount 99999
}

actor CBM_AviationActive : Inventory{}
//This is used to limit classes to one instance of turning flight on/off
//Mainly for classes with dynamic flight, such as Bubbleman or Astroman
actor CBM_AviationOn_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("CBM_AviationActive",1,2)
TNT1 A 0 ACS_NamedExecuteWithResult("core_flyplayer",0,2)
TNT1 A 0 A_GiveInventory("CBM_AviationActive",1)
stop
}
}
actor CBM_AviationOff_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("CBM_AviationActive",1,1)
stop
TNT1 A 0 ACS_NamedExecuteWithResult("core_flyplayer",0,0)
TNT1 A 0 A_TakeInventory("CBM_AviationActive")
stop
}
}



actor DynamicArmorDosage_F2 : Inventory
{
inventory.amount 1
inventory.maxamount 30000
}
actor SetDynamicArmorDosage_P2 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("DynamicArmorDosage_F2",CallACS("core_getarmorinfo",1))
stop
}
}



actor ZangiefAngle : Inventory
{
inventory.amount 1
inventory.maxamount 255
}

actor IsPerformingSuplex : OnceC{}

actor SuplexID : Inventory //ID of the player grabbed
{
inventory.amount 1
inventory.maxamount 64
}

//actor ZangiefSuplexProtect : OnceC {}




actor StopSnd_P0 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_StopSound(0)
stop
}
}
actor StopSnd_P1 : CustomInventory{States{Pickup:TNT1 A 0 A_StopSound(1)stop}}
actor StopSnd_P2 : CustomInventory{States{Pickup:TNT1 A 0 A_StopSound(2)stop}}
actor StopSnd_P3 : CustomInventory{States{Pickup:TNT1 A 0 A_StopSound(3)stop}}
actor StopSnd_P4 : CustomInventory{States{Pickup:TNT1 A 0 A_StopSound(4)stop}}
actor StopSnd_P5 : CustomInventory{States{Pickup:TNT1 A 0 A_StopSound(5)stop}}
actor StopSnd_P6 : CustomInventory{States{Pickup:TNT1 A 0 A_StopSound(6)stop}}
actor StopSnd_P7 : CustomInventory{States{Pickup:TNT1 A 0 A_StopSound(7)stop}}


actor Nudge : CustomInventory
{//Fixes the issue where teleporting and having no MomX and MomY
states//causes you to fall off ledges.
{
Pickup:
//TNT1 A 0 A_Stop
TNT1 A 0 A_Jumpif(Momx == 0 && Momy == 0, "Nudge")
stop
Nudge:
TNT1 A 0 A_ChangeVelocity(0.0001,0,0,1)//Amazing! It works!
TNT1 A 0 A_ChangeVelocity(-0.0001,0,0,1)
//TNT1 A 0 A_Recoil(-1)
stop
}
}

actor ReSyncPickup : CustomInventory
{
States
{
Pickup:
TNT1 A 0 ThrustThingZ(0,0,0,1)
TNT1 A 0 ThrustThing(angle*256/360,0,1,0)
stop
}
}


actor RepulsionC255 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 //A_Blast(int flags, int strength, int distance, float speed, string blasteffect, string blastsound)
TNT1 A 0 A_Blast(0, 255, 255, 20, "BasicHelper", "weapon/GameBoyFire")
stop
}
}


actor CanTreadWater : Inventory{}
actor IsTreadingWater : Inventory{}

actor GiveIsTreadingWater_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("IsTreadingWater",1)
TNT1 A 0 A_JumpIfInventory("IsUnderWater",1,"Swim")
TNT1 A 0 A_JumpIfInventory("IsUnderBubbleWater",1,"Swim")
stop
Swim:
TNT1 A 0 ThrustThingZ(0,0,4,0)
stop
}
}


