Customizable Weaponry for ZDoom.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

DECORATE.dec 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. const int GV_PSTF1 = 1;
  2. const int GV_PSTF2 = 2;
  3. const int GV_SHTF1 = 3;
  4. const int GV_SHTP1 = 4;
  5. DamageType NoDam {Factor 0}
  6. actor CWeapon : Weapon
  7. {
  8. +WEAPON.NOALERT
  9. +WEAPON.NOAUTOFIRE
  10. Weapon.KickBack 40
  11. Weapon.AmmoUse1 1
  12. Weapon.AmmoGive1 4
  13. }
  14. #include "actors/CPlayer.dec" // Player
  15. #include "actors/CPistol.dec" // Beretta
  16. #include "actors/CShotgun.dec" // Shotgun
  17. actor dummy : Inventory {Inventory.MaxAmount 1}
  18. actor mod : dummy {Inventory.MaxAmount 2}
  19. /* TO - DO:
  20. * Bayonet
  21. * Explosive ammo
  22. * Better silencer for the shotgun
  23. * "ACOG" scope
  24. * Make the laser sight alert monsters, give it a trail, and make it toggle
  25. */
  26. // Attachments
  27. actor Laz : dummy {}
  28. actor LTrig : dummy {}
  29. actor PumpMech : dummy {}
  30. actor Attachment : CustomInventory replaces BlurSphere
  31. {
  32. Inventory.PickupMessage "$CW_ATTACH_PKUP"
  33. States
  34. {
  35. Spawn:
  36. BOXX A -1
  37. wait
  38. Pickup:
  39. TNT1 A 0 A_Jump(128, "Pickup2", "Pickup3")
  40. Pickup1:
  41. TNT1 A 0 A_JumpIfInventory("Laz", 1, "Pickup2")
  42. TNT1 A 0 A_GiveInventory("Laz", 1)
  43. stop
  44. Pickup2:
  45. TNT1 A 0 A_JumpIfInventory("LTrig", 1, "Pickup3")
  46. TNT1 A 0 A_GiveInventory("LTrig", 1)
  47. stop
  48. Pickup3:
  49. TNT1 A 0 A_JumpIfInventory("PumpMech", 1, "Pickup1")
  50. TNT1 A 0 A_GiveInventory("PumpMech", 1)
  51. stop
  52. }
  53. }
  54. actor PistolSil : dummy {}
  55. actor PistolLaz : dummy {}
  56. actor PistolLTrig : dummy {}
  57. actor ShotgunSil : dummy {}
  58. actor ShotgunLaz : dummy {}
  59. actor ShotgunPump : dummy {}
  60. actor ShotgunLTrig : dummy {}
  61. // Modifier items
  62. actor PistolFSpeedMod : mod {}
  63. actor PistolAccuracyMod : mod {}
  64. actor ShotgunFSpeedMod : mod {}
  65. actor ShotgunPSpeedMod : mod {}
  66. // Action items
  67. actor CMenu : dummy {}
  68. actor DNS : dummy {}
  69. actor CMenuNext : mod {}
  70. actor LaserPointer : BulletPuff
  71. {
  72. -ALLOWPARTICLES
  73. +NOTIMEFREEZE
  74. +PUFFONACTORS
  75. +NOTRIGGER
  76. +BLOODLESSIMPACT
  77. VSpeed 0
  78. States
  79. {
  80. Spawn:
  81. LAZR A 1
  82. Stop
  83. }
  84. }