Drossdozer.lua 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. --[[
  2. Script Name : SpawnScripts/Caves/Drossdozer.lua
  3. Script Author : LordPazuzu
  4. Script Date : 2022.10.03 03:10:05
  5. Script Purpose :
  6. :
  7. --]]
  8. function spawn(NPC)
  9. SetSpawnAnimation(NPC, 13016)
  10. dmgMod = GetStr(NPC)/10
  11. SetInfoStructUInt(NPC, "override_primary_weapon", 1)
  12. SetInfoStructUInt(NPC, "primary_weapon_damage_low", math.floor(8 + dmgMod))
  13. SetInfoStructUInt(NPC, "primary_weapon_damage_high", math.floor(15 + dmgMod))
  14. end
  15. function respawn(NPC)
  16. spawn(NPC)
  17. end
  18. local HealthCallout = false --REDUCES Half-Health Spam
  19. local CalloutTimer = false --REDUCES Callout Spam
  20. function ResetTimer(NPC) -- 7 SECOND PAUSE BETWEEN VOs
  21. SetTempVariable(NPC, "CalloutTimer", "false")
  22. end
  23. function HealthReset (NPC) -- SO HALF HEALTH DOESN'T SPAM
  24. SetTempVariable(NPC, "HealthCallout", "false")
  25. end
  26. function Garbled(NPC,Player)
  27. local choice = MakeRandomInt(1,8)
  28. if choice == 1 then
  29. if choice == 1 then
  30. PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_garbled_7c1e7a03.mp3", "Oerbet aertres nuavalen sulana", "", 294229851, 323943279, Player, 27)
  31. elseif choice == 2 then
  32. PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_garbled_48632408.mp3", "Boona vas kontrella", "", 2577927628, 312715019, Player, 27)
  33. elseif choice == 3 then
  34. PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_garbled_e0fead4d.mp3", "Pintoota kolata eldina mastarina", "", 2947217871, 3677590207, Player, 27)
  35. elseif choice == 4 then
  36. PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_garbled_ba1c8454.mp3", "Ervmenta oolaves kor'tenza", "", 422166849, 245170409, Player, 27)
  37. elseif choice == 5 then
  38. PlayFlavor(NPC, "voiceover/english/optional5/golem_base_2/ft/golem/golem_base_2_1_garbled_e0fead4d.mp3", "Pintoota kolata eldina mastarina", "", 639170042, 3072010585, Player, 27)
  39. elseif choice == 6 then
  40. PlayFlavor(NPC, "voiceover/english/optional5/golem_base_2/ft/golem/golem_base_2_1_garbled_7c1e7a03.mp3", "Oerbet aertres nuavalen sulana", "", 2422828991, 2611697218, Player, 27)
  41. elseif choice == 7 then
  42. PlayFlavor(NPC, "voiceover/english/optional5/golem_base_2/ft/golem/golem_base_2_1_garbled_48632408.mp3", "Boona vas kontrella", "", 3186320893, 862014285, Player, 27)
  43. elseif choice == 8 then
  44. PlayFlavor(NPC, "voiceover/english/optional5/golem_base_2/ft/golem/golem_base_2_1_garbled_ba1c8454.mp3", "Ervmenta oolaves kor'tenza", "", 888692198, 2015697711, Player, 27)
  45. end
  46. end
  47. end
  48. function aggro(NPC,Player)
  49. SpawnSet(NPC, "visual_state", 0)
  50. SetTempVariable(NPC, "CalloutTimer", "false")
  51. if GetTempVariable(NPC, "CalloutTimer")== "false" and IsPlayer(Player) then
  52. SetTempVariable(NPC, "CalloutTimer", "true")
  53. AddTimer(NPC,10000,"ResetTimer")
  54. if not HasLanguage(Player,27 )then
  55. Garbled(NPC,Player)
  56. else
  57. local choice = MakeRandomInt(1,5)
  58. if choice == 1 then
  59. PlayFlavor(NPC, "voiceover/english/optional5/golem_base_2/ft/golem/golem_base_2_1_aggro_8c0c561c.mp3", "My master does not allow interruptions. ", "", 3022463100, 3116808293, Player, 27)
  60. elseif choice == 2 then
  61. PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_aggro_16cd431.mp3", "Yes, my master, the intruder will die.", "", 257276325, 2522637460, Player, 27)
  62. elseif choice == 3 then
  63. PlayFlavor(NPC, "voiceover/english/optional5/golem_base_2/ft/golem/golem_base_2_1_aggro_11dc1958.mp3", "No guests allowed.", "", 3738509549, 661160854, Player, 27)
  64. elseif choice == 4 then
  65. PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_aggro_b8540029.mp3", "The guardian obeys.", "", 769265419, 1578038738, Player, 27)
  66. elseif choice == 5 then
  67. PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_aggro_703b6e79.mp3", "The mortals will perish.", "", 2360093588, 1657528756, Player, 27)
  68. end
  69. end
  70. end
  71. end
  72. function death(NPC,Player)
  73. if GetTempVariable(NPC, "CalloutTimer")== "false" and IsPlayer(Player) then
  74. if math.random(0,100)<=35 then
  75. if not HasLanguage(Player,27 )then
  76. Garbled(NPC,Player)
  77. else
  78. local choice = MakeRandomInt(1,5)
  79. if choice == 1 then
  80. PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_death_621f26ae.mp3", "Master will make another.", "", 1723362223, 1880861825, Player, 27)
  81. elseif choice == 2 then
  82. PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_death_e7820773.mp3", "You cannot defeat us all.", "", 3579670490, 2152032663, Player, 27)
  83. elseif choice == 3 then
  84. PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_death_e7820773.mp3", "You cannot defeat us all.", "", 3579670490, 2152032663, Player, 27)
  85. elseif choice == 4 then
  86. PlayFlavor(NPC, "voiceover/english/optional5/golem_base_2/ft/golem/golem_base_2_1_death_6e0fe426.mp3", "So ends my service.", "", 3508288945, 550656700, Player, 27)
  87. elseif choice == 5 then
  88. PlayFlavor(NPC, "voiceover/english/optional5/golem_base_2/ft/golem/golem_base_2_1_death_7e77a73c.mp3", "There's always more.", "", 2395781453, 2542379752, Player, 27)
  89. end
  90. end
  91. end
  92. end
  93. end
  94. function healthchanged(NPC, Player)
  95. if GetTempVariable(NPC, "HealthCallout")== "false" and IsPlayer(Player) then
  96. if GetHP(NPC) < GetMaxHP(NPC) * 0.55 and GetHP(NPC) > GetMaxHP(NPC) * 0.45 then
  97. SetTempVariable(NPC, "HealthCallout", "true")
  98. AddTimer(NPC,10000,"HealthReset")
  99. if not HasLanguage(Player,27 )then
  100. Garbled(NPC,Player)
  101. else
  102. local choice = MakeRandomInt(1,3)
  103. if choice == 1 then
  104. PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_halfhealth_56c106e.mp3", "I require repairs.", "", 957561407, 2078337123, Player, 27)
  105. elseif choice == 2 then
  106. PlayFlavor(NPC, "voiceover/english/optional5/golem_base_2/ft/golem/golem_base_2_1_halfhealth_6afbfbe4.mp3", "Don't let the intruders progress.", "", 206904711, 131378704, Player, 27)
  107. elseif choice == 3 then
  108. PlayFlavor(NPC, "voiceover/english/optional3/golem_base_1/ft/golem/golem_base_1_1_halfhealth_ea5a0760.mp3", "My service is almost done.", "", 3662264007, 3476541130, Player, 27)
  109. end
  110. end
  111. end
  112. end
  113. end