
actor CBM_RandomItem : RandomItem replaces RandomItem
{
States
{
AssistOther:
TNT1 A 0 A_Jump(64, "BonusJump")//N
TNT1 A 1 A_Jump(128, "ReggaeCall")
TNT1 A 1 A_Jump(256, "EnergyBalancer")
stop

Assists:
TNT1 A 1 A_Jump(192, "AssistWeps")
TNT1 A 1 A_Jump(192, "AssistOther")
TNT1 A 0 A_Jump(64, "BonusJump")//N
TNT1 A 1 A_Jump(256, "Pickups")
stop

Pickups:
TNT1 A 1 A_Jump(16, "BonusJump")
goto Super::Pickups

BonusJump:
TNT1 A 0 A_Jump(256,1,2)
TNT1 A 1 A_SpawnItemEx("AirJumpster")
stop
TNT1 A 1 A_SpawnItemEx("WallJumpster")
stop
}
}





actor Carry : BaseMM8BDMUseItem
{
Inventory.RespawnTics 210
inventory.amount 3
inventory.maxamount 20
inventory.pickupmessage "$PU_CARRY"
Inventory.PickupSound "item/1up"
Tag "$TAG_CARRY"
inventory.icon "CARRI"
states
{
SpawnLoop:
CARY D 1
loop
Use:
TNT1 A 0 A_Jumpif(!CallACS("core_CheckFooting"), "Under")
TNT1 A 0 A_SpawnItemEx("CarryPlatform",56,0,38,1)
stop
Under:
TNT1 A 0 A_SpawnItemEx("CarryPlatformUnder",0,0,0,0,0,1)
TNT1 A 0 A_ChangeVelocity(momx,momy,0,CVF_REPLACE)
//TNT1 A 0 A_SpawnItemEx("CarryPlatform",0,0,2,0,0,1)//14
stop
}
}
actor Carry_Respawn : 8BDMItemRespawn
{
translation "192:192=208:208","198:198=42:42"
mass 210
}
actor Carry_RespawnShadow : 8BDMItemRespawnShadow
{
mass 210
States
{
Spawn:
CARY D 0
goto Super::Spawn
}
}

actor CarryPlatform : ProjSpawnFuncActor
{
+FORCEYBILLBOARD
+NOGRAVITY
-SHOOTABLE
+SOLID
+THRUSPECIES
+THRUGHOST
+DONTBLAST
+DONTREFLECT
+MISSILE
+THRUSPECIES
species "MovingPlatform"
ReactionTime 1
height 4
radius 24
scale 2.5
States
{
Spawn:
CARY C 1
CARY C 0 A_Stop
CARY C 0 A_ChangeFlag(MISSILE,0)
CARY C 2 A_ChangeFlag(THRUGHOST,0)
//CARY ABCABCABCABCABCABCABCABCABCABCABCABC 3//Original Carry
//CARY "A^B^C^A^B^C^" 3
//CARY ABCABCABCABCABCABC 3//Doc Carry
//CARY "A^B^C^A^B^C^" 3
CARY ABCABCABCABCABCABCABCABCAB 3
CARY B 24
CARY A 1 A_CountDown
wait
Death:
TNT1 A 0 A_ChangeFlag("SOLID",0)
TNT1 A 0 A_ChangeFlag("NOINTERACTION",1)
TNT1 A 0 A_ChangeFlag("NOCLIP",1)
TNT1 A 1 A_SpawnItemEx("CarryPlatformFX",0,0,-12)
TNT1 A 3
stop
}
}
actor CarryPlatform2 : CarryPlatform
{
Translation "1:1=1:1"
}

actor CarryPlatformUnder : CarryPlatform
{
States
{
Death:
TNT1 A 0 A_CheckFlag(MISSILE, "DeathRetry")
goto Super::Death
DeathRetry:
TNT1 A 0 A_SpawnItemEx("CarryPlatformUnderWall")
stop
}
}

actor CarryPlatformUnderWall : CarryPlatform{radius 16}

actor CarryPlatformFX : BasicGraphicEffect
{
States
{
SpawnFrame:
OMFX NBCE 2
stop
}
}


actor AirJumpster : BaseMM8BDMItem
{
Inventory.RespawnTics 228
inventory.pickupmessage "$PU_AIRJUMPSTER"
inventory.pickupsound "WilyWar/1UP"
States
{
SpawnLoop:
XWI8 A 6
loop
Pickup:
TNT1 A 0 A_JumpIfInventory("AirJumpLimit",0,"JumpOverload")
TNT1 A 0 A_JumpIfInventory("InfiniteAirJumps",1,"JumpOverload")
TNT1 A 0 A_GiveInventory("AirJumpLimit",1)
stop
JumpOverload:
TNT1 A 0 
fail
}
}
actor AirJumpster_Respawn : 8BDMItemRespawn{mass 228}
actor AirJumpster_RespawnShadow : 8BDMItemRespawnShadow
{
mass 228
States
{
Spawn:
XWI8 A 0
goto Super::Spawn
}
}


actor AirJumpster_Training : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("AirJumpLimit",7)
stop
}
}
//"SuperBonusDeluxe[x]JumpStackHDTurboRemixWepWeapon_W_H_HelperActorTestWepC_CI"

actor WallJumpster : BaseMM8BDMItem
{
Inventory.RespawnTics 228
inventory.pickupmessage "$PU_WALLJUMPSTER"
Inventory.PickupSound "WilyWar/1UP"
states
{
SpawnLoop:
XWI8 B 1
loop
Pickup:
TNT1 A 0 A_JumpIfInventory("WallJumpLimit",0,"JumpOverload")
TNT1 A 0 A_JumpIfInventory("InfiniteWallJumps",1,"JumpOverload")
TNT1 A 0 A_GiveInventory("WallJumpLimit",1)
stop
JumpOverload:
TNT1 A 0 
fail
}
}
actor WallJumpster_Respawn : 8BDMItemRespawn{mass 228}
actor WallJumpster_RespawnShadow : 8BDMItemRespawnShadow
{
mass 228
States
{
Spawn:
XWI8 B 0
goto Super::Spawn
}
}

actor WallJumpster_Training : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("WallJumpLimit",7)
stop
}
}



actor ETankLite : ETank
{
Translation"192:192=196:196","198:198=197:197"
Inventory.RespawnTics 525
inventory.pickupmessage "$PU_ETANKLITE"
Tag "$TAG_ETANKLITE"
inventory.icon "ETANKCBM"
States
{
SpawnLoop:
EBAL E 6
CARY X 6
loop
Use:
EBAL E 0 A_JumpIf(CallACS("core_CanGainHealth"),"Success")
fail
Success:
EBAL E 0 A_PlaySound("item/energyup")
EBAL E 0 A_PlaySoundEx("item/refill","Voice")
EBAL E 0 ACS_NamedExecuteWithResult("core_HealScript",50)
EBAL E 0 A_SpawnItemEx("ETankLite_FX",-1,0,36,0,0,2)
stop
}
}
actor ETankLite_FX : BasicExplosion
{
Translation"192:192=196:196","198:198=197:197"
RenderStyle Translucent
Alpha 0.85
Scale 2.5
States
{
Spawn:
CARY "X^X^X^X^X^X^X^X" 2
stop
}
}

actor ETankLite_Respawn : 8BDMItemRespawn{Translation"192:192=196:196","198:198=197:197" mass 525}
actor ETankLite_RespawnShadow : 8BDMItemRespawnShadow
{
mass 525
States
{
Spawn:
CARY X 0
goto Super::Spawn
}
}