Actor DreamTwinsWep_V_NormalBar : NormalBar{Args 65, 93}
Actor DreamTwinsWep_V_ScriptBar : ScriptBar {}
actor DreamTwinsWep_V : BaseMM8BDMWep
{
Weapon.AmmoUse 0
Weapon.AmmoGive 28
Weapon.SlotNumber 4
Inventory.Pickupmessage "$PU_DREAMTWINS"
Obituary "$OB_DREAMTWINS"
Tag "$TAG_DREAMTWINS"
weapon.ammotype "DreamTwinsAmmo_V"
inventory.icon "DRMTICON"
States
{
SpawnLoop:
DRMT Z -1
loop
ReadyC: Goto Ready+1
Ready:
DRMT D 0 ACS_NamedExecuteWithResult("core_weaponcolor",COLOR_DREAMTWINS)
DRMT D 0 A_JumpIfInventory("DreamTwinsFlag_V",1,"Ready2")
DRMT D 1 A_WeaponReady
DRMT D 0 A_JumpIfInventory("DreamTwinsFlag_V",1,"Ready2")
Goto Ready+1
Ready2:
DRMT D 0 A_JumpIfInventory("DreamTwinsAmmo_V",1,1)
Goto Fire.KillClones
DRMT D 21 A_WeaponReady(WRF_NOSECONDARY)
DRMT D 0 A_TakeInventory("DreamTwinsAmmo_V",1)
DRMT DDD 0 A_JumpIfInventory("DreamTwinsAmmo_V",1,"Ready2")
Goto Fire.KillClones
Deselect:
DRMT D 0 A_TakeInventory("DreamTwinsFlag_V",1)
DRMT D 0
goto DeselectSwap
Select:
DRMT D 0
goto SelectSwap
Fire:
DRMT D 0 A_JumpIfInventory("DreamTwinsFlag_V",1,"Fire.KillClones")
DRMT D 0 A_JumpIfInventory("DreamTwinsAmmo_V",1,1)
Goto NoAmmo
DRMT D 0 A_JumpIfNoAmmo("NoAmmo")
DRMT D 0 A_TakeInventory("DreamTwinsAmmo_V",3)
DRMT D 0 A_GiveInventory("DreamTwinsFlag_V",1)
DRMT D 0 A_PlaySoundEx("misc/vanishblock","Weapon")
DRMT D 0 A_GiveInventory("DreamTwinsFlag_V",1)
DRMT D 0 ACS_NamedExecuteAlways("vile_DreamTwinsScript",0)
DRMT EF 5
DRMT D 16
Goto Ready+1
Altfire:
ICSW K 0 A_JumpIfInventory("DreamTwinsFlag_V",1,"Fire.KillClones")
goto Super::Altfire

Fire.KillClones:
DRMT D 0 A_TakeInventory("DreamTwinsAmmo_V",4)
DRMT D 0 A_TakeInventory("DreamTwinsFlag_V",1)
DRMT D 0 A_PlaySoundEx("misc/vanishblock","Weapon")
DRMT EF 5
DRMT D 16
goto Ready+1
NoAmmo:
DRMT D 0 A_TakeInventory("DreamTwinsFlag_V",1)
DRMT D 1 ACS_NamedExecuteAlways("core_noammo", 0)
Goto Ready+1
}
}

actor DreamTwinsIdleGiver_V : CustomInventory{States{ Pickup:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("DreamTwinsPainPowerup_V",1,"Stahp")
TNT1 A 0 A_JumpIfInventory("DreamTwinsFlag_V",1,"GiveItem")
Stahp:
TNT1 A 0
stop
GiveItem:
TNT1 AA 0 A_SpawnItemEx("DreamTwinsCloneIdle_V",90,0,0,momx,momy,0,0,SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
TNT1 AA 0 A_SpawnItemEx("DreamTwinsCloneIdle2_V",-90,0,0,momx,momy,0,0,SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
stop
}}
actor DreamTwinsWalkWatcherGiver_V : DreamTwinsIdleGiver_V{States{
GiveItem:
TNT1 A 0 A_SpawnItemEx("DreamTwinsCloneWalkerWatcher_V",0,0,0,0,0,0,0,SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
stop
}}
actor DreamTwinsWalk1Give_V : DreamTwinsIdleGiver_V{States{
GiveItem:
TNT1 A 0 A_SpawnItemEx("DreamTwinsCloneWalk1B_V",90,0,0,momx,momy,0,0,SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
TNT1 A 0 A_SpawnItemEx("DreamTwinsCloneWalk1_V",-90,0,0,momx,momy,0,0,SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
stop
}}
actor DreamTwinsWalk2Give_V : DreamTwinsIdleGiver_V{States{
GiveItem:
TNT1 A 0 A_SpawnItemEx("DreamTwinsCloneWalk2B_V",90,0,0,momx,momy,0,0,SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
TNT1 A 0 A_SpawnItemEx("DreamTwinsCloneWalk2_V",-90,0,0,momx,momy,0,0,SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
stop
}}
actor DreamTwinsWalk3Give_V : DreamTwinsIdleGiver_V{States{
GiveItem:
TNT1 A 0 A_SpawnItemEx("DreamTwinsCloneWalk3B_V",90,0,0,momx,momy,0,0,SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
TNT1 A 0 A_SpawnItemEx("DreamTwinsCloneWalk3_V",-90,0,0,momx,momy,0,0,SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
stop
}}
actor DreamTwinsWalk4Give_V : DreamTwinsIdleGiver_V{States{
GiveItem:
TNT1 A 0 A_SpawnItemEx("DreamTwinsCloneWalk4B_V",90,0,0,momx,momy,0,0,SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
TNT1 A 0 A_SpawnItemEx("DreamTwinsCloneWalk4_V",-90,0,0,momx,momy,0,0,SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
stop
}}
actor DreamTwinsPainGiver_V : DreamTwinsIdleGiver_V{States{
Stahp:
GiveItem:
TNT1 A 0 A_SpawnItemEx("DreamTwinsClonePain2_V",90,0,0,momx,momy,0,0,SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
TNT1 A 0 A_SpawnItemEx("DreamTwinsClonePain_V",-90,0,0,momx,momy,0,0,SXF_TRANSFERTRANSLATION|SXF_ABSOLUTEMOMENTUM)
stop
}}

actor DreamTwinsPainPowerup_V : Powerup {Powerup.Duration 21}
actor DreamTwinsPainer_V : DreamTwinsPainPowerup_V {}

actor DreamTwinsCloneIdle_V
{
PROJECTILE
radius 27
height 24
damage (0)
Scale 2.5
+NOCLIP
Obituary "$OB_DREAMTWINS"
Damagetype "DreamTwins_V"
+DONTBLAST
+DONTSPLASH
+NOTARGETSWITCH
+NOGRAVITY
gravity 0.0
+THRUACTORS
+MISSILE
-NOBLOCKMAP
+SHOOTABLE
painchance 256
+THRUSPECIES
DamageFactor "DreamTwins_V", 0.0
health 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
Species "Clone"
var int user_theY;
renderstyle "translucent"
alpha 0.4
States
{
Spawn:
TNT1 A 0
TNT1 B 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 15, 75)
TNT1 A 0 A_SetUserVar("user_theY",90)
goto Spawn2
Spawn2:
MMDT AA 1 A_Warp(AAPTR_TARGET,user_theY,0,0,0,WARPF_NOCHECKPOSITION)
MMDT A 0 A_Explode(CallACS("vile_cbm_damage",13),55,0,0)
stop
Pain: TNT1 A 0
DRMT D 0 A_TakeFromTarget("DreamTwinsAmmo_V",2)
MMDT A 1
stop
}
}
actor DreamTwinsCloneIdle2_V : DreamTwinsCloneIdle_V
{
States
{
Spawn:
TNT1 A 0
TNT1 B 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 15, 75)
TNT1 A 0 A_SetUserVar("user_theY",-90)
goto "DreamTwinsCloneIdle_V::Spawn2"
}
}

actor DreamTwinsProtect_V : PowerProtection
{
Powerup.Duration 4
DamageFactor "DreamTwins_V", 0.0
}
actor DreamTwinsCloneWalk1_V : DreamTwinsCloneIdle_V{alpha 0.7 States{
Spawn:
TNT1 A 0
TNT1 B 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 15, 75)
TNT1 A 0 A_SetUserVar("user_theY",90)
goto Spawn2
Spawn2:
MMDT BB 1 A_Warp(AAPTR_TARGET,user_theY,0,0,0,WARPF_NOCHECKPOSITION)
MMDT B 0 A_Explode(CallACS("vile_cbm_damage",13),55,0,0)
stop
Pain: TNT1 A 0
MMDT B 1
stop
}
}
actor DreamTwinsCloneWalk1B_V : DreamTwinsCloneWalk1_V{ States{
Spawn:
TNT1 A 0
TNT1 B 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 15, 75)
TNT1 A 0 A_SetUserVar("user_theY",-90)
goto "DreamTwinsCloneWalk1_V::Spawn2"
}}
actor DreamTwinsCloneWalk2_V : DreamTwinsCloneIdle_V{alpha 0.7 States{
Spawn:
TNT1 A 0
TNT1 B 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 15, 75)
TNT1 A 0 A_SetUserVar("user_theY",90)
goto Spawn2
Spawn2:
MMDT CC 1 A_Warp(AAPTR_TARGET,user_theY,0,0,0,WARPF_NOCHECKPOSITION)
MMDT C 0 A_Explode(CallACS("vile_cbm_damage",13),55,0,0)
stop
Pain: TNT1 A 0
MMDT C 1
stop
}}
actor DreamTwinsCloneWalk2B_V : DreamTwinsCloneWalk2_V{States{
Spawn:
TNT1 A 0
TNT1 B 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 15, 75)
TNT1 A 0 A_SetUserVar("user_theY",-90)
goto "DreamTwinsCloneWalk2_V::Spawn2"
}}
actor DreamTwinsCloneWalk3_V : DreamTwinsCloneIdle_V{alpha 0.7 States{
Spawn:
TNT1 A 0
TNT1 B 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 15, 75)
TNT1 A 0 A_SetUserVar("user_theY",90)
goto Spawn2
Spawn2:
MMDT DD 1 A_Warp(AAPTR_TARGET,user_theY,0,0,0,WARPF_NOCHECKPOSITION)
MMDT D 0 A_Explode(CallACS("vile_cbm_damage",13),55,0,0)
stop
Pain: TNT1 A 0
MMDT D 1
stop
}}
actor DreamTwinsCloneWalk3B_V : DreamTwinsCloneWalk3_V{States{
Spawn:
TNT1 A 0
TNT1 B 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 15, 75)
TNT1 A 0 A_SetUserVar("user_theY",-90)
goto "DreamTwinsCloneWalk3_V::Spawn2"
}}
actor DreamTwinsCloneWalk4_V : DreamTwinsCloneIdle_V{alpha 0.7 States{
Spawn:
TNT1 A 0
TNT1 B 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 15, 75)
TNT1 A 0 A_SetUserVar("user_theY",90)
goto Spawn2
Spawn2:
MMDT EE 1 A_Warp(AAPTR_TARGET,user_theY,0,0,0,WARPF_NOCHECKPOSITION)
MMDT E 0 A_Explode(CallACS("vile_cbm_damage",13),55,0,0)
stop
Pain: TNT1 A 0
MMDT E 1
stop
}}
actor DreamTwinsCloneWalk4B_V : DreamTwinsCloneWalk4_V{States{
Spawn:
TNT1 A 0
TNT1 B 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 15, 75)
TNT1 A 0 A_SetUserVar("user_theY",-90)
goto "DreamTwinsCloneWalk4_V::Spawn2"
}}
actor DreamTwinsClonePain_V : DreamTwinsCloneIdle_V
{alpha 0.8 
States
{
Spawn:
TNT1 A 0
TNT1 B 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 15, 75)
TNT1 A 0 A_SetUserVar("user_theY",90)
goto Spawn2
Spawn2:
MMDT E 0 A_Explode(CallACS("vile_cbm_damage",13),55,0,0)
MMDT H 0 A_PlaySoundEx("misc/devilpain","Voice")
MMDT H 1 A_SpawnItemEx("PainFX",-5,0,3,0,0,0)
MMDT H 0 A_Warp(AAPTR_TARGET,user_theY,0,0,0,WARPF_NOCHECKPOSITION)
MMDT H 1 A_Recoil(0.5)
MMDT H 0 A_Warp(AAPTR_TARGET,user_theY,0,0,0,WARPF_NOCHECKPOSITION)
painloop:
MMDT E 0 A_Explode(CallACS("vile_cbm_damage",13),55,0,0)
MMDT H 2 A_SpawnItemEx("PainFX",-5,0,3,0,0,0)
MMDT H 0 A_Warp(AAPTR_TARGET,user_theY,0,0,0,WARPF_NOCHECKPOSITION)
MMDT H 0 A_GiveInventory("CutterFlag",1)
MMDT H 0 A_JumpIfInventory("CutterFlag",9,1)
loop
MMDT H 1 A_Warp(AAPTR_TARGET,user_theY,0,0,0,WARPF_NOCHECKPOSITION)
stop
Pain: TNT1 A 0
MMDT H 1
stop
}
}
actor DreamTwinsClonePain2_V : DreamTwinsClonePain_V
{
States
{
Spawn:
TNT1 A 0
TNT1 B 0 ACS_NamedExecuteWithResult("core_alphaprojectile", CallACS("core_getptrtid", AAPTR_TARGET), APROJ_TEAM, 15, 75)
TNT1 A 0 A_SetUserVar("user_theY",-90)
goto "DreamTwinsClonePain_V::Spawn2"
}
}

actor DreamTwinsCloneWalkerWatcher_V
{
PROJECTILE
radius 0
height 0
damage (0)
+NOCLIP
+NOTARGETSWITCH
+NOINTERACTION
+THRUACTORS
States
{
Spawn:
TNT1 A 1
loopwait:
TNT1 A 1 A_GiveToTarget("DreamTwinsWalk1Give_V",1)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_JumpIfInventory("CutterFlag",5,"Spawn2")
loop
Spawn2:
TNT1 A 0 A_TakeInventory("CutterFlag",9999999999999)
Spawn2L:
TNT1 A 1 A_GiveToTarget("DreamTwinsWalk2Give_V",1)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_JumpIfInventory("CutterFlag",5,"Spawn3")
loop
Spawn3:
TNT1 A 0 A_TakeInventory("CutterFlag",9999999999999)
Spawn3L:
TNT1 A 1 A_GiveToTarget("DreamTwinsWalk3Give_V",1)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_JumpIfInventory("CutterFlag",5,"Spawn4")
loop
Spawn4:
TNT1 A 0 A_TakeInventory("CutterFlag",9999999999999)
Spawn4L:
TNT1 A 1 A_GiveToTarget("DreamTwinsWalk4Give_V",1)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
TNT1 A 0 A_JumpIfInventory("CutterFlag",5,"Death")
loop
Death:
TNT1 A 0
TNT1 A 1 A_Stop
stop
}
}

actor DreamTwinsAmmo_V : Ammo
{
Inventory.Amount 28
Inventory.MaxAmount 28
+INVENTORY.IGNORESKILL
}

actor DreamTwinsFlag_V : Inventory{Inventory.Amount 1 Inventory.MaxAmount 1}