GrolvenChiptooth.lua 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. --[[
  2. Script Name : SpawnScripts/Antonica/GrolvenChiptooth.lua
  3. Script Author : Dorbin
  4. Script Date : 2022.06.17 04:06:24
  5. Script Purpose :
  6. :
  7. --]]
  8. require "SpawnScripts/Generic/NPCModule"
  9. function spawn(NPC, Spawn)
  10. dmgMod = GetStr(NPC)/10
  11. Named(NPC)
  12. SetInfoStructUInt(NPC, "override_primary_weapon", 1)
  13. SetInfoStructUInt(NPC, "primary_weapon_damage_low", math.floor(70 + dmgMod))
  14. SetInfoStructUInt(NPC, "primary_weapon_damage_high", math.floor(110 + dmgMod))
  15. AddTimer(NPC, 6000, "waypoints")
  16. end
  17. function Garbled(NPC,Spawn)
  18. local choice = MakeRandomInt(1,4)
  19. if choice == 1 then
  20. PlayFlavor(NPC, "voiceover/english/gnoll_sabertooths/ft/gnoll/gnoll_sabertooths_3_garbled_2f8caa7b.mp3", "Krovel grarggt ereverrrn", "", 1122929283, 3658577306, Spawn, 18)
  21. elseif choice == 2 then
  22. PlayFlavor(NPC, "voiceover/english/gnoll_sabertooths/ft/gnoll/gnoll_sabertooths_3_garbled_fe1eedd8.mp3", "Rrrrevvvvnarrr jahht ttekkkman", "", 1645430326, 4164358721, Spawn, 18)
  23. elseif choice == 3 then
  24. PlayFlavor(NPC, "voiceover/english/gnoll_sabertooths/ft/gnoll/gnoll_sabertooths_3_garbled_fad67c0f.mp3", "Grrrolven brakth kerrtt", "", 2388782747, 150543218, Spawn, 18)
  25. elseif choice == 4 then
  26. PlayFlavor(NPC, "voiceover/english/gnoll_sabertooths/ft/gnoll/gnoll_sabertooths_3_garbled_3eefc118.mp3", "Vologrrren aggart renevenn", "", 397065851, 1047274840, Spawn, 18)
  27. end
  28. end
  29. function aggro(NPC,Spawn)
  30. if not HasLanguage(Spawn,18 )then
  31. Garbled(NPC,Spawn)
  32. else
  33. local choice = MakeRandomInt(1,4)
  34. if choice == 1 then
  35. PlayFlavor(NPC, "voiceover/english/gnoll_sabertooths/ft/gnoll/gnoll_sabertooths_3_aggro_eb691f84.mp3", "Kill it! Kill it!", "", 2374241847, 3459468567, Spawn, 18)
  36. elseif choice == 2 then
  37. PlayFlavor(NPC, "voiceover/english/gnoll_sabertooths/ft/gnoll/gnoll_sabertooths_3_aggro_6b15057.mp3", "You gonna die so fast!", "", 2350648774, 622465898, Spawn, 18)
  38. elseif choice == 3 then
  39. PlayFlavor(NPC, "voiceover/english/gnoll_sabertooths/ft/gnoll/gnoll_sabertooths_3_aggro_a30c4f9d.mp3", "To arms!", "", 2661067862, 2199552110, Spawn, 18)
  40. elseif choice == 4 then
  41. PlayFlavor(NPC, "voiceover/english/gnoll_sabertooths/ft/gnoll/gnoll_sabertooths_1_aggro_6b15057.mp3", "You gonna die so fast!", "", 1562704963, 4195642460, Spawn, 18)
  42. end
  43. AddTimer(NPC,15000,"FifteenCall")
  44. end
  45. end
  46. function FifteenCall(NPC,Spawn)
  47. if math.random(0,100)<=30 then
  48. if not HasLanguage(Spawn,18 )then
  49. Garbled(NPC,Spawn)
  50. else
  51. local choice = MakeRandomInt(1,3)
  52. if choice == 1 then
  53. PlayFlavor(NPC, "voiceover/english/gnoll_sabertooths/ft/gnoll/gnoll_sabertooths_3_everyfifteenseconds_m_988fcd6a.mp3", "I will tear you apart!", "", 3850483612, 779825488, Spawn, 18)
  54. elseif choice == 2 then
  55. PlayFlavor(NPC, "voiceover/english/gnoll_sabertooths/ft/gnoll/gnoll_sabertooths_3_everyfifteenseconds_m_847d6a42.mp3", "I'll rip you up!", "", 1316436320, 319871230, Spawn, 18)
  56. elseif choice == 3 then
  57. PlayFlavor(NPC, "voiceover/english/optional5/gnoll_base_2/ft/gnoll/gnoll_base_2_1_battle_m_5c7913bb.mp3", "Bah! You smell horrible!", "", 687847219, 3365844906, Spawn, 18) end
  58. end
  59. end
  60. if IsAlive(NPC)then
  61. AddTimer(NPC,15000,"FifteenCall")
  62. end
  63. end
  64. function death(NPC,Spawn)
  65. if not HasLanguage(Spawn,18 )then
  66. Garbled(NPC,Spawn)
  67. else
  68. local choice = MakeRandomInt(1,3)
  69. if choice == 1 then
  70. PlayFlavor(NPC, "voiceover/english/gnoll_sabertooths/ft/gnoll/gnoll_sabertooths_3_death_54a66dcc.mp3", "You gonna pay for that.", "", 4273480118, 3094167241, Spawn, 18)
  71. elseif choice == 2 then
  72. PlayFlavor(NPC, "voiceover/english/gnoll_sabertooths/ft/gnoll/gnoll_sabertooths_3_death_28e36f9f.mp3", "That one died.", "", 3831080059, 4019739051, Spawn, 18)
  73. elseif choice == 3 then
  74. PlayFlavor(NPC, "voiceover/english/optional5/gnoll_base_2/ft/gnoll/gnoll_base_2_1_death_7cbd3c71.mp3", "I'll rip your throat open!", "", 134141978, 4165685331, Spawn, 18)
  75. end
  76. end
  77. end
  78. function victory(NPC,Spawn)
  79. if HasLanguage(Spawn,18 )then
  80. local choice = MakeRandomInt(1,3)
  81. if choice == 1 then
  82. PlayFlavor(NPC, "voiceover/english/gnoll_sabertooths/ft/gnoll/gnoll_sabertooths_3_victory_d3093859.mp3", "For you then Qeynos!", "", 3698260724, 2781542733, Spawn, 18)
  83. elseif choice == 2 then
  84. PlayFlavor(NPC, "voiceover/english/gnoll_sabertooths/ft/gnoll/gnoll_sabertooths_3_victory_1ee5a435.mp3", "Now it's time to ruin your lands.", "", 3136436170, 378451446, Spawn, 18)
  85. elseif choice == 3 then
  86. PlayFlavor(NPC, "voiceover/english/optional5/gnoll_base_2/ft/gnoll/gnoll_base_2_1_victory_8e18fe38.mp3", "Your fight is hopeless!", "", 2306110016, 2442076674, Spawn, 18)
  87. end
  88. end
  89. end
  90. function respawn(NPC)
  91. spawn(NPC)
  92. end
  93. function waypoints(NPC)
  94. MovementLoopAddLocation(NPC, -1485.4, -2.18, 756.99, 2, 15)
  95. MovementLoopAddLocation(NPC, -1498.4, -0.87, 771.42, 2, 0)
  96. MovementLoopAddLocation(NPC, -1500.22, 0.09, 777.13, 2, 0)
  97. MovementLoopAddLocation(NPC, -1494.69, 2.61, 787.56, 2, 15)
  98. MovementLoopAddLocation(NPC, -1487.47, 4.22, 797.39, 2, 0)
  99. MovementLoopAddLocation(NPC, -1472.79, 2.76, 785.23, 2, 15)
  100. MovementLoopAddLocation(NPC, -1462.85, -1.71, 769.33, 2, 0)
  101. MovementLoopAddLocation(NPC, -1445.71, -6.33, 746.03, 2, 15)
  102. MovementLoopAddLocation(NPC, -1419.3, -8.78, 723.46, 2, 0)
  103. MovementLoopAddLocation(NPC, -1402.95, -8.92, 714.61, 2, 15)
  104. MovementLoopAddLocation(NPC, -1389.29, -8.01, 721.38, 2, 0)
  105. MovementLoopAddLocation(NPC, -1379.6, -8.59, 735.63, 2, 0)
  106. MovementLoopAddLocation(NPC, -1383.25, -6.7, 759.02, 2, 15)
  107. MovementLoopAddLocation(NPC, -1385.79, -2.73, 775.23, 2, 0)
  108. MovementLoopAddLocation(NPC, -1384.52, -1.69, 790.34, 2, 45)
  109. MovementLoopAddLocation(NPC, -1380.96, -1.73, 797.34, 2, 0)
  110. MovementLoopAddLocation(NPC, -1377.02, -1.77, 802.03, 2, 0)
  111. MovementLoopAddLocation(NPC, -1380.38, -2.21, 808.54, 2, 0)
  112. MovementLoopAddLocation(NPC, -1390.2, -2.84, 812.84, 2, 0)
  113. MovementLoopAddLocation(NPC, -1400.42, -3.88, 811.53, 2, 0)
  114. MovementLoopAddLocation(NPC, -1407.98, -3.65, 799.56, 2, 15)
  115. MovementLoopAddLocation(NPC, -1426.64, -2.4, 791.58, 2, 0)
  116. MovementLoopAddLocation(NPC, -1444.5, 0.88, 795.04, 2, 0)
  117. MovementLoopAddLocation(NPC, -1471.39, 3.08, 787.18, 2, 15)
  118. MovementLoopAddLocation(NPC, -1454.51, -4.26, 750.15, 2, 0)
  119. MovementLoopAddLocation(NPC, -1453.61, -5.43, 741.06, 2, 15)
  120. MovementLoopAddLocation(NPC, -1461.97, -4.36, 737.93, 2, 0)
  121. MovementLoopAddLocation(NPC, -1471.17, -3.13, 734.66, 2, 0)
  122. MovementLoopAddLocation(NPC, -1488.19, -1.17, 736.33, 2, 15)
  123. end