//don't mind me, just gonna flex the power of custom assets
const int CC_FRAGILEWALLHEALTH = 30;

actor FragileWallCC 27893
{
+SOLID
+NOBLOOD
//+DONTRIP causes issues with certain class attacks, welcome to the yamato zone
+SHOOTABLE
+NOGRAVITY
+DONTBLAST
+DONTDRAIN
+DONTREFLECT
+NOTAUTOAIMED
+NODAMAGETHRUST
+NOTARGETSWITCH
+FORCEXYBILLBOARD
species "DumbFragileWall"
damagefactor "Fire", 0.1 //these three are all ccbm deems important for breakable actors so I guess????
damagefactor "IceWallC", 0.24 //would've wanted to do more but it's unviable for other mod usage and not update proof
damagefactor "ConcreteShoulder", 0.04 //woe is me
painchance 256
mass 9999999
health 30
radius 16
height 32
scale 2.0
States
{
Spawn:
CC01 A 0 
CC01 A 0 A_SetAngle(90*random(0,3))
CC01 A 0 A_SetArg(0,args[0]-1)
CC01 A 0 A_JumpIf(args[0]<0,1)
CC01 A 0 A_JumpIf(args[0]==0,"Spawn2")
CC01 A 0 A_JumpIf(ceilingz-z<33,"Spawn2")
CC01 A 0 A_SpawnItemEX("FragileWallCC",0,0,32,0,0,0,90*random(0,3),SXF_TRANSFERSPECIAL)
Spawn2:
CC01 A 1
loop
Spawn3:
TNT1 A 1
CC01 B 1
goto Spawn3+1
Spawn4:
TNT1 A 1
CC01 C 1
goto Spawn4+1
Pain:
TNT1 A 0 A_PlaySound("misc/devilpain")//A_Pain
TNT1 A 0 A_JumpIf(health<=CC_FRAGILEWALLHEALTH*1/3,"Spawn4")
TNT1 A 0 A_JumpIf(health<=CC_FRAGILEWALLHEALTH*2/3,"Spawn3")
TNT1 A 1 
goto Spawn2
Death:
TNT1 A 0 A_PlaySound("misc/devilpain")//A_Pain
TNT1 A 1 A_SpawnItemEX("FragileWallCCDeath",0,0,16)
stop
}
}

actor FragileWallShortCC : FragileWallCC 27894
{
height 16
States
{
Spawn:
CC01 D 0 
CC01 D 0 A_SetAngle(90*random(0,3))
CC01 D 0 A_SetArg(0,args[0]-1)
CC01 D 0 A_JumpIf(args[0]<0,1)
CC01 D 0 A_JumpIf(args[0]==0,"Spawn2")
CC01 D 0 A_JumpIf(ceilingz-z<33,"Spawn2")
CC01 D 0 A_SetAngle(90*random(0,3))
CC01 D 0 A_JumpIf(ceilingz-z<17,"Spawn2")
CC01 D 0 A_SpawnItemEX("FragileWallShortCC",0,0,16,0,0,0,90*random(0,3),SXF_TRANSFERSPECIAL)
Spawn2:
CC01 D 1
loop
Spawn3:
TNT1 A 1
CC01 E 1
goto Spawn3+1
Spawn4:
TNT1 A 1
CC01 F 1
goto Spawn4+1
Pain:
TNT1 A 0 A_PlaySound("misc/devilpain")//A_Pain
TNT1 A 0 A_JumpIf(health<=CC_FRAGILEWALLHEALTH*1/3,"Spawn4")
TNT1 A 0 A_JumpIf(health<=CC_FRAGILEWALLHEALTH*2/3,"Spawn3")
TNT1 A 1 
goto Spawn2
Death:
TNT1 A 0 A_PlaySound("misc/devilpain")//A_Pain
TNT1 A 1 A_SpawnItemEX("FragileWallCCDeath",0,0,8)
stop
}
}



actor FragileWallShortTopCC : FragileWallCC 27895
{
height 16
States
{
Spawn:
CC01 G 0 
CC01 G 0 A_SetAngle(90*random(0,3))
CC01 G 0 A_SetArg(0,args[0]-1)
CC01 G 0 A_JumpIf(args[0]<0,1)
CC01 G 0 A_JumpIf(args[0]==0,"Spawn2")
CC01 G 0 A_JumpIf(ceilingz-z<33,"Spawn2")
CC01 G 0 A_SetAngle(90*random(0,3))
CC01 G 0 A_JumpIf(ceilingz-z<17,"Spawn2")
CC01 G 0 A_SpawnItemEX("FragileWallShortCC",0,0,16,0,0,0,90*random(0,3),SXF_TRANSFERSPECIAL)
Spawn2:
CC01 G 1
loop
Spawn3:
TNT1 A 1
CC01 H 1
goto Spawn3+1
Spawn4:
TNT1 A 1
CC01 I 1
goto Spawn4+1
Pain:
TNT1 A 0 A_PlaySound("misc/devilpain")//A_Pain
TNT1 A 0 A_JumpIf(health<=CC_FRAGILEWALLHEALTH*1/3,"Spawn4")
TNT1 A 0 A_JumpIf(health<=CC_FRAGILEWALLHEALTH*2/3,"Spawn3")
TNT1 A 1 
goto Spawn2
Death:
TNT1 A 0 A_PlaySound("misc/devilpain")//A_Pain
TNT1 A 1 A_SpawnItemEX("FragileWallCCDeath",0,0,8)
stop
}
}

actor FragileWallCCDeath
{
+CLIENTSIDEONLY
+NOINTERACTION
+NOGRAVITY
scale 2.5
translation "210:215=79:79", "4:208=63:63"
states
{
Spawn:
MMFX BCDE 2
stop
}
}

