Advertisement
Chronos_Ouroboros

EEEEEEEEEEE

Nov 23rd, 2014
323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.36 KB | None | 0 0
  1. DECORATE:
  2. Actor DemonModeAltfire : FastProjectile {
  3. RenderStyle Add
  4. Radius 13
  5. Height 13
  6. Scale 0.1
  7. Speed 1
  8. Damage (CallACS ("FDDemonModeAltDamage"))
  9. Projectile
  10. States {
  11. Spawn:
  12. TNT1 A 0
  13. TNT1 A 0 A_ChangeFlag (ExtremeDeath, Random (Random (1, 0), 1))
  14. TNT1 A 0 A_ScaleVelocity (35.0)
  15. Spawn2:
  16. DMNA A 1 Bright
  17. Loop
  18. Death:
  19. TNT1 A 0 A_RadiusThrust (CallACS ("FDDemonModeAltExpRT"), 128, RTF_AFFECTSOURCE * CallACS ("FDDemonModeAltExpFlagRandomizer"))
  20. TNT1 A 0 A_Explode (CallACS ("FDDemonModeAltExpDamage"), CallACS ("FDDemonModeAltExpRadius"), XF_HURTSOURCE * CallACS ("FDDemonModeAltExpFlagRandomizer"))
  21. Stop
  22. }
  23. }
  24.  
  25. ACS:
  26. script "FDDemonModeAltDamage" (void) {
  27. // Pray to the RNG god
  28. int BaseDamage = Random (Random (1, 3), Random (4, 8));
  29. int Randomizer1 = Random (Random (1, 10), Random (1, 10));
  30. int Randomizer2 = Random (0, Random (1, 2));
  31. int Result = 0;
  32.  
  33. int x = Randomizer1 * BaseDamage;
  34. if (Randomizer2 == 1) {
  35. Result = (x * Random (2, 4)) + ((x / Random (2, 5)) >> 16 * Random (1, 2));
  36. } else if (Randomizer2 == 2)
  37. Result = x + Random (2, 4) * (x / Random (2, 5));
  38. else
  39. Result = x * 2.5 >> 16;
  40.  
  41. SetResultValue (Result);
  42. }
  43.  
  44. script "FDDemonModeAltExpDamage" (void) {
  45. int Randomizer1 = Random (
  46. Random (
  47. Random (0, 64),
  48. Random (65, 128)),
  49. Random (
  50. Random (129, 193),
  51. Random (194, 256)));
  52. int Randomizer2 = Random (1, 4);
  53. int Result = 0;
  54.  
  55. Result = (Randomizer1 / Randomizer2) >> 16;
  56.  
  57. SetResultValue (Result);
  58. }
  59.  
  60. script "FDDemonModeAltExpRadius" (void) {
  61. int Randomizer1 = Random (
  62. Random (
  63. Random (0, 32),
  64. Random (33, 64)),
  65. Random (
  66. Random (65, 96),
  67. Random (96, 128)));
  68. int Randomizer2 = Random (1, 4);
  69. int Result = 0;
  70.  
  71. Result = (Randomizer1 / Randomizer2) >> 16;
  72.  
  73. SetResultValue (Result);
  74. }
  75.  
  76. int FDDemonModeAltExpRTMass [13] = {
  77. 100,
  78. 250,
  79. 580,
  80. 379,
  81. 158,
  82. 190,
  83. 129,
  84. 1598,
  85. 2000,
  86. 1299,
  87. 1598,
  88. 159,
  89. 1795
  90. };
  91.  
  92. int FDDemonModeAltExpRTForce [12] = {
  93. 25,
  94. 30,
  95. 45,
  96. 10,
  97. 100,
  98. 94,
  99. 38,
  100. 19,
  101. 67,
  102. 198,
  103. 279,
  104. 17
  105. };
  106.  
  107. script "FDDemonModeAltExpRT" (void) {
  108. // Mass randomizer
  109. int Randomizer1 = Random ( // L0: None
  110. Random ( // L1: Min
  111. Random ( // L2: Min
  112. Random (0, 2), // L3: Min
  113. Random (3, 4)), // L3: Max
  114. Random ( // L2: Max
  115. Random (5, 7), // L3: Min
  116. Random (8, 10))), // L3: Max
  117. Random ( // L1: Max
  118. Random (11, 12), // L2: Min
  119. Random (12, 13))); // L2: Max
  120. // Force randomizer
  121. int Randomizer2 = Random (
  122. Random ( // L1: Min
  123. Random ( // L2: Min
  124. Random (0, 1), // L3: Min
  125. Random (2, 3)), // L3: Max
  126. Random ( // L2: Max
  127. Random (4, 6), // L3: Min
  128. Random (7, 8))), // L3: Max
  129. Random ( // L1: Max
  130. Random (9, 10), // L2: Min
  131. Random (11, 12))); // L2: Max
  132. // Result
  133. int Result = 0;
  134.  
  135. // Result = Force * (2 * Mass)
  136. Result = FDDemonModeAltExpRTForce [Randomizer2] * (2 * FDDemonModeAltExpRTMass [Randomizer1]);
  137.  
  138. SetResultValue (Result >> 16);
  139. }
  140.  
  141. script "FDDemonModeAltExpFlagRandomizer" (void) {
  142. int Result = 0;
  143.  
  144. if (GetCVar ("FD_IDontBelieveInGod"))
  145. Result = 0;
  146. else
  147. Result = Random (Random (0, 1), Random (1, 0));
  148.  
  149. SetResultValue (Result);
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement