actor BubbleLeadBoss : MegaBuster 20007
{
Weapon.AmmoUse 2
Weapon.AmmoGive 28
Weapon.SlotNumber 1
Obituary "%o was bounced away by %k's Bubble Lead."
weapon.ammotype "BusterAmmo"
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
Spawn:
TNT1 A 0
stop
Ready:
BUBA A 0 ACS_ExecuteAlways(998,0,105)
BUBA A 0 A_GunFlash
BUBA A 1 A_WeaponReady(WRF_NOSWITCH)
goto Ready+2
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
BUBA A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
BUBA A 1 A_Raise
Loop
Fire:
BUBA A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
BUBA A 0 A_FireCustomMissile("BubProj",0,0,8,0)
BUBA ABC 4
BUBA A 0 A_ReFire
Goto Ready+2
Altfire:
//BUBA A 0 A_JumpIfNoAmmo("NoAmmo")
BUBA A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
BUBA A 0 A_SpawnItemEx("BubbleBounce",6,0,0,8,0,8,0,0,0)
BUBA AAA 4//A_FireCustomMissile("BubbleLead",0,1,8,0)
BUBA A 0 A_Refire
goto Ready+2
NoAmmo:
BUBA A 0
//BUBA A 1 ACS_Execute(979,0)
Goto Ready+2
Flash:
TNT1 A 0 A_JumpIf(z-floorz<1, "StaminaGive")
TNT1 A 0 A_JumpIfInventory("Stamina",1,"WaterCheck")
goto Land
WaterCheck:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(250)==1, "UnderWater")
//BUBA A 0 A_JumpIf(ACS_ExecuteWithResult(250)==0, "Land")
Land:
TNT1 A 1 SetPlayerProperty(0,0,3)
Goto Flash
UnderWater:
TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,"Land")
TNT1 A 1 SetPlayerProperty(0,1,3)
Goto Flash2

Flash2:
TNT1 A 0 A_JumpIf(z-floorz<1, "StaminaGive")
TNT1 A 0 A_JumpIfInventory("Stamina",1,"WaterCheck2")
goto Land
WaterCheck2:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(250)==1, "UnderWater2")
goto Land
UnderWater2:
TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,"Land")
TNT1 A 1 SetPlayerProperty(0,1,3)
Goto Flash3

Flash3:
TNT1 A 0 A_JumpIf(z-floorz<1, "StaminaGive")
TNT1 A 0 A_JumpIfInventory("Stamina",1,"WaterCheck3")
goto Land
WaterCheck3:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(250)==1, "UnderWater3")
goto Land
UnderWater3:
TNT1 A 0 A_JumpIfInventory("FlightDisableFlag",1,"Land")
TNT1 A 1 SetPlayerProperty(0,1,3)
TNT1 A 0 A_TakeInventory("Stamina",1)
Goto Flash

StaminaGive:
TNT1 A 0 A_GiveInventory("Stamina",20)
goto WaterCheck
}
}

actor BubbleBounce
{
PROJECTILE
damagetype "Bubble"
scale 2.5
-NOGRAVITY
//+DONTBLAST
//+HEXENBOUNCE
//bouncecount 9
//bouncefactor 0.9
Speed 0
Radius 6
Height 5
gravity 1.8
Damage (12)
reactiontime 30
States
{
Spawn:
BUBA E 0
BUBA E 0 A_Recoil(-10)
TNT1 A 1 ThrustThingZ(0, 45, 0, 0)
BUBA EF 3 A_CountDown
Goto Spawn+3
Death:
TNT1 A 0 A_JumpIf(z-floorz==0,"Death2")
TNT1 A 0 A_JumpIf(z-ceilingz==0-5,"Death3")
TNT1 A 1
stop
Death2:
TNT1 A 1 A_SpawnItemEx("BubbleBounce2",0,0,0,5,0,0,0,0,0)
stop
Death3:
TNT1 A 1 A_SpawnItemEx("BubbleBounce2Down",0,0,0,5,0,0,0,0,0)
stop
XDeath:
TNT1 A 1 A_SpawnItemEx("BubbleBounceX",0,0,0,5,0,0,0,0,0)
stop
}
}

actor BubbleBounceDown : BubbleBounce
{
states
{
Spawn:
BUBA E 0
BUBA E 0 A_Recoil(-10)
TNT1 A 1 ThrustThingZ(0, 45, 1, 0)
BUBA EF 3 A_CountDown
Goto Spawn+3
}
}

actor BubbleBounce2 : BubbleBounce
{
States
{
Death2:
TNT1 A 1 A_SpawnItemEx("BubbleBounce3",0,0,0,5,0,0,0,0,0)
stop
Death3:
TNT1 A 1 A_SpawnItemEx("BubbleBounce3Down",0,0,0,5,0,0,0,0,0)
stop
}
}

actor BubbleBounce2Down : BubbleBounceDown
{
States
{
Death2:
TNT1 A 1 A_SpawnItemEx("BubbleBounce3",0,0,0,5,0,0,0,0,0)
stop
Death3:
TNT1 A 1 A_SpawnItemEx("BubbleBounce3Down",0,0,0,5,0,0,0,0,0)
stop
}
}

actor BubbleBounce3 : BubbleBounce
{
States
{
Death2:
TNT1 A 1 A_SpawnItemEx("BubbleBounce4",0,0,0,5,0,0,0,0,0)
stop
Death3:
TNT1 A 1 A_SpawnItemEx("BubbleBounce4Down",0,0,0,5,0,0,0,0,0)
stop
}
}

actor BubbleBounce3Down : BubbleBounceDown
{
States
{
Death2:
TNT1 A 1 A_SpawnItemEx("BubbleBounce4",0,0,0,5,0,0,0,0,0)
stop
Death3:
TNT1 A 1 A_SpawnItemEx("BubbleBounce4Down",0,0,0,5,0,0,0,0,0)
stop
}
}

actor BubbleBounce4 : BubbleBounce
{
States
{
Death2:
TNT1 A 1 A_SpawnItemEx("BubbleBounce5",0,0,0,5,0,0,0,0,0)
stop
Death3:
TNT1 A 1 A_SpawnItemEx("BubbleBounce5Down",0,0,0,5,0,0,0,0,0)
stop
}
}

actor BubbleBounce4Down : BubbleBounceDown
{
States
{
Death2:
TNT1 A 1 A_SpawnItemEx("BubbleBounce5",0,0,0,5,0,0,0,0,0)
stop
Death3:
TNT1 A 1 A_SpawnItemEx("BubbleBounce5Down",0,0,0,5,0,0,0,0,0)
stop
}
}

actor BubbleBounce5 : BubbleBounce
{
States
{
Death2:
TNT1 A 1
stop
Death3:
TNT1 A 1
stop
}
}

actor BubbleBounce5Down : BubbleBounceDown
{
States
{
Death2:
TNT1 A 1
stop
Death3:
TNT1 A 1
stop
}
}

actor BubbleBounceX : BubbleBounce
{
States
{
XDeath:
TNT1 A 1
stop
}
}

actor BubProj : FastProjectile
{
PROJECTILE
+LOOKALLAROUND
+SKYEXPLODE
+DONTBLAST
damagetype "Buster"
//seesound "weapon/mbuster"
Speed 64
Damage (15)
radius 5
height 5
scale 2.5
States
{
Spawn:
TNT1 A 1
BUBA D 1
Goto Spawn+1
Death:
BUBA D 1
stop
}
}