Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ACTOR FDTNTPlasmaRifle : FDWeapon
- {
- Inventory.RestrictedTo "FDTNTPlayer"
- Inventory.Icon "TNPLASMA"
- Weapon.UpSound ""
- Weapon.AmmoType "FDTNTCell"
- Weapon.AmmoUse 1
- Weapon.SlotNumber 6
- Obituary "%o was microwaved by %k."
- // Decal "BulletChip"
- Tag "Maser"
- States
- {
- Ready:
- TPLA A 1 A_WeaponReady
- Loop
- Select:
- TPLA A 1 A_Raise
- "####" "#" 0 A_Raise
- Loop
- Deselect:
- TNT1 A 0 A_StopSound (7)
- TNT1 A 0 A_TakeInventory ("FDTNTMaserBeamToken", 0)
- TPLA A 1 A_Lower
- "####" "#" 0 A_Lower
- Loop
- Dryfire:
- TPLA A 6 A_PlaySound("weapons/dryfire1", 5, 1, 0, 1.25)
- Goto Ready
- Fire:
- TNT1 A 0 A_JumpIfInventory ("FDTNTCell", 1, 1)
- Goto Dryfire
- TPLA BGBG 1
- TNT1 A 0 A_AlertMonsters
- TNT1 A 0 A_GunFlash
- TNT1 A 0 A_PlaySound("tntplasmarifle/fire", CHAN_WEAPON, 1, 0, 0.5)
- TNT1 A 0 A_PlaySound("tntplasmarifle/fireloop", 7, 1, 1, 0.7)
- FireLoop:
- TNT1 A 0 A_JumpIf(CallACS("FD_simplemaser") == 1, "SimpleFireLoop")
- TNT1 A 0 A_JumpIf(CallACS("FD_simplemaser") == 2, "FancyFireLoop")
- TNT1 A 0 A_JumpIfInventory ("FDTNTMaserBeamToken", 0, 3)
- TNT1 A 0 A_GiveInventory ("FDTNTMaserBeamToken", 1)
- TNT1 A 0 A_FireCustomMissile ("FDTNTMaserBeam", 0, 0)
- Goto BEEEM
- TNT1 A 0 A_TakeInventory ("FDTNTMaserBeamToken", 0)
- TNT1 A 0 A_FireCustomMissile ("FDTNTMaserBeam2", 0, 0)
- Goto BEEEM
- SimpleFireLoop: // AIKGLBUFVBPSGBYSPOEGUSP
- TNT1 A 0 A_JumpIfInventory ("FDTNTMaserBeamToken", 0, 4)
- TNT1 A 0 A_GiveInventory ("FDTNTMaserBeamToken", 1)
- TNT1 A 0 A_FireCustomMissile ("FDTNTSimpleMaserBeam", 0, 0)
- TNT1 A 0 A_RailAttack (0, 0, 0, "None", "Red", RGF_SILENT | RGF_NOPIERCING | RGF_FULLBRIGHT, 0, "FDHarmlessPuff", 0,0, 1000, 1, 0.2, 0.0, "None", -4)
- Goto BEEEM
- TNT1 A 0 A_TakeInventory ("FDTNTMaserBeamToken", 0)
- TNT1 A 0 A_FireCustomMissile ("FDTNTSimpleMaserBeam2", 0, 0)
- TNT1 A 0 A_RailAttack (0, 0, 0, "None", "Red", RGF_SILENT | RGF_NOPIERCING | RGF_FULLBRIGHT, 0, "FDHarmlessPuff", 0,0, 1000, 1, 0.2, 0.0, "None", -4)
- Goto BEEEM
- FancyFireLoop:
- TNT1 A 0 A_JumpIfInventory ("FDTNTMaserBeamToken", 0, 3)
- TNT1 A 0 A_GiveInventory ("FDTNTMaserBeamToken", 1)
- TNT1 A 0 A_FireCustomMissile ("FDTNTFancyMaserBeam", 0, 0)
- Goto BEEEM
- TNT1 A 0 A_TakeInventory ("FDTNTMaserBeamToken", 0)
- TNT1 A 0 A_FireCustomMissile ("FDTNTFancyMaserBeam2", 0, 0)
- Goto BEEEM
- BEEEM:
- TNT1 A 0 A_JumpIfInventory ("FDTNTMaserFrame", 3, "BEEEM4")
- TNT1 A 0 A_JumpIfInventory ("FDTNTMaserFrame", 2, "BEEEM3")
- TNT1 A 0 A_JumpIfInventory ("FDTNTMaserFrame", 1, "BEEEM2")
- TNT1 A 0 A_GiveInventory ("FDTNTMaserFrame", 1)
- TPLA C 1 Bright A_SetPitch (pitch - (0.2 * CallACS("FD_recoil")/65536.0))
- Goto FireLoop
- BEEEM2:
- TNT1 A 0 A_TakeInventory ("FDTNTCell", 1, TIF_NOTAKEINFINITE)
- TNT1 A 0 A_GiveInventory ("FDTNTMaserFrame", 1)
- TPLA D 1 Bright A_SetPitch (pitch + (0.2 * CallACS("FD_recoil")/65536.0))
- TNT1 A 0 A_Refire ("BEEEMAmmoCheck")
- Goto BEEEMEnd
- BEEEM3:
- TNT1 A 0 A_GiveInventory ("FDTNTMaserFrame", 1)
- TPLA E 1 Bright A_SetPitch (pitch - (0.2 * CallACS("FD_recoil")/65536.0))
- Goto FireLoop
- BEEEM4:
- TNT1 A 0 A_TakeInventory ("FDTNTCell", 1, TIF_NOTAKEINFINITE)
- TNT1 A 0 A_TakeInventory ("FDTNTMaserFrame", 0)
- TPLA F 1 Bright A_SetPitch (pitch + (0.2 * CallACS("FD_recoil")/65536.0))
- TNT1 A 0 A_Refire ("BEEEMAmmoCheck")
- Goto BEEEMEnd
- BEEEMAmmoCheck:
- TNT1 A 0 A_JumpIfInventory ("FDTNTCell", 1, 1)
- Goto BEEEMEnd
- TNT1 A 0 A_AlertMonsters
- TNT1 A 0 A_GunFlash
- Goto FireLoop
- BEEEMEnd:
- TNT1 A 0 A_TakeInventory ("FDTNTMaserBeamToken", 0)
- TNT1 A 0 A_StopSound (7)
- TNT1 A 0 A_PlaySound("tntplasmarifle/fireend", CHAN_WEAPON, 1, 0, 0.5)
- BEEEMEndLoop:
- TPLA BGBGBGBGBG 1
- Goto Ready
- Flash:
- TNT1 A 1 A_Light1
- TNT1 A 1 A_Light2
- TNT1 A 1 A_Light (3)
- TNT1 A 1 A_Light1
- TNT1 A 0 A_Light0
- Goto LightDone
- }
- }
- Actor FDTNTMaserFrame : FDCounter
- {
- inventory.maxamount 3
- }
- //------------------------------------------------------------------------------
- // WELCOME TO THE BEAM ZONE POPULATION: BEAM
- // THERE IS A SIGNIFICANT AMOUNT OF WHAT EVEN IS THIS AHEAD
- // BEWARE
- //------------------------------------------------------------------------------
- ACTOR FDTNTMaserBeam
- {
- Radius 3
- Height 4
- Speed 2
- var int user_life[2];
- Damage (5) // Apparently this is doing ten damage. I have no words.
- DamageType "Maser"
- Decal "MaserScorch"
- Species "Player"
- Renderstyle Add
- Alpha 0.99
- Scale 0.9
- PROJECTILE
- +THRUSPECIES
- +MTHRUSPECIES
- +PAINLESS
- +DONTSPLASH
- +NODAMAGETHRUST
- +BLOODLESSIMPACT
- +EXTREMEDEATH
- States
- {
- Spawn:
- TNT1 A 0
- TNT1 A 0 A_SpawnItemEx("FDTNTMaserBeamEffect", 5,0,2, velx,vely,velz, 0, SXF_NOCHECKPOSITION | SXF_ABSOLUTEMOMENTUM | SXF_TRANSFERPOINTERS)
- TNT1 A 0 A_Jump (256, "Movement")
- Goto Movement
- Movement:
- TNT1 A 0 A_JumpIf(user_life[0]>=750,"Dissipate")
- TNT1 A 0 A_Warp(AAPTR_DEFAULT,velx,vely,velz,0,WARPF_ABSOLUTEOFFSET,1)
- Goto DetectSolid
- TNT1 A 0 A_SetUserArray("user_life",0,user_life[0]+1)
- Loop
- DetectSolid:
- TNT1 AAAAA 1
- Goto Movement
- Dissipate:
- TNT1 A 0
- Stop
- Death:
- TNT1 A 0 A_JumpIf(CallACS("FD_particles") == 0, "DeathLoop")
- TNT1 A 0 A_Jump (256, 1,2,3)
- TNT1 AAAAA 0 A_SpawnParticle (ff0000, SPF_FULLBRIGHT | SPF_RELATIVE, random(30,70), random(1,10), frandom(0,360), 0,0,0, frandom(0.2,12.0),frandom(-0.2,0.2),frandom(-6.0,6.0), 0,0,-0.1, 0.98, -1)
- TNT1 A 0 A_Jump (256, 1,3,5)
- TNT1 AAAAAA 0 A_SpawnParticle (ff3333, SPF_FULLBRIGHT | SPF_RELATIVE, random(25,60), random(1,10), frandom(0,360), 0,0,0, frandom(0.2,12.0),frandom(-0.2,0.2),frandom(-6.0,6.0), 0,0,-0.1, 0.98, -1)
- TNT1 A 0 A_Jump (256, 1,3,5)
- TNT1 AAAAAAA 0 A_SpawnParticle (ff6363, SPF_FULLBRIGHT | SPF_RELATIVE, random(20,50), random(1,10), frandom(0,360), 0,0,0, frandom(0.2,12.0),frandom(-0.2,0.2),frandom(-6.0,6.0), 0,0,-0.1, 0.98, -1)
- TNT1 A 0 A_Jump (256, 1,2,4)
- TNT1 AAAAAAAA 0 A_SpawnParticle (ff9696, SPF_FULLBRIGHT | SPF_RELATIVE, random(15,40), random(1,10), frandom(0,360), 0,0,0, frandom(0.2,12.0),frandom(-0.2,0.2),frandom(-6.0,6.0), 0,0,-0.1, 0.98, -1)
- TNT1 A 0 A_Jump (256, 1,2,3)
- TNT1 AAAAAAAAA 0 A_SpawnParticle (ffffff, SPF_FULLBRIGHT | SPF_RELATIVE, random(10,30), random(1,4), frandom(0,360), 0,0,0, frandom(0.2,12.0),frandom(-0.2,0.2),frandom(-6.0,6.0), 0,0,0, 0.98, -1)
- TNT1 A 0 A_Jump (256, "DeathLoop")
- Goto DeathLoop
- DeathLoop:
- TNT1 A 0 A_FadeTo(0, 0.1, 1)
- MASE A 1 Light("FDMaserImpact") Bright A_SetScale (scalex / 2)
- TNT1 A 0 A_FadeTo(0, 0.1, 1)
- MASE B 1 Light("FDMaserImpact") Bright A_SetScale (scalex / 2)
- TNT1 A 0 A_FadeTo(0, 0.1, 1)
- MASE C 1 Light("FDMaserImpact") Bright A_SetScale (scalex / 2)
- Loop
- }
- }
- ACTOR FDTNTMaserBeam2 : FDTNTMaserBeam
- {
- -PAINLESS
- }
- ACTOR FDTNTSimpleMaserBeam : FDTNTMaserBeam
- {
- States
- {
- Spawn:
- TNT1 A 0
- TNT1 A 0 A_Jump (256, "Movement")
- Goto Movement
- }
- }
- ACTOR FDTNTSimpleMaserBeam2 : FDTNTSimpleMaserBeam
- {
- -PAINLESS
- }
- ACTOR FDTNTFancyMaserBeam : FDTNTMaserBeam
- {
- Scale 0.6
- States
- {
- Spawn:
- TNT1 A 0
- TNT1 A 0 A_SpawnItemEx("FDTNTFancyMaserBeamEffect", 5,0,2, velx,vely,velz, 0, SXF_NOCHECKPOSITION | SXF_ABSOLUTEMOMENTUM | SXF_TRANSFERPOINTERS)
- TNT1 A 0 A_Jump (256, "Movement")
- Goto Movement
- DeathLoop:
- TNT1 A 0 A_SetScale (0.2)
- DeathLoopForRealsies:
- TNT1 A 0 A_FadeTo(0, 0.1, 1)
- OGLP C 1 Light("FDMaserImpact") Bright A_SetScale (scalex / 2)
- Loop
- }
- }
- ACTOR FDTNTFancyMaserBeam2 : FDTNTFancyMaserBeam
- {
- -PAINLESS
- }
- ACTOR FDTNTMaserBeamEffect
- {
- var int user_life;
- Radius 3
- Height 3
- Speed 5
- Species "Player"
- PROJECTILE
- +THRUSPECIES
- +MTHRUSPECIES
- +BLOODLESSIMPACT
- +PAINLESS
- States
- {
- Spawn:
- TNT1 A 0
- TNT1 A 0 A_Warp(AAPTR_DEFAULT, velx/2,vely/2,velz/2, 0, WARPF_ABSOLUTEOFFSET | WARPF_INTERPOLATE, 1)
- Goto Death
- TNT1 A 0 A_SpawnItemEx("FDTNTMaserBeamVisual", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
- TNT1 A 0 A_SetUserVar("user_life",user_life+1)
- TNT1 A 0 A_JumpIf(user_life >= 1500,"Death")
- loop
- Death:
- TNT1 A 1
- Stop
- }
- }
- ACTOR FDTNTFancyMaserBeamEffect : FDTNTMaserBeamEffect
- {
- States
- {
- Spawn:
- TNT1 A 0
- TNT1 A 0 A_Warp(AAPTR_DEFAULT, velx/2,vely/2,velz/2, 0, WARPF_ABSOLUTEOFFSET | WARPF_INTERPOLATE, 1)
- Goto Death
- TNT1 A 0 A_SpawnItemEx("FDTNTFancyMaserBeamVisual", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
- TNT1 A 0 A_SetUserVar("user_life",user_life+1)
- TNT1 A 0 A_JumpIf(user_life >= 1500,"Death")
- loop
- }
- }
- Actor FDTNTMaserBeamToken : FDCounter
- {
- inventory.maxamount 10
- }
- Actor FDTNTMaserBeamVisual
- {
- +THRUACTORS
- +NOINTERACTION
- Radius 4
- Height 4
- RenderStyle Add
- Alpha 0.68
- Scale 0.08
- States
- {
- Spawn:
- TNT1 A 0
- TNT1 A 0 A_SetScale (scalex * frandom(0.9,1.1))
- TNT1 A 0 A_Jump (256, "FrameA", "FrameB", "FrameC")
- FrameA:
- MASE A 1 Bright
- Stop
- FrameB:
- MASE B 1 Bright
- Stop
- FrameC:
- MASE C 1 Bright
- Stop
- }
- }
- Actor FDTNTFancyMaserBeamVisual : FDTNTMaserBeamVisual
- {
- Alpha 0.68
- Scale 0.08
- States
- {
- Spawn:
- TNT1 A 0
- TNT1 A 0 A_SetScale (scalex * frandom(0.9,1.1))
- OGLP C 1 Bright
- Stop
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement