MMOCoin

Likes Likes:  0
Results 1 to 10 of 22

Thread: [ICC] Rotface

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Banned

    Join Date
    Sep 2009
    Posts
    90
    Post Thanks / Like
    Rep Power
    0
    Reputation
    103

    [ICC] Rotface

    All credits goes to me.



    This script is made for the boss called RotFace.

    Code:
    -- >>Defines<<
    
    -- <<NPC's>>
    
    local Littleooze = nil
    local Bigooze = nil
    local Rotface = nil
    
    -- <<Spells>>
    
    local Oozeflood
    local Radiatingooze
    local Slimespray
    local Mutatedinfection
    local Unstableooze
    
    -- <<Bools>>
    
    local heroicmode = false
    local merged = false
    local merges = 0
    local Heroic = {}
    
    -- >>Functions<<
    
    function Rotface_OnCombat(pUnit, Event)
    	Rotface = pUnit
    	if (heroicmode == false) then
    		pUnit:RegisterEvent("ChooseMode", 500, 1)
    		else
    		pUnit:RegisterEvent("TheFightStarts", 600, 1)
    	end
    end
    
    function ChooseMode(pUnit, Event)
    	if (Heroic[id].RaidType == 1 ) then -- non heroic 10man
    		Oozeflood = 69789
    		Slimespray = 69508
    		Mutatedinfection = 69674
    		Radiatingooze = 69760
    		Unstableooze = 69839
    	elseif (Heroic[id].RaidType == 2) then -- non heroic 25man
    		Oozeflood = 71215
    		Slimespray = 69508
    		Mutatedinfection = 73022
    		Radiatingooze = 71212
    		Unstableooze = 73029
    	elseif (Heroic[id].RaidType == 3) then -- heroic 10man
    		Oozeflood = 71215
    		Slimespray = 69508
    		Mutatedinfection = 71224
    		Radiatingooze = 73026
    		Unstableooze = 73029
    	elseif (Heroic[id].RaidType == 4) then -- heroic 25man
    		Oozeflood = 71215
    		Slimespray = 69508
    		Mutatedinfection = 73023
    		Radiatingooze = 73072
    		Unstableooze = 73030
    	end
    	heroicmode = true
    	return Rotface_OnCombat
    end
    
    function TheFightStarts(pUnit, Event)
    	pUnit:RegisterEvent("Ooze_Flood", 8000, 1)
    	pUnit:RegisterEvent("SlimeSpray", 20000, 1)
    	pUnit:RegisterEvent("Mutated_Infection", 3000, 1)
    end
    
    function Ooze_Flood(pUnit, Event)
    	local ranx = math.random(6, 16)
    	local rany = math.random(6, 16)
    	local flood = flood + 1
    		if (flood == 1) then
    			pUnit:CastSpellAoF(ranx, rany, z, Oozeflood)
    		end
    		if (flood == 2) then
    			local x = ranx + 25
    			local y = rany + 25
    			pUnit:CastSpellAoF(x, y, z, Oozeflood)
    		end
    		if (flood == 3) then
    			local x = ranx - 25
    			local y = rany + 25
    			pUnit:CastSpellAoF(x, y, z, Oozeflood)
    		end
    		if (flood == 4) then
    			local x = ranx + 25
    			local y = rany - 25
    			pUnit:CastSpellAoF(x, y, z, Oozeflood)
    		end
    		if (flood == 5) then
    			local x = ranx - 25
    			local y = rany - 25
    			pUnit:CastSpellAoF(x, y, z, Oozeflood)
    			flood = 0
    		end
    	return TheFightStarts
    end
    
    function SlimeSpray(pUnit, Event)
    	pUnit:SendChatMessage(41, 0, "Rotface begins to cast Slime Spray!")
    	pUnit:FullCastSpellOnTarget(Slimespray, pUnit:GetRandomPlayer(0))
    	return TheFightStarts
    end
    
    function Mutated_Infection(pUnit, Event)
    	local playr = pUnit:GetRandomPlayer(0)
    	pUnit:FullCastSpellOnTarget(Mutatedinfection, playr)
    	pUnit:RegisterEvent("LittleOoze", 15000, 1)
    end
    
    function LittleOoze(pUnit, Event)
    	local playr = pUnit:GetRandomPlayer(0)
    	local x = playr:GetX()
    	local y = playr:GetY()
    	local z = playr:GetZ()
    	pUnit:SpawnCreature(36897, x, y, z, 21, 0)
    end
    
    function LittleOoze_OnCombat(pUnit, Event)
    	pUnit = Littleooze
    	local npc = pUnit:GetCreatureNearestCoords(x, y, z, 36897)
    		if (merged == false) then
    			if (npc == nil) then
    				if Littleooze:GetDistance(npc) < 5 then
    				npc:FullCastSpell(69889)
    			end
    		end
    	end
    	pUnit:RegisterEvent("Sticky_Ooze", 7000, 0)
    	pUnit:RegisterEvent("Radiating_Ooze", 11000, 0)
    end
    
    function Sticky_Ooze(pUnit, Event)
    	pUnit:FullCastSpellOnTarget(69774, pUnit:GetRandomPlayer(0))
    end
    
    function Radiating_Ooze(pUnit, Event)
    	pUnit:FullCastSpell(69750)
    end
    
    function BigOoze_OnCombat(pUnit, Event)
    	local npc = pUnit:GetCreatureNearestCoords(x, y, z, 36897)
    	if npc == nil then
    	else
    		if pUnit:GetDistance(npc) < 5 then
    			merges = merges + 1
    			npc:Despawn(1, 0)
    			pUnit:FullCastSpell(69558)
    		end
    		if (merges > 4) then
    			pUnit:RegisterEvent("BigOoze_ExpoMode", 1000, 0)
    		end
    	end
    end
    
    function BigOoze_ExpoMode(pUnit, Event)
    	pUnit:Root()
    	pUnit:FullCastSpell(Unstableooze)
    	pUnit:FullCastSpell(5)
    end
    
    -- >>Registering Events<<
    
    RegisterUnitEvent(36627, 1, "Rotface_OnCombat")
    RegisterUnitEvent(36897, 1, "LittleOoze_OnCombat")
    RegisterUnitEvent(36899, 1, "BigOoze_OnCombat")
    Last edited by P1raten; 10-02-10 at 12:46 PM.



  2. Related Threads - Scroll Down after related threads if you are only interested to view replies for above post/thread

 

 

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •