Advertisement
ijontichy

DECORATE.dec

Apr 13th, 2014
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 27.14 KB | None | 0 0
  1. actor DakkaBeamColor: Counter {}
  2. actor DakkaShotSprite: Counter {}
  3. actor DakkaBeamChargeLevel: Counter {}
  4.  
  5. actor "DAKKA BEAM": Weapon
  6. {
  7. Inventory.PickupMessage "COMPULSION TO SHOOT A LOT MORE: ACQUIRED"
  8.  
  9. Weapon.AmmoType ""
  10. Weapon.AmmoType2 "MissileAmmo"
  11. Weapon.AmmoUse 0
  12. Weapon.AmmoUse2 1
  13.  
  14. Weapon.SelectionOrder 1750
  15. Weapon.SlotNumber 4
  16.  
  17. States
  18. {
  19. // =====
  20. // == UP, DOWN, IDLE STATES
  21.  
  22. Select:
  23. TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
  24. TNT1 A 1 A_Raise
  25. loop
  26.  
  27. Deselect:
  28. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 5, "PurpleDown")
  29. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 4, "BlueDown")
  30. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 3, "GreenDown")
  31. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 2, "YellowDown")
  32. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 1, "RedDown")
  33. goto RedDown
  34.  
  35. RedDown:
  36. MBEM RSTUVW 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
  37. XBEM A 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
  38. goto ActualLower
  39.  
  40. YellowDown:
  41. PBEM RSTUVW 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
  42. XBEM A 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
  43. goto ActualLower
  44.  
  45. GreenDown:
  46. SBEM RSTUVW 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
  47. XBEM A 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
  48. goto ActualLower
  49.  
  50. BlueDown:
  51. IBEM RSTUVW 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
  52. XBEM A 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
  53. goto ActualLower
  54.  
  55. PurpleDown:
  56. WBEM RSTUVW 1 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
  57. XBEM A 5 A_WeaponReady(WRF_NOFIRE | WRF_NOSWITCH)
  58. goto ActualLower
  59.  
  60. ActualLower:
  61. TNT1 AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
  62. TNT1 A 1 A_Lower
  63. loop
  64.  
  65. Ready:
  66. PBEM A 0 A_GiveInventory("DakkaBeamColor", 1)
  67. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 6, "ResetReady") // doing it this way for easy copypasting
  68. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 5, "PurpleReady")
  69. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 4, "BlueReady")
  70. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 3, "GreenReady")
  71. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 2, "YellowReady")
  72. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 1, "RedReady")
  73. goto RedReady
  74.  
  75. ResetReady:
  76. PBEM A 0 A_TakeInventory("DakkaBeamColor")
  77. goto Ready
  78.  
  79. RedReady:
  80. MBEM UTSR 1 A_WeaponReady
  81. MBEM A 3 A_WeaponReady
  82. MBEM RSTU 1 A_WeaponReady
  83. goto Ready
  84.  
  85. YellowReady:
  86. PBEM UTSR 1 A_WeaponReady
  87. PBEM A 3 A_WeaponReady
  88. PBEM RSTU 1 A_WeaponReady
  89. goto Ready
  90.  
  91. GreenReady:
  92. SBEM UTSR 1 A_WeaponReady
  93. SBEM A 3 A_WeaponReady
  94. SBEM RSTU 1 A_WeaponReady
  95. goto Ready
  96.  
  97. BlueReady:
  98. IBEM UTSR 1 A_WeaponReady
  99. IBEM A 3 A_WeaponReady
  100. IBEM RSTU 1 A_WeaponReady
  101. goto Ready
  102.  
  103. PurpleReady:
  104. WBEM UTSR 1 A_WeaponReady
  105. WBEM A 3 A_WeaponReady
  106. WBEM RSTU 1 A_WeaponReady
  107. goto Ready
  108.  
  109. // == UP, DOWN, IDLE STATES
  110. // =====
  111. // == DETERMINE COLOR AND CHARGE LEVEL
  112.  
  113. Fire:
  114. TNT1 A 0 A_TakeInventory("DakkaBeamChargeLevel")
  115. goto FireCommon
  116.  
  117. Hold:
  118. TNT1 A 0 A_GiveInventory("DakkaBeamColor", 1)
  119. TNT1 A 0 A_GiveInventory("DakkaBeamChargeLevel", 1)
  120. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 6, "ResetHold")
  121. goto FireCommon
  122.  
  123. ResetHold:
  124. TNT1 A 0 A_TakeInventory("DakkaBeamColor")
  125. TNT1 A 0 A_GiveInventory("DakkaBeamColor")
  126. goto FireCommon
  127.  
  128. DoRefire_IfChilled:
  129. TNT1 A 0 A_JumpIfInventory("IceBeamChilled", 1, "DoRefire")
  130. goto Fire
  131.  
  132. DoRefire:
  133. TNT1 A 0 A_Refire // semantics
  134. goto Hold
  135.  
  136. FireCommon:
  137. // try to guarantee no sound overlap
  138. TNT1 A 0 A_PlaySound("weapons/pistol", ACS_ExecuteWithResult(475, 1))
  139.  
  140. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 5, "PurpleShot")
  141. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 4, "BlueShot")
  142. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 3, "GreenShot")
  143. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 2, "YellowShot")
  144. TNT1 A 0 A_JumpIfInventory("DakkaBeamColor", 1, "RedShot")
  145. goto RedShot
  146.  
  147. // == DETERMINE COLOR AND CHARGE LEVEL
  148. // =====
  149. // == FIRE SHOT
  150. // == (script 475 checks charge level against tics given, goes back to top
  151. // == if tics given matches or exceeds it)
  152.  
  153. RedShot:
  154. TNT1 AAAA 0 A_FireCustomMissile("DBeamShot_Red", random(-25,25)/5.0, 0, 12, 0, 0, random(-25,25)/5.0)
  155. MBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 2) >= 1, "RedFast")
  156. MBEM B 0 A_WeaponReady(WRF_NOFIRE)
  157. MBEM B 1 bright offset(3, 35)
  158. MBEM C 0 A_WeaponReady(WRF_NOFIRE)
  159. MBEM C 1 bright offset(2, 34)
  160. goto RedShot2
  161.  
  162. RedFast:
  163. MBEM C 0 A_WeaponReady(WRF_NOFIRE)
  164. MBEM C 1 bright offset(2, 34)
  165. goto RedShot2
  166.  
  167. RedShot2:
  168. MBEM H 0 A_WeaponReady(WRF_NOFIRE)
  169. MBEM H 1 bright offset(3, 35)
  170. MBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 3) >= 1, "DoRefire")
  171. MBEM H 0 A_WeaponReady(WRF_NOFIRE)
  172. MBEM H 1 bright offset(3, 35)
  173. MBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 4) >= 1, "DoRefire")
  174. MBEM H 1 bright offset(3, 35)
  175. MBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 5) >= 1, "DoRefire")
  176. MBEM H 0 A_WeaponReady(WRF_NOFIRE)
  177. MBEM H 1 bright offset(2, 34)
  178. MBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 6) >= 1, "DoRefire")
  179. MBEM H 1 bright offset(2, 34)
  180. MBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 7) >= 1, "DoRefire")
  181. MBEM H 0 A_WeaponReady(WRF_NOFIRE)
  182. MBEM H 1 bright offset(1, 33)
  183. MBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 8) >= 1, "DoRefire")
  184. MBEM H 0 A_WeaponReady(WRF_NOFIRE)
  185. MBEM H 1 bright offset(0, 32)
  186. MBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 9) >= 1, "DoRefire")
  187. MBEM A 0 A_ClearRefire
  188.  
  189. // Chilled shit, since I'm not making more state blocks for this
  190. MBEM A 1 A_WeaponReady(WRF_NOFIRE)
  191. MBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 10) >= 1, "DoRefire_IfChilled")
  192. MBEM A 1 A_WeaponReady(WRF_NOFIRE)
  193. MBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 11) >= 1, "DoRefire_IfChilled")
  194. MBEM A 1 A_WeaponReady(WRF_NOFIRE)
  195. MBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 12) >= 1, "DoRefire_IfChilled")
  196. MBEM A 1 A_WeaponReady(WRF_NOFIRE)
  197. MBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 13) >= 1, "DoRefire_IfChilled")
  198. MBEM A 1 A_WeaponReady(WRF_NOFIRE)
  199. MBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 14) >= 1, "DoRefire_IfChilled")
  200. MBEM A 1 A_WeaponReady(WRF_NOFIRE)
  201. MBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 15) >= 1, "DoRefire_IfChilled")
  202. MBEM A 1 A_WeaponReady(WRF_NOFIRE)
  203. MBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 16) >= 1, "DoRefire_IfChilled")
  204. MBEM A 1 A_WeaponReady(WRF_NOFIRE)
  205. MBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 17) >= 1, "DoRefire_IfChilled")
  206. MBEM A 1 A_WeaponReady(WRF_NOFIRE)
  207. MBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 18) >= 1, "DoRefire_IfChilled")
  208. goto Ready
  209.  
  210.  
  211. YellowShot:
  212. TNT1 AAAA 0 A_FireCustomMissile("DBeamShot_Yellow", random(-25,25)/5.0, 0, 12, 0, 0, random(-25,25)/5.0)
  213. PBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 2) >= 1, "YellowFast")
  214. PBEM B 0 A_WeaponReady(WRF_NOFIRE)
  215. PBEM B 1 bright offset(3, 35)
  216. PBEM C 0 A_WeaponReady(WRF_NOFIRE)
  217. PBEM C 1 bright offset(2, 34)
  218. goto YellowShot2
  219.  
  220. YellowFast:
  221. PBEM C 0 A_WeaponReady(WRF_NOFIRE)
  222. PBEM C 1 bright offset(2, 34)
  223. goto YellowShot2
  224.  
  225. YellowShot2:
  226. PBEM H 0 A_WeaponReady(WRF_NOFIRE)
  227. PBEM H 1 bright offset(3, 35)
  228. PBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 3) >= 1, "DoRefire")
  229. PBEM H 0 A_WeaponReady(WRF_NOFIRE)
  230. PBEM H 1 bright offset(3, 35)
  231. PBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 4) >= 1, "DoRefire")
  232. PBEM H 1 bright offset(3, 35)
  233. PBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 5) >= 1, "DoRefire")
  234. PBEM H 0 A_WeaponReady(WRF_NOFIRE)
  235. PBEM H 1 bright offset(2, 34)
  236. PBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 6) >= 1, "DoRefire")
  237. PBEM H 1 bright offset(2, 34)
  238. PBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 7) >= 1, "DoRefire")
  239. PBEM H 0 A_WeaponReady(WRF_NOFIRE)
  240. PBEM H 1 bright offset(1, 33)
  241. PBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 8) >= 1, "DoRefire")
  242. PBEM H 0 A_WeaponReady(WRF_NOFIRE)
  243. PBEM H 1 bright offset(0, 32)
  244. PBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 9) >= 1, "DoRefire")
  245. PBEM H 0 A_WeaponReady(WRF_NOFIRE)
  246. PBEM A 1 bright A_WeaponReady(WRF_NOFIRE)
  247. PBEM A 0 A_ClearRefire
  248.  
  249. PBEM A 1 A_WeaponReady(WRF_NOFIRE)
  250. PBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 10) >= 1, "DoRefire_IfChilled")
  251. PBEM A 1 A_WeaponReady(WRF_NOFIRE)
  252. PBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 11) >= 1, "DoRefire_IfChilled")
  253. PBEM A 1 A_WeaponReady(WRF_NOFIRE)
  254. PBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 12) >= 1, "DoRefire_IfChilled")
  255. PBEM A 1 A_WeaponReady(WRF_NOFIRE)
  256. PBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 13) >= 1, "DoRefire_IfChilled")
  257. PBEM A 1 A_WeaponReady(WRF_NOFIRE)
  258. PBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 14) >= 1, "DoRefire_IfChilled")
  259. PBEM A 1 A_WeaponReady(WRF_NOFIRE)
  260. PBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 15) >= 1, "DoRefire_IfChilled")
  261. PBEM A 1 A_WeaponReady(WRF_NOFIRE)
  262. PBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 16) >= 1, "DoRefire_IfChilled")
  263. PBEM A 1 A_WeaponReady(WRF_NOFIRE)
  264. PBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 17) >= 1, "DoRefire_IfChilled")
  265. PBEM A 1 A_WeaponReady(WRF_NOFIRE)
  266. PBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 18) >= 1, "DoRefire_IfChilled")
  267. goto Ready
  268.  
  269.  
  270. GreenShot:
  271. TNT1 AAAA 0 A_FireCustomMissile("DBeamShot_Green", random(-25,25)/5.0, 0, 12, 0, 0, random(-25,25)/5.0)
  272. SBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 2) >= 1, "GreenFast")
  273. SBEM B 0 A_WeaponReady(WRF_NOFIRE)
  274. SBEM B 1 bright offset(3, 35)
  275. SBEM C 0 A_WeaponReady(WRF_NOFIRE)
  276. SBEM C 1 bright offset(2, 34)
  277. goto GreenShot2
  278.  
  279. GreenFast:
  280. SBEM C 0 A_WeaponReady(WRF_NOFIRE)
  281. SBEM C 1 bright offset(2, 34)
  282. goto GreenShot2
  283.  
  284. GreenShot2:
  285. SBEM H 0 A_WeaponReady(WRF_NOFIRE)
  286. SBEM H 1 bright offset(3, 35)
  287. SBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 3) >= 1, "DoRefire")
  288. SBEM H 0 A_WeaponReady(WRF_NOFIRE)
  289. SBEM H 1 bright offset(3, 35)
  290. SBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 4) >= 1, "DoRefire")
  291. SBEM H 1 bright offset(3, 35)
  292. SBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 5) >= 1, "DoRefire")
  293. SBEM H 0 A_WeaponReady(WRF_NOFIRE)
  294. SBEM H 1 bright offset(2, 34)
  295. SBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 6) >= 1, "DoRefire")
  296. SBEM H 1 bright offset(2, 34)
  297. SBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 7) >= 1, "DoRefire")
  298. SBEM H 0 A_WeaponReady(WRF_NOFIRE)
  299. SBEM H 1 bright offset(1, 33)
  300. SBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 8) >= 1, "DoRefire")
  301. SBEM H 0 A_WeaponReady(WRF_NOFIRE)
  302. SBEM H 1 bright offset(0, 32)
  303. SBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 9) >= 1, "DoRefire")
  304. SBEM H 0 A_WeaponReady(WRF_NOFIRE)
  305. SBEM A 0 A_ClearRefire
  306.  
  307. SBEM A 1 A_WeaponReady(WRF_NOFIRE)
  308. SBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 10) >= 1, "DoRefire_IfChilled")
  309. SBEM A 1 A_WeaponReady(WRF_NOFIRE)
  310. SBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 11) >= 1, "DoRefire_IfChilled")
  311. SBEM A 1 A_WeaponReady(WRF_NOFIRE)
  312. SBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 12) >= 1, "DoRefire_IfChilled")
  313. SBEM A 1 A_WeaponReady(WRF_NOFIRE)
  314. SBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 13) >= 1, "DoRefire_IfChilled")
  315. SBEM A 1 A_WeaponReady(WRF_NOFIRE)
  316. SBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 14) >= 1, "DoRefire_IfChilled")
  317. SBEM A 1 A_WeaponReady(WRF_NOFIRE)
  318. SBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 15) >= 1, "DoRefire_IfChilled")
  319. SBEM A 1 A_WeaponReady(WRF_NOFIRE)
  320. SBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 16) >= 1, "DoRefire_IfChilled")
  321. SBEM A 1 A_WeaponReady(WRF_NOFIRE)
  322. SBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 17) >= 1, "DoRefire_IfChilled")
  323. SBEM A 1 A_WeaponReady(WRF_NOFIRE)
  324. SBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 18) >= 1, "DoRefire_IfChilled")
  325. goto Ready
  326.  
  327.  
  328. BlueShot:
  329. TNT1 AAAA 0 A_FireCustomMissile("DBeamShot_Blue", random(-25,25)/5.0, 0, 12, 0, 0, random(-25,25)/5.0)
  330. IBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 2) >= 1, "BlueFast")
  331. IBEM B 0 A_WeaponReady(WRF_NOFIRE)
  332. IBEM B 1 bright offset(3, 35)
  333. IBEM C 0 A_WeaponReady(WRF_NOFIRE)
  334. IBEM C 1 bright offset(2, 34)
  335. goto BlueShot2
  336.  
  337. BlueFast:
  338. IBEM C 0 A_WeaponReady(WRF_NOFIRE)
  339. IBEM C 1 bright offset(2, 34)
  340. goto BlueShot2
  341.  
  342. BlueShot2:
  343. IBEM H 0 A_WeaponReady(WRF_NOFIRE)
  344. IBEM H 1 bright offset(3, 35)
  345. IBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 3) >= 1, "DoRefire")
  346. IBEM H 0 A_WeaponReady(WRF_NOFIRE)
  347. IBEM H 1 bright offset(3, 35)
  348. IBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 4) >= 1, "DoRefire")
  349. IBEM H 1 bright offset(3, 35)
  350. IBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 5) >= 1, "DoRefire")
  351. IBEM H 0 A_WeaponReady(WRF_NOFIRE)
  352. IBEM H 1 bright offset(2, 34)
  353. IBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 6) >= 1, "DoRefire")
  354. IBEM H 1 bright offset(2, 34)
  355. IBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 7) >= 1, "DoRefire")
  356. IBEM H 0 A_WeaponReady(WRF_NOFIRE)
  357. IBEM H 1 bright offset(1, 33)
  358. IBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 8) >= 1, "DoRefire")
  359. IBEM H 0 A_WeaponReady(WRF_NOFIRE)
  360. IBEM H 1 bright offset(0, 32)
  361. IBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 9) >= 1, "DoRefire")
  362. IBEM H 0 A_WeaponReady(WRF_NOFIRE)
  363. IBEM A 0 A_ClearRefire
  364.  
  365. IBEM A 1 A_WeaponReady(WRF_NOFIRE)
  366. IBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 10) >= 1, "DoRefire_IfChilled")
  367. IBEM A 1 A_WeaponReady(WRF_NOFIRE)
  368. IBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 11) >= 1, "DoRefire_IfChilled")
  369. IBEM A 1 A_WeaponReady(WRF_NOFIRE)
  370. IBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 12) >= 1, "DoRefire_IfChilled")
  371. IBEM A 1 A_WeaponReady(WRF_NOFIRE)
  372. IBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 13) >= 1, "DoRefire_IfChilled")
  373. IBEM A 1 A_WeaponReady(WRF_NOFIRE)
  374. IBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 14) >= 1, "DoRefire_IfChilled")
  375. IBEM A 1 A_WeaponReady(WRF_NOFIRE)
  376. IBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 15) >= 1, "DoRefire_IfChilled")
  377. IBEM A 1 A_WeaponReady(WRF_NOFIRE)
  378. IBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 16) >= 1, "DoRefire_IfChilled")
  379. IBEM A 1 A_WeaponReady(WRF_NOFIRE)
  380. IBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 17) >= 1, "DoRefire_IfChilled")
  381. IBEM A 1 A_WeaponReady(WRF_NOFIRE)
  382. IBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 18) >= 1, "DoRefire_IfChilled")
  383. goto Ready
  384.  
  385. PurpleShot:
  386. TNT1 AAAA 0 A_FireCustomMissile("DBeamShot_Purple", random(-25,25)/5.0, 0, 12, 0, 0, random(-25,25)/5.0)
  387. WBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 2) >= 1, "PurpleFast")
  388. WBEM B 0 A_WeaponReady(WRF_NOFIRE)
  389. WBEM B 1 bright offset(3, 35)
  390. WBEM C 0 A_WeaponReady(WRF_NOFIRE)
  391. WBEM C 1 bright offset(2, 34)
  392. goto PurpleShot2
  393.  
  394. PurpleFast:
  395. WBEM C 0 A_WeaponReady(WRF_NOFIRE)
  396. WBEM C 1 bright offset(2, 34)
  397. goto PurpleShot2
  398.  
  399. PurpleShot2:
  400. WBEM H 0 A_WeaponReady(WRF_NOFIRE)
  401. WBEM H 1 bright offset(3, 35)
  402. WBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 3) >= 1, "DoRefire")
  403. WBEM H 0 A_WeaponReady(WRF_NOFIRE)
  404. WBEM H 1 bright offset(3, 35)
  405. WBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 4) >= 1, "DoRefire")
  406. WBEM H 1 bright offset(3, 35)
  407. WBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 5) >= 1, "DoRefire")
  408. WBEM H 0 A_WeaponReady(WRF_NOFIRE)
  409. WBEM H 1 bright offset(2, 34)
  410. WBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 6) >= 1, "DoRefire")
  411. WBEM H 1 bright offset(2, 34)
  412. WBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 7) >= 1, "DoRefire")
  413. WBEM H 0 A_WeaponReady(WRF_NOFIRE)
  414. WBEM H 1 bright offset(1, 33)
  415. WBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 8) >= 1, "DoRefire")
  416. WBEM H 0 A_WeaponReady(WRF_NOFIRE)
  417. WBEM H 1 bright offset(0, 32)
  418. WBEM H 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 9) >= 1, "DoRefire")
  419. WBEM H 0 A_WeaponReady(WRF_NOFIRE)
  420. WBEM A 0 A_ClearRefire
  421.  
  422. WBEM A 1 A_WeaponReady(WRF_NOFIRE)
  423. WBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 10) >= 1, "DoRefire_IfChilled")
  424. WBEM A 1 A_WeaponReady(WRF_NOFIRE)
  425. WBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 11) >= 1, "DoRefire_IfChilled")
  426. WBEM A 1 A_WeaponReady(WRF_NOFIRE)
  427. WBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 12) >= 1, "DoRefire_IfChilled")
  428. WBEM A 1 A_WeaponReady(WRF_NOFIRE)
  429. WBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 13) >= 1, "DoRefire_IfChilled")
  430. WBEM A 1 A_WeaponReady(WRF_NOFIRE)
  431. WBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 14) >= 1, "DoRefire_IfChilled")
  432. WBEM A 1 A_WeaponReady(WRF_NOFIRE)
  433. WBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 15) >= 1, "DoRefire_IfChilled")
  434. WBEM A 1 A_WeaponReady(WRF_NOFIRE)
  435. WBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 16) >= 1, "DoRefire_IfChilled")
  436. WBEM A 1 A_WeaponReady(WRF_NOFIRE)
  437. WBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 17) >= 1, "DoRefire_IfChilled")
  438. WBEM A 1 A_WeaponReady(WRF_NOFIRE)
  439. WBEM A 0 A_JumpIf(ACS_ExecuteWithResult(475, 0, 18) >= 1, "DoRefire_IfChilled")
  440. goto Ready
  441.  
  442.  
  443. // == FIRE SHOT
  444. // =====
  445. // == MISSILES AND SHIT
  446.  
  447. AltFire:
  448. TNT1 A 0 A_Refire
  449.  
  450. AltFire2:
  451. TNT1 A 0
  452. TNT1 A 0 A_TakeInventory("MissileCharged",1)
  453. TNT1 A 0 A_TakeInventory("MissileChargeLevel",34) // Already done in AltHold, but just in case.
  454. TNT1 A 0 A_ClearRefire
  455. TNT1 A 0 A_JumpIfNoAmmo("Ready")
  456. TNT1 A 0 A_JumpIfInventory("IceBeamChilled",1,"AltFireChilled")
  457. TNT1 A 0 A_PlayWeaponSound("missile/fire")
  458. TNT1 A 0 A_Recoil(2)
  459. TNT1 A 0 A_ZoomFactor(0.95,ZOOM_INSTANT)
  460. TNT1 A 0 Radius_Quake(1,8,0,1,0)
  461. TNT1 A 0 A_JumpIfInventory("CoopModeOn",1,"AltFireCoop")
  462. TNT1 A 0 A_FireCustomMissile("PowerMissile",0,1,12,-2,0,0)
  463. goto AltFireFinish
  464.  
  465. AltFireCoop:
  466. TNT1 A 0 A_FireCustomMissile("PowerMissileCoop",0,1,12,-2,0,0)
  467.  
  468. AltFireFinish:
  469. TNT1 A 0 A_AlertMonsters
  470. TNT1 A 0 A_Light2
  471. PBEM I 1 BRIGHT A_WeaponReady(WRF_NOSECONDARY|WRF_NOPRIMARY|WRF_NOSWITCH)
  472. TNT1 A 0 A_Light1
  473. TNT1 A 0 A_ZoomFactor(0.975,ZOOM_INSTANT)
  474. PBEM J 1 BRIGHT A_WeaponReady(WRF_NOSECONDARY|WRF_NOPRIMARY|WRF_NOSWITCH)
  475. TNT1 A 0 A_Light0
  476. TNT1 A 0 A_ZoomFactor(1.00,ZOOM_INSTANT)
  477. PBEM E 1 A_WeaponReady(WRF_NOSECONDARY|WRF_NOPRIMARY|WRF_NOSWITCH)
  478. PBEM EEFFFEEGGHHAA 1 A_WeaponReady(WRF_NOSECONDARY|WRF_NOPRIMARY|WRF_NOSWITCH)
  479. PBEM A 8 A_WeaponReady(WRF_NOSECONDARY|WRF_NOSWITCH)
  480. Goto Ready
  481.  
  482. AltFireChilled:
  483. TNT1 A 0 A_PlayWeaponSound("missile/fire")
  484. TNT1 A 0 A_Recoil(2)
  485. TNT1 A 0 A_ZoomFactor(0.95,ZOOM_INSTANT)
  486. TNT1 A 0 Radius_Quake(1,8,0,1,0)
  487. TNT1 A 0 A_FireCustomMissile("PowerMissile",0,1,12,-2,0,0)
  488. TNT1 A 0 A_AlertMonsters
  489. TNT1 A 0 A_Light2
  490. PBEM I 1 BRIGHT A_WeaponReady(WRF_NOSECONDARY|WRF_NOPRIMARY|WRF_NOSWITCH)
  491. TNT1 A 0 A_Light1
  492. TNT1 A 0 A_ZoomFactor(0.975,ZOOM_INSTANT)
  493. PBEM J 2 BRIGHT A_WeaponReady(WRF_NOSECONDARY|WRF_NOPRIMARY|WRF_NOSWITCH)
  494. TNT1 A 0 A_Light0
  495. TNT1 A 0 A_ZoomFactor(1.00,ZOOM_INSTANT)
  496. PBEM E 1 A_WeaponReady(WRF_NOSECONDARY|WRF_NOPRIMARY|WRF_NOSWITCH)
  497. PBEM EEEFFFFEEEGGGHHHAAA 1 A_WeaponReady(WRF_NOSECONDARY|WRF_NOPRIMARY|WRF_NOSWITCH)
  498. PBEM A 8 A_WeaponReady(WRF_NOSECONDARY|WRF_NOSWITCH)
  499. Goto Ready
  500.  
  501. AltHold:
  502. TNT1 A 0 A_JumpIfInventory("SuperMissileAmmo", 1, 1)
  503. goto AltFire2
  504. TNT1 A 0 A_JumpIfInventory("MissileCharged",1,"AltHoldFinal2")
  505. TNT1 A 0 A_JumpIfInventory("MissileChargeLevel",13,"AltHoldFinal")
  506. TNT1 A 0 A_GiveInventory("MissileChargeLevel",1)
  507. PBEM AA 1
  508. TNT1 A 0 A_Refire
  509. TNT1 A 0 A_TakeInventory("MissileCharged",1)
  510. TNT1 A 0 A_TakeInventory("MissileChargeLevel",34)
  511. TNT1 A 0 A_ClearRefire
  512. goto AltFire2
  513.  
  514. AltHoldFinal:
  515. TNT1 A 0
  516. TNT1 A 0 A_GiveInventory("MissileCharged",1)
  517. TNT1 A 0 A_PlaySoundEx("supermissile/ready","soundslot7")
  518.  
  519. AltHoldFinal2:
  520. TNT1 A 0
  521. TNT1 A 0 A_JumpIfInventory("SpeedBoosterActive",1,"D_RUNNIN")
  522. PBEM AA 1
  523. TNT1 A 0 A_Refire
  524. TNT1 A 0 A_TakeInventory("MissileCharged",1)
  525. TNT1 A 0 A_TakeInventory("MissileChargeLevel",34)
  526. TNT1 A 0 A_ClearRefire
  527. TNT1 A 0 A_PlayWeaponSound("supermissile/fire")
  528. TNT1 A 0 A_Recoil(5)
  529. TNT1 A 0 A_ZoomFactor(0.925,ZOOM_INSTANT)
  530. TNT1 A 0 Radius_Quake(2,8,0,1,0)
  531. TNT1 A 0 A_JumpIfInventory("CoopModeOn",1,"SuperCoop")
  532. TNT1 A 0 A_FireCustomMissile("SuperMissile",0,0,12,-2,0,0)
  533. goto SuperFinish
  534.  
  535. SuperCoop:
  536. TNT1 A 0 A_FireCustomMissile("SuperMissileCoop",0,0,12,-2,0,0)
  537.  
  538. SuperFinish:
  539. TNT1 A 0 A_TakeInventory("SuperMissileAmmo",1)
  540. TNT1 A 0 A_SetAngle(angle+(random(-200,200)/100.00))
  541. TNT1 A 0 A_SetPitch(pitch-(random(300,500)/100.00))
  542. TNT1 A 0 A_AlertMonsters
  543. TNT1 A 0 A_Light2
  544. PBEM I 1 BRIGHT A_WeaponReady(WRF_NOSECONDARY|WRF_NOPRIMARY|WRF_NOSWITCH)
  545. TNT1 A 0 A_Light1
  546. TNT1 A 0 A_ZoomFactor(0.95,ZOOM_INSTANT)
  547. PBEM J 1 BRIGHT A_WeaponReady(WRF_NOSECONDARY|WRF_NOPRIMARY|WRF_NOSWITCH)
  548. TNT1 A 0 A_Light0
  549. TNT1 A 0 A_ZoomFactor(1.00,ZOOM_INSTANT)
  550. PBEM E 1 A_WeaponReady(WRF_NOSECONDARY|WRF_NOPRIMARY|WRF_NOSWITCH)
  551. PBEM EEFFFEEGGHHAA 1 A_WeaponReady(WRF_NOSECONDARY|WRF_NOPRIMARY|WRF_NOSWITCH)
  552. PBEM A 8 A_WeaponReady(WRF_NOSECONDARY|WRF_NOSWITCH)
  553. Goto Ready
  554.  
  555. // == MISSILES AND SHIT
  556. // =====
  557. // == SPEED BOOSTER SHIT
  558.  
  559. D_RUNNIN:
  560. TNT1 A 0
  561. TNT1 A 0 A_TakeInventory("PowerBeamCharged",1)
  562. TNT1 A 0 A_TakeInventory("PowerBeamChargeLevel",34)
  563. TNT1 A 0 A_TakeInventory("PowerBeamIdle",34)
  564. TNT1 A 0 A_TakeInventory("MissileCharged",1)
  565. TNT1 A 0 A_TakeInventory("MissileChargeLevel",34)
  566. TNT1 A 0 A_ClearRefire
  567. TNT1 A 0 Offset(0,32)
  568. PBEM A 1 Offset(0,40)
  569. PBEM A 1 Offset(0,50)
  570. PBEM A 1 Offset(0,60)
  571. PBEM A 1 Offset(0,70)
  572. PBEM A 1 Offset(0,80)
  573. PBEM A 1 Offset(0,90)
  574. PBEM A 1 Offset(0,100)
  575. PBEM A 1 Offset(0,110)
  576. PBEM A 1 Offset(0,120)
  577. PBEM A 1 Offset(0,130)
  578. PBEM A 1 Offset(0,140)
  579.  
  580. IdleLoop:
  581. TNT1 A 1
  582. TNT1 A 0 A_JumpIfInventory("SpeedBoosterActive",1,"IdleLoop")
  583. goto BackToNormal
  584.  
  585. BackToNormal:
  586. PBEM A 1 Offset(0,140)
  587. PBEM A 1 Offset(0,130)
  588. PBEM A 1 Offset(0,120)
  589. PBEM A 1 Offset(0,110)
  590. PBEM A 1 Offset(0,100)
  591. PBEM A 1 Offset(0,90)
  592. PBEM A 1 Offset(0,80)
  593. PBEM A 1 Offset(0,70)
  594. PBEM A 1 Offset(0,60)
  595. PBEM A 1 Offset(0,50)
  596. PBEM A 1 Offset(0,40)
  597. TNT1 A 0 Offset(0,32)
  598. Goto Ready
  599.  
  600. // == SPEED BOOSTER SHIT
  601. // =====
  602. }
  603. }
  604.  
  605.  
  606. actor DakkaBeamShot
  607. {
  608. Radius 6
  609. Height 6
  610.  
  611. Projectile
  612. Speed 50
  613. Damage (5)
  614.  
  615. RenderStyle Add
  616. Scale 0.35
  617.  
  618. States
  619. {
  620. Spawn:
  621. XLSS A 0 bright
  622. XLSS A 0 ACS_ExecuteAlways(474, 0, 0, 0, 3)
  623. XLSS A 0 ACS_ExecuteAlways(474, 0, 1, 0, 2)
  624. XLSS A 0 A_GiveInventory("DakkaShotSprite")
  625. XLSS A 0 A_JumpIfInventory("DakkaShotSprite", 7, "ResetSprite")
  626. XLSS A 0 A_JumpIfInventory("DakkaShotSprite", 6, "Sprite6")
  627. XLSS A 0 A_JumpIfInventory("DakkaShotSprite", 5, "Sprite5")
  628. XLSS A 0 A_JumpIfInventory("DakkaShotSprite", 4, "Sprite4")
  629. XLSS A 0 A_JumpIfInventory("DakkaShotSprite", 3, "Sprite3")
  630. XLSS A 0 A_JumpIfInventory("DakkaShotSprite", 2, "Sprite2")
  631. XLSS A 0 A_JumpIfInventory("DakkaShotSprite", 1, "Sprite1")
  632. goto Sprite1
  633.  
  634. ResetSprite:
  635. XLSS A 0 A_TakeInventory("DakkaShotSprite")
  636. goto Spawn
  637.  
  638. Sprite1:
  639. XLSS A 0 bright
  640. goto Spawn2
  641.  
  642. Sprite2:
  643. XLSS B 0 bright
  644. goto Spawn2
  645.  
  646. Sprite3:
  647. XLSS C 0 bright
  648. goto Spawn2
  649.  
  650. Sprite4:
  651. XLSS D 0 bright
  652. goto Spawn2
  653.  
  654. Sprite5:
  655. XLSS E 0 bright
  656. goto Spawn2
  657.  
  658. Sprite6:
  659. XLSS F 0 bright
  660. goto Spawn2
  661.  
  662.  
  663. Spawn2:
  664. "----" A 0 bright ThrustThingZ(0, random(3,6) / 2.0, random(0,1), 1)
  665. "----" A 1 bright ThrustThing((angle*256)/360 + (64 * (random(0,1)*2 - 1)), random(3,6) / 4.0, 1, 0)
  666. goto Spawn
  667.  
  668. Death:
  669. XLSE ABCDEF 2 bright
  670. stop
  671. }
  672. }
  673.  
  674. actor DBeamShot_Red: DakkaBeamShot { Translation "192:207=168:191" }
  675. actor DBeamShot_Yellow: DakkaBeamShot { Translation "192:207=208:223" } // actually orange, because doom yellows are bleh
  676. actor DBeamShot_Green: DakkaBeamShot { Translation "192:207=[166,255,166]:[0,128,0]" }
  677. actor DBeamShot_Blue: DakkaBeamShot { }
  678. actor DBeamShot_Purple: DakkaBeamShot { Translation "192:207=[255,128,255]:[90,0,90]" }
  679. actor DBeamShot_Pinkish:DakkaBeamShot { Translation "192:207=16:47" }
  680.  
  681.  
  682. actor DakkaBeamTrail
  683. {
  684. +NOINTERACTION
  685. +CLIENTSIDEONLY
  686.  
  687. Radius 0
  688. Height 0
  689.  
  690. Scale 0.2
  691. RenderStyle Add
  692. Alpha 0.10
  693.  
  694. States
  695. {
  696. Spawn:
  697. XLSE A 0 bright
  698. XLSE ABCDEF 1 bright A_FadeOut(0.01)
  699. stop
  700. }
  701. }
  702.  
  703. actor DakkaBeamParticle
  704. {
  705. -SOLID
  706. +NOBLOCKMONST
  707. +THRUACTORS
  708. +CLIENTSIDEONLY
  709.  
  710. Radius 2
  711. Height 2
  712.  
  713. Projectile
  714. -NOGRAVITY
  715. Gravity 0.5
  716.  
  717. Scale 0.09
  718. RenderStyle Add
  719.  
  720. States
  721. {
  722. Spawn:
  723. XLSS A 0
  724. XLSS A 0 ThrustThing(random(0, 256), random(4, 8) / 3.0, 1, 0)
  725. XLSS A 0 ThrustThingZ(0, random(-4, 32) / 3.0, 0, 1)
  726. goto Spawn2
  727.  
  728. Spawn2:
  729. XLSS ABCDEF 1 bright A_FadeOut(0.05)
  730. loop
  731.  
  732. Death:
  733. TNT1 A 0
  734. stop
  735. }
  736. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement