Grubdigger.lua 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. --[[
  2. Script Name : SpawnScripts/Oakmyst_Classic/Grubdigger.lua
  3. Script Author : LordPazuzu
  4. Script Date : 2022.10.19 03:10:06
  5. Script Purpose :
  6. :
  7. --]]
  8. function spawn(NPC)
  9. local Level = GetLevel(NPC)
  10. local level1 = 15
  11. local level2 = 16
  12. local level3 = 17
  13. local difficulty1 = 8
  14. local hp1 = 2985
  15. local power1 = 800
  16. local difficulty2 = 8
  17. local hp2 = 3410
  18. local power2 = 840
  19. local difficulty3 =8
  20. local hp3 = 3990
  21. local power3 = 910
  22. if Level == level1 then
  23. SpawnSet(NPC, "difficulty", difficulty1)
  24. SpawnSet(NPC, "hp", hp1)
  25. SpawnSet(NPC, "power", power1)
  26. elseif Level == level2
  27. then
  28. SpawnSet(NPC, "difficulty", difficulty2)
  29. SpawnSet(NPC, "hp", hp2)
  30. SpawnSet(NPC, "power", power2)
  31. elseif Level == level3
  32. then
  33. SpawnSet(NPC, "difficulty", difficulty3)
  34. SpawnSet(NPC, "hp", hp3)
  35. SpawnSet(NPC, "power", power3)
  36. end
  37. dmgMod = GetStr(NPC)/10
  38. SetInfoStructUInt(NPC, "override_primary_weapon", 1)
  39. SetInfoStructUInt(NPC, "primary_weapon_damage_low", math.floor(30 + dmgMod))
  40. SetInfoStructUInt(NPC, "primary_weapon_damage_high", math.floor(60 + dmgMod))
  41. waypoints(NPC)
  42. end
  43. function waypoints(NPC)
  44. MovementLoopAddLocation(NPC, 981.7, 11.74, -314.07, 2, 0)
  45. MovementLoopAddLocation(NPC, 973.07, 10.43, -307.73, 2, 0)
  46. MovementLoopAddLocation(NPC, 963.45, 8.1, -299.2, 2, 0)
  47. MovementLoopAddLocation(NPC, 952.95, 5.51, -290.98, 2, 0)
  48. MovementLoopAddLocation(NPC, 946.74, 5.25, -297.47, 2, 0)
  49. MovementLoopAddLocation(NPC, 945.27, 2.58, -328.88, 2, 0)
  50. MovementLoopAddLocation(NPC, 935.3, 2.28, -346.2, 2, 0)
  51. MovementLoopAddLocation(NPC, 930.37, 2.39, -356.56, 2, math.random(10, 20))
  52. MovementLoopAddLocation(NPC, 925.92, 2.84, -357.82, 2, 0)
  53. MovementLoopAddLocation(NPC, 936.74, 2.26, -353.3, 2, 0)
  54. MovementLoopAddLocation(NPC, 939.19, 2.23, -344.98, 2, 0)
  55. MovementLoopAddLocation(NPC, 933.34, 3.09, -331.77, 2, 0)
  56. MovementLoopAddLocation(NPC, 923.92, 2.37, -325.16, 2, 0)
  57. MovementLoopAddLocation(NPC, 900.74, 2.26, -325.41, 2, 0)
  58. MovementLoopAddLocation(NPC, 867.16, 1.9, -331.14, 2, 0)
  59. MovementLoopAddLocation(NPC, 845.54, 4.6, -322.29, 2, 0)
  60. MovementLoopAddLocation(NPC, 827.66, 7.41, -302.82, 2, 0)
  61. MovementLoopAddLocation(NPC, 825.49, 5.18, -279.62, 2, 0)
  62. MovementLoopAddLocation(NPC, 831.51, 4.66, -267.01, 2, 0)
  63. MovementLoopAddLocation(NPC, 858.56, 2.09, -245.9, 2, 0)
  64. MovementLoopAddLocation(NPC, 888.63, 0.93, -243.63, 2, 0)
  65. MovementLoopAddLocation(NPC, 899.33, 3.17, -221.72, 2, 0)
  66. MovementLoopAddLocation(NPC, 910.05, 3.09, -218.36, 2, 0)
  67. MovementLoopAddLocation(NPC, 931.44, 2.26, -239.58, 2, 0)
  68. MovementLoopAddLocation(NPC, 925.76, 1.99, -269.96, 2, 0)
  69. MovementLoopAddLocation(NPC, 941.04, 2.42, -279.51, 2, 0)
  70. MovementLoopAddLocation(NPC, 963.21, 8.71, -291.29, 2, 0)
  71. MovementLoopAddLocation(NPC, 974.6, 12.89, -278.93, 2, 0)
  72. MovementLoopAddLocation(NPC, 987.07, 12.66, -268.55, 2, 0)
  73. MovementLoopAddLocation(NPC, 1000.76, 12.84, -261.14, 2, 0, "Action")
  74. end
  75. function Action(NPC,Spawn)
  76. Despawn(NPC)
  77. end
  78. function hailed(NPC, Spawn)
  79. end
  80. function respawn(NPC)
  81. spawn(NPC)
  82. end