Advertisement
Guest User

PB Riot Shield DECORATE

a guest
Feb 13th, 2021
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 27.57 KB | None | 0 0
  1. // =============================================================================
  2. //
  3. // PB 3.0 Riot Shield Addon
  4. // Adapted From
  5. //
  6. // Brutal DOOM - Mutators
  7. //
  8. // Counter-Strike Styled Tactical Shield
  9. // for Brutal DOOM v21
  10. //
  11. // -----------------------------
  12. // Main credit goes to:
  13. // NEW and Old Sprites By mryayayify
  14. // Original Decorate Script By XV117
  15. // -----------------------------
  16. // Modified by: D3X1K AXYZ and Mryayayify
  17. //
  18. // =============================================================================
  19. ACTOR RiotShieldPickup : CustomInventory Replaces RiotShieldDrop
  20. {
  21. Game Doom
  22. Inventory.PickupSound "barrel/pain"
  23. Inventory.Pickupmessage "You got the UAC-33 Ballistic Shield"
  24. +INVENTORY.RESTRICTABSOLUTELY
  25. -INVENTORY.ALWAYSPICKUP
  26. States
  27. {
  28. Spawn:
  29. 5L1D I 1
  30. 5L1D I -1
  31. Loop
  32. Pickup:
  33. TNT1 A 0
  34. TNT1 A 0 A_GiveInventory("RiotShield",1)
  35. Pickup.After:
  36. TNT1 A 0
  37. Stop
  38. }
  39.  
  40. }
  41.  
  42. ACTOR RiotShield : PB_Weapon
  43. {
  44. Game Doom
  45. +BLOODSPLATTER
  46. Weapon.SlotNumber 2
  47. Weapon.SelectionOrder 3400
  48. Weapon.KickBack 200
  49. Weapon.AmmoUse1 0
  50. Weapon.AmmoGive1 0
  51. Weapon.AmmoUse2 0
  52. Weapon.AmmoGive2 0
  53. Weapon.AmmoType2 "PrimaryPistolAmmo"//BDPistolAmmo
  54. Weapon.AmmoType1 "PistolBullets"//Clip1
  55. Obituary "%o stood no chance against %k's riot shield"
  56. AttackSound "None"
  57. Inventory.PickupSound "barrel/pain"
  58. Inventory.Pickupmessage "You got the UAC-33 Ballistic Shield"
  59. +INVENTORY.RESTRICTABSOLUTELY
  60. +WEAPON.NOAUTOAIM
  61. +WEAPON.NOALERT
  62. +WEAPON.NOAUTOFIRE
  63. +WEAPON.NO_AUTO_SWITCH
  64. +WEAPON.WIMPY_WEAPON
  65. +FORCEXYBILLBOARD
  66. Tag "Riot Shield"
  67. Scale 1.0
  68. States
  69. {
  70.  
  71. Spawn:
  72. 5L1D I 1
  73. 5L1D I -1
  74. Loop
  75.  
  76. Select:
  77. TNT1 A 0
  78. TNT1 A 0 A_Overlay(-10, "FirstPersonLegsStand")
  79. TNT1 A 0
  80. {
  81. if (countinv("PaladinShieldDrop") == 1)
  82. {
  83. A_TAKEINVENTORY("RiotShield",1);
  84. A_SelectWeapon("PaladinShieldDrop");
  85. }
  86. }
  87. TNT1 A 0
  88. {
  89. if (GetCvar("RS_AxeCheck"))
  90. {
  91. if (CountInv("BrutalAxe") != 1)
  92. {
  93. A_TakeInventory("ShieldAxeMode",1);
  94. }
  95. }
  96. }
  97. TNT1 A 0 A_Takeinventory("Unloading",1)
  98. TNT1 A 0 A_TakeInventory("RifleSelected",1)
  99. TNT1 A 0 A_TakeInventory("CarbineSelected",1)
  100. TNT1 A 0 A_TakeInventory("ADSMode",1)
  101. TNT1 A 0 A_TakeInventory("FistsSelected",1)
  102. TNT1 A 0 A_TakeInventory("SawSelected",1)
  103. TNT1 A 0 A_TakeInventory("SledgeSelected",1)
  104. TNT1 A 0 A_TakeInventory("DualHandgunSelected",1)
  105. TNT1 A 0 A_TakeInventory("RevolverSelected",1)
  106. TNT1 A 0 A_TakeInventory("ShotgunSelected",1)
  107. TNT1 A 0 A_TakeInventory("SSGSelected",1)
  108. TNT1 A 0 A_TakeInventory("ASGSelected",1)
  109. TNT1 A 0 A_TakeInventory("QSGSelected",1)
  110. TNT1 A 0 A_TakeInventory("MinigunSelected",1)
  111. TNT1 A 0 A_TakeInventory("NewChaingunSelected",1)
  112. TNT1 A 0 A_TakeInventory("RocketLauncherSelected",1)
  113. TNT1 A 0 A_TakeInventory("GrenadeLauncherSelected",1)
  114. TNT1 A 0 A_TakeInventory("SGLSelected",1)
  115. TNT1 A 0 A_TakeInventory("PlasmaGunSelected",1)
  116. TNT1 A 0 A_TakeInventory("M2Selected",1)
  117. TNT1 A 0 A_TakeInventory("FreezerSelected",1)
  118. TNT1 A 0 A_TakeInventory("RailGunSelected",1)
  119. TNT1 A 0 A_TakeInventory("BFGSelected",1)
  120. TNT1 A 0 A_TakeInventory("BFGBeamSelected",1)
  121. TNT1 A 0 A_TakeInventory("BHCSelected",1)
  122. TNT1 A 0 A_TakeInventory("RevenantLauncherSelected",1)
  123. TNT1 A 0 A_TakeInventory("FlameCannonSelected",1)
  124. TNT1 A 0 A_TakeInventory("HellRifleSelected",1)
  125. TNT1 A 0 A_TakeInventory("LandMineSelected",1)
  126. TNT1 A 0 A_TakeInventory("UACSMGSelected",1)
  127. TNT1 A 0 A_TakeInventory("SubMachineGunSelected",1)
  128. TNT1 A 0 A_TakeInventory("LostSoulSelected",1)
  129. TNT1 A 0 A_TakeInventory("HasBarrel",1)
  130. TNT1 A 0 A_TakeInventory("HasBurningBarrel",1)
  131. TNT1 A 0 A_Takeinventory("HasPlasmaWeapon",1)
  132. TNT1 A 0 A_Takeinventory("HasCutingWeapon",1)
  133. TNT1 A 0 A_GiveInventory("HandgunSelected",1)
  134. TNT1 AAAAAAAAAAAAAAAAAA 0 A_Raise
  135. TNT1 AAAAAAAA 1 A_Raise
  136. // Wait
  137. Goto SelectAnimation
  138.  
  139. // New Draw Animation
  140. SelectAnimation:
  141. TNT1 A 1
  142. TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
  143. TNT1 A 0 A_JumpIf(CountInv("BrutalAxe") == 1 && CountInv("ShieldAxeMode") == 1 ,"SelectAnimationAxe")
  144. TNT1 A 0 A_JumpIf(GetCVar("RS_AxeCheck") == false && CountInv("ShieldAxeMode") == 1 , "SelectAnimationAxe")
  145. RSWR F 1 Offset(0,102)
  146. RSWR G 1 Offset(0,92)
  147. RSWR H 1 Offset(0,82)
  148. RSWR I 1 Offset(0,72)
  149. RSWR J 1 Offset(0,62)
  150. RSWR K 1 Offset(0,52)
  151. RSWF C 1 Offset(0,42)
  152. RSWG A 1 Offset(0,32)
  153. TNT1 A 0 A_GunFlash
  154. Goto Ready
  155.  
  156. SelectAnimationAxe:
  157. RSWR F 1 Offset(0,102)
  158. RSWY G 1 Offset(0,92)
  159. RSWY H 1 Offset(0,82)
  160. RSWY I 1 Offset(0,72)
  161. RSWY J 1 Offset(0,62)
  162. RSWY K 1 Offset(0,52)
  163. RSWA A 1 Offset(0,42)
  164. TNT1 A 0 A_GunFlash
  165. Goto ReadyAxe
  166.  
  167. // New Holster Animation
  168. Deselect:
  169. TNT1 A 0 A_JumpIfInventory("ShieldAxeMode",1,"DeselectAxe")
  170. TNT1 A 0 A_JumpIfInventory("ShieldModeA",1,"DeselectShieldMode")
  171. RSWG A 1 Offset(0,32)
  172. RSWF C 1 Offset(0,42)
  173. RSWR K 1 Offset(0,52)
  174. RSWR J 1 Offset(0,62)
  175. RSWR I 1 Offset(0,72)
  176. RSWR H 1 Offset(0,82)
  177. RSWR G 1 Offset(0,92)
  178. RSWR F 1 Offset(0,102)
  179. TNT1 A 0 A_Lower
  180. TNT1 A 1 A_Lower
  181. Wait
  182.  
  183. DeselectAxe:
  184. RSWA A 1 Offset(0,32)
  185. RSWA A 1 Offset(0,42)
  186. RSWY K 1 Offset(0,52)
  187. RSWY J 1 Offset(0,62)
  188. RSWY I 1 Offset(0,72)
  189. RSWY H 1 Offset(0,82)
  190. RSWY G 1 Offset(0,92)
  191. RSWR F 1 Offset(0,102)
  192. TNT1 A 0 A_Lower
  193. TNT1 A 1 A_Lower
  194. Wait
  195.  
  196. DeselectShieldMode:
  197. TNT1 A 0 A_Takeinventory("ShieldModeA",1)
  198. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  199. RSWT F 1
  200. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  201. RSWT E 1
  202. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  203. RSWB FEDCBA 1
  204. RSWG A 1 Offset(0,32)
  205. RSWF C 1 Offset(0,42)
  206. RSWR K 1 Offset(0,52)
  207. RSWR J 1 Offset(0,62)
  208. RSWR I 1 Offset(0,72)
  209. RSWR H 1 Offset(0,82)
  210. RSWR G 1 Offset(0,92)
  211. RSWR F 1 Offset(0,102)
  212. TNT1 A 0 A_Lower
  213. TNT1 A 1 A_Lower
  214. Wait
  215.  
  216. Ready3:
  217. Ready:
  218. TNT1 A 0 A_JumpIfInventory("ShieldAxeMode",1,"ReadyAxe")
  219. RSWG A 1 A_DoPBWeaponAction(WRF_ALLOWRELOAD)
  220. TNT1 A 0 A_JumpIfInventory("ShieldModeA",1,"ReadyShield")
  221. TNT1 A 0 A_JumpIfInventory("Reloading",1,"Reload")
  222. TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
  223. TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
  224. TNT1 A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
  225. TNT1 A 0 A_JumpIfInventory("Salute1", 1, "Salute")
  226. TNT1 A 0 A_JumpIfInventory("Salute2", 1, "Salute")
  227. TNT1 A 0 A_JumpIfInventory("Unloading",1,"Unload")
  228. TNT1 A 0 A_JumpIfInventory("GoWeaponSpecialAbility",1,"FireMode")//StartDualWield, FireMode
  229. Loop
  230.  
  231. ReadyAxe:
  232. TNT1 A 0
  233. {
  234. if (GetCvar("RS_AxeCheck"))
  235. {
  236. if (CountInv("BrutalAxe") != 1)
  237. {
  238. A_TakeInventory("ShieldAxeMode",1);
  239. }
  240. }
  241. }
  242. TNT1 A 0 A_JumpIf(CountInv("ShieldAxeMode") != 1, "SelectAnimation")
  243. RSWA A 1 A_DoPBWeaponAction
  244. TNT1 A 0 A_JumpIfInventory("ShieldModeA",1,"ReadyShield")
  245. TNT1 A 0 A_JumpIfInventory("Reloading",1,"Reload")
  246. TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
  247. TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
  248. TNT1 A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
  249. TNT1 A 0 A_JumpIfInventory("Salute1", 1, "Salute")
  250. TNT1 A 0 A_JumpIfInventory("Salute2", 1, "Salute")
  251. TNT1 A 0 A_JumpIfInventory("Unloading",1,"Unload")
  252. TNT1 A 0 A_JumpIfInventory("GoWeaponSpecialAbility",1,"FireMode")//StartDualWield, FireMode
  253. Loop
  254.  
  255. ReadyShield:
  256. TNT1 A 0 A_WeaponReady
  257. RSWT A 1 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  258. TNT1 A 0 A_JumpIfInventory("Reloading",1,"ShieldCantAction")
  259. TNT1 A 0 A_JumpIfInventory("Kicking",1,"ShieldCantAction")
  260. TNT1 A 0 A_JumpIfInventory("Taunting",1,"ShieldCantAction")
  261. TNT1 A 0 A_JumpIfInventory("TossGrenade",1,"ShieldCantAction")
  262. TNT1 A 0 A_JumpIfInventory("Salute1", 1, "ShieldCantAction")
  263. TNT1 A 0 A_JumpIfInventory("Salute2", 1, "ShieldCantAction")
  264. TNT1 A 0 A_JumpIfInventory("Unloading",1,"ShieldCantAction")
  265. TNT1 A 0 A_JumpIfInventory("GoWeaponSpecialAbility",1,"ShieldCantAction")
  266. Loop
  267.  
  268. ShieldCantAction:
  269. TNT1 A 0 A_Takeinventory("Reloading",1)
  270. TNT1 A 0 A_Takeinventory("Kicking",1)
  271. TNT1 A 0 A_Takeinventory("Taunting",1)
  272. TNT1 A 0 A_Takeinventory("TossGrenade",1)
  273. TNT1 A 0 A_Takeinventory("Salute1", 1)
  274. TNT1 A 0 A_Takeinventory("Salute2", 1)
  275. TNT1 A 0 A_Takeinventory("Unloading",1)
  276. TNT1 A 0 A_Print("You can not perform any action when using the shield")
  277. Goto ReadyShield
  278.  
  279. NoAmmo:
  280. TNT1 A 0 A_TakeInventory("Unloading", 1)
  281. RSWG A 1 A_PlaySoundEx("weapons/empty", "Auto")
  282. Goto Ready
  283.  
  284. // Fire Mode Related
  285. WeaponSpecial:
  286. TNT1 A 0 A_TakeInventory("GoWeaponSpecialAbility", 1)
  287. TNT1 A 0 A_JumpIf(CountInv("BrutalAxe") == 1 , "ShieldAxeMode")
  288. TNT1 A 0 A_JumpIf(GetCVar("RS_AxeCheck") == false , "ShieldAxeMode")
  289. TNT1 A 0 A_Print("Fire Axe required. To disable, Check Weapon Settings")
  290. Goto Ready
  291. ShieldAxeMode:
  292. TNT1 A 0 A_JumpIfInventory("ShieldAxeMode",1,"ShieldPistolMode")
  293. RSWG A 1 Offset(0,32)
  294. RSWF C 1 Offset(0,42)
  295. RSWR K 1 Offset(0,52)
  296. RSWR J 1 Offset(0,62)
  297. RSWR I 1 Offset(0,72)
  298. RSWR H 1 Offset(0,82)
  299. RSWR G 1 Offset(0,92)
  300. RSWR F 1 Offset(0,102)
  301. TNT1 A 0 A_PlaySound("KNIFUP",1)
  302. RSWY G 1 Offset(0,92)
  303. RSWY H 1 Offset(0,82)
  304. RSWY I 1 Offset(0,72)
  305. RSWY J 1 Offset(0,62)
  306. RSWY K 1 Offset(0,52)
  307. RSWA A 1 Offset(0,42)
  308. TNT1 A 0 A_GiveInventory("ShieldAxeMode",1)
  309. TNT1 A 0 A_Print("Switched to Fire Axe")
  310. Goto ReadyAxe
  311.  
  312. ShieldPistolMode:
  313. RSWA A 1 Offset(0,42)
  314. RSWY K 1 Offset(0,52)
  315. RSWY J 1 Offset(0,62)
  316. RSWY I 1 Offset(0,72)
  317. RSWY H 1 Offset(0,82)
  318. RSWY G 1 Offset(0,92)
  319. RSWR F 1 Offset(0,102)
  320. TNT1 A 0 A_PlaySoundEx("PSRLFIN", "Auto")
  321. RSWR G 1 Offset(0,92)
  322. RSWR H 1 Offset(0,82)
  323. RSWR I 1 Offset(0,72)
  324. RSWR J 1 Offset(0,62)
  325. RSWR K 1 Offset(0,52)
  326. RSWF C 1 Offset(0,42)
  327. RSWG A 1 Offset(0,32)
  328. TNT1 A 0 A_Takeinventory("ShieldAxeMode",1)
  329. TNT1 A 0 A_Print("Switched to Pistol")
  330. Goto Ready
  331.  
  332. Fire:
  333. TNT1 A 0 A_JumpIfInventory("ShieldModeA",1,"ShieldMeele"/*"ShieldCantAction"*/) // Detects Shield
  334. TNT1 A 0 A_JumpIfInventory("ShieldAxeMode",1,"AxeEquipped") // Burst Firing Mode
  335. // Pistol Equipped
  336. TNT1 A 0 A_JumpIfInventory("PrimaryPistolAmmo",1,2)
  337. Goto Reload
  338. RSWF AB 1 BRIGHT {
  339. A_FireBullets (0.1, 0.1, -1, 12, "HitPuff", FBF_NORANDOM,8192,"Tracer", -2,0);
  340. A_ZoomFactor(0.985);
  341. A_AlertMonsters;
  342. A_FireCustomMissile("GunFireSmoke", 0, 0, 0, 0, 0, 0);
  343. A_FireCustomMissile("ShakeYourAssMinor", 0, 0, 0, 0);
  344. A_Takeinventory("PrimaryPistolAmmo",1);
  345. A_FireCustomMissile("Mp40CaseSpawn", 0,0,-1,-2);
  346. A_PlaySoundEx("weapons/pistol", "Weapon");
  347. A_FireCustomMissile("YellowFlareSpawn",0,0,0,0);
  348. if (CountInv("PowerStrength") >= 1 ) {
  349. A_SetPitch(pitch-0.09,SPF_INTERPOLATE);
  350. A_SetAngle(angle-0.04,SPF_INTERPOLATE);
  351. }
  352. else {
  353. A_SetPitch(pitch-0.18,SPF_INTERPOLATE);
  354. A_SetAngle(angle-0.08,SPF_INTERPOLATE);
  355. }
  356. }
  357. RSWF C 1 {
  358. A_ZoomFactor(0.99);
  359. if (CountInv("PowerStrength") >= 1 ) {
  360. A_SetPitch(pitch-0.09,SPF_INTERPOLATE);
  361. A_SetAngle(angle-0.04,SPF_INTERPOLATE);
  362. }
  363. else {
  364. A_SetPitch(pitch-0.18,SPF_INTERPOLATE);
  365. A_SetAngle(angle-0.08,SPF_INTERPOLATE);
  366. }
  367. }
  368. RSWF C 1 {
  369. A_ZoomFactor(1.0);
  370. if (CountInv("PowerStrength") >= 1 ) {
  371. A_SetPitch(pitch-0.09,SPF_INTERPOLATE);
  372. A_SetAngle(angle-0.04,SPF_INTERPOLATE);
  373. }
  374. else {
  375. A_SetPitch(pitch-0.18,SPF_INTERPOLATE);
  376. A_SetAngle(angle-0.08,SPF_INTERPOLATE);
  377. }
  378. }
  379. RSWF D 1 A_DoPBWeaponAction(WRF_ALLOWRELOAD)
  380. RSWF E 1 A_DoPBWeaponAction(WRF_ALLOWRELOAD)
  381. RSWG AAAA 1 A_DoPBWeaponAction(WRF_ALLOWRELOAD)
  382. TNT1 A 0 A_Refire
  383. Goto Ready
  384. /* TNT1 AAAA 0
  385. TNT1 A 0 A_AlertMonsters
  386. RIFF A 0 A_FireCustomMissile("DistantFireSoundShotgun", random(-1,1), 0, 0, -12, 0, random(-1,1))
  387. TNT1 A 0 A_PlaySound("pfire", 1)
  388. TNT1 A 0 A_TakeInventory("PrimaryPistolAmmo", 1)
  389. TNT1 A 0 A_TakeInventory("BDDualPistolAmmo", 1)
  390. TNT1 A 0 A_ZoomFactor(0.98)
  391. TNT1 A 0 A_FireCustomMissile("YellowFlareSpawn",-5,0,0,0)
  392. RSWF AB 1 BRIGHT A_FireBullets (1.5, 1.5, -1, 14, "WeakPuff", FBF_NORANDOM)
  393. TNT1 A 0 A_ZoomFactor(1.0)
  394. TNT1 A 0 A_FireCustomMissile("DecorativeTracer", random(-1,1), 0, 0, 0)
  395. RSWF C 1
  396. TNT1 A 0 A_FireCustomMissile("PistolCaseSpawn",5,0,10,-4)
  397. RSWF D 1
  398. TNT1 A 0 A_JumpIfInventory("IsTacticalClass", 1, "FireEndTactical")
  399. RSWF D 1 A_WeaponReady(1)
  400. RSWG A 7 A_WeaponReady(1)
  401. TNT1 A 0 A_REfire
  402. Goto Ready*/
  403.  
  404. // Burst Fire
  405. AxeEquipped:
  406. TNT1 A 0 {
  407. A_WeaponOffset(0,32);
  408. A_SetRoll(0);
  409. A_SetCrosshair(0);
  410. }
  411. TNT1 A 0 A_GiveInventory("PB_LockScreenTilt",1)
  412. TNT1 A 0 A_JumpIfInventory("AxeSequence1",1,"Swing2")
  413. Swing1:
  414. AX11 ABCDEF 0
  415. AX12 ABCDEF 0
  416. AX13 ABCDEF 0
  417. TNT1 A 0 {
  418. A_PlaySound("AXSWING");
  419. A_SetRoll(0);
  420. A_GiveInventory("AxeSequence1");
  421. }
  422. AX10 ABC 1 {
  423. if (CountInv("PowerGreenBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX13"); }
  424. if (CountInv("PowerBlueBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX12"); }
  425. if (CountInv("PowerBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX11"); }
  426. A_Setroll(roll-1.0, SPF_INTERPOLATE);
  427. A_SetAngle(angle+0.5, SPF_INTERPOLATE);
  428. }
  429. TNT1 A 0 {
  430. if (CountInv("PowerStrength") >= 1 ) {
  431. A_Saw("", "", 30, "AxePuffs", 0, 120, 0,16);
  432. A_FireCustomMissile("AxeAttack", 0, 0, 0, 0);
  433. A_FireCustomMissile("AxeAttack", 0, 0, 0, 0);
  434. }
  435. else {
  436. A_Saw("", "", 15, "AxePuffs", 0, 120, 0,16);
  437. A_FireCustomMissile("AxeAttack", 0, 0, 0, 0);
  438. }
  439.  
  440. }
  441. AX10 DEF 1 {
  442. if (CountInv("PowerGreenBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX13"); }
  443. if (CountInv("PowerBlueBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX12"); }
  444. if (CountInv("PowerBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX11"); }
  445. A_Setroll(roll-1.0, SPF_INTERPOLATE);
  446. A_SetAngle(angle+0.5, SPF_INTERPOLATE);
  447. }
  448. TNT1 AAA 1 {
  449. A_Setroll(roll+1.0, SPF_INTERPOLATE);
  450. A_SetAngle(angle-0.5, SPF_INTERPOLATE);
  451. }
  452. TNT1 AAA 1 {
  453. A_Setroll(roll+1.0, SPF_INTERPOLATE);
  454. A_SetAngle(angle-0.5, SPF_INTERPOLATE);
  455. return A_DoPBWeaponAction;
  456. }
  457. TNT1 A 0 A_Refire("Fire")
  458. AX00 ABCD 1 {
  459. if (CountInv("PowerGreenBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX03"); }
  460. if (CountInv("PowerBlueBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX02"); }
  461. if (CountInv("PowerBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX01"); }
  462. }
  463. Goto ReadyAxe
  464.  
  465. Swing2:
  466. AX21 ABCDEF 0
  467. AX22 ABCDEF 0
  468. AX23 ABCDEF 0
  469. TNT1 A 0 {
  470. A_PlaySound("AXSWING");
  471. A_SetRoll(0);
  472. A_TakeInventory("AxeSequence1");
  473. A_GiveInventory("AxeSequence2");
  474. }
  475. AX20 ABC 1 {
  476. if (CountInv("PowerGreenBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX23"); }
  477. if (CountInv("PowerBlueBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX22"); }
  478. if (CountInv("PowerBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX21"); }
  479. A_Setroll(roll+1.0, SPF_INTERPOLATE);
  480. A_SetAngle(angle-0.5, SPF_INTERPOLATE);
  481. }
  482. TNT1 A 0 {
  483. if (CountInv("PowerStrength") >= 1 ) {
  484. A_Saw("", "", 30, "AxePuffs", 0, 120, 0,16);
  485. A_FireCustomMissile("AxeAttack", 0, 0, 0, 0);
  486. A_FireCustomMissile("AxeAttack", 0, 0, 0, 0);
  487. }
  488. else {
  489. A_Saw("", "", 15, "AxePuffs", 0, 120, 0,16);
  490. A_FireCustomMissile("AxeAttack", 0, 0, 0, 0);
  491. }
  492.  
  493. }
  494. AX20 DEF 1 {
  495. if (CountInv("PowerGreenBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX23"); }
  496. if (CountInv("PowerBlueBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX22"); }
  497. if (CountInv("PowerBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX21"); }
  498. A_Setroll(roll+1.0, SPF_INTERPOLATE);
  499. A_SetAngle(angle-0.5, SPF_INTERPOLATE);
  500. }
  501. TNT1 AAA 1 {
  502. A_Setroll(roll-1.0, SPF_INTERPOLATE);
  503. A_SetAngle(angle+0.5, SPF_INTERPOLATE);
  504. }
  505. TNT1 AAA 1 {
  506. A_Setroll(roll-1.0, SPF_INTERPOLATE);
  507. A_SetAngle(angle+0.5, SPF_INTERPOLATE);
  508. return A_DoPBWeaponAction;
  509. }
  510. TNT1 A 0 A_Refire("Fire")
  511. AX00 ABCD 1 {
  512. if (CountInv("PowerGreenBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX03"); }
  513. if (CountInv("PowerBlueBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX02"); }
  514. if (CountInv("PowerBloodOnVisor") >= 1 ) { A_SetWeaponSprite("AX01"); }
  515. }
  516. Goto ReadyAxe
  517.  
  518. // COD4-Like Shield Meele Function
  519. ShieldMeele:
  520. TNT1 A 0
  521. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  522. RSWT A 1
  523. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  524. RSWT EBC 1
  525. TNT1 A 0 A_PlaySound("skeleton/swing")
  526. TNT1 A 0 A_JumpIfInventory("PowerStrength", 1, "ShieldMeeleBerserk")
  527. TNT1 A 0 A_Custompunch(random(20,40),1,1,"Shield_melee", 150)
  528. RSWT C 1
  529. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  530. RSWT D 1
  531. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  532. RSWT E 1
  533. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  534. RSWT F 1
  535. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  536. RSWT A 1
  537. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  538. RSWT A 1 A_Weaponready(1)
  539. Goto ReadyShield
  540.  
  541. ShieldMeeleBerserk:
  542. TNT1 A 0 A_Custompunch(random(30,50),1,1,"Super_Shield_Melee", 150)
  543. RSWT C 1
  544. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  545. RSWT D 1
  546. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  547. RSWT E 1
  548. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  549. RSWT F 1
  550. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  551. RSWT A 1 A_Weaponready(1)
  552. Goto ReadyShield
  553.  
  554. // Old Holding Shield Function
  555. /*
  556. AltFire:
  557. TNT1 A 0
  558. RSWB ABCDEF 1 A_WeaponReady
  559. TNT1 A 0 A_Giveinventory("ShieldModeA",1)
  560. AltHold:
  561. RSWB F 1 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  562. RSWB F 1 A_Refire
  563. TNT1 A 0 A_Takeinventory("ShieldModeA",1)
  564. RSWB FEDCBA 1 A_WeaponReady
  565. RSWF C 1 A_WeaponReady
  566. Goto Ready
  567. */
  568.  
  569. // New Shield Functions
  570. AltFire:
  571. TNT1 A 0 A_JumpIfInventory("ShieldModeA",1,"UnShield")
  572. TNT1 A 0 A_Giveinventory("ShieldModeA",1)
  573. TNT1 A 0 A_JumpIfInventory("ShieldAxeMode",1,"AltFireAxe")
  574. RSWB ABCDEF 1
  575. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  576. RSWT E 1
  577. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  578. RSWT F 1
  579. Goto ReadyShield
  580.  
  581. AltFireAxe:
  582. RSWX ABCDE 1
  583. RSWB F 1
  584. Goto ReadyShield
  585.  
  586. UnShield:
  587. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  588. RSWT F 1
  589. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  590. RSWT E 1
  591. TNT1 A 0 A_Takeinventory("ShieldModeA",1)
  592. TNT1 A 0 A_SpawnItemEx("RiotShieldProtection", 20, 0, 15, 0, 0, 0, 0,SXF_NOCHECKPOSITION)
  593. TNT1 A 0 A_JumpIfInventory("ShieldAxeMode",1,"UnShieldAxe")
  594. RSWB FEDCBA 1
  595. Goto Ready
  596.  
  597. UnShieldAxe:
  598. RSWX FEDCBA 1
  599. Goto ReadyAxe
  600.  
  601.  
  602. // New Reload Animation
  603. Reload:
  604. TNT1 A 0 A_JumpIfInventory("PrimaryPistolAmmo", 16, "Ready3")
  605. TNT1 A 0 A_JumpIfInventory("PistolBullets", 1, 1)
  606. Goto Ready3
  607. TNT1 A 0 {
  608. A_SetCrosshair(5);
  609. A_Giveinventory("PB_LockScreenTilt",1);
  610. }
  611. TNT1 A 0 A_PlaySoundEx("PSRLOUT", "Auto")
  612. D5GB A 1 A_SetRoll(roll+.5, SPF_INTERPOLATE)
  613. TNT1 A 0 A_FireCustomMissile("EmptyClipMP40",5,0,8,-4)
  614. D5GB BCD 1 A_SetRoll(roll+.5, SPF_INTERPOLATE)
  615. D5GB EFGHI 1 A_SetRoll(roll-.5, SPF_INTERPOLATE)
  616. TNT1 A 0 A_PlaySoundEx("PSRLIN", "Auto")
  617. D5GB KKLMNOPQRS 1 A_SetRoll(roll-.1, SPF_INTERPOLATE)
  618. D5GB TUVWX 1 A_SetRoll(roll+0.2, SPF_INTERPOLATE)
  619. TNT1 A 0 A_SetRoll(0, SPF_INTERPOLATE)
  620. TNT1 A 0 A_Takeinventory("PBPistolHasUnloaded",1)
  621. InsertBulletsChamber:
  622. TNT1 A 0 A_JumpIfInventory("PrimaryPistolAmmo",16, "Ready3")
  623. TNT1 A 0 A_JumpIfInventory("PistolBullets", 1, 1)
  624. Goto Ready3
  625. TNT1 A 0 {
  626. A_Giveinventory("PrimaryPistolAmmo",1);
  627. A_Takeinventory("PistolBullets",1);
  628. }
  629. Loop
  630.  
  631. InsertBullets:
  632. TNT1 AAAA 0
  633. TNT1 A 0 A_JumpIfInventory("PrimaryPistolAmmo",15,15)
  634. TNT1 A 0 A_JumpIfInventory("PistolBullets",1,3)
  635. Goto Ready
  636. TNT1 AAAAAA 0
  637. TNT1 A 0 A_Giveinventory("PrimaryPistolAmmo",1)
  638. TNT1 A 0 A_Giveinventory("BDDualPistolAmmo",1)
  639. TNT1 A 0 A_Takeinventory("PistolBullets",1)
  640. Goto InsertBullets
  641.  
  642. TNT1 AAAAAAAAAA 0
  643. TNT1 A 0 A_Takeinventory("Reloading",1)
  644.  
  645. TNT1 A 0 A_Refire
  646. Goto Ready
  647. TNT1 AAAA 0
  648. TNT1 A 0 A_Takeinventory("Reloading",1)
  649.  
  650. TNT1 A 0 A_Refire
  651. Goto Ready
  652.  
  653. InsertBullets2:
  654. TNT1 AAAA 0
  655. TNT1 A 0 A_JumpIfInventory("PrimaryPistolAmmo",16,15)
  656. TNT1 A 0 A_JumpIfInventory("PistolBullets",1,3)
  657. Goto Ready
  658. TNT1 AAAAAA 0
  659. TNT1 A 0 A_Giveinventory("PrimaryPistolAmmo",1)
  660. TNT1 A 0 A_Giveinventory("BDDualPistolAmmo",1)
  661. TNT1 A 0 A_Takeinventory("PistolBullets",1)
  662. Goto InsertBullets2
  663.  
  664. TNT1 AAAAAAAAAA 0
  665. TNT1 A 0 A_Takeinventory("Reloading",1)
  666. TNT1 A 0 A_Refire
  667. Goto Ready
  668. TNT1 AAAA 0
  669. TNT1 A 0 A_Takeinventory("Reloading",1)
  670.  
  671. TNT1 A 0 A_Refire
  672. Goto Ready
  673.  
  674. InsertBullets:
  675. TNT1 AAAA 0
  676. TNT1 A 0 A_JumpIfInventory("PrimaryPistolAmmo",15,15)
  677. TNT1 A 0 A_JumpIfInventory("PistolBullets",1,3)
  678. Goto Ready
  679. TNT1 AAAAAA 0
  680. TNT1 A 0 A_Giveinventory("PrimaryPistolAmmo",1)
  681. TNT1 A 0 A_Giveinventory("BDDualPistolAmmo",1)
  682. TNT1 A 0 A_Takeinventory("PistolBullets",1)
  683. Goto InsertBullets
  684.  
  685. TNT1 AAAAAAAAAA 0
  686. TNT1 A 0 A_Takeinventory("Reloading",1)
  687.  
  688. TNT1 A 0 A_Refire
  689. Goto Ready
  690. TNT1 AAAA 0
  691. TNT1 A 0 A_Takeinventory("Reloading",1)
  692.  
  693. TNT1 A 0 A_Refire
  694. Goto Ready
  695.  
  696. InsertBullets2:
  697. TNT1 AAAA 0
  698. TNT1 A 0 A_JumpIfInventory("PrimaryPistolAmmo",16,15)
  699. TNT1 A 0 A_JumpIfInventory("PistolBullets",1,3)
  700. Goto Ready
  701. TNT1 AAAAAA 0
  702. TNT1 A 0 A_Giveinventory("PrimaryPistolAmmo",1)
  703. TNT1 A 0 A_Giveinventory("BDDualPistolAmmo",1)
  704. TNT1 A 0 A_Takeinventory("PistolBullets",1)
  705. Goto InsertBullets2
  706.  
  707. TNT1 AAAAAAAAAA 0
  708. TNT1 A 0 A_Takeinventory("Reloading",1)
  709. TNT1 A 0 A_Refire
  710. Goto Ready
  711. TNT1 AAAA 0
  712. TNT1 A 0 A_Takeinventory("Reloading",1)
  713.  
  714. TNT1 A 0 A_Refire
  715. Goto Ready
  716.  
  717. // Unload Animation
  718. Unload:
  719. RSWG A 1 A_WeaponReady
  720. TNT1 A 0 A_Takeinventory("Unloading",1)
  721. TNT1 A 0 A_Takeinventory("ADSmode",1)
  722. TNT1 A 0 A_JumpIfInventory("PrimaryPistolAmmo",1,3)
  723. Goto NoAmmo
  724. TNT1 AAA 0
  725. TNT1 A 0 A_Takeinventory("Zoomed",1)
  726. TNT1 A 0 A_ZoomFactor(1.0)
  727. TNT1 A 0 A_GiveInventory ("Pumping", 1)
  728. TNT1 A 0 A_Takeinventory("Reloading",1)
  729. RSWF D 2
  730. RSWR ABCDEEFFFF 1
  731. TNT1 A 0 A_PlaySound("prel")
  732. RSWR F 32
  733. RSWR EEDCB 1
  734. RSWR A 2
  735. RSWF CD 2
  736. TNT1 A 0 A_Giveinventory("HasUnloaded",1)
  737. TNT1 A 0 A_JumpIfInventory("PrimaryPistolAmmo",1,"RemoveBullets")
  738.  
  739. RemoveBullets:
  740. TNT1 AAAA 0
  741. TNT1 A 0 A_JumpIfInventory("PrimaryPistolAmmo",1,3)
  742. Goto Ready
  743. TNT1 AAAAAA 0
  744. TNT1 A 0 A_Takeinventory("PrimaryPistolAmmo",1)
  745. TNT1 A 0 A_Takeinventory("BDDualPistolAmmo",1)
  746. TNT1 A 0 A_Giveinventory("PistolBullets",1)
  747. Goto RemoveBullets
  748.  
  749. TNT1 AAAAAAAAAA 0
  750. TNT1 A 0 A_Takeinventory("Reloading",1)
  751.  
  752. TNT1 A 0 A_Refire
  753. Goto Ready
  754. TNT1 AAAA 0
  755. TNT1 A 0 A_Takeinventory("Reloading",1)
  756.  
  757. TNT1 A 0 A_Refire
  758. Goto Ready
  759.  
  760. // Sprinting Functions
  761.  
  762. CheckSprint:
  763. RSWG A 1 A_WeaponReady(WRF_NOFIRE)
  764. TNT1 A 0 A_JumpIfInventory("IsStandingStill", 1, "Ready3")
  765. TNT1 A 0 A_JumpIfInventory("IsTacticalClass", 1, "StartSprint")
  766. Goto Ready
  767.  
  768. StartSprint:
  769. RSWG A 1 A_WeaponReady(WRF_NOFIRE)
  770. TNT1 A 0 A_JumpIfInventory("UsedStamina", 40, "StopSprintTired")
  771.  
  772. Sprinting:
  773. RSWG A 0 offset(-9,32)
  774. TNT1 A 0 offset(-9,32) A_JumpIfInventory("IsStandingStill", 1, "Ready3")
  775. TNT1 A 0 offset(-9,32) A_JumpIfInventory("UsedStamina", 100, "StopSprintTired")
  776. PLAY A 0 offset(-9,32) ACS_ExecuteAlways(852, 0, 0, 0, 0)//Makes player faster.
  777. TNT1 A 0 offset(-9,32) A_JumpIfInventory("PowerStrength", 1, 2)
  778. TNT1 A 0 offset(-9,32) A_GiveInventory("UsedStamina", 2)
  779. TNT1 A 0 offset(-9,32)
  780. RSWG A 1 offset(-9,34) A_SetPitch(pitch -0.5)
  781. RSWG A 1 offset(-6,36) A_SetPitch(pitch -0.5)
  782. RSWG A 1 offset(-3,38) A_SetPitch(pitch -0.5)
  783. RSWG A 1 offset(0,38) A_SetPitch(pitch -0.5)
  784. RSWG A 1 offset(3,36) A_SetPitch(pitch -0.5)
  785. RSWG A 1 offset(6,34) A_SetPitch(pitch -0.5)
  786. RSWG A 1 offset(9,32) A_SetPitch(pitch -0.5)
  787. TNT1 A 0 offset(9,32) A_WeaponReady(WRF_NOBOB)
  788. TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
  789. TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
  790. TNT1 A 0 A_JumpIfInventory("Reloading",1,"Reload")
  791. TNT1 A 0 offset(-9,32) A_GiveInventory("UsedStamina", 3)
  792. TNT1 A 0 offset(9,33) A_SpawnItemEx("FootStep", 0, 0, 2, 0, 0, -4)
  793. RSWG A 1 offset(9,34) A_SetPitch(pitch +0.5)
  794. RSWG A 1 offset(6,36) A_SetPitch(pitch +0.5)
  795. RSWG A 1 offset(3,38) A_SetPitch(pitch +0.5)
  796. RSWG A 1 offset(0,38) A_SetPitch(pitch +0.5)
  797. RSWG A 1 offset(-3,36) A_SetPitch(pitch +0.5)
  798. RSWG A 1 offset(-6,34) A_SetPitch(pitch +0.5)
  799. RSWG A 1 offset(-9,32) A_SetPitch(pitch +0.5)
  800. TNT1 A 0 offset(-9,32) A_WeaponReady(WRF_NOBOB)
  801. TNT1 A 0 offset(-9,32) A_JumpIfInventory("IsRunning", 1, "Sprinting")
  802.  
  803. Goto StopSprint
  804. StopSprintTired:
  805. RSWG A 1
  806. PLAY A 0 ACS_ExecuteAlways(853, 0, 0, 0, 0)//Makes player slower.
  807. TNT1 A 0 A_PlaySound("Tired", 2)
  808. TNT1 A 0 A_TakeInventory("UsedStamina", 2)
  809. RSWG A 5 A_WeaponReady
  810. TNT1 A 0 A_TakeInventory("UsedStamina", 2)
  811. RSWG A 5 A_WeaponReady
  812. TNT1 A 0 A_TakeInventory("UsedStamina", 2)
  813. RSWG A 5 A_WeaponReady
  814. TNT1 A 0 A_TakeInventory("UsedStamina", 2)
  815. RSWG A 5 A_WeaponReady
  816. TNT1 A 0 A_TakeInventory("UsedStamina", 2)
  817. RSWG A 5 A_WeaponReady
  818. Goto Ready
  819. StopSprint:
  820. RSWG A 1
  821. TNT1 A 0 A_JumpIfInventory("UsedStamina", 60, "StopSprintTired")
  822. PLAY A 0 ACS_ExecuteAlways(853, 0, 0, 0, 0)//Makes player slower.
  823. Goto Ready
  824.  
  825. }
  826. }
  827.  
  828. //Alt Mode Related
  829. Actor ShieldAxeMode : Inventory //Burst Fire-Mode
  830. {
  831. Inventory.MaxAmount 1
  832. }
  833.  
  834. Actor ShieldModeA : Inventory //CS-Like Holding Riot Shield
  835. {
  836. Inventory.MaxAmount 1
  837. }
  838.  
  839. // Riot Shield Protection Functions
  840. actor RiotShieldProtection
  841. {
  842. Speed 9
  843. +NOTARGET
  844. Health 99999
  845. Radius 15
  846. Height 55
  847. BloodType "RiotShieldHit"
  848. PainChance 0
  849. +NOGRAVITY
  850. +SHOOTABLE
  851. +NOTELEPORT
  852. -SOLID
  853. +NODAMAGETHRUST
  854. +NORADIUSDMG
  855. +NOPAIN
  856. States
  857. {
  858. Spawn:
  859. XXXX A 3
  860. Stop
  861. }
  862. }
  863.  
  864. ACTOR RiotShieldHit: HitPuff
  865. {
  866. renderstyle Translucent
  867. scale 0.15
  868. alpha 0.7
  869. //Radius 20
  870. +NOBLOCKMAP
  871. +NOGRAVITY
  872. +NOEXTREMEDEATH
  873. +FORCEXYBILLBOARD
  874. states
  875. {
  876. Spawn:
  877. Death:
  878. XDeath:
  879. Melee:
  880. TNT1 A 0 A_PlaySound ("barrel/pain")
  881. TNT1 A 0
  882. TNT1 AB 1 bright A_SpawnItem ("YellowFlareSmall", 0)
  883. TNT1 A 0 A_Jump (128,3)
  884. TNT1 A 0 A_SpawnItem ("Sparks", 0)
  885. TNT1 AAAAAA 0 A_CustomMissile ("SparkX", 2, 0, random (0, 360), 2, random (30, 170))
  886. BPUF C 1 bright A_PlaySound("ricochet/hit")
  887. BPUF D 1 bright
  888. Stop
  889. }
  890. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement