open [main] infinite open call "StartScript". close close open [StartScript] ;Declare all variables var mh_Noitome "" mh_AOEer "" mh_NPC "" mh_Gate "" s_Noitome "Noitome" s_AOEer "NoitomeInvisible" s_Gate "MapLinkGate" s_Pey "Noitome_Pey" s_Maria "Noitome_Maria" s_Remi "Noitome_Raemi" s_Ruby "Noitome_Rubi" s_Adrien "Noitome_Adrien" s_Pooring "Noitome_Pooring" s_Shutian "Noitome_CaptainShutian" s_R_Pey "RouItemMctPey" s_R_Maria "RouGaianMaria" s_R_Pooring "UruSoulPooring" s_R_Remi "RouRookieGuideRaemi" s_R_Adrien "UruTownChiefAdrien" s_R_Ruby "RouSkillRubi" s_R_Shutian "EldGuardCaptainShutian" s_AOEerStunAbstate "StaImmortal" s_NoitomeStunAbstate "StaImmortal" s_HealAnimation "EKQ_MD_BuffSkil1_1" s_AOEAnimation "NoitomeWide" s_OutSpawnMap "UrgSwa01" s_NextNPCSpawn "0" a_NextNPCSpawnArea "" a_NoitomeSpawnInfo "1594 1598 180" a_AOEerSpawnInfo "1593 1598 0" a_NPCSpawnArea_1 "2013 2600 0" a_NPCSpawnArea_2 "1055 2532 0" a_NPCSpawnArea_3 "509 1600 270" a_NPCSpawnArea_4 "911 745 190" a_NPCSpawnArea_5 "2092 635 170" a_NPCSpawnArea_6 "2680 1586 90" a_ShutianSpawnArea "1599 2677 0" a_GateSpawnArea "1593 3038 0" a_GateSpawnArea2 "1593 3038 0" a_OutSpawnAreaX "22002" a_OutSpawnAreaY "21303" a_R_PeySpawnArea "1691 1243 180" a_R_MariaSpawnArea "1784 1286 180" a_R_PooringSpawnArea "1869 1340 180" a_R_RemiSpawnArea "1394 1269 180" a_R_AdrienSpawnArea "1317 1334 180" a_R_RubySpawnArea "1227 1387 180" a_R_ShutianSpawnArea "1593 1231 180" InterruptBlock "" InterruptArg "" o_AOEEffect "" o_HealEffect "" i_ToHealNoitome 0 i_Spawned_Pey 0 i_Spawned_Maria 0 i_Spawned_Remi 0 i_Spawned_Ruby 0 i_Spawned_Adrien 0 i_Spawned_Pooring 0 i_Spawned_Shutian 0 i_RandomNumber 0 i_BattleState 0 i_EndOnDeath 0 i_TimeToFindNPC 17. ;Define dialog file scriptfile "Noitome". ; call "SpawnGate". pause Sec 10. chatwin "EldGuardCaptainShutian" "EldGuardCaptainShutianStart01". pause sec 3. chatwin "EldGuardCaptainShutian" "EldGuardCaptainShutianStart01". pause sec 3. chatwin "EldGuardCaptainShutian" "EldGuardCaptainShutianStart03". pause sec 3. chatwin "EldGuardCaptainShutian" "EldGuardCaptainShutianStart04". pause sec 1. ;Call block for spawning Noitome call "SpawnNoitome". call "SpawnAOEer". npcshout mh_Noitome "NoitomeStart01". pause sec 1. npcshout mh_Noitome "NoitomeStart02". pause sec 1. i_BattleState = 1. i_EndOnDeath = 0. i_Spawned_Pey = 0. i_Spawned_Maria = 0. i_Spawned_Remi = 0. i_Spawned_Ruby = 0. i_Spawned_Adrien = 0. i_Spawned_Pooring = 0. i_Spawned_Shutian = 0. interruptclear. interruptset DeadHandle "" 1 mh_Noitome "EndInstance". interruptset PlayerDead "" 1 "AddToHealTotal". interruptset HPLow "" 1 mh_Noitome 800 "BeginNPCEmotionSub". interruptset HPLow "" 1 mh_Noitome 700 "BeginNPCEmotionSub". interruptset HPLow "" 1 mh_Noitome 600 "BeginNPCEmotionSub". interruptset HPLow "" 1 mh_Noitome 500 "BeginNPCEmotionSpecialSub". interruptset HPLow "" 1 mh_Noitome 400 "BeginNPCEmotionSub". interruptset HPLow "" 1 mh_Noitome 300 "BeginNPCEmotionSub". interruptset HPLow "" 1 mh_Noitome 200 "BeginNPCEmotionSub". ;interruptset TargetChange "" 1 mh_Noitome "ViewEnemy". ; interruptset NPCClickHandle "" 999999 mh_Gate "ReturnToGate". interruptset admin "" 1 "". infinite open waitinterrupt InterruptBlock "InterruptArg". call InterruptBlock. close close ;open [ViewEnemy] ;CHANGE TO RANDOM CHANCE OF TAUNTING ;npcshout mh_Noitome "I AM COMING FOR YOUR ASS !". ;broadcast all "I AM COMING FOR YOUR ASS " % @CharName(InterruptArg) % "!". ;interruptset TargetChange "" 1 mh_Noitome "ViewEnemy". ;close ;For each player that died, heal Noi. open [AddToHealTotal] printf "PlayerDead::BattleState::" % i_BattleState. if i_BattleState == 2 then open i_ToHealNoitome = i_ToHealNoitome + 1000. close printf "PlayerDead::EndOnDeath::" % i_EndOnDeath. ; if i_EndOnDeath == 1 ; then open ; printf "CALL SHUTAIN FAIL". ; call "ShutainFail". ; close interruptset PlayerDead "" 1 "AddToHealTotal". close ;AOEMob unstuned to do 1 Hit KO AOE Skill to players without shield open [DoAOE] teleport SomeWhere mh_NPC 1 1. vanish mh_NPC. effectobj o_AOEEffect mh_AOEer s_AOEAnimation 20000 1000. pause millisec 20. abstatereset mh_AOEer s_AOEerStunAbstate. pause sec 1. abstateset mh_AOEer s_AOEerStunAbstate 1 4200000000. close ;Spawn Noitome open [SpawnNoitome] var CoordX @RemoveFirst("a_NoitomeSpawnInfo" " ") CoordY @RemoveFirst("a_NoitomeSpawnInfo" " ") CoordZ @RemoveFirst("a_NoitomeSpawnInfo" " "). mobregen mh_Noitome s_Noitome CoordX CoordY CoordZ 1000 "Normal". close ;Spawn Gate open [SpawnGate] var CoordX @RemoveFirst("a_GateSpawnArea" " ") CoordY @RemoveFirst("a_GateSpawnArea" " ") CoordZ @RemoveFirst("a_GateSpawnArea" " "). mobregen mh_Gate s_Gate CoordX CoordY CoordZ 1000 "Normal". close ;Spawn AOEer open [SpawnAOEer] var CoordX @RemoveFirst("a_AOEerSpawnInfo" " ") CoordY @RemoveFirst("a_AOEerSpawnInfo" " ") CoordZ @RemoveFirst("a_AOEerSpawnInfo" " "). mobregen mh_AOEer s_AOEer CoordX CoordY CoordZ 1000 "Normal". abstateset mh_AOEer s_AOEerStunAbstate 1 420000000000000000. close ;Set Noitome stun state during player scatter ;Do NPC Chat? Idk, does a seperate block matter? open [PauseNoitomeBattle] abstateset mh_Noitome s_NoitomeStunAbstate 1 42000000000. close open [DoNoitomeHeal] if i_ToHealNoitome != 0 then open effectobj o_HealEffect mh_Noitome s_HealAnimation 20000 1000. heal mh_Noitome i_ToHealNoitome. i_ToHealNoitome = 0. close close open [ResumeNoitomeBattle] abstatereset mh_Noitome s_NoitomeStunAbstate. close open [BeginNPCEmotionSub] ;maplight 25 25 112. ;mapfog 100 1400. i_EndOnDeath = 0. call "PickNextNPCSpawn". call "PickNextNPCSpawnArea". printf "NEXT SPAWN [" % s_NextNPCSpawn % "] [ " % a_NextNPCSpawnArea % " ]". npcshout mh_Noitome "Noitome01". call "PauseNoitomeBattle". i_BattleState = 2. npcstand mh_NPC s_NextNPCSpawn @RemoveFirst("a_NextNPCSpawnArea" " ") @RemoveFirst("a_NextNPCSpawnArea" " ") @RemoveFirst("a_NextNPCSpawnArea" " ") 1000 "Normal". chatwin "" % s_NextNPCSpawn % "" s_NextNPCSpawn. npcshout mh_NPC s_NextNPCSpawn. timelimit sec i_TimeToFindNPC. pause sec i_TimeToFindNPC. call "DoAOE". call "DoNoitomeHeal". i_BattleState = 1. call "ResumeNoitomeBattle". close open [BeginNPCEmotionSpecialSub] i_EndOnDeath = 1. call "PauseNoitomeBattle". npcshout mh_Noitome "Noitome02". npcstand mh_NPC s_Shutian @RemoveFirst("a_ShutianSpawnArea" " ") @RemoveFirst("a_ShutianSpawnArea" " ") @RemoveFirst("a_ShutianSpawnArea" " ") 1000 "Normal". chatwin "EldGuardCaptainShutian" "Noitome_CaptainShutian01". npcshout mh_NPC "Noitome_CaptainShutian01". timelimit sec i_TimeToFindNPC. pause sec i_TimeToFindNPC. call "DoAOE". call "DoNoitomeHeal". pause sec 3. i_EndOnDeath = 0. call "ResumeNoitomeBattle". i_EndOnDeath = 0. close open [PickNextNPCSpawnArea] ;i_RandomNumber = @Random(1 6). if i_RandomNumber == 1 then open a_NextNPCSpawnArea = a_NPCSpawnArea_1. close if i_RandomNumber == 2 then open a_NextNPCSpawnArea = a_NPCSpawnArea_2. close if i_RandomNumber == 3 then open a_NextNPCSpawnArea = a_NPCSpawnArea_3. close if i_RandomNumber == 4 then open a_NextNPCSpawnArea = a_NPCSpawnArea_4. close if i_RandomNumber == 5 then open a_NextNPCSpawnArea = a_NPCSpawnArea_5. close if i_RandomNumber == 6 then open a_NextNPCSpawnArea = a_NPCSpawnArea_6. close close open [PickNextNPCSpawn] s_NextNPCSpawn = "0". while s_NextNPCSpawn === "0" open i_RandomNumber = @Random(1 6). printf i_RandomNumber. if i_RandomNumber == 1 then open if i_Spawned_Pey == 0 then open i_Spawned_Pey = 1. s_NextNPCSpawn = s_Pey. ;printf "Set next NPC to: " % s_NextNPCSpawn. close close if i_RandomNumber == 2 then open if i_Spawned_Maria == 0 then open i_Spawned_Maria = 1. s_NextNPCSpawn = s_Maria. ;printf "Set next NPC to: " % s_NextNPCSpawn. close close if i_RandomNumber == 3 then open if i_Spawned_Remi == 0 then open i_Spawned_Remi = 1. s_NextNPCSpawn = s_Remi. ;printf "Set next NPC to: " % s_NextNPCSpawn. close close if i_RandomNumber == 4 then open if i_Spawned_Ruby == 0 then open i_Spawned_Ruby = 1. s_NextNPCSpawn = s_Ruby. ;printf "Set next NPC to: " % s_NextNPCSpawn. close close if i_RandomNumber == 5 then open if i_Spawned_Adrien == 0 then open i_Spawned_Adrien = 1. s_NextNPCSpawn = s_Adrien. ;printf "Set next NPC to: " % s_NextNPCSpawn. close close if i_RandomNumber == 6 then open if i_Spawned_Pooring == 0 then open i_Spawned_Pooring = 1. s_NextNPCSpawn = s_Pooring. ;printf "Set next NPC to: " % s_NextNPCSpawn. close close close close open [EndInstance] npcshout mh_Noitome "NoitomeDead01". vanish mh_AOEer. ; questresult Suc. ;call "SpawnGate". var mh_NPC1 "" mh_NPC2 "" mh_NPC3 "" mh_NPC4 "" mh_NPC5 "" mh_NPC6 "" mh_NPC7 "". npcstand mh_NPC1 s_R_Shutian @RemoveFirst("a_R_ShutianSpawnArea" " ") @RemoveFirst("a_R_ShutianSpawnArea" " ") @RemoveFirst("a_R_ShutianSpawnArea" " ") 1000 "Normal". npcstand mh_NPC2 s_R_Pey @RemoveFirst("a_R_PeySpawnArea" " ") @RemoveFirst("a_R_PeySpawnArea" " ") @RemoveFirst("a_R_PeySpawnArea" " ") 1000 "Normal". npcstand mh_NPC3 s_R_Maria @RemoveFirst("a_R_MariaSpawnArea" " ") @RemoveFirst("a_R_MariaSpawnArea" " ") @RemoveFirst("a_R_MariaSpawnArea" " ") 1000 "Normal". npcstand mh_NPC4 s_R_Pooring @RemoveFirst("a_R_PooringSpawnArea" " ") @RemoveFirst("a_R_PooringSpawnArea" " ") @RemoveFirst("a_R_PooringSpawnArea" " ") 1000 "Normal". npcstand mh_NPC5 s_R_Remi @RemoveFirst("a_R_RemiSpawnArea" " ") @RemoveFirst("a_R_RemiSpawnArea" " ") @RemoveFirst("a_R_RemiSpawnArea" " ") 1000 "Normal". npcstand mh_NPC6 s_R_Adrien @RemoveFirst("a_R_AdrienSpawnArea" " ") @RemoveFirst("a_R_AdrienSpawnArea" " ") @RemoveFirst("a_R_AdrienSpawnArea" " ") 1000 "Normal". npcstand mh_NPC7 s_R_Ruby @RemoveFirst("a_R_RubySpawnArea" " ") @RemoveFirst("a_R_RubySpawnArea" " ") @RemoveFirst("a_R_RubySpawnArea" " ") 1000 "Normal". ; npcstand mh_NPC s_R_Shutian @RemoveFirst("a_R_ShutianSpawnArea" " ") @RemoveFirst("a_R_ShutianSpawnArea" " ") @RemoveFirst("a_R_ShutianSpawnArea" " ") 1000 "Normal". ; npcstand mh_NPC s_R_Pey @RemoveFirst("a_R_PeySpawnArea" " ") @RemoveFirst("a_R_PeySpawnArea" " ") @RemoveFirst("a_R_PeySpawnArea" " ") 1000 "Normal". ; npcstand mh_NPC s_R_Maria @RemoveFirst("a_R_MariaSpawnArea" " ") @RemoveFirst("a_R_MariaSpawnArea" " ") @RemoveFirst("a_R_MariaSpawnArea" " ") 1000 "Normal". ; npcstand mh_NPC s_R_Pooring @RemoveFirst("a_R_PooringSpawnArea" " ") @RemoveFirst("a_R_PooringSpawnArea" " ") @RemoveFirst("a_R_PooringSpawnArea" " ") 1000 "Normal". ; npcstand mh_NPC s_R_Remi @RemoveFirst("a_R_RemiSpawnArea" " ") @RemoveFirst("a_R_RemiSpawnArea" " ") @RemoveFirst("a_R_RemiSpawnArea" " ") 1000 "Normal". ; npcstand mh_NPC s_R_Adrien @RemoveFirst("a_R_AdrienSpawnArea" " ") @RemoveFirst("a_R_AdrienSpawnArea" " ") @RemoveFirst("a_R_AdrienSpawnArea" " ") 1000 "Normal". ; npcstand mh_NPC s_R_Ruby @RemoveFirst("a_R_RubySpawnArea" " ") @RemoveFirst("a_R_RubySpawnArea" " ") @RemoveFirst("a_R_RubySpawnArea" " ") 1000 "Normal". chatwin "EldGuardCaptainShutian" "EldGuardCaptainShutian". pause sec 2. chatwin "RouItemMctPey" "RouItemMctPey". pause sec 2. chatwin "RouGaianMaria" "RouGaianMaria". pause sec 2. chatwin "UruSoulPooring" "UruSoulPooring". pause sec 2. chatwin "RouRookieGuideRaemi" "RouRookieGuideRaemi". pause sec 2. chatwin "UruTownChiefAdrien" "UruTownChiefAdrien". pause sec 2. chatwin "RouSkillRubi" "RouSkillRubi". scriptfile "". broadcast all "Warping back to SoD in 15 seconds.". pause sec 10. broadcast all "Warping back to SoD in 5 seconds.". pause sec 5. linkto all s_OutSpawnMap s_OutSpawnMap a_OutSpawnAreaX a_OutSpawnAreaY. ; vanish all. vanish mh_NPC1. vanish mh_NPC2. vanish mh_NPC3. vanish mh_NPC4. vanish mh_NPC5. vanish mh_NPC6. vanish mh_NPC7. ; call "KillInstance". call "RestartRaid". close ; I think this needs to be changed to restart the raid instead of restarting instance. ; open [KillInstance] ; ; var CoordX @RemoveFirst("a_GateSpawnArea2" " ") ; CoordY @RemoveFirst("a_GateSpawnArea2" " ") ; CoordZ @RemoveFirst("a_GateSpawnArea2" " "). ; interruptclear. ; mobregen mh_Gate2 s_Gate CoordX CoordY CoordZ 1000 "Normal". ; interruptset NPCClickHandle "" 999999 mh_Gate2 "ReturnToGateEnd". ; infinite ; open ; waitinterrupt InterruptBlock "InterruptArg". ; call InterruptBlock. ; close ; ; close ; #this is currently a raid so doesn't have a fail portion. ; open [ShutainFail] ; npcshout mh_Noitome "NoitomeWin01". ; teleport SomeWhere mh_Noitome 1 1. ; vanish all. ; questresult Fail. ; broadcast all "Warping back to SoD in 5 seconds.". ; pause sec 5. ; linkto all s_OutSpawnMap s_OutSpawnMap a_OutSpawnAreaX a_OutSpawnAreaY. ; call "KillInstance". ; close open[ReturnToGate] var mclicker 0. whoclickme mclicker InterruptArg. linkto mclicker s_OutSpawnMap s_OutSpawnMap a_OutSpawnAreaX a_OutSpawnAreaY. interruptset NPCClickHandle "" 999999 mh_Gate "ReturnToGate". close open[ReturnToGateEnd] var mclicker 0. whoclickme mclicker InterruptArg. linkto mclicker s_OutSpawnMap s_OutSpawnMap a_OutSpawnAreaX a_OutSpawnAreaY. interruptset NPCClickHandle "" 999999 mh_Gate2 "ReturnToGateEnd". close open [RestartRaid] pause sec 2. ; vanish mh_NPC. interruptclear. ; var CoordX @RemoveFirst("a_GateSpawnArea2" " ") ; CoordY @RemoveFirst("a_GateSpawnArea2" " ") ; CoordZ @RemoveFirst("a_GateSpawnArea2" " "). ; interruptclear. ; mobregen mh_Gate2 s_Gate CoordX CoordY CoordZ 1000 "Normal". ; interruptset NPCClickHandle "" 999999 mh_Gate2 "ReturnToGateEnd". pause Minute 2. ; timelimit Min 2. ; var WaitMinutes 0. ; while WaitMinutes < 2 ; open ; var num 0. ; while num < 10 ; open ; pause sec 6. ; num = num + 1. ; close ; WaitMinutes = WaitMinutes + 1. ; close ; vanish mh_Gate2. break "StartScript". close ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; open [Default] broadcast all "Block not exist" InterruptArg. interruptset admin "" 1 "". close open [Check] npcshout mh_Noitome "Hello". broadcast all "Script in running" InterruptArg. interruptset admin "" 1 "". close open [DoNoiHeal] heal mh_Noitome 1000. interruptset admin "" 1 "". close