
actor EternalPainFlag : Powerup
{
Powerup.Duration -1
}

actor IsMaestro_F : Inventory{}//GreenSupremeFlag
actor IsProtoman_F : Inventory{}
actor IsMegaman_F : Inventory{}
actor IsBass_F : Inventory{}
actor IsDuo_F : Inventory{}
actor IsDocRobot_F : Inventory{}
actor IsEvilRobot_F : Inventory{}

actor IsRock_F : Inventory{}
actor IsRoll_F : Inventory{}
actor IsAuto_F : Inventory{}

actor SkipDeathSoundFlag : Inventory{}

actor CBM_RealAlphaPower : PowerInvisibility
{
Powerup.Strength 100
Powerup.Duration 0x7FFFFFFC
Powerup.Mode "Translucent"
+INVENTORY.ALWAYSPICKUP
}

actor Base_CBM_PropertyPower : PowerUp
{
+INVENTORY.ALWAYSPICKUP
Powerup.Duration 0x7FFFFFFC
}

actor CBM_DisableJumpPowerGiver : PowerApropGiver {}
actor CBM_FlipJumpPowerGiver : PowerApropGiver {}
actor CBM_Ratio5_6JumpPowerGiver : PowerApropGiver {}
actor CBM_Ratio8JumpPowerGiver : PowerApropGiver {}
actor CBM_Ratio7JumpPowerGiver : PowerApropGiver {}
actor CBM_Ratio1JumpPowerGiver : PowerApropGiver {}
actor CBM_150_JumpPowerGiver : PowerApropGiver {}

actor CBM_DisableSpeedPowerGiver : PowerApropGiver {}
actor CBM_BotFlipSpeedPowerGiver : PowerApropGiver {}
actor CBM_120_SpeedPowerGiver : PowerApropGiver {}
actor CBM_125_SpeedPowerGiver : PowerApropGiver {}
actor CBM_130_SpeedPowerGiver : PowerApropGiver {}
actor CBM_140_SpeedPowerGiver : PowerApropGiver {}
actor CBM_165_SpeedPowerGiver : PowerApropGiver {}
actor CBM_175_SpeedPowerGiver : PowerApropGiver {}
actor CBM_185_SpeedPowerGiver : PowerApropGiver {}
actor CBM_200_SpeedPowerGiver : PowerApropGiver {}
actor CBM_250_SpeedPowerGiver : PowerApropGiver {}

actor CBM_00_AlphaPowerGiver : PowerApropGiver {}
actor CBM_10_AlphaPowerGiver : PowerApropGiver {}
actor CBM_20_AlphaPowerGiver : PowerApropGiver {}
actor CBM_30_AlphaPowerGiver : PowerApropGiver {}
actor CBM_40_AlphaPowerGiver : PowerApropGiver {}
actor CBM_50_AlphaPowerGiver : PowerApropGiver {}
actor CBM_60_AlphaPowerGiver : PowerApropGiver {}
actor CBM_70_AlphaPowerGiver : PowerApropGiver {}
actor CBM_80_AlphaPowerGiver : PowerApropGiver {}
actor CBM_90_AlphaPowerGiver : PowerApropGiver {}


actor CBM_DisableJumpPower : Base_CBM_PropertyPower {}
actor CBM_FlipJumpPower : Base_CBM_PropertyPower {}
actor CBM_Ratio5_6JumpPower : Base_CBM_PropertyPower {}
actor CBM_Ratio8JumpPower : Base_CBM_PropertyPower {}
actor CBM_Ratio7JumpPower : Base_CBM_PropertyPower {}
actor CBM_Ratio1JumpPower : Base_CBM_PropertyPower {}
actor CBM_150_JumpPower : Base_CBM_PropertyPower {}


actor CBM_DisableSpeedPower : Base_CBM_PropertyPower {}
actor CBM_BotFlipSpeedPower : Base_CBM_PropertyPower {}
actor CBM_120_SpeedPower : Base_CBM_PropertyPower {}
actor CBM_125_SpeedPower : Base_CBM_PropertyPower {}
actor CBM_130_SpeedPower : Base_CBM_PropertyPower {}
actor CBM_140_SpeedPower : Base_CBM_PropertyPower {}
actor CBM_165_SpeedPower : Base_CBM_PropertyPower {}
actor CBM_175_SpeedPower : Base_CBM_PropertyPower {}
actor CBM_185_SpeedPower : Base_CBM_PropertyPower {}
actor CBM_200_SpeedPower : Base_CBM_PropertyPower {}
actor CBM_250_SpeedPower : Base_CBM_PropertyPower {}

actor CBM_00_AlphaPower : Base_CBM_PropertyPower {}
actor CBM_10_AlphaPower : Base_CBM_PropertyPower {}
actor CBM_20_AlphaPower : Base_CBM_PropertyPower {}
actor CBM_30_AlphaPower : Base_CBM_PropertyPower {}
actor CBM_40_AlphaPower : Base_CBM_PropertyPower {}
actor CBM_50_AlphaPower : Base_CBM_PropertyPower {}
actor CBM_60_AlphaPower : Base_CBM_PropertyPower {}
actor CBM_70_AlphaPower : Base_CBM_PropertyPower {}
actor CBM_80_AlphaPower : Base_CBM_PropertyPower {}
actor CBM_90_AlphaPower : Base_CBM_PropertyPower {}

actor FixMorph_PropPower : PowerUp
{
//+INVENTORY.ALWAYSPICKUP
Powerup.Duration 3
}

//Morph fix Props
actor FixMorphJumpZ_Giv : PowerApropGiver {}
actor FixMorphJumpZ_Pow : FixMorph_PropPower {}
actor FixMorphGravity_Giv : PowerApropGiver {}
actor FixMorphGravity_Pow : FixMorph_PropPower {}
actor FixMorphAlpha_Giv : PowerApropGiver {}
actor FixMorphAlpha_Pow : FixMorph_PropPower {}
actor FixMorphSpeed_Giv : PowerApropGiver {}
actor FixMorphSpeed_Pow : FixMorph_PropPower {}
actor FixMorphScaleX_Giv : PowerApropGiver {}
actor FixMorphScaleX_Pow : FixMorph_PropPower {}
actor FixMorphScaleY_Giv : PowerApropGiver {}
actor FixMorphScaleY_Pow : FixMorph_PropPower {}
actor FixMorphFriction_Giv : PowerApropGiver {}
actor FixMorphFriction_Pow : FixMorph_PropPower {}
actor FixMorphAirJumpZ_Giv : PowerApropGiver {}
actor FixMorphAirJumpZ_Pow : FixMorph_PropPower {}
actor FixMorphWallJumpZ_Giv : PowerApropGiver {}
actor FixMorphWallJumpZ_Pow : FixMorph_PropPower {}


actor CBM_PlayerProperty_P : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
+AUTOACTIVATE
States
{
Spawn:
TNT1 A 1
loop
Pickup:
TNT1 A 1 //A_ChangeFlag(,false+true)
stop
}
}



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

actor Spawn_HalfHitStunFlag : Inventory {}//For morph demorph

actor HalfHitStunFlag : CBM_PlayerProperty_F {}
actor NoHitStunFlag : CBM_PlayerProperty_F {}

actor HalfPushFlag : PlayerPropertyFrozen {}


actor PlayerPropertyNoRadiusDmg : CBM_PlayerProperty_F {}
actor PlayerPropertyCantPushWalls : CBM_PlayerProperty_F {}
actor PlayerPropertyNoTeleport : CBM_PlayerProperty_F {}
actor PlayerPropertyPickupDisable : CBM_PlayerProperty_F {}

actor PlayerPropertyNoRadiusDmgOff : CBM_PlayerProperty_P
{
States
{
Pickup:
TNT1 A 0 //A_TakeInventory("UnhittableProtect")
TNT1 A 0 A_ChangeFlag(NORADIUSDMG,false)
stop
}
}
actor UnhittableProtect : PowerProtection
{
+INVENTORY.ALWAYSPICKUP
Powerup.Duration -60
//damagefactor "InsertRailGunHere", 0.0
}
actor PlayerPropertyNoRadiusDmgOn : CBM_PlayerProperty_P
{
States
{
Pickup:
TNT1 A 0 //A_GiveInventory("UnhittableProtect",1)
TNT1 A 0 A_ChangeFlag(NORADIUSDMG,true)
stop
}
}

actor PlayerPropertyCantPushWallsOff : CBM_PlayerProperty_P
{
States
{
Pickup:
TNT1 A 0 A_ChangeFlag(CANPUSHWALLS,true)
stop
}
}
actor PlayerPropertyCantPushWallsOn : CBM_PlayerProperty_P
{
States
{
Pickup:
TNT1 A 0 A_ChangeFlag(CANPUSHWALLS,false)
stop
}
}

actor PlayerPropertyNoTeleportOff : CBM_PlayerProperty_P
{
States
{
Pickup:
TNT1 A 0 A_ChangeFlag(NOTELEPORT,false)
TNT1 A 0 A_ChangeFlag(NOTELEOTHER,false)
stop
}
}
actor PlayerPropertyNoTeleportOn : CBM_PlayerProperty_P
{
States
{
Pickup:
TNT1 A 0 A_ChangeFlag(NOTELEPORT,true)
TNT1 A 0 A_ChangeFlag(NOTELEOTHER,true)
stop
}
}

actor PlayerPropertyPickupDisableOff : CBM_PlayerProperty_P
{
States
{
Pickup:
TNT1 A 0 A_ChangeFlag(PICKUP,true)
stop
}
}
actor PlayerPropertyPickupDisableOn : CBM_PlayerProperty_P
{
States
{
Pickup:
TNT1 A 0 A_ChangeFlag(PICKUP,false)
stop
}
}

actor PlayerPropertyGroundedOn : CBM_PlayerProperty_P
{
States
{
Pickup:
TNT1 A 0 ACS_NamedExecuteWithResult("core_groundplayer",0,true)
stop
}
}
actor PlayerPropertyGroundedOff : CBM_PlayerProperty_P
{
States
{
Pickup:
TNT1 A 0 ACS_NamedExecuteWithResult("core_groundplayer",0,false)
stop
}
}



