actor MudkipBossWeapon : MegaBuster
{
tag "Water Gun"
Weapon.AmmoUse 0
Weapon.AmmoGive 0
Weapon.SlotNumber 1
Obituary "$OB_WATERGUN"
+INVENTORY.UNDROPPABLE
weapon.ammotype "BossJumpCharge"
weapon.ammotype2 "BossRageCharge"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
Spawn:
TNT1 A 0
stop
Ready:
MKIP I 0 ACS_NamedExecuteAlways("GiveExecution",0)
TNT1 A 0 A_GiveInventory("ImAPokemon", 1) // this will maybe be usefull later
SXH1 A 0 ACS_ExecuteAlways(991,0,517)
MKIP I 1 A_WeaponReady(WRF_NOSWITCH)
Goto Ready+2
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
MKIP I 1 A_Lower
loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
MKIP I 1 A_Raise
Loop
Fire:
MKIP I 0 SetPlayerProperty(0,1,0)
MKIP I 0 A_PlaySoundEx("Mudkip/WaterGun","Weapon")
MKIP I 3 A_FireCustomMissile("MudkipWaterGun",0,1,8,0)
MKIP J 6 A_ChangeVelocity(-17, 0, 0, CVF_RELATIVE)
MKIP KJ 8
MKIP I 8 SetPlayerProperty(0,0,0)
MKIP I 18
MKIP I 0 A_Refire
Goto Ready+2
AltFire:
MKIP I 0 A_JumpIfInventory("BossRageCharge",500,"Rage")
MKIP I 1
Goto Ready+2
Rage:
MKIP I 0 A_JumpIfInventory("MudkipRageCount",2,"NoAmmo")
MKIP I 1 A_SpawnItemEx("MudkipRageCheck", 0, 0, 8, 0, 0, 0, 0)
MKIP I 1 A_Stop
MKIP I 0 SetPlayerProperty(0,1,4)
MKIP I 0 A_Stop
MKIP I 1 A_JumpIfInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",1,"RageGo")
//MKIP I 0 A_Stop
MKIP I 1 A_JumpIfInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",1,"RageGo")
//MKIP I 0 A_Stop
MKIP I 1 A_JumpIfInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",1,"RageGo")
//MKIP I 0 A_Stop
MKIP I 1 A_JumpIfInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",1,"RageGo")
//MKIP I 0 A_Stop
MKIP I 1 A_JumpIfInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",1,"RageGo")
//MKIP I 0 A_Stop
MKIP I 1 A_JumpIfInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",1,"RageGo")
//MKIP I 0 A_Stop
MKIP I 1 A_JumpIfInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",1,"RageGo")
//MKIP I 0 A_Stop
MKIP I 1 A_JumpIfInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",1,"RageGo")
//MKIP I 0 A_Stop
MKIP I 1 A_JumpIfInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",1,"RageGo")
//MKIP I 0 A_Stop
MKIP I 1 A_JumpIfInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",1,"RageGo")
//MKIP I 0 A_Stop
MKIP I 1 A_JumpIfInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",1,"RageGo")
//MKIP I 0 A_Stop
MKIP I 1 A_JumpIfInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",1,"RageGo")
//MKIP I 0 A_Stop
MKIP I 1 A_JumpIfInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",1,"RageGo")
//MKIP I 0 A_Stop
MKIP I 1 A_JumpIfInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",1,"RageGo")
//MKIP I 0 A_Stop
MKIP I 1 A_JumpIfInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",1,"RageGo")
//MKIP I 0 A_Stop
MKIP I 1 A_JumpIfInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",1,"RageGo")
MKIP I 0 SetPlayerProperty(0,0,4)
goto Ready+2
RageGo:
MKIP I 0 A_Changeflag("NOGRAVITY",1)
MKIP I 1 A_Stop
MKIP I 0 SetPlayerProperty(0,1,4)
PDRV I 0 SetPlayerProperty(0,1,3)
MKIP I 0 //ACS_ExecuteAlways(400, 0, 129)
MKIP I 0 A_GiveInventory("DisableWhirlPool", 1)
MKIP I 0 A_TakeInventory("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP",500)
//MKIP I 0 A_ChangeFlag("INVULNERABLE", 1)
MKIP I 0 //SetPlayerProperty(0,1,0)
MKIP IIIII 1 A_Stop
MKIP I 0 A_PlaySoundEx("Mudkip/Mudkip","Body")
MKIP JJKK 1 A_Stop
TNT1 AA 2
MKIP I 0 A_JumpIfInventory("TorchicAlive",1,"SkipTorchic")
TNT1 A 0 A_SpawnItemEx("TorchicAssist", 0, 0, 25, 0, 0, 0,0,SXF_NOCHECKPOSITION)
TNT1 A 0 A_SpawnItemEx("PokemonRepulsor", 0, 0, 25, 0, 0, 0,0,SXF_NOCHECKPOSITION)
MKIP I 0 A_GiveInventory("TorchicAlive",1)
MKIP I 0 A_TakeInventory("BossRageCharge",500)
TNT1 AA 0 
SkipTorchic:
TNT1 A 0
MKIP I 0 A_JumpIfInventory("TreeckoAlive",1,"SkipTreecko")
TNT1 A 0 A_SpawnItemEx("TreeckoAssist", 0, 0, 25, 0, 0, 0,0,SXF_NOCHECKPOSITION)
TNT1 A 0 A_SpawnItemEx("PokemonRepulsor", 0, 0, 25, 0, 0, 0,0,SXF_NOCHECKPOSITION)
MKIP I 0 A_GiveInventory("TreeckoAlive",1)
MKIP I 0 A_TakeInventory("BossRageCharge",500)
SkipTreecko:
MKIP KJI 2
MKIP I 10
MKIP I 20
MKIP I 0 SetPlayerProperty(0,0,0)
PDRV I 0 SetPlayerProperty(0,0,3)
MKIP I 0 A_Changeflag("NOGRAVITY",0)
MKIP I 0 A_ChangeFlag("INVULNERABLE", 0)
MKIP I 0 SetPlayerProperty(0,1,0)
MKIP I 0 SetPlayerProperty(0,0,4)
MKIP I 4 SetPlayerProperty(0,0,0)

MKIP I 5
MKIP I 0 A_TakeInventory("DisableWhirlPool", 999)
MKIP I 35
goto Ready+2
NoAmmo:
MKIP I 1 ACS_Execute(979,0)
MKIP I 0 A_Refire
goto Ready+2
}
}

actor ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor MudkipRageCheck
{
PROJECTILE
+DONTBLAST
height 56
radius 56
+RIPPER
damage (0)
states
{
Spawn:
TNT1 A 1
TNT1 A 0 A_GiveToTarget("ItsGoTimeMudkeeeEEEEEEEEEEEEEEEEP", 1)
stop
Death:
TNT1 A 0
stop
}
}

actor TreeckoSpawner : CustomInventory
{
inventory.amount 2
inventory.maxamount 2
inventory.icon "SXISI4"
scale 2.0
+COUNTITEM
+INVBAR
states
{
Spawn:
TNT1 A 1
loop
Use:
TNT1 A 0 A_SpawnItemEx("TreeckoAssist",0,0,0,5,0,5)
TNT1 A 1 A_PlaySoundEx("item/refill","weapon")
TNT1 A 0 A_TakeInventory("CloneSpawner",1)
fail
}
}

actor PokemonRepulsor
{
+NOINTERACTION
+DONTBLAST
+NOBLOCKMAP
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 ACS_Execute(247,0,-11,200,0) // -50 normal
stop
}
}

actor TorchicAssist
{
PROJECTILE
+NOINTERACTION
+DONTBLAST
-NOBLOCKMAP
+HEXENBOUNCE
-BOUNCEONFLOORS
-BOUNCEONCEILINGS
BOUNCEFACTOR 1.5
states
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0 A_PlaySoundEx("Mudkip/PokemonSummon", "Item")
TNT1 A 0 A_PlaySoundEx("Mudkip/Torchic", "Auto")
TNT1 A 0 A_SpawnItemEx("SummonedTorchic", 0, 0, 0, 0, 5, 3)
stop
}
}

actor TreeckoAssist
{
PROJECTILE
+NOINTERACTION
+DONTBLAST
-NOBLOCKMAP
+HEXENBOUNCE
-BOUNCEONFLOORS
-BOUNCEONCEILINGS
BOUNCEFACTOR 1.5

states
{
Spawn:
TNT1 A 0
TNT1 A 1
TNT1 A 0 A_PlaySoundEx("Mudkip/PokemonSummon", "Item")
TNT1 A 0 A_PlaySoundEx("Mudkip/Treecko", "Auto")
TNT1 A 0 A_SpawnItemEx("SummonedTreecko", 0, 0, 0, 0, -5, 3)
stop
}
}

actor SummonedTorchic 14900
{
MONSTER
+QUICKTORETALIATE
+NEVERRESPAWN
+DONTBLAST
+LOOKALLAROUND
+MISSILEMORE
+MISSILEEVENMORE
+SHOOTABLE
+NOBLOOD
+FRIENDLY
+INVULNERABLE
+NOTARGET
-ACTIVATEMCROSS
damagefactor "Sakugarne", 0.3
+WINDTHRUST
gravity 0.4
//+STANDSTILL
scale 3.0
//Health 245 // 400
height 42
radius 12
mass 99999999
painchance 256
damagetype "BossInstagib"
Obituary "$OB_EMBER"
damagefactor "Mudkip", 0.0
damagefactor "MudkipWooshWoosh", 0.0
damagefactor "Torchic", 0.0
damagefactor "Treecko", 0.0



// weakness against ripping attacks (because smaller hitbox = the project stays less time in the body)
damagefactor "LaserBuster", 1.33
damagefactor "IceSlasher", 1.33
damagefactor "RollingCutter",1.33
damagefactor "ThunderBeam", 1.33
damagefactor "AtomicFire3", 0.871
damagefactor "MetalBlade", 1.33
damagefactor "ShadowBlade", 1.33
damagefactor "RingBoomerang", 1.33
damagefactor "WindStorm", 0.93
damagefactor "YamatoSpear", 1.33
damagefactor "MirrorBuster2", 1.33
damagefactor "Beat", 1.33
damagefactor "KnightCrush", 1.33
damagefactor "TopSpin", 0.90
damagefactor "FlashBomb", 0.80
damagefactor "HyperBomb", 0.7
damagefactor "GravityHold", 1.35
damagefactor "Tango", 1.33
damagefactor "IceWall", 1.33
damagefactor "IceCircleThrow", 1.5
damagefactor "SparkChaser", 0.3
damagefactor "SpreadDrill", 0.532
damagefactor "SpreadDrill2", 0.8866667
damagefactor "SpreadDrill3", 0.8866667
damagefactor "Sakugarne", 0.1
damagefactor "ProtoBash", 0.1
damagefactor "BassCrescentKick", 0.1
species "SaxtonBoss"
+THRUSPECIES
+DONTHARMSPECIES
+MTHRUSPECIES
speed 8
fastspeed 13
floatspeed 2
States
{
Spawn:
TNT1 A 0
TORC A 48
TNT1 A 0
TNT1 A 0 A_GiveInventory("TorchicSunnyDay", 30) // TorchicSunnyDays are needed to cast SunnyDay.
// Every second, Torchic has 3/5 chance of receiving a TorchicSunnyDay
// When he has 33 of 'em, he'll use SunnyDay.
// He starts with 30 TorchicSunnyDay when summoned,
// so the hale can be sure Torchic will cast SunnyDay right some seconds after spawning :D 
TNT1 A 0 //...
TNT1 A 0 A_ChangeFlag("INVULNERABLE", 0)
TNT1 A 0 A_SpawnItemEx("TorchicPersonnalAssist", 0, 0, 0, 0, 0, 0)
TNT1 A 0 ACS_ExecuteAlways(400, 0, 124) // something needed so he receives Synthesis
TNT1 A 0 ACS_ExecuteAlways(400,0,50) // Pain sound/graphic support
TNT1 A 0 A_GiveInventory("ImAPokemon", 1)
TNT1 A 0 ACS_ExecuteAlways(400,0,130) // Gives TID
TNT1 A 0 ACS_ExecuteAlways(400,0,3) // Scaling
Looking:
TORC AA 1 A_Look
TNT1 A 0 A_JumpIfInventory("TorchicSunnyDay", 33, "SunnyDay")
TNT1 A 0 A_JumpIfHealthLower(110, "FleeTorchic")
TNT1 A 0 A_ChangeFlag("FRIGHTENED", 0)
TORC BBBBCCCCDDDDEEEE 1 A_Chase("", "")
loop
Pain.RNCZaWarudo:
TORC AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop
goto See
See:
TNT1 A 0 A_JumpIfInventory("TorchicSunnyDay", 33, "SunnyDay")
TNT1 A 0 A_JumpIfHealthLower(110, "FleeTorchic")
TNT1 A 0 A_ChangeFlag("FRIGHTENED", 0)
//TNT1 A 0 A_JumpIfInTargetInventory("ImAPokemon", 1, "Looking")
TORC BBBBCCCCDDDDEEEE 1 A_Chase("", "")
TORC A 0 A_Jump(128,"EmberShooting")
loop
EmberShooting:
TORC AAFFF 3 A_Facetarget
TORC A 0 A_PlaySoundEx("Mudkip/TorchicEmber", "Weapon")
TORC A 0 A_FaceTarget
TORC A 0 A_CustomMissile("TorchicEmber",12,0,0,0)
TORC AF 4
TORC A 0 A_CustomMissile("TorchicEmber",12,0,0,0)
TORC AF 4
TORC A 0 A_CustomMissile("TorchicEmber",12,0,0,0)
TORC AF 4
TORC A 0 A_PlaySoundEx("Mudkip/TorchicEmber", "Weapon")
TORC A 0 A_CustomMissile("TorchicEmber",12,0,0,0)
TORC AF 4
TORC A 0 A_CustomMissile("TorchicEmber",12,0,0,0)
TORC AF 4
TORC A 0 A_CustomMissile("TorchicEmber",12,0,0,0)
TORC AF 4
TORC A 0 A_CustomMissile("TorchicEmber",12,0,0,0)
TORC AF 4
TORC A 0 A_JumpIf(z-floorz>120, "NormalAction")
TNT1 A 0 A_Jump(128, "NormalAction")
TNT1 A 0 A_JumpIfHealthLower(110, 4)
TORC A 0 ThrustThingZ(0,38,0,0)
TORC BBB 2 A_Recoil(-2)
TORC BB 2 A_Recoil(-1)
TORC A 0 A_Jump(256, "See")
TORC A 0 ThrustThingZ(0,38,0,0)
TORC DDD 2 A_Recoil(2)
TORC DD 2 A_Recoil(1)
TORC A 0 A_Jump(256, "See")
TORC A 0
NormalAction:
TORC A 0
TORC AAAAA 2
goto See
FleeTorchic:
TNT1 A 0 A_ChangeFlag("FRIGHTENED", 1)
goto See+3
TryToJump:
TNT1 A 0 A_Jump(64, "JumpIsYay")
goto EmberShooting+5
JumpIsYay:
TORC A 0 A_FaceTarget
TORC A 0 ThrustThingZ(0,50,0,0)
TNT1 A 0 A_JumpIfHealthLower(100, "FleeByJumping")
TNT1 A 0 A_Recoil(-15)
goto EmberShooting+5
FleeByJumping:
TNT1 A 0 A_Recoil(15)
goto EmberShooting+5
SunnyDay:
TNT1 A 0 A_JumpIfInventory("PowerTorchicFiredUp", 1, "SunnyDayCancel")
TNT1 A 0 A_TakeInventory("TorchicSunnyDay", 999)
TNT1 A 0 A_TakeInventory("PowerTorchicFiredUp", 999)
TNT1 A 0 A_ChangeFlag("INVULNERABLE", 1)
TORC A 0 A_Stop
TORC B 1 ACS_ExecuteAlways(400, 0, 120)
TORC A 0 A_PlaySoundEx("Mudkip/Torchic", "Item")
TORC AFAFAFAFBFDF 4 A_SpawnItemEx("TorchicCircle", 0, 0, 0, 0, 0, 0)
TNT1 A 0 A_ChangeFlag("INVULNERABLE", 0)
TNT1 A 0 ACS_ExecuteAlways(424, 0)
goto See
SunnyDayCancel:
TNT1 A 0
goto See+1
Death:
TNT1 A 0 A_PlaySoundEx("Mudkip/Torchic","Weapon")
TNT1 A 0 ACS_ExecuteAlways(400,0,132)
TNT1 A 0 A_ChangeFlag("NOGRAVITY", 1)
TNT1 A 0 A_GiveInventory("IsDead", 1)
TORC HHHH 4 A_FadeOut(0.12)
TNT1 A 0 A_ChangeFlag("NOGRAVITY", 0)
TORC HHHH 4 A_FadeOut(0.12)
stop
}
}

actor SummonedTreecko 14901
{
MONSTER
+DONTBLAST
+NEVERRESPAWN
+LOOKALLAROUND
-NOGRAVITY
+MISSILEMORE
+NOBLOOD
+FRIENDLY
+INVULNERABLE
-ACTIVATEMCROSS
+DROPOFF
+WINDTHRUST
+NOTARGET
+QUICKTORETALIATE
scale 3.0
//Health 210 // 400
height 42
radius 12
mass 99999999
painchance 256
maxstepheight 35
damagetype "BossInstagib"
species "SaxtonBoss"
+THRUSPECIES
+DONTHARMSPECIES
+MTHRUSPECIES
Obituary "$OB_LEAFBLADE"
damagefactor "Mudkip", 0.0
damagefactor "MudkipWooshWoosh", 0.0
damagefactor "Sakugarne", 0.3
damagefactor "Torchic", 0.0
damagefactor "Treecko", 0.0


// weakness against ripping attacks (because smaller hitbox = the project stays less time in the body)
damagefactor "LaserBuster", 1.33
damagefactor "IceSlasher", 1.33
damagefactor "RollingCutter",1.33
damagefactor "ThunderBeam", 1.33
damagefactor "AtomicFire3", 0.871
damagefactor "MetalBlade", 1.33
damagefactor "ShadowBlade", 1.33
damagefactor "RingBoomerang", 1.33
damagefactor "WindStorm", 0.93
damagefactor "YamatoSpear", 1.33
damagefactor "MirrorBuster2", 1.33
damagefactor "KnightCrush", 1.33
damagefactor "Beat", 1.33
damagefactor "TopSpin", 0.90
damagefactor "GravityHold", 1.35
damagefactor "Tango", 1.33
damagefactor "IceWall", 1.33
damagefactor "IceCircleThrow", 1.5
damagefactor "SpreadDrill", 0.532
damagefactor "SpreadDrill2", 0.8866667
damagefactor "SpreadDrill3", 0.8866667
damagefactor "SparkChaser", 0.3
damagefactor "Sakugarne", 0.1
damagefactor "ProtoBash", 0.1
damagefactor "BassCrescentKick", 0.1
speed 18
fastspeed 35
States
{
Spawn:
TNT1 A 0
TREE A 18
TNT1 A 0 A_GiveInventory("TreeckoSynthesis", 25) // TreeckoSynthesis are needed to cast Synthesis.
TNT1 A 0 //...
TNT1 A 0 A_SpawnItemEx("TreeckoPersonnalAssist", 0, 0, 0, 0, 0, 0)
TNT1 A 0 ACS_ExecuteAlways(400, 0, 128)
TNT1 A 0 ACS_ExecuteAlways(400,0,50) // Pain sound/graphic support
TNT1 A 0 A_GiveInventory("ImAPokemon", 1)
TNT1 A 0 ACS_ExecuteAlways(400,0,131) // Gives TID
TNT1 A 0 ACS_ExecuteAlways(400,0,4) // Health scaling
WaitingForFloor:
TREE A 1 A_JumpIf(z-floorz<=0, "GetReady")
loop
Pain.RNCZaWarudo:
TREE AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop
goto See
GetReady:
TNT1 A 0 A_ChangeFlag("INVULNERABLE", 0)
Looking:
TREE AA 1 A_Look
TNT1 A 0 A_JumpIfInventory("TreeckoSynthesis", 30, "Synthesis")
TREE BBBBCCCCDDDDCCCC 1 A_Chase("", "")
loop
See:
TNT1 A 0 A_JumpIfInventory("TreeckoSynthesisFlag",5,1)
TNT1 A 0 A_JumpIfInventory("TreeckoSynthesis", 30, "Synthesis")
TREE BBBBCCCCDDDDCCCC 1 A_Chase("", "")
TREE B 0 A_Jump(128,"LeafBlade","QuickAttack")
loop
LeafBlade:
TNT1 A 0 A_JumpIfCloser(50, "LeafBladeSlash")
goto QuickAttack
LeafBladeSlash:
TREE AAAAAAAA 2 A_Facetarget
TREE A 0 A_PlaySoundEx("Mudkip/TreeckoBladeLeaf", "Weapon")
TREE A 0 A_FaceTarget
TREE A 0 A_Stop
TREE A 0 A_CustomMissile("TreeckoLeafBlade",8,0,0,0)
TREE F 4
TREE G 13
TREE F 4
TREE BBBBCCCCDDDDCCCC 1 A_Chase("","")
goto Looking
LilJump:
TREE D 1 A_FaceTarget
TREE C 0 A_Recoil(-18)
TREE C 10 ThrustThingZ(0,65,0,0)
TREE D 0 A_FaceTarget
TREE C 0 A_Recoil(-8)
goto QuickAttack+1
QuickAttack:
TREE A 0 A_JumpIf(z-floorz<=0 || momz==0, "LilJump")
TREE A 0 A_SpawnItemEx("TreeckoSpeed", 0, 0, 0, 0, 0, 0)
TREE B 1 ACS_ExecuteAlways(400, 0, 121)
TREE BBBCCCDDDCCC 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE B 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE D 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE B 0 A_JumpIfCloser(50, "LeafBladeSlash")
TREE C 1 A_Chase("","")
TREE BBBBCCCCDDDDCCCC 1 A_Chase("","")
goto Looking
Synthesis:
TNT1 A 0 A_TakeInventory("TreeckoSynthesis", 999)
TNT1 A 0 A_JumpIfInventory("TreeckoSynthesisFlag",5,"Looking")
TNT1 A 0 A_GiveInventory("TreeckoSynthesisFlag",1)
TNT1 A 0 A_ChangeFlag("INVULNERABLE", 1)
TREE A 0 A_Stop
TREE A 1 ACS_ExecuteAlways(400, 0, 122)
TORC A 0 A_PlaySoundEx("Mudkip/Treecko", "Item")
TREE AAAAAAAAAAAA 2 A_SpawnItemEx("TreeckoCircle", 0, 0, 0, 0, 0, 0)
TNT1 A 0 A_ChangeFlag("INVULNERABLE", 0)
TREE A 0 ACS_ExecuteAlways(400, 0, 123)
TREE AAAAAAAAAAAAAAAA 2 DamageThing(4)
goto Looking
Death:
TNT1 A 0 A_PlaySoundEx("Mudkip/Treecko","Weapon")
TNT1 A 0 ACS_ExecuteAlways(400,0,133)
TNT1 A 0 A_ChangeFlag("NOGRAVITY", 1)
TNT1 A 0 A_GiveInventory("IsDead", 1)
TREE HHHHHHHH 4 A_FadeOut(0.12)
stop
}
}

actor TreeckoSynthesisFlag : Inventory
{
inventory.amount 1
inventory.maxamount 5 //he can only use Synthesis up to five times, restoring a total of 640 hp if Mudkip isn't hit
//and assuming Treecko doesn't die before this.
}

actor TreeckoSpeed
{
+DONTBLAST
+NOINTERACTION
States
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAAA 4 A_GiveToTarget("TreeckoIllusionItem", 1)
stop
}
}

actor TreeckoIllusionItem : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("TreeckoIllusion", 0, 0, 0, 0, 0, 0)
stop
}
}

actor TreeckoIllusion
{
scale 3.0
+NOINTERACTION
+DONTBLAST
Renderstyle "Translucent"
Alpha 0.65
states
{
Spawn:
TNT1 A 0
TREE BCDC 3
stop
}
}

actor TreeckoLeafSpawner
{
+NOINTERACTION
+DONTBLAST
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("TreeckoLeaf", random(-8, 8), random(-8, 8), random(-8, 8), random(-7, 7), random(-7, 7), random(1,6))
TNT1 A 0 A_SpawnItemEx("TreeckoLeaf", random(-8, 8), random(-8, 8), random(-8, 8), random(-7, 7), random(-7, 7), random(1,6))
TNT1 A 0 A_SpawnItemEx("TreeckoLeaf", random(-8, 8), random(-8, 8), random(-8, 8), random(-7, 7), random(-7, 7), random(1,6))
TNT1 A 0 A_SpawnItemEx("TreeckoLeaf", random(-8, 8), random(-8, 8), random(-8, 8), random(-7, 7), random(-7, 7), random(1,6))
TNT1 A 0 A_SpawnItemEx("TreeckoLeaf", random(-8, 8), random(-8, 8), random(-8, 8), random(-7, 7), random(-7, 7), random(1,6))
stop
}
}

actor TreeckoLeafBlade
{
PROJECTILE
Radius 5
Height 5
scale 2.5
damage (0)
+RIPPER
Obituary "$OB_LEAFBLADE"
damagetype "Treecko"
speed 19
States
{
Spawn:
SCLA HIJKL 1 A_Explode(8,80,0)
stop
}
}

actor TreeckoLeaf
{
+NOINTERACTION
+DONTBLAST
scale 2.5
states
{
Spawn:
TNT1 A 0
TREE IJKLMLKJ 2 A_FadeOut(0.10)
loop
}
}


actor TorchicPersonnalAssist
{
+DONTBLAST
+NOINTERACTION
+NOBLOCKMAP
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Jump(256, "GiveSun", "GiveSun", "GiveSun", "NoGiveSun", "NoGiveSun")
stop
GiveSun:
TNT1 A 0 A_GiveToTarget("TorchicSunnyDay", 1)
TNT1 AAAAAAA 5 A_JumpIfInTargetInventory("IsDead", 1, "PuyoPuyoooo")
goto Spawn
NoGiveSun:
TNT1 AAAAAAA 5 A_JumpIfInTargetInventory("IsDead", 1, "PuyoPuyoooo")
goto Spawn
PuyoPuyoooo:
TNT1 A 0
stop
}
}

actor TreeckoPersonnalAssist : TorchicPersonnalAssist
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1 //A_Jump(256, "GiveHeal","GiveHeal","GiveHeal", "NoGiveHeal", "NoGiveHeal", "NoGiveHeal","NoGiveHeal","NoGiveHeal")
//stop
GiveHeal:
TNT1 A 0 A_JumpIfInTargetInventory("TreeckoSynthesisFlag",5,"NoGiveHeal")
TNT1 A 0 A_GiveToTarget("TreeckoSynthesis", 1)
TNT1 AAAAAAAA 3 A_JumpIfInTargetInventory("IsDead", 1, "PuyoPuyoooo")
goto Spawn
NoGiveHeal:
TNT1 AAAAAAA 1 A_JumpIfInTargetInventory("IsDead", 1, "PuyoPuyoooo")
goto Spawn
}
}

actor PowerTorchicFiredUp : PowerDamage
{
inventory.amount 1
inventory.maxamount 1
damagefactor "Torchic", 2.5 // Torchic's damage with Ember turn from 10 to 25
}

actor TorchicEmber
{
PROJECTILE
scale 1.5
+HITTRACER
//+RIPPER
Speed 40
Radius 6
Height 9
Damage (5)
damagetype "BossInstagib"
Obituary "$OB_EMBER"
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("weapon/firestorm","Weapon")
TNT1 A 0 A_SpawnItemEx("TorchicEmberSmoke", 0, 0, 0, 0, 0, 0)
TORC I 1 A_SetTranslucent(0.2)
TORC I 1 A_SetTranslucent(1.0)
TNT1 A 0 A_SpawnItemEx("TorchicEmberSmoke", 0, 0, 0, 0, 0, 0)
TORC I 1 A_SetTranslucent(0.2)
TORC I 1 A_SetTranslucent(1.0)
loop
Death:
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,0)
stop
Crash:
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,0)
TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_Stop
TNT1 A 0 A_JumpIfInventory("TorchicMark",1,"Death",AAPTR_TRACER)
TNT1 A 0 A_GiveInventory("TorchicMark",1,AAPTR_TRACER)
Goto BurnDamage
BurnSustain:
TNT1 A 0 A_GiveInventory("TorchicMark",1,AAPTR_TRACER)
Goto BurnDamage
BurnDamage:
TNT1 AAAAAAAAAA 1 A_Warp(AAPTR_TRACER,0,0,0,0,WARPF_NOCHECKPOSITION)
TNT1 A 0 A_Warp(AAPTR_TRACER,0,0,0,0,WARPF_NOCHECKPOSITION)
TNT1 A 0 A_SpawnItemEx("TorchicEmberBurn",0,0,28,0,0,0,0,SXF_ABSOLUTEMOMENTUM)
TNT1 A 0 A_JumpIfInventory("TorchicMark",1,"BurnDamage",AAPTR_TRACER)
goto Death2
Death2:
TNT1 A 0
stop
}
}

actor TorchicMark : Powerup{inventory.amount 1 inventory.maxamount 1 powerup.duration 43}
Actor TorchicEmberBurn
{
PROJECTILE
+DONTBLAST
+RIPPER
damagetype "BossInstagib"
Obituary "$OB_EMBER"
Radius 1
Height 1
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(6,32,0,0,32)
stop
}
}


actor TorchicEmberSmoke
{
scale 1.5
+NOINTERACTION
+DONTBLAST
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ThrustThingZ(0,8,0,0)
TORC J 4 A_SetTranslucent(0.85)
TNT1 A 0 ThrustThingZ(0,8,0,0)
TORC K 4 A_SetTranslucent(0.7)
TNT1 A 0 ThrustThingZ(0,8,0,0)
TORC L 4 A_SetTranslucent(0.55)
TNT1 A 0 ThrustThingZ(0,8,0,0)
TORC M 4 A_SetTranslucent(0.4)
TNT1 A 0 ThrustThingZ(0,8,0,0)
TORC N 4 A_SetTranslucent(0.25)
stop
}
}



actor TorchicCircleSpawner
{
+NOGRAVITY
+NOINTERACTION
+DONTBLAST
+NOBLOCKMAP
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAA 5 A_SpawnItemEx("TorchicCircle", 0, 0, 0, 0, 0, 0)
stop
}
}

actor TreeckoCircleSpawner : TorchicCircleSpawner
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAAA 5 A_SpawnItemEx("TreeckoCircle", 0, 0, 0, 0, 0, 0)
stop
}
}
actor TorchicPic1
{
+SOLID
+NOGRAVITY
+INVULNERABLE
+NOGRAVITY
scale 0.5
height 40
radius 11
RenderStyle "Translucent"
Alpha 0.2
states
{
Spawn:
TORC C 2
stop
}
}

actor TorchicPic2 : TorchicPic1
{
scale 1.0
Alpha 0.4
}

actor TorchicPic3 : TorchicPic1
{
scale 1.5
Alpha 0.6
}

actor TorchicPic4 : TorchicPic1
{
scale 2.0
Alpha 0.8
}

actor TorchicPic5 : TorchicPic1
{
scale 2.5
Alpha 0.9
}

actor TorchicPicFinal : TorchicPic1
{
scale 3.0
Alpha 1.0
states
{
Spawn:
TORC C 20
stop
}
}

actor TreeckoPic1
{
+SOLID
+INVULNERABLE
+NOGRAVITY
scale 0.5
height 40
radius 11
RenderStyle "Translucent"
Alpha 0.2
states
{
Spawn:
TREE A 2
stop
}
}

actor TreeckoPic2 : TreeckoPic1
{
scale 1.0
Alpha 0.4
}

actor TreeckoPic3 : TreeckoPic1
{
scale 1.5
Alpha 0.6
}

actor TreeckoPic4 : TreeckoPic1
{
scale 2.0
Alpha 0.8
}

actor TreeckoPic5 : TreeckoPic1
{
scale 2.5
Alpha 0.9
}

actor TreeckoPicFinal : TreeckoPic1
{
scale 3.0
Alpha 1.0
states
{
Spawn:
TREE A 20
stop
}
}



actor DisableWhirlPool : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor ImAPokemon : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor WhirlPoolAssistSummon : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("WhirlPoolAssist", 0, 0, 0, 0, 0, 0)
stop
}
}

actor WhirlPoolAssist : BatGirlAssist
{
States
{
Spawn:
TNT1 A 2
TNT1 A 2
loop
}
}

actor MudkipWaterGun
{
Species "SaxtonBoss" +MTHRUSPECIES
Obituary "$OB_WATERGUN"
PROJECTILE
+FORCEXYBILLBOARD
+DONTBLAST
height 10
radius 14
RenderStyle "Translucent"
Alpha 0.8
damage (25)
speed 28// 34 ?
scale 5.0
damagetype "Mudkip"
States
{
Spawn:
TNT1 A 0
MKIP Z 0 A_SpawnItemEx("MudkipWaterRing", 0, 0, -5, 0, 0, 0)
MKIP XXXX 1 A_SpawnItemEx("MudkipWaterTrail", 0, 0, 5, 0, 0, 0)
MKIP Z 0 A_SpawnItemEx("MudkipWaterRing", 0, 0, -5, 0, 0, 0)
MKIP XXXX 1 A_SpawnItemEx("MudkipWaterTrail", 0, 0, 5, 0, 0, 0)
MKIP Z 0 A_SpawnItemEx("MudkipWaterRing", 0, 0, -5, 0, 0, 0)
MKIP XXXX 1 A_SpawnItemEx("MudkipWaterTrail", 0, 0, 5, 0, 0, 0)
MKIP Z 0 A_SpawnItemEx("MudkipWaterRing", 0, 0, -5, 0, 0, 0)

MKIP X 0 A_Changeflag("NOGRAVITY",0)
loop
Death:
TNT1 A 0 A_PlaySoundEx("Mudkip/WaterGun", "Body")
TNT1 A 0 A_SpawnItemEx("MudkipSplashing", 0, 0, 0, 0, 0, 0)
stop
}
}

actor MudkipWaterTrail : MudkipWaterGun
{
Obituary "$OB_WATERGUN"
+NOINTERACTION
damage (0)
scale 4.5
States
{
Spawn:
MKIP X 3
MKIP X 0 A_SetScale(scalex - 0.4, scaley - 0.4) MKIP X 1 A_FadeOut(0.15)
MKIP X 0 A_SetScale(scalex - 0.4, scaley - 0.4) MKIP X 1 A_FadeOut(0.15)
MKIP X 0 A_SetScale(scalex - 0.4, scaley - 0.4) MKIP X 1 A_FadeOut(0.15)
MKIP X 0 A_SetScale(scalex - 0.4, scaley - 0.4) MKIP X 1 A_FadeOut(0.15)
MKIP X 0 A_SetScale(scalex - 0.4, scaley - 0.4) MKIP X 1 A_FadeOut(0.15)
MKIP X 0 A_SetScale(scalex - 0.4, scaley - 0.4) MKIP X 1 A_FadeOut(0.15)
MKIP X 0 A_SetScale(scalex - 0.4, scaley - 0.4) MKIP X 1 A_FadeOut(0.15)
MKIP X 0 A_SetScale(scalex - 0.4, scaley - 0.4) MKIP X 1 A_FadeOut(0.15)
MKIP X 0 A_SetScale(scalex - 0.4, scaley - 0.4) MKIP X 1 A_FadeOut(0.15)
stop
}
}

actor MudkipWaterRing : MudkipWaterTrail
{
scale 3.0
States
{
Spawn:
TNT1 A 0
MKIP W 1 A_SetTranslucent(0.5)
MKIP W 1 A_SetTranslucent(0.8)
MKIP W 1 A_SetTranslucent(0.5)
MKIP W 1 A_SetTranslucent(0.8)
MKIP W 1 A_SetTranslucent(0.5)
MKIP W 1 A_SetTranslucent(0.8)

MKIP WWWWW 1 A_FadeOut(0.2)
stop
}
}


actor MudkipSplashing
{
PROJECTILE
+NOINTERACTION
RenderStyle "Translucent"
Alpha 0.8
speed 0
scale 4.0
damagetype "Mudkip"
Obituary "$OB_WATERGUN"
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Explode(20, 65, 0, 0)
TNT1 A 0 A_SpawnItemEx("MudkipSplashFountain", 0, 0, 0, 5, 0, 16, 0)
TNT1 A 0 A_SpawnItemEx("MudkipSplashFountain", 0, 0, 0, 5, 0, 16, 60)
TNT1 A 0 A_SpawnItemEx("MudkipSplashFountain", 0, 0, 0, 5, 0, 16, 120)
TNT1 A 0 A_SpawnItemEx("MudkipSplashFountain", 0, 0, 0, 5, 0, 16, 180)
TNT1 A 0 A_SpawnItemEx("MudkipSplashFountain", 0, 0, 0, 5, 0, 16, 240)
TNT1 A 0 A_SpawnItemEx("MudkipSplashFountain", 0, 0, 0, 5, 0, 16, 300)
TNT1 A 0 A_JumpIf(ceilingz-z<16,"Up")
MKIP OPQR 3
stop
Up:
MKIP STUV 3
stop
}
}

actor MudkipSplashFountain : MudkipWaterGun
{
-NOGRAVITY
+NOINTERACTION
Alpha 1.0
scale 4.0
gravity 2.0
States
{
Spawn:
TNT1 A 0
MKIP L 2 A_FadeOut (0.07)
TNT1 A 0 ThrustThingZ(0,11,1,1)
MKIP M 2 A_FadeOut (0.07)
TNT1 A 0 ThrustThingZ(0,11,1,1)
MKIP N 2 A_FadeOut (0.07)
TNT1 A 0 ThrustThingZ(0,11,1,1)
MKIP M 2 A_FadeOut (0.07)
TNT1 A 0 ThrustThingZ(0,11,1,1)
loop
}
}

actor TorchicKeepingHigh : CustomInventory
{
+INVENTORY.Alwayspickup
States
{
pickup:
TNT1 A 0 ThrustThingZ(0,20,0,1)
stop
}
}


actor MudkipCircleItem : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("MudkipCircle", 0, 0, 0, 0, 0, 0)
stop
}
}

actor MudkipCircle : SaxtonHaleCircle
{
States
{
Spawn:
TNT1 A 0
MKIQ Z 1 ThrustThingZ(0,22,0,0)
MKIQ ZZZZZZZZ 3 A_FadeOut(0.1)
stop
}
}

actor TorchicCircle : SaxtonHaleCircle
{
States
{
Spawn:
TNT1 A 0
TORC Z 1 ThrustThingZ(0,22,0,0)
TORC ZZZZZZZZ 3 A_FadeOut(0.1)
stop
}
}

actor TreeckoCircle : SaxtonHaleCircle
{
States
{
Spawn:
TNT1 A 0
TREE Z 1 ThrustThingZ(0,22,0,0)
TREE ZZZZZZZZ 3 A_FadeOut(0.1)
stop
}
}

actor MudkipImmunity : HaleSuperArmor
{
Powerup.Type "PowerMudkipImmunity"
Powerup.Color 0 120 252, 0.4
States
{
Spawn:
TNT1 A 1
Loop
}
}

actor PowerMudkipImmunity : PowerProtection
{
damagefactor "normal", 0.0
}

actor WhirlPoolAssist2 : BatGirlAssist
{
States
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAA 4 A_GiveToTarget("MudkipCircleItem", 1)
TNT1 A 0 A_TakeFromTarget("PowerMudkipImmunity", 999)
stop
}
}

actor TorchicSunnyDay : Inventory
{
inventory.amount 1
inventory.maxamount 33
}

actor TreeckoSynthesis : Inventory
{
inventory.amount 1
inventory.maxamount 30
}

actor SunnyDayVision1 : PowerupGiver
{
-INVBAR
+INVENTORY.AUTOACTIVATE
Powerup.duration -15 //-3
Powerup.Color 232 208 32, 0.23
Powerup.Type "PowerUselessPotato"
States
{
Spawn:
TNT1 A 0
Loop
}
}

actor SunnyDayVision2 : PowerupGiver
{
-INVBAR
+INVENTORY.AUTOACTIVATE
Powerup.duration -15
Powerup.Color 168 94 236, 0.80
Powerup.Type "PowerUselessPotato"
States
{
Spawn:
TNT1 A 0
Loop
}
}

actor PowerUselessPotato : PowerDamage
{
damagefactor "ThrowingPotatoes", 1.0 //>_>
}

actor MudkipPersonnalSynthesis : CustomInventory
{
states
{
pickup:
TNT1 A 0 A_PlaySoundEx("Mudkip/SynthesisHeal", "Body")
TNT1 A 0 ACS_ExecuteAlways(400, 0, 125)
TNT1 A 0 A_SpawnItemEx("TreeckoSynthesisHealMaster", 0, 0, 0, 0, 0, 0)
stop
}
}

actor TorchicPersonnalSynthesis : CustomInventory
{
states
{
pickup:
TNT1 A 0 A_PlaySoundEx("Mudkip/SynthesisHeal", "Body")
TNT1 A 0 ACS_ExecuteAlways(400, 0, 126)
TNT1 A 0 A_SpawnItemEx("TreeckoSynthesisHealMaster", 0, 0, 0, 0, 0, 0)
stop
}
}

actor TreeckoPersonnalSynthesis : CustomInventory
{
states
{
pickup:
TNT1 A 0 A_PlaySoundEx("Mudkip/SynthesisHeal", "Body")
//TNT1 A 0 ACS_ExecuteAlways(400, 0, 127)
TNT1 A 0 A_SpawnItemEx("TreeckoSynthesisHealMaster", 0, 0, 0, 0, 0, 0)
stop
}
}

actor TreeckoSynthesisHealMaster
{
PROJECTILE
+NOINTERACTION
+DONTBLAST
States
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAA 4 A_GiveToTarget("SynthesisParticleItem", 1)
stop
}
}

actor SynthesisParticleItem : CustomInventory
{
States
{
pickup:
TNT1 A 0 A_SpawnItemEx("TreeckoSynthesisGFX", 0, random(-50,50), random(-65,35), 0, 0, 0)
stop
}
}


actor TreeckoSynthesisGFX
{
+DONTBLAST
+NOINTERACTION
scale 2.05
States
{
Spawn:
TREE NOPQRST 2
stop
}
}