actor Geminiman_W : BaseMM8BDMWep_CBM
{
tag "$TAGC_3C"
dropitem "GeminiLaserWep"
Weapon.AmmoUse 0
Weapon.AmmoGive 100
Obituary "$OB_GEMINILASER"
weapon.ammotype "SeeingDoubleAmmo"
States
{
Spawn:
C_03 C 1
loop

Deselect:
GEMB A 0
goto DeselectSwap
Select:
GEMB A 0
goto SelectSwap

Ready:
GEMB A 0 ACS_NamedExecuteWithResult("core_weaponcolor",DYE_GEMINIMAN)
GEMB A 0 A_JumpIfInventory("CloneSpawned",1,"FullReady")
GEMB A 0 A_JumpIfInventory("CloneSpawning",1,"FullReady")
GEMB A 0 A_JumpIfInventory("SeeingDoubleAmmo",100,"FullReady")
GEMB A 10 A_WeaponReady
GEMB A 0 A_JumpIfInventory("CloneSpawned",1,"FullReady")
GEMB A 0 A_GiveInventory("SeeingDoubleAmmo",6)
Goto Ready+1
FullReady:
GEMB A 1 A_WeaponReady
Goto Ready+1

Fire:
GEMB A 0 A_JumpIfInventory("IsBot",1,"BotFire")
GEMB A 0 A_TakeInventory("SpawningMisfire",1)
GEMB A 0 A_PlaySoundEx("Weapon/Mbuster","Weapon")
GEMB A 0 A_FireCustomMissile("GemShot",0,0,8,0)
GEMB BC 3
GEMB A 10
GEMB A 0 A_JumpIfInventory("CloneSpawned",1,2)
GEMB A 0 A_GiveInventory("SeeingDoubleAmmo",6)
GEMB A 0 A_ReFire
Goto Ready+1

BotFire:
GEMB A 0 A_Jump(8,2)
GEMB A 0 A_Jump(96,"GeminiLaser")
goto Fire+1
GEMB A 0 A_JumpIfInventory("CloneSpawned",1,4)
GEMB A 1 A_GiveInventory("SeeingDoubleAmmo",100)
GEMB A 2 A_GiveInventory("GemSpawnerAuto",1)
GEMB A 12 A_TakeInventory("GemSpawnerAuto",1)
goto AltFire
GEMB A 2 A_GiveInventory("GemSpawnerAuto",1)
GEMB A 3 A_TakeInventory("GemSpawnerAuto",1)
goto BotFire+3

AltFire:
GEMB A 0 A_JumpIfInventory("CloneSpawned",1,"Set")
GeminiLaser:
GEMB A 0 A_TakeInventory("SpawningMisfire",1)
GEMB A 0 A_GiveInventory("Geminiman_Alt_P")
GEMB BC 4
GEMB A 16
GEMB A 0 A_Refire
Goto Ready+1
Set:
GEMM A 0 A_JumpIfInventory("SpawningMisfire",1,"AltWait")
GEMB A 0 A_PlaySoundEx("item/refill","Body")
GEMB A 0 A_GiveInventory("SpawningMisfire",1)
GEMM A 0 A_JumpIfInventory("CloneStationary",1,"Unset")
GEMB A 0 A_GiveInventory("CloneStationary",1)
GEMB A 0 A_TakeInventory("CloneRun")
goto AltWait
UnSet:
GEMB A 0 A_GiveInventory("CloneRun",1)
GEMB A 0 A_TakeInventory("CloneStationary")
GEMB A 0 A_TakeInventory("CloneAngle")
GEMB A 0 A_GiveInventory("CloneAngle",angle*256/360)
goto AltWait
AltWait:
GEMB A 1
GEMB A 1 A_WeaponReady
GEMB A 0 A_TakeInventory("SpawningMisfire",1)
goto Ready+1
NoAmmo:
GEMB A 1
Goto Ready+1
}
}

actor SeeingDoubleAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 100
+INVENTORY.IGNORESKILL
}

actor GeminiItemReuseDelay : PowerUp
{
powerup.duration 10
}

actor CloneSpawning : Inventory{}
actor CloneSpawned : Inventory{}
actor CloneStationary : Inventory{}
actor CloneAngle : Inventory
{
inventory.amount 1
inventory.maxamount 255
}

actor CloneRun : Inventory{}
actor CloneFiring : Inventory{}

actor CloneBug2 : Inventory{}
actor CloneBugFix : PowerUp
{
powerup.duration 70
}

actor GeminiCloneReset_P : CustomInventory//Bearer
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("CloneSpawning")
TNT1 A 0 A_TakeInventory("CloneSpawned")
TNT1 A 0 A_TakeInventory("CloneStationary")
TNT1 A 0 A_TakeInventory("CloneAngle")
TNT1 A 0 A_TakeInventory("CloneRun")
TNT1 A 0 A_TakeInventory("CloneFiring")
TNT1 A 0 A_TakeInventory("CloneBug2")
TNT1 A 0 A_TakeInventory("CloneBugFix")
stop
}
}

actor Geminiman_Alt_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_PlaySoundEx("weapon/gemini","Weapon")
TNT1 A 0 A_FireCustomMissile("BossGeminiLaser",0,1,8,0)
TNT1 A 0 A_TakeInventory("SeeingDoubleAmmo",5,1)
stop
}
}

actor BossGeminiLaser : ProjSpawnFuncActor
{
PROJECTILE
damagetype "GeminiM_Laser"
Obituary "$OB_GEMINILASER"
+FORCEXYBILLBOARD
+BRIGHT
+SKYEXPLODE
+BOUNCEONFLOORS
+BOUNCEONWALLS
+BOUNCEONCEILINGS
//+ALLOWBOUNCEONACTORS
+CANBOUNCEWATER
WALLBOUNCEFACTOR 1.0
BOUNCEFACTOR 1.0
reactiontime 30
damage (250)
Radius 8
Height 8
speed 22
scale 2.5
States
{
Spawn:
GEMB D 0
GEMB D 1 A_SpawnItemEx("BossGeminiLaserFX1",0,0,0,0,0,0,0,1)
GEMB D 1 A_SpawnItemEx("BossGeminiLaserFX2",0,0,0,0,0,0,0,1)
GEMB D 1 A_SpawnItemEx("BossGeminiLaserFX3",0,0,0,0,0,0,0,1)
GEMB E 1 A_SpawnItemEx("BossGeminiLaserFX4",0,0,0,0,0,0,0,1)
GEMB E 1 A_SpawnItemEx("BossGeminiLaserFX5",0,0,0,0,0,0,0,1)
GEMB E 0 A_CountDown
loop
Death:
TNT1 AAA 1 A_SpawnItemEx("GeminiImpactFX",0,0,0,0,0,0,0,1)
stop
}
}

actor BossGeminiLaserFX1 : BasicGraphicEffect
{
+FORCEXYBILLBOARD
+BRIGHT
States
{
SpawnFrame:
GEMB DDDEE 1
stop
}
}
actor BossGeminiLaserFX2 : BossGeminiLaserFX1
{
States
{
SpawnFrame:
GEMB DDEED 1
stop
}
}
actor BossGeminiLaserFX3 : BossGeminiLaserFX1
{
States
{
SpawnFrame:
GEMB DEEDD 1
stop
}
}
actor BossGeminiLaserFX4 : BossGeminiLaserFX1
{
States
{
SpawnFrame:
GEMB EEDDD 1
stop
}
}
actor BossGeminiLaserFX5 : BossGeminiLaserFX1
{
States
{
SpawnFrame:
GEMB EDDDE 1
stop
}
}



actor GemShot : ProjSpawnFuncActorFast
{
PROJECTILE
Obituary "$OB_GEMINIBUSTER"
damagetype "GeminiM_Shot"
+THRUSPECIES//+THRUGHOST
+FORCEXYBILLBOARD
+BRIGHT
species "GeminiClone"
Damage (100)
radius 10
height 5
Speed 64
scale 2.5
States
{
Spawn:
TNT1 A 1
Q_0D B 1 A_ChangeFlag("THRUSPECIES",0)
Q_0D B 1
wait
Death:
Q_0D B 1
stop
}
}

actor GemShotClone : GemShot
{
Speed 1
+THRUACTORS
damagetype "GeminiM_CloneShot"
Obituary "$OB_GEMINIBUSTER2"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_TransferPointer(AAPTR_TARGET,AAPTR_DEFAULT,AAPTR_FRIENDPLAYER,AAPTR_TARGET)
TNT1 A 0 A_SpawnItemEx("GemShotClone2",0,0,0,momx,momy,momz,0,8+SXF_MULTIPLYSPEED)//8192
stop
/*
TNT1 A 0 A_ScaleVelocity(64)
TNT1 A 0 A_ChangeFlag("THRUACTORS",0)
TNT1 A 1
Q_0D B 1 A_ChangeFlag("THRUSPECIES",0)
Spawn2:
Q_0D B 1
wait
*/
}
}
actor GemShotClone2 : GemShot
{
damagetype "GeminiM_CloneShot"
Obituary "$OB_GEMINIBUSTER2"
States
{
Spawn:
TNT1 A 0
TNT1 A 1
Q_0D B 1 A_ChangeFlag("THRUSPECIES",0)
Spawn2:
Q_0D B 1
wait
}
}

actor GemSpawner : BasicClassItem
{
inventory.icon "GemIcon"
inventory.pickupmessage "My own clone! Someone to play Battletoads with!"
Tag "Gemini Clone Trigger"
states
{
Spawn:
GEMB Z 1
loop
UseCBM:
TNT1 A 0 A_JumpIfInventory("GeminiItemReuseDelay",1,4)
TNT1 A 0 A_JumpIfInventory("CloneSpawning",1,"BugFix")
TNT1 A 0 A_JumpIfInventory("CloneSpawned",1,"Success2")
TNT1 A 0 A_JumpIfInventory("SeeingDoubleAmmo",100,"Success")
TNT1 A 0
fail
Success:
TNT1 A 0 A_GiveInventory("GeminiItemReuseDelay",1)
TNT1 A 0 A_TakeInventory("CloneSpawned")
TNT1 A 0 A_TakeInventory("CloneStationary")
TNT1 A 0 A_TakeInventory("CloneAngle")
TNT1 A 0 A_GiveInventory("CloneAngle",angle*256/360)
TNT1 A 0 A_GiveInventory("CloneSpawning",1)
TNT1 A 0 A_GiveInventory("CloneRun",1)
TNT1 A 0 A_PlaySoundEx("class/Geminidouble","SoundSlot7")

TNT1 A 0 A_SpawnItemEx("GemClone",0,0,0,0,0,0,0,32)
TNT1 A 0 A_GiveInventory("GeminimanItem1_CI")
fail
Success2:
TNT1 A 0 A_TakeInventory("CloneBug2",999)
TNT1 A 0 A_TakeInventory("CloneBugFix",999)
TNT1 A 0 A_TakeInventory("CloneSpawned")
TNT1 A 0 A_SetArg(4,CallACS("cbm_countinv_acs",32,0))//SeeingDoubleAmmo
TNT1 A 0 A_TakeInventory("SeeingDoubleAmmo",Args[4]/4)
TNT1 A 0 A_TakeInventory("SeeingDoubleAmmo",Args[4]/4,1)
TNT1 A 0 A_PlaySoundEx("class/Geminidouble","SoundSlot7")
fail
BugFix:
TNT1 A 0 A_JumpIfInventory("CloneBugFix",1,"BugWait")
TNT1 A 0 A_JumpIfInventory("CloneBug2",1,"BugPatch")
TNT1 A 0 A_GiveInventory("CloneBug2",1)
TNT1 A 0 A_GiveInventory("CloneBugFix",1)
BugWait:
TNT1 A 0 A_PlaySoundEx("S3_K/MetalSpark","SoundSlot7")
fail
BugPatch:
TNT1 A 0 A_TakeInventory("SeeingDoubleAmmo",50)
TNT1 A 0 A_GiveInventory("GeminiCloneReset_P")

TNT1 A 0 A_PlaySoundEx("misc/AladdinHonk","SoundSlot7")
fail
}
}

actor GemSpawnerAuto : GemSpawner
{
+INVENTORY.AUTOACTIVATE
}

actor GeminimanItem1_CI : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("LightTeamFlag",1,"FireB")
TNT1 A 0 A_JumpIfInventory("WilyTeamFlag",1,"FireR")
TNT1 A 0 A_JumpIfInventory("CossackTeamFlag",1,"FireO")
TNT1 A 0 A_JumpIfInventory("KingTeamFlag",1,"FireP")
TNT1 A 0 A_JumpIfInventory("MM8BDMPlayer",1,"FireX")
FireX:
TNT1 A 0 A_SpawnItemEx("GemCloneHitbox",0,0,0,0,0,0,0,1+32)
stop
FireB:
TNT1 A 0 A_SpawnItemEx("GemCloneHitboxB",0,0,0,0,0,0,0,1+32)
stop
FireR:
TNT1 A 0 A_SpawnItemEx("GemCloneHitboxR",0,0,0,0,0,0,0,1+32)
stop
FireO:
TNT1 A 0 A_SpawnItemEx("GemCloneHitboxO",0,0,0,0,0,0,0,1+32)
stop
FireP:
TNT1 A 0 A_SpawnItemEx("GemCloneHitboxP",0,0,0,0,0,0,0,1+32)
stop
}
}

//This is the actor that manages firing the shots and is the stage collision
actor GemClone// : ProjSpawnFuncActor
{
//+MISSILE
//+NOGRAVITY
MONSTER
-SHOOTABLE
-SOLID
-COUNTKILL

+DONTBLAST
+DONTDRAIN
+EXPLODEONWATER
+FLOORCLIP
+FRIENDLY
+MISSILEMORE
+MISSILEEVENMORE
+NOBLOCKMAP
+NOCLIP
+NOTIMEFREEZE
+SKYEXPLODE
RenderStyle None
reactiontime 256
meleerange 20
Radius 16
Height 56
speed 0
scale 2.5
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetArg(4,CallACS("core_getptrtid",AAPTR_FRIENDPLAYER))
TNT1 A 0 Thing_Remove(-2200-Args[4])
TNT1 A 0 Thing_ChangeTID(0,-2200-Args[4])
TNT1 A 0 A_TakeInventory("CloneSpawning",999,0,AAPTR_FRIENDPLAYER)
TNT1 A 0 A_GiveInventory("CloneSpawned",1,AAPTR_FRIENDPLAYER)
TNT1 A 5 A_ChangeFlag("NOTIMEFREEZE",0)
TNT1 A 1
Goto SummonCooldown
SummonCooldown:
TNT1 A 18 A_TakeInventory("CloneFiring",999,0,AAPTR_FRIENDPLAYER)
TNT1 A 17 A_JumpIfInventory("PlayerPropertyRage",1,"See",AAPTR_FRIENDPLAYER)
Goto See
See:
TNT1 A 0 A_LookEx(42,0,1514,1,360,"MissileCheck")
TNT1 A 1 A_JumpIfTargetInLOS("MissileCheck",0,0)
loop
MissileCheck:
TNT1 A 0 A_CheckFlag("CANTSEEK","MissileFail2",AAPTR_TARGET)
TNT1 A 0 A_CheckFlag("INVULNERABLE","MissileFail2",AAPTR_TARGET)
TNT1 A 0 A_CheckFlag("NONSHOOTABLE","MissileFail2",AAPTR_TARGET)
//TNT1 A 0 A_JumpIfInTargetInventory("CloakFlag",1,"MissileFail")
Missile:
TNT1 A 0 A_JumpIfInventory("PlayerPropertyRage",1,"MissileR",AAPTR_FRIENDPLAYER)
TNT1 A 6 A_FaceTarget
TNT1 A 0 A_GiveInventory("GemClone_Fire_P")
TNT1 A 2 A_GiveInventory("CloneFiring",1,AAPTR_FRIENDPLAYER)
TNT1 A 8 A_TakeInventory("CloneFiring",999,0,AAPTR_FRIENDPLAYER)
//TNT1 A 0 A_LookEx(42,0,1000,1,360,"MissileCheck")
//A_JumpIfTargetInLOS("MissileCheck",0,JLOSF_DEADNOJUMP)
goto MissileFail
MissileFail2:
TNT1 A 1
MissileFail:
TNT1 A 0 A_ClearTarget
Goto See
MissileR:
TNT1 A 3 A_FaceTarget
TNT1 A 0 A_GiveInventory("GemClone_Fire_P")
TNT1 A 2 A_GiveInventory("CloneFiring",1,AAPTR_FRIENDPLAYER)
TNT1 A 4 A_TakeInventory("CloneFiring",999,0,AAPTR_FRIENDPLAYER)
//TNT1 A 0 A_JumpIfTargetInLOS("MissileCheck",0,JLOSF_DEADNOJUMP)
goto MissileFail
Death:
TNT1 A 0
stop
}
}

actor GemClone_Fire_P : CustomInventory
{
states
{
Pickup://A_CustomMissile("GemShotClone",28,16,0,4)
TNT1 A 0 A_PlaySoundEx("weapon/mbuster","weapon")
TNT1 A 0 A_CustomMissile("GemShotClone",32,16,0,CMF_TRACKOWNER)//4
TNT1 A 0 A_JumpIfInventory("PlayerPropertySpread",1,1,AAPTR_FRIENDPLAYER)
stop
TNT1 A 0 A_CustomMissile("GemShotClone",32,16,15,4)
TNT1 A 0 A_CustomMissile("GemShotClone",32,16,-15,4)
stop
}
}

actor GeminiCloneEternalPain : PowerProtection
{
+INVENTORY.ALWAYSPICKUP
Powerup.Duration 0x7FFFFFFC
damagefactor "Normal", 2.0
}

//This is the actor that manages visuals, pain, and moving "GemClone"
actor GemCloneHitbox : CBM_ShootableActor_Null// : ProjSpawnFuncActor
{
+MISSILE
+NOCLIP
+EXPLODEONWATER
+NOEXPLODEFLOOR
+DONTSPLASH
//+NOINTERACTION
//+NOTARGET
-SHOOTABLE
+DONTDRAIN
+NOTIMEFREEZE
+FLOORCLIP
+FRIENDLY
+NOTARGETSWITCH
+NOBLOOD
-SOLID
//+THRUACTORS 
//+BOUNCEONACTORS
+DONTBLAST
+DONTREFLECT

species "GeminiClone"//+GHOST
painchance 256
bloodtype ""
Health 1000
Damage (0)
Height 56
Radius 16
Speed 0
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteWithResult("core_copytranslation")
//Set Health to Target's MaxHealth
GEMM A 1 ACS_NamedExecuteWithResult("core_setactorproperty",APROP_Health,CallACS("cbm_getTIDPointerhealth",2,1),65536)
//Needs tic delay above so that "CloneSpawned" is properly given if Monster actually spawns
GEMM A 0 A_GiveInventory("GeminiCloneEternalPain",1)
GEMM A 1 ACS_NamedExecuteWithResult("cbm_GeminiCloneSync",8)//MaxDist

GEMM A 0 A_ChangeFlag("NOTIMEFREEZE",0)
GEMM A 0 A_ChangeFlag("SHOOTABLE",1)
Spawn2:
GEMM A 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")
GEMM A 0 A_JumpIfInTargetInventory("CloneRun",1,"Run")
loop
Run:
GEMM BBBBB 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")
GEMM B 0 A_JumpIfInTargetInventory("CloneStationary",1,"Spawn2")
GEMM CCCCC 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")
GEMM C 0 A_JumpIfInTargetInventory("CloneStationary",1,"Spawn2")
GEMM DDDDD 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")
GEMM D 0 A_JumpIfInTargetInventory("CloneStationary",1,"Spawn2")
GEMM EEEEE 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")
GEMM E 0 A_JumpIfInTargetInventory("CloneStationary",1,"Spawn2")
loop
Shoot:
//GEMM F 0 ACS_NamedExecuteWithResult("core_copytranslation")
GEMM FFFFFFFFF 1
Goto Spawn2
Death:
TNT1 A 1 A_TakeFromTarget("SeeingDoubleAmmo",100)
TNT1 A 1
loop
Death2:
TNT1 A 1
stop

//...
Pain.SearchSnake:Pain.SnakeM_Snake:Pain.SnakeM_Snake2:
Pain.DiveMissile:Pain.DiveM_Torpedo:
Pain.HomingSniper:Pain.SearchM_Shot:Pain.SearchM_LockShot:
Pain.MagicCard:Pain.MagicM_Card:Pain.MagicM_Orb:Pain.MagicM_Ball:
Pain.HornetChaser:Pain.HornetM_Shot:Pain.HornetM_Slow:
Pain.SparkChaser:Pain.Terra_SparkChaser:
GEMM H 0 A_JumpIfInTargetInventory("W_SearchSnake_Tag",1,"SuperGMPain")
GEMM H 0
goto Pain
SuperGMPain:
GEMM H 0 A_PlaySoundEx("misc/M3_WEAK","Voice")
GEMM H 1 A_SpawnItemEx("ClonePainFX2",-5,0,3,0,0,0)
GEMM H 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX2",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX2",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX2",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX2",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX2",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX2",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX2",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX2",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX2",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")
goto Spawn2
Pain:
GEMM H 0 A_PlaySoundEx("misc/M3_OUCH","Voice")
GEMM H 1 A_SpawnItemEx("ClonePainFX1",-5,0,3,0,0,0)
GEMM H 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX1",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX1",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX1",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX1",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX1",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX1",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX1",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX1",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")

GEMM H 0 A_SpawnItemEx("ClonePainFX1",-5,0,3,0,0,0)
GEMM HH 1 A_JumpIfInTargetInventory("CloneFiring",1,"Shoot")
goto Spawn2
}
}
actor GemCloneHitboxB : GemCloneHitbox {DesignatedTeam 0}
actor GemCloneHitboxR : GemCloneHitbox {DesignatedTeam 1}
actor GemCloneHitboxO : GemCloneHitbox {DesignatedTeam 2}
actor GemCloneHitboxP : GemCloneHitbox {DesignatedTeam 3}


actor ClonePainFX1 : PainFX
{
Radius 2
Height 2
}

actor ClonePainFX2 : ClonePainFX1
{
Scale 3.5
}


actor Geminiman_W_NormalBar : NormalBar {Args 4,197}
actor Geminiman_W_ScriptBar : ScriptBar {}