Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.84 KB | None | 0 0
  1. ACTOR FDTNTPlasmaRifle : FDWeapon
  2. {
  3. Inventory.RestrictedTo "FDTNTPlayer"
  4. Inventory.Icon "TNPLASMA"
  5. Weapon.UpSound ""
  6. Weapon.AmmoType "FDTNTCell"
  7. Weapon.AmmoUse 1
  8. Weapon.SlotNumber 6
  9. Obituary "%o was microwaved by %k."
  10. // Decal "BulletChip"
  11. Tag "Maser"
  12. States
  13. {
  14. Ready:
  15. TPLA A 1 A_WeaponReady
  16. Loop
  17.  
  18. Select:
  19. TPLA A 1 A_Raise
  20. "####" "#" 0 A_Raise
  21. Loop
  22. Deselect:
  23. TNT1 A 0 A_StopSound (7)
  24. TNT1 A 0 A_TakeInventory ("FDTNTMaserBeamToken", 0)
  25. TPLA A 1 A_Lower
  26. "####" "#" 0 A_Lower
  27. Loop
  28.  
  29. Dryfire:
  30. TPLA A 6 A_PlaySound("weapons/dryfire1", 5, 1, 0, 1.25)
  31. Goto Ready
  32.  
  33. Fire:
  34. TNT1 A 0 A_JumpIfInventory ("FDTNTCell", 1, 1)
  35. Goto Dryfire
  36. TPLA BGBG 1
  37. TNT1 A 0 A_AlertMonsters
  38. TNT1 A 0 A_GunFlash
  39. TNT1 A 0 A_PlaySound("tntplasmarifle/fire", CHAN_WEAPON, 1, 0, 0.5)
  40. TNT1 A 0 A_PlaySound("tntplasmarifle/fireloop", 7, 1, 1, 0.7)
  41.  
  42. FireLoop:
  43. TNT1 A 0 A_JumpIf(CallACS("FD_simplemaser") == 1, "SimpleFireLoop")
  44. TNT1 A 0 A_JumpIf(CallACS("FD_simplemaser") == 2, "FancyFireLoop")
  45. TNT1 A 0 A_JumpIfInventory ("FDTNTMaserBeamToken", 0, 3)
  46. TNT1 A 0 A_GiveInventory ("FDTNTMaserBeamToken", 1)
  47. TNT1 A 0 A_FireCustomMissile ("FDTNTMaserBeam", 0, 0)
  48. Goto BEEEM
  49. TNT1 A 0 A_TakeInventory ("FDTNTMaserBeamToken", 0)
  50. TNT1 A 0 A_FireCustomMissile ("FDTNTMaserBeam2", 0, 0)
  51. Goto BEEEM
  52.  
  53. SimpleFireLoop: // AIKGLBUFVBPSGBYSPOEGUSP
  54. TNT1 A 0 A_JumpIfInventory ("FDTNTMaserBeamToken", 0, 4)
  55. TNT1 A 0 A_GiveInventory ("FDTNTMaserBeamToken", 1)
  56. TNT1 A 0 A_FireCustomMissile ("FDTNTSimpleMaserBeam", 0, 0)
  57. 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)
  58. Goto BEEEM
  59. TNT1 A 0 A_TakeInventory ("FDTNTMaserBeamToken", 0)
  60. TNT1 A 0 A_FireCustomMissile ("FDTNTSimpleMaserBeam2", 0, 0)
  61. 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)
  62. Goto BEEEM
  63.  
  64. FancyFireLoop:
  65. TNT1 A 0 A_JumpIfInventory ("FDTNTMaserBeamToken", 0, 3)
  66. TNT1 A 0 A_GiveInventory ("FDTNTMaserBeamToken", 1)
  67. TNT1 A 0 A_FireCustomMissile ("FDTNTFancyMaserBeam", 0, 0)
  68. Goto BEEEM
  69. TNT1 A 0 A_TakeInventory ("FDTNTMaserBeamToken", 0)
  70. TNT1 A 0 A_FireCustomMissile ("FDTNTFancyMaserBeam2", 0, 0)
  71. Goto BEEEM
  72.  
  73. BEEEM:
  74. TNT1 A 0 A_JumpIfInventory ("FDTNTMaserFrame", 3, "BEEEM4")
  75. TNT1 A 0 A_JumpIfInventory ("FDTNTMaserFrame", 2, "BEEEM3")
  76. TNT1 A 0 A_JumpIfInventory ("FDTNTMaserFrame", 1, "BEEEM2")
  77. TNT1 A 0 A_GiveInventory ("FDTNTMaserFrame", 1)
  78. TPLA C 1 Bright A_SetPitch (pitch - (0.2 * CallACS("FD_recoil")/65536.0))
  79. Goto FireLoop
  80. BEEEM2:
  81. TNT1 A 0 A_TakeInventory ("FDTNTCell", 1, TIF_NOTAKEINFINITE)
  82. TNT1 A 0 A_GiveInventory ("FDTNTMaserFrame", 1)
  83. TPLA D 1 Bright A_SetPitch (pitch + (0.2 * CallACS("FD_recoil")/65536.0))
  84. TNT1 A 0 A_Refire ("BEEEMAmmoCheck")
  85. Goto BEEEMEnd
  86. BEEEM3:
  87. TNT1 A 0 A_GiveInventory ("FDTNTMaserFrame", 1)
  88. TPLA E 1 Bright A_SetPitch (pitch - (0.2 * CallACS("FD_recoil")/65536.0))
  89. Goto FireLoop
  90. BEEEM4:
  91. TNT1 A 0 A_TakeInventory ("FDTNTCell", 1, TIF_NOTAKEINFINITE)
  92. TNT1 A 0 A_TakeInventory ("FDTNTMaserFrame", 0)
  93. TPLA F 1 Bright A_SetPitch (pitch + (0.2 * CallACS("FD_recoil")/65536.0))
  94. TNT1 A 0 A_Refire ("BEEEMAmmoCheck")
  95. Goto BEEEMEnd
  96. BEEEMAmmoCheck:
  97. TNT1 A 0 A_JumpIfInventory ("FDTNTCell", 1, 1)
  98. Goto BEEEMEnd
  99. TNT1 A 0 A_AlertMonsters
  100. TNT1 A 0 A_GunFlash
  101. Goto FireLoop
  102. BEEEMEnd:
  103. TNT1 A 0 A_TakeInventory ("FDTNTMaserBeamToken", 0)
  104. TNT1 A 0 A_StopSound (7)
  105. TNT1 A 0 A_PlaySound("tntplasmarifle/fireend", CHAN_WEAPON, 1, 0, 0.5)
  106. BEEEMEndLoop:
  107. TPLA BGBGBGBGBG 1
  108. Goto Ready
  109.  
  110. Flash:
  111. TNT1 A 1 A_Light1
  112. TNT1 A 1 A_Light2
  113. TNT1 A 1 A_Light (3)
  114. TNT1 A 1 A_Light1
  115. TNT1 A 0 A_Light0
  116. Goto LightDone
  117. }
  118. }
  119.  
  120. Actor FDTNTMaserFrame : FDCounter
  121. {
  122. inventory.maxamount 3
  123. }
  124.  
  125. //------------------------------------------------------------------------------
  126.  
  127. // WELCOME TO THE BEAM ZONE POPULATION: BEAM
  128. // THERE IS A SIGNIFICANT AMOUNT OF WHAT EVEN IS THIS AHEAD
  129. // BEWARE
  130.  
  131. //------------------------------------------------------------------------------
  132.  
  133. ACTOR FDTNTMaserBeam
  134. {
  135. Radius 3
  136. Height 4
  137. Speed 2
  138. var int user_life[2];
  139. Damage (5) // Apparently this is doing ten damage. I have no words.
  140. DamageType "Maser"
  141. Decal "MaserScorch"
  142. Species "Player"
  143. Renderstyle Add
  144. Alpha 0.99
  145. Scale 0.9
  146. PROJECTILE
  147. +THRUSPECIES
  148. +MTHRUSPECIES
  149. +PAINLESS
  150. +DONTSPLASH
  151. +NODAMAGETHRUST
  152. +BLOODLESSIMPACT
  153. +EXTREMEDEATH
  154. States
  155. {
  156. Spawn:
  157. TNT1 A 0
  158. TNT1 A 0 A_SpawnItemEx("FDTNTMaserBeamEffect", 5,0,2, velx,vely,velz, 0, SXF_NOCHECKPOSITION | SXF_ABSOLUTEMOMENTUM | SXF_TRANSFERPOINTERS)
  159. TNT1 A 0 A_Jump (256, "Movement")
  160. Goto Movement
  161. Movement:
  162. TNT1 A 0 A_JumpIf(user_life[0]>=750,"Dissipate")
  163. TNT1 A 0 A_Warp(AAPTR_DEFAULT,velx,vely,velz,0,WARPF_ABSOLUTEOFFSET,1)
  164. Goto DetectSolid
  165. TNT1 A 0 A_SetUserArray("user_life",0,user_life[0]+1)
  166. Loop
  167. DetectSolid:
  168. TNT1 AAAAA 1
  169. Goto Movement
  170. Dissipate:
  171. TNT1 A 0
  172. Stop
  173. Death:
  174. TNT1 A 0 A_JumpIf(CallACS("FD_particles") == 0, "DeathLoop")
  175. TNT1 A 0 A_Jump (256, 1,2,3)
  176. 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)
  177. TNT1 A 0 A_Jump (256, 1,3,5)
  178. 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)
  179. TNT1 A 0 A_Jump (256, 1,3,5)
  180. 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)
  181. TNT1 A 0 A_Jump (256, 1,2,4)
  182. 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)
  183. TNT1 A 0 A_Jump (256, 1,2,3)
  184. 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)
  185. TNT1 A 0 A_Jump (256, "DeathLoop")
  186. Goto DeathLoop
  187. DeathLoop:
  188. TNT1 A 0 A_FadeTo(0, 0.1, 1)
  189. MASE A 1 Light("FDMaserImpact") Bright A_SetScale (scalex / 2)
  190. TNT1 A 0 A_FadeTo(0, 0.1, 1)
  191. MASE B 1 Light("FDMaserImpact") Bright A_SetScale (scalex / 2)
  192. TNT1 A 0 A_FadeTo(0, 0.1, 1)
  193. MASE C 1 Light("FDMaserImpact") Bright A_SetScale (scalex / 2)
  194. Loop
  195. }
  196. }
  197.  
  198. ACTOR FDTNTMaserBeam2 : FDTNTMaserBeam
  199. {
  200. -PAINLESS
  201. }
  202.  
  203. ACTOR FDTNTSimpleMaserBeam : FDTNTMaserBeam
  204. {
  205. States
  206. {
  207. Spawn:
  208. TNT1 A 0
  209. TNT1 A 0 A_Jump (256, "Movement")
  210. Goto Movement
  211. }
  212. }
  213.  
  214. ACTOR FDTNTSimpleMaserBeam2 : FDTNTSimpleMaserBeam
  215. {
  216. -PAINLESS
  217. }
  218.  
  219. ACTOR FDTNTFancyMaserBeam : FDTNTMaserBeam
  220. {
  221. Scale 0.6
  222. States
  223. {
  224. Spawn:
  225. TNT1 A 0
  226. TNT1 A 0 A_SpawnItemEx("FDTNTFancyMaserBeamEffect", 5,0,2, velx,vely,velz, 0, SXF_NOCHECKPOSITION | SXF_ABSOLUTEMOMENTUM | SXF_TRANSFERPOINTERS)
  227. TNT1 A 0 A_Jump (256, "Movement")
  228. Goto Movement
  229. DeathLoop:
  230. TNT1 A 0 A_SetScale (0.2)
  231. DeathLoopForRealsies:
  232. TNT1 A 0 A_FadeTo(0, 0.1, 1)
  233. OGLP C 1 Light("FDMaserImpact") Bright A_SetScale (scalex / 2)
  234. Loop
  235. }
  236. }
  237.  
  238. ACTOR FDTNTFancyMaserBeam2 : FDTNTFancyMaserBeam
  239. {
  240. -PAINLESS
  241. }
  242.  
  243. ACTOR FDTNTMaserBeamEffect
  244. {
  245. var int user_life;
  246. Radius 3
  247. Height 3
  248. Speed 5
  249. Species "Player"
  250. PROJECTILE
  251. +THRUSPECIES
  252. +MTHRUSPECIES
  253. +BLOODLESSIMPACT
  254. +PAINLESS
  255. States
  256. {
  257. Spawn:
  258. TNT1 A 0
  259. TNT1 A 0 A_Warp(AAPTR_DEFAULT, velx/2,vely/2,velz/2, 0, WARPF_ABSOLUTEOFFSET | WARPF_INTERPOLATE, 1)
  260. Goto Death
  261. TNT1 A 0 A_SpawnItemEx("FDTNTMaserBeamVisual", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
  262. TNT1 A 0 A_SetUserVar("user_life",user_life+1)
  263. TNT1 A 0 A_JumpIf(user_life >= 1500,"Death")
  264. loop
  265. Death:
  266. TNT1 A 1
  267. Stop
  268. }
  269. }
  270.  
  271. ACTOR FDTNTFancyMaserBeamEffect : FDTNTMaserBeamEffect
  272. {
  273. States
  274. {
  275. Spawn:
  276. TNT1 A 0
  277. TNT1 A 0 A_Warp(AAPTR_DEFAULT, velx/2,vely/2,velz/2, 0, WARPF_ABSOLUTEOFFSET | WARPF_INTERPOLATE, 1)
  278. Goto Death
  279. TNT1 A 0 A_SpawnItemEx("FDTNTFancyMaserBeamVisual", 0,0,0, 0,0,0, 0, SXF_NOCHECKPOSITION)
  280. TNT1 A 0 A_SetUserVar("user_life",user_life+1)
  281. TNT1 A 0 A_JumpIf(user_life >= 1500,"Death")
  282. loop
  283. }
  284. }
  285.  
  286. Actor FDTNTMaserBeamToken : FDCounter
  287. {
  288. inventory.maxamount 10
  289. }
  290.  
  291. Actor FDTNTMaserBeamVisual
  292. {
  293. +THRUACTORS
  294. +NOINTERACTION
  295. Radius 4
  296. Height 4
  297. RenderStyle Add
  298. Alpha 0.68
  299. Scale 0.08
  300. States
  301. {
  302. Spawn:
  303. TNT1 A 0
  304. TNT1 A 0 A_SetScale (scalex * frandom(0.9,1.1))
  305. TNT1 A 0 A_Jump (256, "FrameA", "FrameB", "FrameC")
  306. FrameA:
  307. MASE A 1 Bright
  308. Stop
  309. FrameB:
  310. MASE B 1 Bright
  311. Stop
  312. FrameC:
  313. MASE C 1 Bright
  314. Stop
  315. }
  316. }
  317.  
  318. Actor FDTNTFancyMaserBeamVisual : FDTNTMaserBeamVisual
  319. {
  320. Alpha 0.68
  321. Scale 0.08
  322. States
  323. {
  324. Spawn:
  325. TNT1 A 0
  326. TNT1 A 0 A_SetScale (scalex * frandom(0.9,1.1))
  327. OGLP C 1 Bright
  328. Stop
  329. }
  330. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement