Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- actor DakkaBeamColor: Counter {}
- actor DakkaShotSprite: Counter {}
- actor DakkaBeamChargeLevel: Counter {}
- actor "DAKKA BEAM": Weapon
- {
- Weapon.SelectionOrder 1750
- Inventory.PickupMessage "COMPULSION TO SHOOT A LOT MORE: ACQUIRED"
- States
- {
- Select:
- TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
- TNT1 A 1 A_Raise
- loop
- Deselect:
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 5, "PurpleDown")
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 4, "BlueDown")
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 3, "GreenDown")
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 2, "YellowDown")
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 1, "RedDown")
- goto RedDown
- RedDown:
- MBEM RSTUVW 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
- XBEM A 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
- goto ActualLower
- YellowDown:
- PBEM RSTUVW 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
- XBEM A 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
- goto ActualLower
- GreenDown:
- SBEM RSTUVW 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
- XBEM A 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
- goto ActualLower
- BlueDown:
- IBEM RSTUVW 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
- XBEM A 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
- goto ActualLower
- PurpleDown:
- WBEM RSTUVW 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
- XBEM A 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
- goto ActualLower
- PinkishDown:
- DCAN RSTUVW 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
- XBEM A 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
- goto ActualLower
- ActualLower:
- TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
- TNT1 A 1 A_Lower
- loop
- Ready:
- PBEM A 0 A_GiveInventory("DakkaBeamColor", 1)
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 6, "ResetReady") // doing it this way for easy copypasting
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 5, "PurpleReady")
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 4, "BlueReady")
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 3, "GreenReady")
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 2, "YellowReady")
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 1, "RedReady")
- goto RedReady
- ResetReady:
- PBEM A 0 A_TakeInventory("DakkaBeamColor")
- goto Ready
- RedReady:
- MBEM UTSR 1 A_WeaponReady
- MBEM A 3 A_WeaponReady
- MBEM RSTU 1 A_WeaponReady
- goto Ready
- YellowReady:
- PBEM UTSR 1 A_WeaponReady
- PBEM A 3 A_WeaponReady
- PBEM RSTU 1 A_WeaponReady
- goto Ready
- GreenReady:
- SBEM UTSR 1 A_WeaponReady
- SBEM A 3 A_WeaponReady
- SBEM RSTU 1 A_WeaponReady
- goto Ready
- BlueReady:
- IBEM UTSR 1 A_WeaponReady
- IBEM A 3 A_WeaponReady
- IBEM RSTU 1 A_WeaponReady
- goto Ready
- PurpleReady:
- WBEM UTSR 1 A_WeaponReady
- WBEM A 3 A_WeaponReady
- WBEM RSTU 1 A_WeaponReady
- goto Ready
- PinkishReady:
- DCAN UTSR 1 A_WeaponReady
- DCAN A 3 A_WeaponReady
- DCAN RSTU 1 A_WeaponReady
- goto Ready
- Fire:
- TNT1 A 0 A_Print("no more dakka")
- TNT1 A 0 A_TakeInventory("DakkaBeamChargeLevel")
- goto FireCommon
- Hold:
- TNT1 A 0 A_GiveInventory("DakkaBeamColor", 1)
- TNT1 A 0 A_GiveInventory("DakkaBeamChargeLevel", 1)
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 6, "ResetHold")
- goto FireCommon
- ResetHold:
- TNT1 A 0 A_TakeInventory("DakkaBeamColor")
- TNT1 A 0 A_GiveInventory("DakkaBeamColor")
- goto FireCommon
- DoRefire:
- TNT1 A 0 A_Refire // semantics
- goto Hold
- FireCommon:
- // Handle stuff common to all shots here
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 5, "PurpleShot")
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 4, "BlueShot")
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 3, "GreenShot")
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 2, "YellowShot")
- TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 1, "RedShot")
- goto RedShot
- RedShot:
- TNT1 AAAA 0 A_FireCustomMissile("DBeamShot_Red", random(-25,25)/5.0, 0, 12, 0, 0, random(-25,25)/5.0)
- MBEM H 0 A_PlaySound("weapons/pistol", ACS_ExecuteWithResult(475, 1))
- MBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 2) == 1, "RedFast")
- MBEM B 0 A_WeaponReady(WRF_NOFIRE)
- MBEM B 1 bright offset(3, 35)
- MBEM C 0 A_WeaponReady(WRF_NOFIRE)
- MBEM C 1 bright offset(2, 34)
- goto RedShot2
- RedFast:
- MBEM C 0 A_WeaponReady(WRF_NOFIRE)
- MBEM C 1 bright offset(2, 34)
- goto RedShot2
- RedShot2:
- MBEM H 0 A_WeaponReady(WRF_NOFIRE)
- MBEM H 1 bright offset(3, 35)
- MBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 3) == 1, "DoRefire")
- MBEM H 0 A_WeaponReady(WRF_NOFIRE)
- MBEM H 1 bright offset(3, 35)
- MBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 4) == 1, "DoRefire")
- MBEM H 1 bright offset(3, 35)
- MBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 5) == 1, "DoRefire")
- MBEM H 0 A_WeaponReady(WRF_NOFIRE)
- MBEM H 1 bright offset(2, 34)
- MBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 6) == 1, "DoRefire")
- MBEM H 1 bright offset(2, 34)
- MBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 7) == 1, "DoRefire")
- MBEM H 0 A_WeaponReady(WRF_NOFIRE)
- MBEM H 1 bright offset(1, 33)
- MBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 8) == 1, "DoRefire")
- MBEM H 0 A_WeaponReady(WRF_NOFIRE)
- MBEM H 1 bright offset(0, 32)
- MBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 9) == 1, "DoRefire")
- MBEM H 0 A_WeaponReady(WRF_NOFIRE)
- MBEM A 1 bright A_WeaponReady(WRF_NOFIRE)
- MBEM A 0 A_ClearRefire
- goto Ready
- YellowShot:
- TNT1 AAAA 0 A_FireCustomMissile("DBeamShot_Yellow", random(-25,25)/5.0, 0, 12, 0, 0, random(-25,25)/5.0)
- PBEM H 0 A_PlaySound("weapons/pistol", ACS_ExecuteWithResult(475, 1))
- PBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 2) == 1, "YellowFast")
- PBEM B 0 A_WeaponReady(WRF_NOFIRE)
- PBEM B 1 bright offset(3, 35)
- PBEM C 0 A_WeaponReady(WRF_NOFIRE)
- PBEM C 1 bright offset(2, 34)
- goto YellowShot2
- YellowFast:
- PBEM C 0 A_WeaponReady(WRF_NOFIRE)
- PBEM C 1 bright offset(2, 34)
- goto YellowShot2
- YellowShot2:
- PBEM H 0 A_WeaponReady(WRF_NOFIRE)
- PBEM H 1 bright offset(3, 35)
- PBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 3) == 1, "DoRefire")
- PBEM H 0 A_WeaponReady(WRF_NOFIRE)
- PBEM H 1 bright offset(3, 35)
- PBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 4) == 1, "DoRefire")
- PBEM H 1 bright offset(3, 35)
- PBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 5) == 1, "DoRefire")
- PBEM H 0 A_WeaponReady(WRF_NOFIRE)
- PBEM H 1 bright offset(2, 34)
- PBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 6) == 1, "DoRefire")
- PBEM H 1 bright offset(2, 34)
- PBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 7) == 1, "DoRefire")
- PBEM H 0 A_WeaponReady(WRF_NOFIRE)
- PBEM H 1 bright offset(1, 33)
- PBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 8) == 1, "DoRefire")
- PBEM H 0 A_WeaponReady(WRF_NOFIRE)
- PBEM H 1 bright offset(0, 32)
- PBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 9) == 1, "DoRefire")
- PBEM H 0 A_WeaponReady(WRF_NOFIRE)
- PBEM A 1 bright A_WeaponReady(WRF_NOFIRE)
- PBEM A 0 A_ClearRefire
- goto Ready
- GreenShot:
- TNT1 AAAA 0 A_FireCustomMissile("DBeamShot_Green", random(-25,25)/5.0, 0, 12, 0, 0, random(-25,25)/5.0)
- SBEM H 0 A_PlaySound("weapons/pistol", ACS_ExecuteWithResult(475, 1))
- SBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 2) == 1, "GreenFast")
- SBEM B 0 A_WeaponReady(WRF_NOFIRE)
- SBEM B 1 bright offset(3, 35)
- SBEM C 0 A_WeaponReady(WRF_NOFIRE)
- SBEM C 1 bright offset(2, 34)
- goto GreenShot2
- GreenFast:
- SBEM C 0 A_WeaponReady(WRF_NOFIRE)
- SBEM C 1 bright offset(2, 34)
- goto GreenShot2
- GreenShot2:
- SBEM H 0 A_WeaponReady(WRF_NOFIRE)
- SBEM H 1 bright offset(3, 35)
- SBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 3) == 1, "DoRefire")
- SBEM H 0 A_WeaponReady(WRF_NOFIRE)
- SBEM H 1 bright offset(3, 35)
- SBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 4) == 1, "DoRefire")
- SBEM H 1 bright offset(3, 35)
- SBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 5) == 1, "DoRefire")
- SBEM H 0 A_WeaponReady(WRF_NOFIRE)
- SBEM H 1 bright offset(2, 34)
- SBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 6) == 1, "DoRefire")
- SBEM H 1 bright offset(2, 34)
- SBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 7) == 1, "DoRefire")
- SBEM H 0 A_WeaponReady(WRF_NOFIRE)
- SBEM H 1 bright offset(1, 33)
- SBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 8) == 1, "DoRefire")
- SBEM H 0 A_WeaponReady(WRF_NOFIRE)
- SBEM H 1 bright offset(0, 32)
- SBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 9) == 1, "DoRefire")
- SBEM H 0 A_WeaponReady(WRF_NOFIRE)
- SBEM A 1 bright A_WeaponReady(WRF_NOFIRE)
- SBEM A 0 A_ClearRefire
- goto Ready
- BlueShot:
- TNT1 AAAA 0 A_FireCustomMissile("DBeamShot_Blue", random(-25,25)/5.0, 0, 12, 0, 0, random(-25,25)/5.0)
- IBEM H 0 A_PlaySound("weapons/pistol", ACS_ExecuteWithResult(475, 1))
- IBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 2) == 1, "BlueFast")
- IBEM B 0 A_WeaponReady(WRF_NOFIRE)
- IBEM B 1 bright offset(3, 35)
- IBEM C 0 A_WeaponReady(WRF_NOFIRE)
- IBEM C 1 bright offset(2, 34)
- goto BlueShot2
- BlueFast:
- IBEM C 0 A_WeaponReady(WRF_NOFIRE)
- IBEM C 1 bright offset(2, 34)
- goto BlueShot2
- BlueShot2:
- IBEM H 0 A_WeaponReady(WRF_NOFIRE)
- IBEM H 1 bright offset(3, 35)
- IBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 3) == 1, "DoRefire")
- IBEM H 0 A_WeaponReady(WRF_NOFIRE)
- IBEM H 1 bright offset(3, 35)
- IBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 4) == 1, "DoRefire")
- IBEM H 1 bright offset(3, 35)
- IBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 5) == 1, "DoRefire")
- IBEM H 0 A_WeaponReady(WRF_NOFIRE)
- IBEM H 1 bright offset(2, 34)
- IBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 6) == 1, "DoRefire")
- IBEM H 1 bright offset(2, 34)
- IBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 7) == 1, "DoRefire")
- IBEM H 0 A_WeaponReady(WRF_NOFIRE)
- IBEM H 1 bright offset(1, 33)
- IBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 8) == 1, "DoRefire")
- IBEM H 0 A_WeaponReady(WRF_NOFIRE)
- IBEM H 1 bright offset(0, 32)
- IBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 9) == 1, "DoRefire")
- IBEM H 0 A_WeaponReady(WRF_NOFIRE)
- IBEM A 1 bright A_WeaponReady(WRF_NOFIRE)
- IBEM A 0 A_ClearRefire
- goto Ready
- PurpleShot:
- TNT1 AAAA 0 A_FireCustomMissile("DBeamShot_Purple", random(-25,25)/5.0, 0, 12, 0, 0, random(-25,25)/5.0)
- WBEM H 0 A_PlaySound("weapons/pistol", ACS_ExecuteWithResult(475, 1))
- WBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 2) == 1, "PurpleFast")
- WBEM B 0 A_WeaponReady(WRF_NOFIRE)
- WBEM B 1 bright offset(3, 35)
- WBEM C 0 A_WeaponReady(WRF_NOFIRE)
- WBEM C 1 bright offset(2, 34)
- goto PurpleShot2
- PurpleFast:
- WBEM C 0 A_WeaponReady(WRF_NOFIRE)
- WBEM C 1 bright offset(2, 34)
- goto PurpleShot2
- PurpleShot2:
- WBEM H 0 A_WeaponReady(WRF_NOFIRE)
- WBEM H 1 bright offset(3, 35)
- WBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 3) == 1, "DoRefire")
- WBEM H 0 A_WeaponReady(WRF_NOFIRE)
- WBEM H 1 bright offset(3, 35)
- WBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 4) == 1, "DoRefire")
- WBEM H 1 bright offset(3, 35)
- WBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 5) == 1, "DoRefire")
- WBEM H 0 A_WeaponReady(WRF_NOFIRE)
- WBEM H 1 bright offset(2, 34)
- WBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 6) == 1, "DoRefire")
- WBEM H 1 bright offset(2, 34)
- WBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 7) == 1, "DoRefire")
- WBEM H 0 A_WeaponReady(WRF_NOFIRE)
- WBEM H 1 bright offset(1, 33)
- WBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 8) == 1, "DoRefire")
- WBEM H 0 A_WeaponReady(WRF_NOFIRE)
- WBEM H 1 bright offset(0, 32)
- WBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 9) == 1, "DoRefire")
- WBEM H 0 A_WeaponReady(WRF_NOFIRE)
- WBEM A 1 bright A_WeaponReady(WRF_NOFIRE)
- WBEM A 0 A_ClearRefire
- goto Ready
- }
- }
- actor DakkaBeamShot
- {
- Radius 6
- Height 6
- Projectile
- Speed 50
- Damage (5)
- RenderStyle Add
- Scale 0.35
- States
- {
- Spawn:
- XLSS A 0 bright
- XLSS A 0 ACS_ExecuteAlways(474, 0, 0, 0, 3)
- XLSS A 0 ACS_ExecuteAlways(474, 0, 1, 0, 2)
- XLSS A 0 A_GiveInventory("DakkaShotSprite")
- XLSS A 0 A_JumpIfInventory("DakkaShotSprite", 7, "ResetSprite")
- XLSS A 0 A_JumpIfInventory("DakkaShotSprite", 6, "Sprite6")
- XLSS A 0 A_JumpIfInventory("DakkaShotSprite", 5, "Sprite5")
- XLSS A 0 A_JumpIfInventory("DakkaShotSprite", 4, "Sprite4")
- XLSS A 0 A_JumpIfInventory("DakkaShotSprite", 3, "Sprite3")
- XLSS A 0 A_JumpIfInventory("DakkaShotSprite", 2, "Sprite2")
- XLSS A 0 A_JumpIfInventory("DakkaShotSprite", 1, "Sprite1")
- goto Sprite1
- ResetSprite:
- XLSS A 0 A_TakeInventory("DakkaShotSprite")
- goto Spawn
- Sprite1:
- XLSS A 0 bright
- goto Spawn2
- Sprite2:
- XLSS B 0 bright
- goto Spawn2
- Sprite3:
- XLSS C 0 bright
- goto Spawn2
- Sprite4:
- XLSS D 0 bright
- goto Spawn2
- Sprite5:
- XLSS E 0 bright
- goto Spawn2
- Sprite6:
- XLSS F 0 bright
- goto Spawn2
- Spawn2:
- "----" A 0 bright ThrustThingZ(0, random(3,6) / 2.0, random(0,1), 1)
- "----" A 1 bright ThrustThing((angle*256)/360 + (64 * (random(0,1)*2 - 1)), random(3,6) / 4.0, 1, 0)
- goto Spawn
- Death:
- XLSE ABCDEF 2 bright
- stop
- }
- }
- actor DBeamShot_Red: DakkaBeamShot { Translation "192:207=168:191" }
- actor DBeamShot_Yellow: DakkaBeamShot { Translation "192:207=208:223" } // actually orange, because doom yellows are bleh
- actor DBeamShot_Green: DakkaBeamShot { Translation "192:207=[166,255,166]:[0,128,0]" }
- actor DBeamShot_Blue: DakkaBeamShot { }
- actor DBeamShot_Purple: DakkaBeamShot { Translation "192:207=[255,128,255]:[90,0,90]" }
- actor DBeamShot_Pinkish:DakkaBeamShot { Translation "192:207=16:47" }
- actor DakkaBeamTrail
- {
- +NOINTERACTION
- +CLIENTSIDEONLY
- Radius 0
- Height 0
- Scale 0.2
- RenderStyle Add
- Alpha 0.10
- States
- {
- Spawn:
- XLSE A 0 bright
- XLSE ABCDEF 1 bright A_FadeOut(0.01)
- stop
- }
- }
- actor DakkaBeamParticle
- {
- -SOLID
- +NOBLOCKMONST
- +THRUACTORS
- +CLIENTSIDEONLY
- Radius 2
- Height 2
- Projectile
- -NOGRAVITY
- Gravity 0.5
- Scale 0.09
- RenderStyle Add
- States
- {
- Spawn:
- XLSS A 0
- XLSS A 0 ThrustThing(random(0, 256), random(4, 8) / 3.0, 1, 0)
- XLSS A 0 ThrustThingZ(0, random(-4, 32) / 3.0, 0, 1)
- goto Spawn2
- Spawn2:
- XLSS ABCDEF 1 bright A_FadeOut(0.05)
- loop
- Death:
- TNT1 A 0
- stop
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment