mirror of
https://github.com/araxiaonline/RandomScriptsforAzerothCore.git
synced 2026-06-13 02:22:19 -04:00
Update SetnpclevelScourgeTrash.lua
This commit is contained in:
@@ -62,6 +62,34 @@ print("Error: creature was not set!")
|
||||
return
|
||||
end
|
||||
|
||||
-- Get the original level of the creature
|
||||
local originalLevel = creature:GetLevel()
|
||||
-- Generate a random level between 25 and 30
|
||||
local randomLevel = math.random(25, 30)
|
||||
-- Calculate the level difference between original and random levels-- Table to store NPC IDs for CastSpellOnSpawn1
|
||||
local npcIds1 = {
|
||||
-- Add NPC IDs that will use CastSpellOnSpawn1 function here
|
||||
8541,
|
||||
10417,
|
||||
4475,
|
||||
11873,
|
||||
8531,
|
||||
11551,
|
||||
10488,
|
||||
10487,
|
||||
1788,
|
||||
10414,
|
||||
10407
|
||||
}
|
||||
|
||||
-- Function to handle NPC spawn event for CastSpellOnSpawn1
|
||||
local function CastSpellOnSpawn1(event, creature)
|
||||
-- Check if the creature was set
|
||||
if not creature then
|
||||
print("Error: creature was not set!")
|
||||
return
|
||||
end
|
||||
|
||||
-- Get the original level of the creature
|
||||
local originalLevel = creature:GetLevel()
|
||||
-- Generate a random level between 25 and 30
|
||||
@@ -84,6 +112,63 @@ for _, npcId in ipairs(npcIds1) do
|
||||
RegisterCreatureEvent(npcId, 5, CastSpellOnSpawn1)
|
||||
end
|
||||
|
||||
|
||||
-- Table to store NPC IDs for CastSpellOnSpawn2
|
||||
local npcIds2 = {
|
||||
-- Add NPC IDs that will use CastSpellOnSpawn2 function here
|
||||
400013,
|
||||
400014,
|
||||
68,
|
||||
1976,
|
||||
466,
|
||||
}
|
||||
|
||||
-- Function to handle NPC spawn event for CastSpellOnSpawn2
|
||||
local function CastSpellOnSpawn2(event, creature)
|
||||
-- Check if the creature was set
|
||||
if not creature then
|
||||
print("Error: creature was not set!")
|
||||
return
|
||||
end
|
||||
|
||||
-- Get the original level of the creature
|
||||
local originalLevel = creature:GetLevel()
|
||||
-- Generate a random level between 25 and 30
|
||||
local randomLevel = math.random(25, 30)
|
||||
-- Calculate the level difference between original and random levels
|
||||
local levelDiff = originalLevel - randomLevel
|
||||
|
||||
-- Set the level of the creature to the random level
|
||||
creature:SetLevel(randomLevel)
|
||||
-- Reduce the creature's max health by the level difference multiplied by 0.03
|
||||
creature:SetMaxHealth(creature:GetMaxHealth() * (1 - levelDiff * 0.03))
|
||||
-- Set the creature's health to its max health
|
||||
creature:SetHealth(creature:GetMaxHealth())
|
||||
-- Cast spell 100133 (teleport visual) on the creature
|
||||
creature:CastSpell(creature, 100133, true)
|
||||
end
|
||||
|
||||
-- Register CastSpellOnSpawn2 function to be called when an NPC with the specified NPC IDs
|
||||
for _, npcId in ipairs(npcIds2) do
|
||||
RegisterCreatureEvent(npcId, 5, CastSpellOnSpawn2)
|
||||
end
|
||||
local levelDiff = originalLevel - randomLevel
|
||||
|
||||
-- Set the level of the creature to the random level
|
||||
creature:SetLevel(randomLevel)
|
||||
-- Reduce the creature's max health by the level difference multiplied by 0.03
|
||||
creature:SetMaxHealth(creature:GetMaxHealth() * (1 - levelDiff * 0.03))
|
||||
-- Set the creature's health to its max health
|
||||
creature:SetHealth(creature:GetMaxHealth())
|
||||
-- Cast spell 41236 (teleport visual) on the creature
|
||||
creature:CastSpell(creature, 41236, true)
|
||||
end
|
||||
|
||||
-- Register CastSpellOnSpawn1 function to be called when an NPC with the specified NPC IDs is spawned
|
||||
for _, npcId in ipairs(npcIds1) do
|
||||
RegisterCreatureEvent(npcId, 5, CastSpellOnSpawn1)
|
||||
end
|
||||
|
||||
-- Table to store NPC IDs for CastSpellOnSpawn2
|
||||
local npcIds2 = {
|
||||
-- Add NPC IDs that will use CastSpellOnSpawn2 function here
|
||||
@@ -120,7 +205,6 @@ creature:CastSpell(creature, 100133, true)
|
||||
end
|
||||
|
||||
-- Register CastSpellOnSpawn2 function to be called when an NPC with the specified NPC IDs
|
||||
spawned
|
||||
for _, npcId in ipairs(npcIds1) do
|
||||
for _, npcId in ipairs(npcIds2) do
|
||||
RegisterCreatureEvent(npcId, 5, CastSpellOnSpawn2)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user