From e8921bd8258e27a635393a745aecd13dba25440d Mon Sep 17 00:00:00 2001 From: Dinkledork <118951051+Day36512@users.noreply.github.com> Date: Thu, 2 Feb 2023 19:42:05 -0700 Subject: [PATCH] Update SetnpclevelScourgeTrash.lua An actual working script --- SetnpclevelScourgeTrash.lua | 68 +++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/SetnpclevelScourgeTrash.lua b/SetnpclevelScourgeTrash.lua index 6318c86..117e8aa 100644 --- a/SetnpclevelScourgeTrash.lua +++ b/SetnpclevelScourgeTrash.lua @@ -42,6 +42,9 @@ end local npcIds1 = { -- Add NPC IDs that will use CastSpellOnSpawn1 function here 8541, +10417,-- Table to store NPC IDs for group 1 +local npcIds1 = { +8541, 10417, 4475, 11873, @@ -54,6 +57,71 @@ local npcIds1 = { 10407 } +-- Table to store NPC IDs for group 2 +local npcIds2 = { +400013, +400014, +68, +1976, +466, +} + +-- Function to be executed when an NPC from group 1 is spawned +local function CastSpellOnSpawnGroup1(event, creature) +if not creature then +print("Error: creature was not set!") +return +end + +local originalLevel = creature:GetLevel() +local randomLevel = math.random(25, 30) +local levelDiff = originalLevel - randomLevel + +local spellId = 28234 +creature:SetLevel(randomLevel) +creature:SetMaxHealth(creature:GetMaxHealth() * (1 - levelDiff * 0.015)) +creature:SetHealth(creature:GetMaxHealth()) +creature:CastSpell(creature, spellId, true) -- minion visual +end + +-- Function to be executed when an NPC from group 2 is spawned +local function CastSpellOnSpawnGroup2(event, creature) +if not creature then +print("Error: creature was not set!") +return +end + +local originalLevel = creature:GetLevel() +local randomLevel = math.random(25, 30) +local levelDiff = originalLevel - randomLevel + +local spellId = 100133 +creature:SetLevel(randomLevel) +creature:SetMaxHealth(creature:GetMaxHealth() * (1 - levelDiff * 0.015)) +creature:SetHealth(creature:GetMaxHealth()) +creature:CastSpell(creature, spellId, true) -- rez visual +end + +-- Register the event for NPCs in group 1 +for _, npcId in ipairs(npcIds1) do +RegisterCreatureEvent(npcId, 5, CastSpellOnSpawnGroup1) +end + +-- Register the event for NPCs in group 2 +for _, npcId in ipairs(npcIds2) do +RegisterCreatureEvent(npcId, 5, CastSpellOnSpawnGroup2) +end +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