actor VSurvivalPowerReduction : PowerDamage
{
powerup.duration -9999
DamageFactor "normal", 0.5
}

actor VSurvivalDamageReduction : PowerProtection
{
powerup.duration -9999
DamageFactor "normal", 0.48
}

actor VSurvivalBotRegen : PowerRegeneration
{
powerup.duration -9999
Powerup.Strength 10
}

actor PlutoSpeedBoost : PowerSpeed
{
powerup.duration -9999
speed 2.0
+NOTRAIL
}

actor SmallScrewItem : CustomInventory
{
inventory.pickupmessage "Picked up a Small Screw!"
inventory.pickupsound "item/screwup"
scale 2.5
ReactionTime 34
translation "192:192=4:4", "198:198=88:88"
States
{
Spawn:
BOLT A 0
//BOLT A 0 Thing_ChangeTID(0,999)
BOLT A 0 A_Jump(256,"Spawn1","Spawn2")
Spawn1:
BOLT B 0 A_Jump(256,1,2,3,4,5,6,7,8)
BOLT BCDEFGHI 3
BOLT B 0 A_CountDown
goto Spawn1+1
Spawn2:
BOLT I 0 A_Jump(256,1,2,3,4,5,6,7,8)
BOLT IHGFEDCB 3
BOLT I 0 A_CountDown
goto Spawn2+1
Pickup:
TNT1 A 0 A_JumpIf(CallACS("TC_IsBot", tid-1000)==0, "Success")
fail
Success:
TNT1 A 0 A_GiveInventory("MapScrewCollection", 5)
stop
}
}

actor BigScrewItem : SmallScrewItem
{
inventory.pickupmessage "Picked up a Big Screw!"
ReactionTime 34
States
{
Spawn:
BOLT K 0
//BOLT S 0 Thing_ChangeTID(0,999)
BOLT K 0 A_Jump(256,"Spawn1","Spawn2")
Spawn1:
BOLT K 0 A_Jump(256,1,2,3,4,5,6,7,8)
BOLT KLMNOPQR 3
BOLT K 0 A_CountDown
goto Spawn1+1
Spawn2:
BOLT R 0 A_Jump(256,1,2,3,4,5,6,7,8)
BOLT RQPONMLK 3
BOLT R 0 A_CountDown
goto Spawn2+1

Pickup:
TNT1 A 0 A_JumpIf(CallACS("TC_IsBot", tid-1000)==0, "Success")
fail
Success:
TNT1 A 0 A_GiveInventory("MapScrewCollection", 10)
stop
}
}

actor HyperScrewItem : SmallScrewItem
{
inventory.pickupmessage "Picked up a Hyper Screw!"
ReactionTime 34
inventory.pickupsound "item/1up"
States
{
Spawn:
BOLT T 0
//BOLT S 0 Thing_ChangeTID(0,999)
BOLT T 0 A_Jump(256,"Spawn1","Spawn2")
Spawn1:
BOLT T 0 A_Jump(256,1,2,3,4,5,6,7,8)
BOLT "TUVWXYZ[" 3
BOLT T 0 A_CountDown
goto Spawn1+1
Spawn2:
BOLT T 0 A_Jump(256,1,2,3,4,5,6,7,8)
BOLT "[ZYXWVUT" 3
BOLT T 0 A_CountDown
goto Spawn2+1

Pickup:
TNT1 A 0 A_JumpIf(CallACS("TC_IsBot", tid-1000)==0, "Success")
fail
Success:
TNT1 A 0 A_GiveInventory("MapScrewCollection", 200)
stop
}
}
actor MapScrewCollection : Inventory
{
inventory.maxamount 99999
}

actor BossKillCounter : Inventory
{
inventory.maxamount 999
}

actor SmallScrewDropper
{
-SOLID
+NOINTERACTION
height 0
radius 0
states
{
Spawn:
TNT1 A 0
TNT1 AA 4 A_SpawnItemEx("SmallScrewItem", 0, 0, 48, random(-4, 4), 0, random(3, 9), random(0,360))  
stop
}
}

actor BigScrewDropper : SmallScrewDropper
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAA 4 A_SpawnItemEx("SmallScrewItem", 0, 0, 48, random(-4, 4), 0, random(3, 9), random(0,360))  
TNT1 A 1 A_SpawnItemEx("BigScrewItem", 0, 0, 48, random(-3, 3), 0, random(2, 8), random(0,360))  
stop
}
}

actor EmptyPickup : CustomInventory
{
scale 2.0
states
{
Spawn:
EMPT A -1
stop
}
}

actor AutoMakingFXSpawner
{
+NOGRAVITY
height 2
radius 2
states
{
Spawn:
TNT1 AAAAAAAAAAA 5 A_SpawnItemEx("AutoMakingFX", 0, 0, 0, frandom(2, 5), 0, frandom(2, 4), frandom(-120, 120))
stop
}
}

actor AutoMakingFX
{
height 2
radius 2
-NOGRAVITY
+THRUACTORS
scale 0.8
translation "192:192=4:4", "198:198=88:88"
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetAngle(random(0,360))
TNT1 A 0 A_Jump(128, "FX2")
FX1:
BOLT A 1000 A_PlaySoundEx("item/item3wait", "Voice", 0, 1)
stop
FX2:
BOLT J 1000 A_PlaySoundEx("misc/repairing", "Voice", 0, 1)
stop
}
}


actor RecycleShopIcon 11167
{
//$Category MM8BDM-Props
scale 2.0
states
{
Spawn:
AUT2 U -1
loop
}
}

actor RushSearchProp 11166
{
//$Category MM8BDM-Props
scale 2.0
states
{
Spawn:
RUS2 K -1
loop
Upgrade2:
RUS2 M -1
stop
Upgrade3:
RUS2 L -1
stop
Empty:
EMPT A -1
stop
}
}
