Code:
function Horseman_EnterCombat(pUnit, Event)
pUnit:SendChatMessage(12, 0, "Ihr seid am Ziel, die Suche ist vorbei, das Schicksal wird entscheiden, wer der Sieger sei!")
pUnit:FullCastSpell(44241)
pUnit:RegisterEvent("Head_Alive_Check", 1000, 0)
pUnit:RegisterEvent("Horseman_Healthcheck", 1000, 0)
pUnit:RegisterEvent("Unmount", 20000, 1)
end
X = pUnit:GetX()
Y = pUnit:GetY()
Z = pUnit:GetZ()
function Horseman_Healthcheck(pUnit, Event)
if pUnit:GetHealthPct() < 5 then
pUnit:SetCombatCapable(0)
pUnit:RegisterEvent("100Perc_Check", 1000, 0)
end
end
function 100Perc_Check(pUnit, Event)
if pUnit:GetHealthPct() = 100 then
pUnit:SetCombatCapable(1)
pUnit:DeRegisterEvent("100Perc_Check")
end
end
function Unmount(pUnit, Event)
pUnit:SpawnCreature(23775, X, Y, Z, 0, 18, 0)
pUnit:FullCastSpell(43118)
pUnit:FullCastSpell(43306)
pUnit:SetModel(22352)
pUnit:UnlearnSpell(44241)
pUnit:RegisterEvent("Mount_Up", 10000, 1)
end
function Mount_Up(pUnit, Event)
pUnit:SetModel(22351)
pUnit:FullCastSpell(44241)
pUnit:RegisterEvent("Unmount2", 20000, 1)
end
function Unmount2(pUnit,Event)
pUnit:FullCastSpell(43118)
pUnit:FullCastSpell(43306)
pUnit:SetModel(22352)
pUnit:UnlearnSpell(44241)
pUnit:RegisterEvent("Mount_Up", 10000, 1)
end
function Head_Alive_Check(pUnit, Event)
pUnit:GetUnitBySqlID(23775)
if pUnit:IsAlive() = false then
pUnit:FullCastSpell(7)
end
end
function _OnLeaveCombat(pUnit, Event)
pUnit:RemoveEvents()
end
function _OnDied(pUnit, Event)
pUnit:RemoveEvents()
pUnit:SendChatMessage(12, 0, "Dieses Ende ist mir schon bekannt, welch neues Abenteuer hat das Schicksal zur Hand?")
end
function Head_OnSpawn(pUnit, Event)
pUnit:FullCastSpell(44241)
pUnit:RegisterEvent("Invisible", 10000, 1)
end
function Invisible(pUnit, Event)
pUnit:UnLearnSpell(44241)
pUnit:FullCastSpell(52060)
pUnit:SetCombatCapable(0)
pUnit:SetFaction(35)
pUnit:RegisterEvent("Visible" 20000, 1)
end
function Visible(pUnit, Event)
pUnit:UnLearnSpell(52060)
pUnit:SetCombatCapable(1)
pUnit:SetFaction(18)
pUnit:FullCastSpell(44241)
pUnit:RegisterEvent("Invisible", 10000, 1)
end
function OnDied(pUnit, Event)
pUnit:RemoveEvents()
end
RegisterUnitEvent(23682, 1, "Horseman_EnterCombat")
RegisterUnitEvent(23682, 2, "_OnLeaveCombat")
RegisterUnitEvent(23682, 4, "_OnDied")
RegisterUnitEvent(23775, 4, "OnDied")
RegisterUnitEvent(23775, 6, "Head_OnSpawn")