1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296 |
- //===== rAthena Script =======================================
- //= Temple of Demon God
- //===== Description: =========================================
- //= [Official Conversion]
- //= Temple of Demon God Instance (part of episode 14.3)
- //===== Changelogs: ==========================================
- //= 1.0 First version. [Capuche]
- //============================================================
- moro_cav,41,73,4 script Guardian Nidhogg#epeom01 4_F_NYDHOG,{
- if (checkquest(7605,PLAYTIME) == 2)
- erasequest 7605;
- if (getcharid(1) < 1) {
- mes "[Nidhogg]";
- mes "This place is too dangerous for you to explore alone.";
- mes "Please form a party and come with your comrades.";
- cutin "ep14_nyd01.bmp",2;
- close3;
- }
- if (is_party_leader() == false) {
- mes "[Nidhogg]";
- mes "Only party leaders can control access to the Temple of the Demon God.";
- mes "It's to ensure the safety of the entire Expedition. Please let your leader talk to me instead.";
- cutin "ep14_nyd01.bmp",2;
- close3;
- }
- switch( checkquest(7593,HUNTING) ) {
- case -1:
- mes "[Nidhogg]";
- mes "I'm sorry, but you can't enter this place without approval from the Commander.";
- mes "You must be on the quest to subjugate the Demon God to enter this place.";
- cutin "ep14_nyd01.bmp",2;
- next;
- mes "[Nidhogg]";
- mes "Please go to Commander Hiva Agip and receive the Demon God Subjugation quest.";
- close3;
- case 0:
- case 1:
- mes "[Nidhogg]";
- mes "I've been waiting for you, hero-in-waiting. ";
- mes "Let me guide you to the depth of the temple where Morroc lies in wait.";
- cutin "ep14_nyd03.bmp",2;
- next;
- mes "[Nidhogg]";
- mes "This tree is the spitting image of Yggdrasil.";
- mes "I just hope Morroc is not intent on what I fear most.";
- mes "Through this tree the door is opened.";
- next;
- mes "[Nidhogg]";
- mes "I can sense that";
- mes "this tree is generating mana at certain intervals as if it's breathing.";
- mes "I'm going to catch a moment between its breaths to open up a path for you. Are you ready?";
- cutin "ep14_nyd04.bmp",2;
- next;
- if (select( "Enter now.", "Do not enter." ) == 2) {
- mes "[Nidhogg]";
- mes "Okay.";
- mes "I understand if you need time.";
- mes "Take your time. I can wait as long as you want me to.";
- cutin "ep14_nyd04.bmp",2;
- close3;
- }
- if (instance_create("Temple of the Demon God") < 1) { // todo, custom text
- mes "Party Name: " + getpartyname(.@party_id);
- mes "Party Leader: " + strcharinfo(0);
- mes "^0000ff" + .@md_name$ + " ^000000 - Reservation Failed.";
- close;
- }
- if (isbegin_quest(7596) == 1)
- erasequest 7596;
- mes "[Nidhogg]";
- mes "Just wait a while, and the entrance will open.";
- mes "Enter through the tree.";
- mes "Don't be scared, even though it's not an ordinary tree.";
- cutin "ep14_nyd04.bmp",2;
- close3;
- case 2: // todo, custom text
- mes "[Nidhogg]";
- mes "You have eliminated the God of Despair!?";
- mes "I can only say that his ambition was too big...";
- mes "Always talk about creating a new world and becoming a god...";
- cutin "ep14_nyd03.bmp",2;
- next;
- mes "[Nidhogg]";
- mes "But seriously, he didn't create anything at all!";
- mes "Abandon the body that used to be a demon, and the appearance after rebirth is just imitating the god...";
- next;
- mes "[Nidhogg]";
- mes "The result is just what a human looks like,";
- mes "He can't escape the so-called god frame,";
- mes "...you can only say that you are eating bad luck!";
- cutin "ep14_nyd02.bmp",2;
- next;
- cutin "ep14_nyd04.bmp",2;
- mes "[Nidhogg]";
- mes "I will give you approval for the quest, and you can report to the commander.";
- mes "Thank you!";
- setquest 7597;
- erasequest 7593;
- for ( .@quest = 7601; .@quest < 7605; .@quest++ ) {
- if (isbegin_quest(.@quest))
- erasequest .@quest;
- }
- if (isbegin_quest(7596))
- erasequest 7596;
- close3;
- }
- }
- moro_cav,45,75,0 script Yggdrasil Lookalike#eom_gate CLEAR_NPC,{
- switch( checkquest(7593,HUNTING) ) {
- case -1:
- mes "[Nidhogg]";
- mes "I'm sorry, but you can't enter this place without approval from the Commander.";
- mes "You must be on the quest to subjugate the Demon God to enter this place.";
- cutin "ep14_nyd01.bmp",2;
- next;
- mes "[Nidhogg]";
- mes "Please go to Commander Hiva Agip and receive the 'Demon God Subjugation' quest.";
- close3;
- case 0:
- case 1:
- mes "You touched the tree and felt a strange flow of mana.";
- mes "Perhaps the flow of mana will guide you to the depth of the temple.";
- next;
- if (select( "Enter.", "Quit." ) == 2) {
- mes "[Nidhogg]";
- mes "Okay.";
- mes "I understand if you need time.";
- mes "Take your time. I can wait as long as you want me to.";
- cutin "ep14_nyd04.bmp",2;
- close3;
- }
- switch( instance_enter("Temple of the Demon God") ) {
- case IE_NOMEMBER:
- mes "[Nidhogg]";
- mes "This place is too dangerous for you to explore alone.";
- mes "Please form a party and come with your comrades.";
- cutin "ep14_nyd01.bmp",2;
- close3;
- case IE_NOINSTANCE:
- mes "[Nidhogg]";
- mes "No entry permission has been issued under the name of your party.";
- mes "Please let your party leader submit an entry request, and I'll open the gate to the temple.";
- cutin "ep14_nyd01.bmp",2;
- next;
- mes "[Nidhogg]";
- mes "You are to comply with the rules set by the Expedition.";
- mes "It's for everyone's safety.";
- close3;
- case IE_OTHER: // todo, custom text
- mes "[Nidhogg]";
- mes "Um...how could this happen... the flow of magic power becomes unstable,";
- mes "It hurts my brain, this is the gap I finally made...";
- mes "may not be able to enter at the moment...";
- cutin "ep14_nyd01.bmp",2;
- close3;
- case IE_OK:
- mapannounce "moro_cav", "" + strcharinfo(0) + " of the party " + getpartyname( getcharid(1) ) + ", is entering Temple of the Demon God.",bc_map;
- // warp "1@eom",101,16;
- end;
- }
- case 2: // todo, custom text
- mes "[Nidhogg]";
- mes "You have eliminated the God of Despair!?";
- mes "I can only say that his ambition was too big...";
- mes "Always talk about creating a new world and becoming a god...";
- cutin "ep14_nyd01.bmp",2;
- next;
- mes "[Nidhogg]";
- mes "But seriously, he didn't create anything at all!";
- mes "Abandon the body that used to be a demon, and the appearance after rebirth is just imitating the god...";
- cutin "ep14_nyd02.bmp",2;
- next;
- mes "[Nidhogg]";
- mes "The result is just what a human looks like,";
- mes "He can't escape the so-called god frame,";
- mes "...you can only say that you are eating bad luck!";
- cutin "ep14_nyd03.bmp",2;
- next;
- cutin "ep14_nyd04.bmp",2;
- mes "[Nidhogg]";
- mes "I will give you approval for the quest, and you can report to the commander.";
- mes "Thank you!";
- setquest 7597;
- erasequest 7593;
- for ( .@quest = 7601; .@quest < 7605; .@quest++ ) {
- if (isbegin_quest(.@quest))
- erasequest .@quest;
- }
- if (isbegin_quest(7596))
- erasequest 7596;
- close3;
- }
- }
- 1@eom,1,1,0 script #demon_god_variables -1,{
- end;
- OnVariableReset:
- 'boss_id = 0;
- 'boss_hp = 0;
- 'bossx = 'bossy = 0;
- 'boss_phase = 0;
- 'icestunami = false;
- 'spawn = false;
- 'miniboss_id[0] = 'miniboss_id[1] = 0;
- 'combo_is_allowed = false;
- 'flowing_lava_deactivate[0] = 'flowing_lava_deactivate[1] = false;
- end;
- OnMyMobDead:
- if (!playerattached()) // shouldn't happen
- end;
- .@mob_id = killedrid;
- sleep 5000;
- monster 'map_eom$,0,0,"--ja--", .@mob_id,1, instance_npcname("#demon_god_variables") + "::OnMyMobDead";
- end;
- OnInstanceInit:
- donpcevent instance_npcname("#demon_god_variables") + "::OnVariableReset";
- 'map_eom$ = instance_mapname("1@eom");
- 'step = 0;
- 'inject_soul = 0;
- // Entrance
- disablenpc instance_npcname("#door_mobmaster");
- disablenpc instance_npcname("Empty Soul Globe#ahat01");
- disablenpc instance_npcname("Empty Soul Globe#shnaim01");
- disablenpc instance_npcname("Filled Soul Globe#ahat02");
- disablenpc instance_npcname("Filled Soul Globe#shnaim02");
- disablenpc instance_npcname("#gate_to_center");
- // Center to Ice
- disablenpc instance_npcname("Strange Boy#mockid01");
- disablenpc instance_npcname("#gate_to_ice");
- disablenpc instance_npcname("Loki#eomloki01");
- disablenpc instance_npcname("Nidhogg#eomnyd01");
- disablenpc instance_npcname("Brinaranea#brinpc01");
- disablenpc instance_npcname("#ice_hpcheck");
- disablenpc instance_npcname("Nidhogg#eomnyd02");
- disablenpc instance_npcname("#ice_to_center");
- // Center to Fire
- disablenpc instance_npcname("Morroc#mockid02");
- disablenpc instance_npcname("#gate_to_fire");
- disablenpc instance_npcname("#fire_event01");
- disablenpc instance_npcname("#skollmaster");
- disablenpc instance_npcname("#loco_call");
- disablenpc instance_npcname("#fire_combo");
- disablenpc instance_npcname("Flowing Lava#lavapond01");
- disablenpc instance_npcname("Flowing Lava#lavapond02");
- disablenpc instance_npcname("Hardened Lava#lavaseal01");
- disablenpc instance_npcname("Hardened Lava#lavaseal02");
- disablenpc instance_npcname("#lavazone11");
- disablenpc instance_npcname("#lavazone12");
- disablenpc instance_npcname("#lavazone21");
- disablenpc instance_npcname("#lavazone22");
- disablenpc instance_npcname("Nidhogg#eomnyd03");
- disablenpc instance_npcname("#fire_to_center");
- // Center to Last
- disablenpc instance_npcname("#gate_to_last");
- disablenpc instance_npcname("Strange Young Man#mocadt01");
- disablenpc instance_npcname("#moc_master");
- disablenpc instance_npcname("#despair_god_main");
- disablenpc instance_npcname("#mk_hpcheck");
- disablenpc instance_npcname("#moc_origin");
- disablenpc instance_npcname("#morocc_god");
- disablenpc instance_npcname("#despair_main");
- disablenpc instance_npcname("Nidhogg#eomnyd04");
- // mimic permanent spawn
- .@event$ = instance_npcname("#demon_god_variables") + "::OnMyMobDead";
- monster 'map_eom$,0,0,"--ja--", 3101,3, .@event$; // MM_MANA_WHITE
- monster 'map_eom$,0,0,"--ja--", 3102,3, .@event$; // MM_MANA_RED
- monster 'map_eom$,0,0,"--ja--", 3103,3, .@event$; // MM_MANA_YELLOW
- end;
- }
- 1@eom,101,43,3 script Demon God's Apostle Aha#ahat 4_HUMAN_GERUTOO,{
- cutin "ep13_ahat_" + (Sex ? "f" : "m") + ".bmp",2; // note: cutin f for male, m for female
- // if (is_party_leader() == false || checkquest(7593,HUNTING) != 1 || isbegin_quest(7596) != 0) { // quest to 'var for reload
- if (is_party_leader() == false || checkquest(7593,HUNTING) != 1 || 'step != 0) {
- mes "[Ahat]";
- mes "Welcome";
- mes "to the Temple of the Demon God.";
- mes "It's my honor to be your host today.";
- close3;
- }
- .@ahat$ = instance_npcname("Demon God's Apostle Aha#ahat");
- mes "[Ahat]";
- mes "So, you've come.";
- mes "Gosh, you're so persistent.";
- mes "Hah hah, are you surprised to see me here?";
- npctalk "Ahat: So, you've come.", .@ahat$;
- next;
- mes "[Ahat]";
- mes "Didn't you expect this at all?";
- mes "Why don't I introduce myself officially?";
- mes "I'm Ahat, the first servant of the Demon God.";
- npctalk "Ahat: Why don't I introduce myself officially? I'm Ahat, the first servant of the Demon God.", .@ahat$;
- next;
- mes "[Ahat]";
- mes "Well, well, maybe I forfeit my life today.";
- mes "Don't look at me like that. Everything is as planned.";
- npctalk "Ahat: Well, well, maybe I forfeit my life today. Don't look at me like that. Everything is as planned.", .@ahat$;
- next;
- mes "[Ahat]";
- mes "My master wishes for Shnaim and I to put you to the test.";
- mes "To see if you deserve to be our guests.";
- npctalk "Ahat: My master wishes for Shnaim and I to put you to the test. To see if you deserve to be our guests.", .@ahat$;
- next;
- mes "[Ahat]";
- mes "If you think you've come this far on your own,";
- mes "you're mistaken.";
- npctalk "Ahat: If you think you've come this far on your own, you're mistaken.", .@ahat$;
- next;
- mes "[Ahat]";
- mes "Everything is as the Master has planned.";
- mes "For now, let's see if you can open this door.";
- npctalk "Ahat: Everything is as the Master has planned. For now, let's see if you can open this door.", .@ahat$;
- if (isbegin_quest(7596) == 0)
- setquest 7596;
- if ('step != 0)
- close3;
- 'step = 1;
- close2;
- cutin "",255;
- setpcblock PCBLOCK_NPC, true;
- sleep2 1000;
- setpcblock PCBLOCK_NPC, false;
- disablenpc .@ahat$;
- warpparty 'map_eom$,101,16,getcharid(1),'map_eom$,2,2;
- donpcevent instance_npcname("#door_mobmaster") + "::OnStart";
- end;
- }
- 1@eom,1,1,0 script #door_mobmaster CLEAR_NPC,{
- end;
- OnStart:
- 'apostle = 10;
- enablenpc instance_npcname("#door_mobmaster");
- .@label$ = instance_npcname("#door_mobmaster") + "::OnMyMobDead";
- monster 'map_eom$,102,30, "Demon God's Apostle Ahat",3105,1, .@label$; // MM_GB_MOROCC_1
- setunitdata $@mobid[0], UMOB_HP, 5000000;
- monster 'map_eom$, 98,30, "Demon God Fragment",1918,1, .@label$;
- monster 'map_eom$,100,30, "Demon God Fragment",1918,1, .@label$;
- monster 'map_eom$,104,30, "Demon God Fragment",1918,1, .@label$;
- monster 'map_eom$,106,30, "Demon God Fragment",1918,1, .@label$;
- sleep 2000;
- mapannounce 'map_eom$, "Eliminate the Demon God's Apostles, Ahat and Shnaim, and collect their souls.", bc_map, 0x00ff00;
- monster 'map_eom$,102,40, "Demon God's Apostle Shnaim",3106,1, .@label$; // MM_GB_MOROCC_4
- setunitdata $@mobid[0], UMOB_HP, 5000000;
- monster 'map_eom$, 98,40, "Demon God Fragment",1921,1, .@label$;
- monster 'map_eom$,100,40, "Demon God Fragment",1921,1, .@label$;
- monster 'map_eom$,104,40, "Demon God Fragment",1921,1, .@label$;
- monster 'map_eom$,106,40, "Demon God Fragment",1921,1, .@label$;
- sleep 3000;
- mapannounce 'map_eom$, "The Apostles' souls are the key to opening the Temple of the Demon God.", bc_map, 0x00ff00;
- end;
- OnMyMobDead:
- 'apostle -= 1;
- if ('apostle == 0) {
- 'step = 2;
- disablenpc instance_npcname("#door_mobmaster");
- enablenpc instance_npcname("Empty Soul Globe#shnaim01");
- enablenpc instance_npcname("Empty Soul Globe#ahat01");
- mapannounce 'map_eom$, "Activated the Soul Globes used to open the Temple of the Demon God.", bc_map, 0x00ff00;
- }
- end;
- }
- 1@eom,104,56,0 script Empty Soul Globe#ahat01 CLEAR_NPC,{
- if ('step == 2) {
- if (strnpcinfo(2) == "ahat01")
- callsub( S_Globe, 1, "Ahat", 6713, "ahat02" );
- else
- callsub( S_Globe, 2, "Shnaim", 6714, "shnaim02" );
- }
- end;
- S_Globe:
- .@bit = getarg(0);
- .@item_id = getarg(2);
- .@visible_npc_name$ = getarg(1);
- .@hidden_npc_name$ = getarg(3);
- disable_items;
- if (is_party_leader() == false || isbegin_quest(7596) != 1 || 'step != 2) {
- mes "Only party leaders can perform this event.";
- close;
- }
- if (countitem(.@item_id) < 1) {
- mes "If you want to activate the soul globes, you need Shnaim's soul.";
- close;
- }
- mes "Inject " + .@visible_npc_name$ + "'s soul into the empty soul globe.";
- next;
- specialeffect EF_SPHERE;
- progressbar "000000",10;
- if (!('inject_soul & .@bit) && countitem(.@item_id) > 0) {
- 'inject_soul |= .@bit;
- delitem .@item_id,1;
- specialeffect EF_ENTRY;
- disablenpc instance_npcname( strnpcinfo(0) );
- enablenpc instance_npcname("Filled Soul Globe#" + .@hidden_npc_name$);
- specialeffect EF_ENTRY,AREA, instance_npcname("Filled Soul Globe#" + .@hidden_npc_name$);
- specialeffect EF_LEVEL99_3,AREA, instance_npcname("Filled Soul Globe#" + .@hidden_npc_name$);
- mes "Successfully activated " + .@visible_npc_name$ + "'s soul globe.";
- if ('inject_soul == 3 && 'step == 2) {
- 'step = 3;
- if (isbegin_quest(7596) == 1)
- erasequest 7596;// Qualifications of the Guests
- enablenpc instance_npcname("#gate_to_center");
- enablenpc instance_npcname("Strange Boy#mockid01");
- specialeffect EF_MAPPILLAR,AREA, instance_npcname("#gate_to_center");
- specialeffect EF_LEVEL99_3,AREA, instance_npcname("#gate_to_center");
- }
- }
- close;
- }
- 1@eom,98,56,0 duplicate(Empty Soul Globe#ahat01) Empty Soul Globe#shnaim01 CLEAR_NPC
- 1@eom,104,56,0 duplicate(dummy_npc) Filled Soul Globe#ahat02 CLEAR_NPC
- 1@eom,98,56,0 duplicate(dummy_npc) Filled Soul Globe#shnaim02 CLEAR_NPC
- 1@eom,101,58,0 script #gate_to_center WARPNPC,1,1,{
- end;
- OnTouch_:
- if (isbegin_quest(7596) == 1)
- erasequest 7596;
- warp 'map_eom$,98,115;
- end;
- }
- 1@eom,100,122,3 script Strange Boy#mockid01 4_F_MOCBOY,{
- if ('step != 3)
- end;
- if (is_party_leader() == false || checkquest(7593,HUNTING) != 1) {
- mes "[Boy]";
- mes "You insignificant creature.";
- mes "How dare you lay a hand on a god-in-waiting?!";
- close;
- }
- cutin "morocc_kid.bmp",2;
- mes "[Boy]";
- mes "First, let me applaud you for coming this far.";
- mes "You've been a good pawn.";
- next;
- select("What are you talking about?");
- unittalk getcharid(3), "" + strcharinfo(0) + " : What are you talking about?";
- mes "[Boy]";
- mes "I've been waiting for this day.";
- mes "To get out of that corner of the demon world and rule the entire universe.";
- npctalk "Boy: I've been waiting for this day. To get out of that corner of the demon world and rule the entire universe.";
- sleep2 2000;
- next;
- mes "[Boy]";
- mes "To achieve that, I realized I must abandon my old body.";
- mes "So I died--well, I let you kill me.";
- npctalk "Boy: To achieve that, I realized I must abandon my old body. So I died--well, I let you kill me.";
- sleep2 2000;
- next;
- mes "[Boy]";
- mes "Death is an inevitable step to take before rebirth.";
- mes "So I'm reborn--again, you brought me back.";
- npctalk "Boy: Death is an inevitable step to take before rebirth. So I've been reborn--again, you've brought me back.";
- sleep2 2000;
- next;
- mes "[Boy]";
- mes "All this has been arranged so that I could be reborn as God.";
- npctalk "Boy: All this has been arranged so that I could be reborn as God.";
- sleep2 2000;
- next;
- mes "[Morroc]";
- mes "That's right, you foolish humans!";
- mes "I died once, so that I could circle around the world and embrace it in my arms.";
- mes "I've been reborn to engulf this world.";
- npctalk "Morocc: I died once, so that I could circle around the world and embrace it in my arms. I've been reborn to engulf this world.";
- sleep2 2000;
- next;
- mes "[Morroc]";
- mes "I'll create a new world and become its Creator.";
- mes "Let me ask you, the first creatures that have stepped into my newborn land.";
- npctalk "Morocc: I'll create a new world and become its Creator. Let me ask you, the first creatures that have stepped into my newborn land.";
- sleep2 2000;
- next;
- mes "[Morroc]";
- mes "How'd you like to follow me and watch the birth of a new world?";
- npctalk "Morocc: How'd you like to follow me and watch the birth of a new world?";
- close2;
- setpcblock PCBLOCK_NPC, true;
- cutin "",255;
- sleep2 1000;
- .@loki$ = instance_npcname("Loki#eomloki01");
- .@nidhogg$ = instance_npcname("Nidhogg#eomnyd01");
- enablenpc .@loki$;
- enablenpc .@nidhogg$;
- npctalk "Loki: Enough with your nonsense. Just say you like destroying things.", .@loki$;
- sleep2 5000;
- npctalk "Loki: Create a new world and become its Creator? If this is the new world you're talking about, then I'm disappointed.", .@loki$;
- sleep2 5000;
- npctalk "Loki: Even if you burn your body, your power is not as potent as that of Ymir of the Genesis.", .@loki$;
- sleep2 5000;
- npctalk "Loki: Just the fact that you had to steal Yggdrasil shows your lack of creativity.", .@loki$;
- sleep2 5000;
- npctalk "Loki: Take a good look at yourself. You're delusional if you think you look like a creator of any kind.", .@loki$;
- sleep2 5000;
- npctalk "Nidhogg: I second that. You're unnecessary to this world. You don't belong here.", .@nidhogg$;
- sleep2 4000;
- npctalk "Nidhogg: Even Yggdrasil denies your existence!", .@nidhogg$;
- sleep2 4000;
- npctalk "Nidhogg: As the Guardian of Yggdrasil, I have to remove you from this world.", .@nidhogg$;
- sleep2 2000;
- npctalk "Morroc: Pah!";
- sleep2 2000;
- npctalk "Morroc: Mortal, you must have a death wish to come at me like this.";
- sleep2 3000;
- npctalk "Morroc: I'll take your flesh and blood as housewarming gifts for my new world.";
- sleep2 3000;
- npctalk "Morroc: Have you beheld the darkness of the Genesis?";
- sleep2 3000;
- npctalk "Morroc: Have you beheld frost, the beginning of life?";
- sleep2 6000;
- npctalk "Morroc: Behold the Frost of Audhumla I brought back to life, into this world.";
- sleep2 3000;
- specialeffect EF_ENTRY;
- if ('step == 3) {
- 'step = 4;
- disablenpc instance_npcname("Strange Boy#mockid01");
- donpcevent instance_npcname("#gate_to_ice") + "::OnEnable";
- enablenpc instance_npcname("Nidhogg#eomnyd01");
- enablenpc instance_npcname("Brinaranea#brinpc01");
- npctalk "Loki: Are you running?", .@loki$;
- sleep2 2000;
- disablenpc .@loki$;
- }
- setpcblock PCBLOCK_NPC, false;
- end;
- }
- 1@eom,91,120,0 script #gate_to_ice WARPNPC,1,1,{
- end;
- OnEnable:
- .@gate_to_ice = instance_npcname("#gate_to_ice");
- enablenpc instance_npcname("#gate_to_ice");
- specialeffect EF_ICECRASH;
- sleep 1000;
- specialeffect EF_MAPPILLAR;
- end;
- OnTouch_:
- if (isbegin_quest(7601) == 0 && isbegin_quest(7602) == 0)
- setquest 7601;
- warp 'map_eom$,61,88;
- end;
- }
- 1@eom,95,122,5 script Loki#eomloki01 4_M_ROKI2,{
- mes "[Loki]";
- mes "You're helpless.";
- mes "And disgusting.";
- close;
- }
- 1@eom,94,120,5 script Nidhogg#eomnyd01 4_F_NYDHOG,2,2,{
- if ('step < 4 || is_party_leader() == false)
- end;
- if (getmercinfo(0) > 0) {
- mes "[Nidhogg]";
- mes "You're with a mercenary.";
- mes "Could you dismiss your current mercenary and hire me instead?";
- close;
- }
- switch( checkquest(7605,PLAYTIME) ) {
- case -1:
- break;
- case 0:
- case 1:
- mes "[Nidhogg]";
- mes "I already assisted you once.";
- mes "Please be careful!";
- close;
- case 2:
- erasequest 7605;
- break;
- }
- setnpcdisplay instance_npcname("Nidhogg#eomnyd01"), 3087;
- mes "[Nidhogg]";
- mes "" + strcharinfo(0) + ",";
- mes "allow me to aid you in this battle.";
- npctalk "Nidhogg: Allow me to aid you in this battle.";
- specialeffect EF_SPHERE;
- next;
- mes "[Nidhogg]";
- mes "My duty as the guardian isn't over yet.";
- npctalk "Nidhogg: My duty as the guardian isn't over yet.";
- next;
- mercenary_create 3087,1800000;// M_NYDHOG
- mes "^4d4dffGuardian Nidhogg has joined your party.^000000";
- setquest 7605;// Guardian's Blessing
- disablenpc instance_npcname("Nidhogg#eomnyd01");
- close;
- OnTouch:
- if ('step >= 4 && is_party_leader())
- npctalk "Nidhogg: Wait!";
- end;
- }
- // Center -> Ice
- 1@eom,48,88,0 script Cold Mana Crystalline#eom01 4_ENERGY_BLUE,{
- getitem 22566,1;// Frost_Crystal
- specialeffect EF_LEVEL99_4;
- disablenpc instance_npcname( strnpcinfo(0) );
- end;
- }
- 1@eom,51,103,0 duplicate(Cold Mana Crystalline#eom01) Cold Mana Crystalline#eom02 4_ENERGY_BLUE
- 1@eom,24,109,0 duplicate(Cold Mana Crystalline#eom01) Cold Mana Crystalline#eom03 4_ENERGY_BLUE
- 1@eom,26,128,0 duplicate(Cold Mana Crystalline#eom01) Cold Mana Crystalline#eom04 4_ENERGY_BLUE
- 1@eom,40,140,0 duplicate(Cold Mana Crystalline#eom01) Cold Mana Crystalline#eom05 4_ENERGY_BLUE
- 1@eom,38,139,0 duplicate(Cold Mana Crystalline#eom01) Cold Mana Crystalline#eom06 4_ENERGY_BLUE
- 1@eom,51,149,0 duplicate(Cold Mana Crystalline#eom01) Cold Mana Crystalline#eom07 4_ENERGY_BLUE
- 1@eom,49,148,0 duplicate(Cold Mana Crystalline#eom01) Cold Mana Crystalline#eom08 4_ENERGY_BLUE
- 1@eom,61,88,0 script #icemob01 HIDDEN_WARP_NPC,2,1,{
- end;
- OnTouch_:
- if ('step >= 4) {
- disablenpc instance_npcname("#icemob01");
- areamonster 'map_eom$,40,93,48,101, "Frost Spider",3088,4; // MM_BRINARANEA_BABY
- }
- end;
- }
- 1@eom,22,116,3 script Frost Spider#icemob02 3088,3,3,{
- end;
- OnTouch_:
- if ('step >= 4) {
- disablenpc instance_npcname("Frost Spider#icemob02");
- monster 'map_eom$,22,116, "Frost Spider",3088,1; // MM_BRINARANEA_BABY
- areamonster 'map_eom$,22,113,28,119, "Frost Spider",3088,3;
- }
- end;
- }
- 1@eom,53,134,3 script Frost Spider#icemob03 3088,3,3,{
- end;
- OnTouch_:
- if ('step >= 4) {
- disablenpc instance_npcname("Frost Spider#icemob03");
- monster 'map_eom$,53,134, "Frost Spider",3088,1; // MM_BRINARANEA_BABY
- areamonster 'map_eom$,47,133,53,139, "Frost Spider",3088,3;
- }
- end;
- }
- 1@eom,38,129,3 script Brinaranea#brinpc01 3091,10,10,{
- end;
- OnTouch_:
- if ('step == 4) {
- 'step = 5;
- npctalk "Brinaranea: Ooh, food walks into my lair.";
- initnpctimer;
- }
- end;
- OnTimer3000:
- npctalk "Brinaranea: My children will have a feast tonight. Ho ho ho!";
- disablenpc instance_npcname("Brinaranea#brinpc01");
- donpcevent instance_npcname("#ice_hpcheck") + "::OnSpawn";
- end;
- OnTimer5000:
- stopnpctimer;
- unittalk 'boss_id, "Time to cook! *Giggle*";
- donpcevent instance_npcname("#ice_combo") + "::OnStart";
- donpcevent instance_npcname("#ice_hpcheck") + "::OnStart";
- end;
- }
- 1@eom,2,3,0 script #ice_hpcheck CLEAR_NPC,{
- end;
- OnSpawn:
- enablenpc instance_npcname("#ice_hpcheck");
- monster 'map_eom$,38,123, "Brinaranea",3091,1, instance_npcname("#ice_hpcheck") + "::OnMyMobDead"; // MM_BRINARANEA
- 'boss_id = $@mobid[0];
- getunitdata 'boss_id, .@data;
- 'boss_hp = .@data[UMOB_MAXHP];
- unitskilluseid 'boss_id, "NPC_WIDEFREEZE",5;
- end;
- OnStart:
- initnpctimer;
- end;
- OnTimer3000:
- getunitdata 'boss_id, .@data;
- .@hp = .@data[UMOB_HP];
- if ('boss_hp < .@hp) {
- 'boss_hp = .@hp;
- initnpctimer;
- end;
- }
- if (('boss_hp - .@hp) > 2000000) {
- 'boss_hp = .@hp;
- donpcevent instance_npcname("#super_heal") + "::OnStart";
- initnpctimer;
- end;
- }
- 'boss_hp = .@hp;
- if (.@hp > 69500000 && .@hp < 70000000) {
- unittalk 'boss_id, "Come out, my children. An exquisite feast has delivered itself to us!";
- donpcevent instance_npcname("#ice_hpcheck") + "::OnCallBaby";
- }
- else if (.@hp > 59500000 && .@hp < 60000000) {
- unittalk 'boss_id, "Children, it's time for dinner!";
- donpcevent instance_npcname("#ice_hpcheck") + "::OnCallBaby";
- }
- else if (.@hp > 49500000 && .@hp < 50000000) {
- unittalk 'boss_id, "Have all of you fed yet? Come out now!";
- donpcevent instance_npcname("#ice_hpcheck") + "::OnCallBaby";
- }
- else if (.@hp < 22200000 && 'icestunami == false)
- donpcevent instance_npcname("#icestunami") + "::OnStart";
- initnpctimer;
- end;
- OnMyMobDead:
- donpcevent instance_npcname("#ice_hpcheck") + "::OnEnd";
- disablenpc instance_npcname("Brinaranea#brinpc01");
- stopnpctimer instance_npcname("#ice_combo");
- stopnpctimer instance_npcname("#brinaranea_event_1");
- stopnpctimer instance_npcname("#brinaranea_event_2");
- stopnpctimer instance_npcname("#brinaranea_event_3");
- stopnpctimer instance_npcname("#brinaranea_event_4");
- stopnpctimer instance_npcname("Brinaranea#brinpc01");
- stopnpctimer instance_npcname("#super_heal");
- // stopnpctimer instance_npcname("#icestunami");
- enablenpc instance_npcname("Nidhogg#eomnyd02");
- enablenpc instance_npcname("#ice_to_center");
- enablenpc instance_npcname("Morroc#mockid02");
- mapannounce 'map_eom$, "Nidhogg: Brinaranea's influence has dissipated, and a new warp gate has appeared.", bc_map, 0x00ff00;
- 'step = 6;
- donpcevent instance_npcname("#demon_god_variables") + "::OnVariableReset";
- end;
- OnEnd:
- stopnpctimer;
- disablenpc instance_npcname("#ice_hpcheck");
- killmonster 'map_eom$, instance_npcname("#ice_hpcheck") + "::OnMyMobDead";
- end;
- OnCallBaby:
- sleep 500;
- if ('boss_id == 0)
- end;
- getunitdata 'boss_id, .@data;
- 'boss_hp = .@data[UMOB_HP];
- killmonster 'map_eom$, instance_npcname("#ice_hpcheck") + "::OnMyMobDead";
- monster 'map_eom$,38,123, "Brinaranea",3091,1, instance_npcname("#ice_hpcheck") + "::OnMyMobDead"; // MM_BRINARANEA
- 'boss_id = $@mobid[0];
- setunitdata 'boss_id, UMOB_HP, 'boss_hp;
- if ('spawn == true)
- end;
- 'spawn = true;
- unitskilluseid 'boss_id, "NPC_WIDEFREEZE",5;
- sleep 1000;
- if ('boss_id == 0)
- end;
- getunitdata 'boss_id, .@data;
- areamonster 'map_eom$,(.@data[UMOB_X]-5),(.@data[UMOB_Y]-5),(.@data[UMOB_X]+5),(.@data[UMOB_Y]+5), " ",3088,5; // MM_BRINARANEA_BABY
- sleep 15000;
- 'spawn = false;
- end;
- OnTest_hp:
- if ('boss_id && mobcount( 'map_eom$, instance_npcname("#ice_hpcheck") + "::OnMyMobDead" ) > 0)
- setunitdata 'boss_id, UMOB_HP, 2000000;
- end;
- }
- 1@eom,2,6,0 script #ice_combo CLEAR_NPC,{
- end;
- OnStart:
- initnpctimer;
- end;
- OnTimer10000:
- donpcevent instance_npcname("#brinaranea_event_" + rand(1,4)) + "::OnStart";
- stopnpctimer;
- end;
- }
- 1@eom,1,1,0 script #brinaranea_event_1 -1,{
- end;
- OnStart:
- initnpctimer;
- unittalk 'boss_id, "A show time!";
- end;
- OnTimer1000:
- unitskilluseid 'boss_id, "NPC_WIDEFREEZE",5;
- end;
- OnTimer2500:
- getunitdata 'boss_id, .@data;
- 'bossx = .@data[UMOB_X];
- 'bossy = .@data[UMOB_Y];
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-3),('bossy+3),-50;
- end;
- OnTimer4000:
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+3),('bossy+3),-50;
- end;
- OnTimer5500:
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+3),('bossy-3),-50;
- end;
- OnTimer7000:
- stopnpctimer;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-3),('bossy-3),-50;
- donpcevent instance_npcname("#ice_combo") + "::OnStart";
- end;
- }
- 1@eom,1,1,0 script #brinaranea_event_2 -1,{
- end;
- OnStart:
- initnpctimer;
- unittalk 'boss_id, "Ooh, game. It looks delicious!";
- end;
- OnTimer2000:
- unitskilluseid 'boss_id, "NPC_WIDEFREEZE",5;
- end;
- OnTimer4000:
- stopnpctimer;
- getunitdata 'boss_id, .@data;
- if (.@data[UMOB_TARGETID] > 0)
- if (getunittype(.@data[UMOB_TARGETID]) == BL_PC)
- unitskilluseid 'boss_id,"WZ_JUPITEL",28, .@data[UMOB_TARGETID], -50;
- donpcevent instance_npcname("#ice_combo") + "::OnStart";
- end;
- }
- 1@eom,1,1,0 script #brinaranea_event_3 -1,{
- end;
- OnStart:
- initnpctimer;
- unittalk 'boss_id, "Wanna play?";
- end;
- OnTimer1000:
- unitskilluseid 'boss_id, "NPC_WIDEFREEZE",5;
- end;
- OnTimer2500:
- getunitdata 'boss_id, .@data;
- 'bossx = .@data[UMOB_X];
- 'bossy = .@data[UMOB_Y];
- unitskillusepos 'boss_id,"WZ_VERMILION",5,'bossx,'bossy,-50;
- end;
- OnTimer3500:
- callsub( S_Skill,3 );
- end;
- OnTimer4500:
- callsub( S_Skill,4 );
- end;
- OnTimer5500:
- callsub( S_Skill,5 );
- end;
- OnTimer6500:
- callsub( S_Skill,6 );
- end;
- OnTimer7500:
- callsub( S_Skill,7 );
- stopnpctimer;
- donpcevent instance_npcname("#ice_combo") + "::OnStart";
- end;
- S_Skill:
- .@d = getarg(0);
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20, ('bossx - .@d), ('bossy + .@d),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20, ('bossx + .@d), ('bossy + .@d),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20, ('bossx + .@d), ('bossy - .@d),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20, ('bossx - .@d), ('bossy - .@d),-50;
- return;
- }
- 1@eom,1,1,0 script #brinaranea_event_4 -1,{
- end;
- OnStart:
- initnpctimer;
- unittalk 'boss_id, "Hah hah...";
- end;
- OnTimer1000:
- unitskilluseid 'boss_id,"AL_HEAL",11;
- end;
- OnTimer2000:
- unitskilluseid 'boss_id,"AL_HEAL",11;
- end;
- OnTimer3000:
- stopnpctimer;
- unitskilluseid 'boss_id,"AL_HEAL",11;
- getunitdata 'boss_id, .@data;
- 'boss_hp = .@data[UMOB_HP];
- donpcevent instance_npcname("#ice_combo") + "::OnStart";
- end;
- }
- 1@eom,1,1,0 script #super_heal -1,{
- end;
- OnStart:
- initnpctimer;
- unittalk 'boss_id, "You're annoying! Don't mess with the Frost of Audhumla!";
- unitskilluseid 'boss_id, "NPC_ALLHEAL",1;
- getunitdata 'boss_id, .@data;
- 'boss_hp = .@data[UMOB_HP];
- end;
- OnTimer2000:
- stopnpctimer;
- mapannounce 'map_eom$, "Nidhogg: No... She's regenerated herself perfectly.", bc_map, 0x00ff00;
- end;
- }
- 1@eom,2,4,0 script #icestunami CLEAR_NPC,{
- end;
- OnStart:
- 'icestunami = true;
- initnpctimer;
- unittalk 'boss_id, "You hellhounds, can you take this too?";
- getunitdata 'boss_id, .@data;
- 'x_icemine = .@data[UMOB_X];
- 'y_icemine = .@data[UMOB_Y];
- callsub( S_Spawn,6 );
- OnTimer2000: callsub( S_Spawn,3 );
- OnTimer4000: callsub( S_Spawn,0 );
- OnTimer6000: callsub( S_Spawn,-3 );
- OnTimer8000: callsub( S_Spawn,-6 );
- OnTimer13000:
- killmonster 'map_eom$, instance_npcname("#icestunami") + "::OnMobDead";
- end;
- OnTimer23000:
- 'icestunami = false;
- 'x_icemine = 0;
- 'y_icemine = 0;
- stopnpctimer;
- end;
- S_Spawn:
- .@y = 'y_icemine + getarg(0);
- .@label$ = instance_npcname("#icestunami") + "::OnMobDead";
- monster 'map_eom$,('x_icemine-6),.@y," ",2943,1, .@label$;// MM_ICE_MINE
- monster 'map_eom$,('x_icemine-3),.@y," ",2943,1, .@label$;
- monster 'map_eom$, ('x_icemine),.@y," ",2943,1, .@label$;
- monster 'map_eom$,('x_icemine+3),.@y," ",2943,1, .@label$;
- monster 'map_eom$,('x_icemine+6),.@y," ",2943,1, .@label$;
- end;
- OnMobDead:
- end;
- }
- 1@eom,59,147,3 script Nidhogg#eomnyd02 4_F_NYDHOG,{
- if ('step < 6)
- end;
- if (isbegin_quest(7602) == 0 && checkquest(7601,HUNTING) == 2) {
- mes "[Nidhogg]";
- mes "That was a tough battle.";
- mes "This may not be good enough, but I hope it'll help your growth.";
- next;
- mes "^4d4dffGuardian Nidhogg has rewarded you with a large amount of EXP for defeating Brinaranea.^000000";
- erasequest 7601;// Temple of the Demon God Phase 1
- setquest 7602;// Temple of the Demon God Phase 1 Completed
- getexp 1000000,500000;
- close;
- }
- mes "[Nidhogg]";
- mes "Can this dreadful place compete with the Frost of the Genesis?";
- mes "I can't say.";
- mes "He's created nothing on his own. How did he convince himself to think that he could be a creator?";
- close;
- }
- 1@eom,67,149,0 script #ice_to_center WARPNPC,1,1,{
- end;
- OnTouch_:
- if (isbegin_quest(7602) == 0 && checkquest(7601,HUNTING) == 2) {
- mes "[Nidhogg]";
- mes "That was a tough battle.";
- mes "This may not be good enough, but I hope it'll help your growth.";
- next;
- mes "^4d4dffGuardian Nidhogg has rewarded you with a large amount of EXP for defeating Brinaranea.^000000";
- setquest 7602;
- erasequest 7601;
- getexp 1000000,500000;
- close;
- }
- warp 'map_eom$,98,115;
- end;
- }
- // Center to Fire
- 1@eom,100,122,3 script Morroc#mockid02 4_F_MOCBOY,{
- if ('step != 6 || is_party_leader() == false || checkquest(7593,HUNTING) != 1)
- end;
- cutin "morocc_kid.bmp",2;
- mes "[Morroc]";
- mes "You're good.";
- mes "Can you take on the wolf that swallowed the sun?";
- npctalk "Morroc: You're good. Can you taken on the wolf that swallowed the sun?";
- next;
- mes "[Morroc]";
- mes "If you can't handle him, then you can't handle a god now, can you?";
- npctalk "Morroc: If you can't handle him, then you can't handle a god now, can you?";
- next;
- mes "[Morroc]";
- mes "I'll watch you. Mwa hah hah!";
- npctalk "Morroc: I'll watch you. Mwa hah hah!";
- close2;
- cutin "",255;
- if ('step == 6) {
- 'step = 7;
- setpcblock PCBLOCK_NPC, true;
- enablenpc instance_npcname("#fire_event01");
- donpcevent instance_npcname("#gate_to_fire") + "::OnEnable";
- sleep2 2000;
- setpcblock PCBLOCK_NPC, false;
- specialeffect EF_ENTRY;
- cloakonnpc instance_npcname("Morroc#mockid02"); // cloakonnpc to properly display the previous effect
- }
- end;
- }
- 1@eom,104,120,0 script #gate_to_fire WARPNPC,1,1,{
- end;
- OnTouch_:
- if (isbegin_quest(7603) == 0 && isbegin_quest(7604) == 0)
- setquest 7603;
- warp 'map_eom$,132,93;
- end;
- OnEnable:
- enablenpc instance_npcname("#gate_to_fire");
- specialeffect EF_METEORSTORM;
- sleep 1000;
- specialeffect EF_MAPPILLAR;
- end;
- }
- 1@eom,132,93,0 script #fire_event01 HIDDEN_WARP_NPC,1,1,{
- end;
- OnTouch_:
- disablenpc instance_npcname("#fire_event01");
- sleep 1000;
- mapannounce 'map_eom$, "Grr...", bc_map, 0xff0000;
- sleep 3000;
- mapannounce 'map_eom$, "I smell human... Grr...", bc_map, 0xff0000;
- monster 'map_eom$,139,101, "Frenzied Kasa",3089,1; // MM_LOCO_KASA
- sleep 1000;
- monster 'map_eom$,142, 98, "Frenzied Kasa",3089,1;
- sleep 1000;
- monster 'map_eom$,144, 92, "Frenzied Kasa",3089,1;
- sleep 3000;
- monster 'map_eom$,145,104, "Frenzied Kasa",3089,1;
- sleep 1000;
- monster 'map_eom$,148, 98, "Frenzied Kasa",3089,1;
- sleep 1000;
- monster 'map_eom$,150, 93, "Frenzied Kasa",3089,1;
- sleep 3000;
- monster 'map_eom$,151,106, "Frenzied Kasa",3089,1;
- sleep 1000;
- monster 'map_eom$,153,100, "Frenzied Kasa",3089,1;
- sleep 1000;
- monster 'map_eom$,156, 95, "Frenzied Kasa",3089,1;
- mapannounce 'map_eom$, "...BURN!", bc_map, 0xff0000;
- donpcevent instance_npcname("#skollmaster") + "::OnStart";
- end;
- }
- 1@eom,3,1,0 script #skollmaster CLEAR_NPC,{
- end;
- OnStart:
- enablenpc instance_npcname("#skollmaster");
- enablenpc instance_npcname("Flowing Lava#lavapond01");
- enablenpc instance_npcname("Flowing Lava#lavapond02");
- enablenpc instance_npcname("#lavazone11");
- enablenpc instance_npcname("#lavazone12");
- enablenpc instance_npcname("#lavazone21");
- enablenpc instance_npcname("#lavazone22");
- 'flowing_lava_deactivate[0] = 'flowing_lava_deactivate[1] = false;
- monster 'map_eom$,148,98, "Muspellskoll",3092,1, instance_npcname("#skollmaster") + "::OnMobDead"; // MM_MUSPELLSKOLL
- 'boss_id = $@mobid[0];
- getunitdata 'boss_id, .@data;
- 'boss_hp = .@data[UMOB_MAXHP];
- sleep 1000;
- if ('boss_id)
- unittalk 'boss_id, "You're the ones... Grr... Good, I'll crush your bones! Grr...";
- sleep 4000;
- if ('boss_id)
- donpcevent instance_npcname("#skollmaster") + "::OnLava_heal";
- end;
- OnLava_heal:
- 'lava_heal = true;
- donpcevent instance_npcname("#fire_combo") + "::OnEnd";
- stopnpctimer instance_npcname("#fire_hpcheck");
- callsub S_Event, 0, 156,117;
- initnpctimer;
- end;
- OnTimer2000:
- callsub S_Event, 1, 180,129;
- end;
- OnTimer4000:
- callsub S_ReSpawn, 168,121;
- unitskilluseid 'boss_id, "CR_REFLECTSHIELD",1;
- unittalk 'boss_id, "Let's do this again. Come on!";
- donpcevent instance_npcname("#loco_call") + "::OnSpawn";
- end;
- OnTimer6000:
- stopnpctimer;
- 'lava_heal = false;
- donpcevent instance_npcname("#fire_hpcheck") + "::OnStart";
- donpcevent instance_npcname("#fire_combo") + "::OnEvent";
- end;
- S_ReSpawn:
- getunitdata 'boss_id, .@data;
- 'boss_hp = .@data[UMOB_HP];
- killmonster 'map_eom$, instance_npcname("#skollmaster") + "::OnMobDead";
- monster 'map_eom$,getarg(0),getarg(1), "Muspellskoll",3092,1, instance_npcname("#skollmaster") + "::OnMobDead"; // MM_MUSPELLSKOLL
- 'boss_id = $@mobid[0];
- setunitdata 'boss_id, UMOB_HP, 'boss_hp;
- return;
- S_Event:
- callsub S_ReSpawn, getarg(1),getarg(2);
- if ('flowing_lava_deactivate[ getarg(0) ] == false) {
- for ( .@i = 0; .@i < 8; .@i++ ) {
- unitskilluseid 'boss_id, "AL_HEAL",11;
- sleep 100;
- if ('boss_id == 0)
- end;
- }
- unitskilluseid 'boss_id, "AL_HEAL",11;
- }
- mapannounce 'map_eom$, "Nidhogg: Muspellskoll is trying to regenerate itself using the lava!", bc_map, 0x00ff00;
- getunitdata 'boss_id, .@data;
- 'boss_hp = .@data[UMOB_HP];
- donpcevent instance_npcname("#loco_call") + "::OnSpawn";
- return;
- OnMobDead:
- stopnpctimer instance_npcname("#fire_hpcheck");
- stopnpctimer instance_npcname("#muspellskoll_event_1");
- stopnpctimer instance_npcname("#muspellskoll_event_2");
- stopnpctimer instance_npcname("#muspellskoll_event_3");
- donpcevent instance_npcname("#fire_combo") + "::OnEnd";
- donpcevent instance_npcname("#loco_call") + "::OnEnd";
- killmonster 'map_eom$, instance_npcname("#skollmaster") + "::OnMobDead";
- mapannounce 'map_eom$, "Nidhogg: Muspellskoll's influence has dissipated, and a new warp gate has appeared.", bc_map, 0x00ff00;
- enablenpc instance_npcname("Nidhogg#eomnyd03");
- enablenpc instance_npcname("#fire_to_center");
- enablenpc instance_npcname("Strange Young Man#mocadt01");
- 'step = 8;
- donpcevent instance_npcname("#demon_god_variables") + "::OnVariableReset";
- end;
- OnTest_hp:
- if ('boss_id && mobcount( 'map_eom$, instance_npcname("#skollmaster") + "::OnMobDead" ) > 0)
- setunitdata 'boss_id, UMOB_HP, 2000000;
- end;
- }
- 1@eom,3,7,0 script #fire_hpcheck CLEAR_NPC,{
- end;
- OnStart:
- initnpctimer;
- end;
- OnTimer3000:
- getunitdata 'boss_id, .@data;
- .@hp = .@data[UMOB_HP];
- if ('boss_hp < .@hp) {
- initnpctimer;
- end;
- }
- if (('boss_hp - .@hp) > 1000000) {
- 'boss_hp = .@hp;
- donpcevent instance_npcname("#fire_hpcheck") + "::OnHeal"; // the event can stack and the boss can stay in this state until it demise
- initnpctimer;
- end;
- }
- 'boss_hp = .@hp;
- if ('lava_heal == false) {
- if (.@hp > 29500000 && .@hp < 30000000 || .@hp > 35500000 && .@hp < 36000000 || .@hp > 39500000 && .@hp < 40000000 || .@hp > 44500000 && .@hp < 45000000) {
- unittalk 'boss_id, "I'm not going down without a fight!";
- donpcevent instance_npcname("#skollmaster") + "::OnLava_heal";
- }
- }
- initnpctimer;
- end;
- OnHeal:
- if ('fire_combo)
- donpcevent instance_npcname("#fire_combo") + "::OnEnd";
- unittalk 'boss_id, "Do I look easy to you? I'll burn you to ashes!";
- sleep 2000;
- if ('boss_id == 0)
- end;
- getunitdata 'boss_id, .@data;
- unitskillusepos 'boss_id,"WZ_METEOR",11,.@data[UMOB_X],.@data[UMOB_Y],-50;
- sleep 1000;
- if ('boss_id == 0)
- end;
- for ( .@i = 0; .@i < 18; .@i++ ) {
- unitskilluseid 'boss_id, "AL_HEAL",11;
- sleep 200;
- if ('boss_id == 0)
- end;
- }
- getunitdata 'boss_id, .@data;
- unitskillusepos 'boss_id,"WZ_METEOR",11,.@data[UMOB_X],.@data[UMOB_Y],-50;
- for ( .@i = 0; .@i < 18; .@i++ ) {
- unitskilluseid 'boss_id, "AL_HEAL",11;
- sleep 200;
- if ('boss_id == 0)
- end;
- }
- getunitdata 'boss_id, .@data;
- 'boss_hp = .@data[UMOB_HP];
- if (!'fire_combo)
- donpcevent instance_npcname("#fire_combo") + "::OnEvent";
- end;
- }
- 1@eom,3,5,0 script #loco_call CLEAR_NPC,{
- end;
- OnSpawn:
- enablenpc instance_npcname("#loco_call");
- initnpctimer;
- getunitdata 'boss_id, .@data;
- 'x_loco = .@data[UMOB_X];
- 'y_loco = .@data[UMOB_Y];
- end;
- OnTimer1000:
- .@label$ = instance_npcname("#loco_call") + "::OnMobDead";
- if (mobcount( 'map_eom$, .@label$ ) < 6)
- areamonster 'map_eom$,('x_loco-5),('y_loco-5),('x_loco+5),('y_loco+5)," ",3089,3, .@label$; // MM_LOCO_KASA
- end;
- OnTimer16000:
- stopnpctimer;
- disablenpc instance_npcname("#loco_call");
- end;
- OnMobDead:
- end;
- OnEnd:
- stopnpctimer;
- disablenpc instance_npcname("#loco_call");
- end;
- }
- 1@eom,1,1,0 script #muspellskoll_event_1 -1,{
- end;
- OnEvent:
- initnpctimer;
- unittalk 'boss_id, "Crash and burn!";
- end;
- OnTimer1000:
- unitskilluseid 'boss_id, "NPC_FIRESTORM",3;
- end;
- OnTimer3000:
- stopnpctimer;
- unitskilluseid 'boss_id, "WZ_SIGHTRASHER",10;
- if ('fire_combo)
- donpcevent instance_npcname("#fire_combo") + "::OnEvent";
- end;
- }
- 1@eom,1,1,0 script #muspellskoll_event_2 -1,{
- end;
- OnEvent:
- initnpctimer;
- unittalk 'boss_id, "Grr...";
- end;
- OnTimer1000:
- getunitdata 'boss_id, .@data;
- 'bossx = .@data[UMOB_X];
- 'bossy = .@data[UMOB_Y];
- unitskilluseid 'boss_id, "NPC_FIRESTORM",3;
- end;
- OnTimer3000:
- unitskillusepos 'boss_id,"WZ_FIREPILLAR",1,('bossx-3),('bossy+3),-50;
- end;
- OnTimer5000:
- unitskillusepos 'boss_id,"WZ_FIREPILLAR",1,('bossx+3),('bossy+3),-50;
- end;
- OnTimer7000:
- unitskillusepos 'boss_id,"WZ_FIREPILLAR",1,('bossx-3),('bossy-3),-50;
- end;
- OnTimer9000:
- unitskillusepos 'boss_id,"WZ_FIREPILLAR",1,('bossx+3),('bossy-3),-50;
- end;
- OnTimer19000:
- stopnpctimer;
- if ('fire_combo)
- donpcevent instance_npcname("#fire_combo") + "::OnEvent";
- end;
- }
- 1@eom,1,1,0 script #muspellskoll_event_3 -1,{
- end;
- OnEvent:
- initnpctimer;
- unittalk 'boss_id, "My fire will swallow you whole!";
- end;
- OnTimer1000:
- unitskilluseid 'boss_id, "NPC_FIRESTORM",3;
- end;
- OnTimer2000:
- donpcevent instance_npcname("#flamecross") + "::OnStart";
- end;
- OnTimer7000:
- getunitdata 'boss_id, .@data;
- 'bossx = .@data[UMOB_X];
- 'bossy = .@data[UMOB_Y];
- unitskillusepos 'boss_id,"WZ_METEOR",5,('bossx),('bossy+5),-50;
- end;
- OnTimer9000:
- unitskillusepos 'boss_id,"WZ_METEOR",5,('bossx),('bossy-5),-50;
- end;
- OnTimer11000:
- unitskillusepos 'boss_id,"WZ_METEOR",5,('bossx),('bossy+10),-50;
- end;
- OnTimer13000:
- stopnpctimer;
- unitskillusepos 'boss_id,"WZ_METEOR",5,'bossx,('bossy-10),-50;
- if ('fire_combo)
- donpcevent instance_npcname("#fire_combo") + "::OnEvent";
- end;
- }
- 1@eom,3,3,0 script #fire_combo CLEAR_NPC,{
- end;
- OnEvent:
- initnpctimer;
- 'fire_combo = true;
- end;
- OnTimer10000:
- stopnpctimer;
- .@r = rand(1,4);
- if (.@r == 1)
- donpcevent instance_npcname("#muspellskoll_event_1") + "::OnEvent";
- else if (.@r == 2)
- donpcevent instance_npcname("#muspellskoll_event_2") + "::OnEvent";
- else if (.@r == 3)
- donpcevent instance_npcname("#muspellskoll_event_3") + "::OnEvent";
- else
- donpcevent instance_npcname("#flamecross") + "::OnSpawn";
- end;
- OnEnd:
- stopnpctimer;
- 'fire_combo = false;
- disablenpc instance_npcname("#fire_combo");
- end;
- }
- 1@eom,3,8,0 script #flamecross CLEAR_NPC,{
- end;
- OnStart:
- getunitdata 'boss_id, .@data;
- .@x = .@data[UMOB_X];
- .@y = .@data[UMOB_Y];
- callsub( S_Spawn,.@x,.@y,3 );
- sleep 300;
- callsub( S_Spawn,.@x,.@y,6 );
- sleep 300;
- callsub( S_Spawn,.@x,.@y,9 );
- sleep 300;
- callsub( S_Spawn,.@x,.@y,13 );
- sleep 5000;
- killmonster 'map_eom$, instance_npcname("#flamecross") + "::OnMobDead";
- end;
- S_Spawn:
- if (!'boss_id) {
- killmonster 'map_eom$, instance_npcname("#flamecross") + "::OnMobDead";
- end;
- }
- .@x = getarg(0);
- .@y = getarg(1);
- .@dxy = getarg(2);
- .@label$ = instance_npcname("#flamecross") + "::OnMobDead";
- monster 'map_eom$,(.@x+.@dxy),(.@y+.@dxy)," ",2960,1, .@label$;// MM_FLAMECROSS
- monster 'map_eom$,(.@x-.@dxy),(.@y-.@dxy)," ",2960,1, .@label$;
- monster 'map_eom$,(.@x+.@dxy),(.@y-.@dxy)," ",2960,1, .@label$;
- monster 'map_eom$,(.@x-.@dxy),(.@y+.@dxy)," ",2960,1, .@label$;
- return;
- OnSpawn:
- getunitdata 'boss_id, .@data;
- .@label$ = instance_npcname("#flamecross") + "::OnMobDead"; // same OnMobDead than OnStart?
- if (mobcount( 'map_eom$, .@label$ ) < 2)
- areamonster 'map_eom$,(.@data[UMOB_X]-1),(.@data[UMOB_Y]-1),(.@data[UMOB_X]+1),(.@data[UMOB_Y]+1)," ",3090,2, .@label$; // MM_LOCO_SALAMANDER
- if ('fire_combo)
- donpcevent instance_npcname("#fire_combo") + "::OnEvent";
- end;
- OnMobDead:
- end;
- }
- 1@eom,154,119,0 script Flowing Lava#lavapond01 CLEAR_NPC,{ // todo, custom text
- if (countitem(22566) < 1)
- end;
- mes "It can be used to block the flow of lava using a Frost Crystal.";
- next;
- if (select( "Use a Frost Crystal", "Do not use a Frost Crystal" ) == 2)
- end;
- if ('flowing_lava_deactivate[0] == true)
- end;
- 'flowing_lava_deactivate[0] = true;
- delitem 22566,1;// Frost_Crystal
- disablenpc instance_npcname("Flowing Lava#lavapond01");
- donpcevent instance_npcname("Hardened Lava#lavaseal01") + "::OnEnable";
- initnpctimer;
- end;
- OnTimer300:
- donpcevent instance_npcname("Hardened Lava#lavaseal01") + "::OnEffect";
- end;
- OnTimer120000:
- 'flowing_lava_deactivate[0] = false;
- donpcevent instance_npcname("Hardened Lava#lavaseal01") + "::OnDisable";
- enablenpc instance_npcname("Flowing Lava#lavapond01");
- mapannounce 'map_eom$, "Nidhogg: The Frost has melted. The lava is flowing again!", bc_map, 0x00ff00;
- stopnpctimer;
- end;
- }
- 1@eom,182,129,0 script Flowing Lava#lavapond02 CLEAR_NPC,{ // todo, custom text
- if (countitem(22566) < 1)
- end;
- mes "It can be used to block the flow of lava using a Frost Crystal.";
- next;
- if (select( "Use a Frost Crystal", "Do not use a Frost Crystal" ) == 2)
- end;
- if ('flowing_lava_deactivate[1] == true)
- end;
- 'flowing_lava_deactivate[1] = true;
- delitem 22566,1;// Frost_Crystal
- disablenpc instance_npcname("Flowing Lava#lavapond02");
- donpcevent instance_npcname("Hardened Lava#lavaseal02") + "::OnEnable";
- initnpctimer;
- end;
- OnTimer300:
- donpcevent instance_npcname("Hardened Lava#lavaseal02") + "::OnEffect";
- end;
- OnTimer120000:
- 'flowing_lava_deactivate[1] = false;
- donpcevent instance_npcname("Hardened Lava#lavaseal02") + "::OnDisable";
- enablenpc instance_npcname("Flowing Lava#lavapond02");
- mapannounce 'map_eom$, "Nidhogg: The Frost has melted. The lava is flowing again!", bc_map, 0x00ff00;
- stopnpctimer;
- end;
- }
- 1@eom,154,119,0 script Hardened Lava#lavaseal01 CLEAR_NPC,{
- end;
- OnEnable:
- enablenpc instance_npcname("Hardened Lava#lavaseal01");
- disablenpc instance_npcname("#lavazone11");
- disablenpc instance_npcname("#lavazone12");
- end;
- OnDisable:
- stopnpctimer;
- disablenpc instance_npcname("Hardened Lava#lavaseal01");
- enablenpc instance_npcname("#lavazone11");
- enablenpc instance_npcname("#lavazone12");
- end;
- OnEffect:
- initnpctimer;
- specialeffect EF_LIGHTNINGLOADER;
- end;
- OnTimer3000:
- initnpctimer;
- end;
- }
- 1@eom,182,129,0 script Hardened Lava#lavaseal02 CLEAR_NPC,{
- end;
- OnEnable:
- enablenpc instance_npcname("Hardened Lava#lavaseal02");
- disablenpc instance_npcname("#lavazone21");
- disablenpc instance_npcname("#lavazone22");
- end;
- OnDisable:
- stopnpctimer;
- disablenpc instance_npcname("Hardened Lava#lavaseal02");
- enablenpc instance_npcname("#lavazone21");
- enablenpc instance_npcname("#lavazone22");
- end;
- OnEffect:
- initnpctimer;
- specialeffect EF_LIGHTNINGLOADER;
- end;
- OnTimer3000:
- initnpctimer;
- end;
- }
- 1@eom,161,122,0 script #lavazone11 HIDDEN_WARP_NPC,10,10,{
- end;
- OnTouch:
- percentheal -3,0;
- specialeffect2 EF_SPRINKLESAND;
- end;
- }
- 1@eom,161,102,0 duplicate(#lavazone11) #lavazone12 HIDDEN_WARP_NPC,10,10
- 1@eom,163,150,0 duplicate(#lavazone11) #lavazone21 HIDDEN_WARP_NPC,10,10
- 1@eom,163,150,0 duplicate(#lavazone11) #lavazone22 HIDDEN_WARP_NPC,10,10
- 1@eom,151,155,3 script Nidhogg#eomnyd03 4_F_NYDHOG,{
- if (checkquest(7603,HUNTING) == 2 && isbegin_quest(7604) == 0) {
- mes "[Nidhogg]";
- mes "Good job, again.";
- mes "This may not be good enough, but I hope it'll help your growth.";
- next;
- mes "^4d4dffGuardian Nidhogg has rewarded you with a large amount of EXP for defeating Muspellskoll.^000000";
- erasequest 7603;// Temple of the Demon God Phase 2
- setquest 7604;// Temple of the Demon God Phase 2 Completed
- getexp 1000000,500000;
- close;
- }
- mes "[Nidhogg]";
- mes "Skoll... Skoll and Haati...";
- mes "Everything in here is a mere copy of that in the outside world.";
- mes "He's not a creator.";
- close;
- }
- 1@eom,147,156,0 script #fire_to_center WARPNPC,1,1,{
- end;
- OnTouch_:
- if (checkquest(7603,HUNTING) == 2 && isbegin_quest(7604) == 0) {
- mes "[Nidhogg]";
- mes "Good job, again.";
- mes "This may not be good enough, but I hope it'll help your growth.";
- next;
- mes "^4d4dffGuardian Nidhogg has rewarded you with a large amount of EXP for defeating Muspellskoll.^000000";
- setquest 7604;
- erasequest 7603;
- getexp 1000000,500000;
- close;
- }
- warp 'map_eom$,98,115;
- end;
- }
- // Center to Last
- 1@eom,98,123,5 script Strange Young Man#mocadt01 3097,5,5,{ // MM_MOROCC_ADT
- end;
- OnTouch_:
- if ('step == 8 && is_party_leader()) {
- 'step = 9;
- initnpctimer;
- }
- end;
- OnTimer1000:
- npctalk "You exceed my expectations.";
- end;
- OnTimer4000:
- npctalk "I'll accept your challenge.";
- end;
- OnTimer7000:
- npctalk "I shall drench the land with your flowing blood and nourish it with your torn flesh.";
- end;
- OnTimer8000:
- specialeffect EF_BEGINSPELL5;
- enablenpc instance_npcname("#gate_to_last");
- enablenpc instance_npcname("#moc_master");
- specialeffect EF_READYPORTAL2,AREA, instance_npcname("#gate_to_last");
- end;
- OnTimer10000:
- npctalk "I'll show you the true depths of despair.";
- end;
- OnTimer12000:
- stopnpctimer;
- specialeffect EF_ENTRY;
- disablenpc instance_npcname("Strange Young Man#mocadt01");
- end;
- }
- 1@eom,98,127,0 warp #gate_to_last 1,1,1@eom,102,186
- 1@eom,101,194,3 script #moc_master 3096,10,10,{
- end;
- OnTouch_:
- if ('step != 9)
- end;
- 'step = 10;
- npctalk "Morroc: You're already here, so let's not waste our time on talking.";
- initnpctimer;
- end;
- OnTimer2000:
- stopnpctimer;
- npctalk "Morroc: Come on, mortals!";
- disablenpc instance_npcname("#moc_master");
- donpcevent instance_npcname("#despair_god_main") + "::OnStart";
- end;
- }
- 1@eom,1,1,0 script #despair_god_main -1,{
- end;
- OnStart:
- enablenpc instance_npcname("#despair_god_main");
- 'boss_phase = 1;
- monster 'map_eom$,101,194, "Demigod",3096,1, instance_npcname("#despair_god_main") + "::OnMobDead"; // MM_MOROCC_KID
- 'boss_id = $@mobid[0];
- getunitdata 'boss_id, .@data;
- 'boss_hp = .@data[UMOB_MAXHP];
- unitskillusepos 'boss_id,"WZ_METEOR",11,101,194,-50;
- enablenpc instance_npcname("#mk_trap");
- donpcevent instance_npcname("#mk_hpcheck") + "::OnStart";
- donpcevent instance_npcname("#mk_combo") + "::OnEvent";
- end;
- OnPhase02:
- if ('boss_phase != 1)
- end;
- 'boss_phase = 2;
- stopnpctimer instance_npcname("#demigod_event_1");
- stopnpctimer instance_npcname("#demigod_event_2");
- stopnpctimer instance_npcname("#demigod_event_3");
- stopnpctimer instance_npcname("#mk_hpcheck");
- stopnpctimer instance_npcname("#mk_combo");
- unittalk 'boss_id, "You'll have to do better than this!";
- sleep 2000;
- if ('boss_id == 0)
- end;
- getunitdata 'boss_id, .@data;
- 'boss_hp = .@data[UMOB_HP];
- killmonster 'map_eom$, instance_npcname("#despair_god_main") + "::OnMobDead";
- monster 'map_eom$,101,207, "Demigod",3096,1, instance_npcname("#despair_god_main") + "::OnMobDead"; // MM_MOROCC_KID
- 'boss_id = $@mobid[0];
- setunitdata 'boss_id, UMOB_HP, 'boss_hp;
- setunitdata 'boss_id, UMOB_MODE, (MD_MVP|MD_STATUSIMMUNE|MD_KNOCKBACKIMMUNE|MD_MVP|MD_DETECTOR); // todo: MD_SKILL_IMMUNE ?
- sleep 2000;
- if ('boss_id == 0)
- end;
- donpcevent instance_npcname("#moc_origin") + "::OnEnable";
- end;
- OnPhase03:
- if ('boss_phase != 2)
- end;
- 'boss_phase = 3;
- getunitdata 'boss_id, .@data;
- .@hp = .@data[UMOB_HP] + ('boss_hp - .@data[UMOB_HP]) * 10;
- 'boss_hp = min(80000000,.@hp);
- killmonster 'map_eom$, instance_npcname("#despair_god_main") + "::OnMobDead";
- monster 'map_eom$,101,194, "Demigod",3096,1, instance_npcname("#despair_god_main") + "::OnMobDead"; // MM_MOROCC_KID
- 'boss_id = $@mobid[0];
- setunitdata 'boss_id, UMOB_HP, 'boss_hp;
- unittalk 'boss_id, "Stop being so persistent!";
- sleep 2000;
- if ('boss_id == 0)
- end;
- unitskilluseid 'boss_id, "NPC_WIDEWEB",1;
- sleep 1000;
- if ('boss_id == 0)
- end;
- unitskilluseid 'boss_id, "NPC_FIRESTORM",3;
- sleep 1000;
- if ('boss_id == 0)
- end;
- unitskilluseid 'boss_id, "MG_FIREBALL",1;
- donpcevent instance_npcname("#mk_hpcheck") + "::OnStart";
- donpcevent instance_npcname("#mk_combo") + "::OnEvent";
- end;
- OnTest_hp:
- if ('boss_id && mobcount( 'map_eom$, instance_npcname("#despair_god_main") + "::OnMobDead" ) > 0)
- setunitdata 'boss_id, UMOB_HP, 2000000;
- end;
- OnMobDead:
- disablenpc instance_npcname("#despair_god_main");
- killmonster 'map_eom$, instance_npcname("#despair_god_main") + "::OnMobDead";
- stopnpctimer instance_npcname("#mk_combo");
- stopnpctimer instance_npcname("#demigod_event_1");
- stopnpctimer instance_npcname("#demigod_event_2");
- stopnpctimer instance_npcname("#demigod_event_3");
- stopnpctimer instance_npcname("#moc_meddling");
- stopnpctimer instance_npcname("#mk_hpcheck");
- donpcevent instance_npcname("#moc_origin") + "::OnEnd";
- donpcevent instance_npcname("#demon_god_variables") + "::OnVariableReset";
- donpcevent instance_npcname("#morocc_god") + "::OnStart";
- end;
- }
- 1@eom,4,2,0 script #mk_combo CLEAR_NPC,{
- end;
- OnEvent:
- initnpctimer;
- 'combo_is_allowed = true;
- end;
- OnStart:
- initnpctimer;
- end;
- OnTimer10000:
- donpcevent instance_npcname("#demigod_event_" + rand(1,3)) + "::OnEvent";
- stopnpctimer;
- end;
- OnEnd:
- stopnpctimer;
- 'combo_is_allowed = false;
- end;
- }
- 1@eom,4,1,0 script #mk_hpcheck CLEAR_NPC,{
- end;
- OnStart:
- initnpctimer;
- end;
- OnTimer6000:
- getunitdata 'boss_id, .@data;
- .@hp = .@data[UMOB_HP];
- if ('boss_hp < .@hp) {
- initnpctimer;
- end;
- }
- .@hp_a = 'boss_hp - .@hp;
- if (.@hp_a > 1000000) {
- if (.@hp_a > 200000) {
- .@hp_b = .@hp + (.@hp_a - 200000) * 3;
- .@hp_b = min(80000000, .@hp_b);
- setunitdata 'boss_id, UMOB_HP, .@hp_b;
- mapannounce 'map_eom$, "Nidhogg: Wow, his regenerative power is unheard of! Don't let him regenerate again!", bc_map, 0x00ff00;
- }
- unitskilluseid 'boss_id, "AL_HEAL",11;
- getunitdata 'boss_id, .@data;
- 'boss_hp = .@data[UMOB_HP];
- initnpctimer;
- end;
- }
- 'boss_hp = .@hp;
- switch( 'boss_phase ) { // process by phase instead of (officially) hp, just in case
- case 1:
- if (.@hp < 40000000)
- donpcevent instance_npcname("#despair_god_main") + "::OnPhase02";
- break;
- case 2:
- break;
- case 3:
- if (.@hp > 100000 && .@hp < 30000000)
- donpcevent instance_npcname("#mk_trap") + "::OnTrap";
- break;
- }
- initnpctimer;
- end;
- }
- 1@eom,1,1,0 script #demigod_event_1 -1,{
- end;
- OnEvent:
- initnpctimer;
- unittalk 'boss_id, "Mwah hah, dodge this if you can!";
- end;
- OnTimer2000:
- unitskilluseid 'boss_id, "NPC_WIDEWEB",1;
- end;
- OnTimer3000:
- unitskilluseid 'boss_id, "NPC_FIRESTORM",3;
- end;
- OnTimer5000:
- getunitdata 'boss_id, .@data;
- unitskillusepos 'boss_id,"WZ_VERMILION",21,.@data[UMOB_X],.@data[UMOB_Y],-50;
- end;
- OnTimer7000:
- stopnpctimer;
- unitskilluseid 'boss_id, "CR_REFLECTSHIELD",1;
- if ('combo_is_allowed)
- donpcevent instance_npcname("#mk_combo") + "::OnEvent";
- end;
- }
- 1@eom,1,1,0 script #demigod_event_2 -1,{
- end;
- OnEvent:
- initnpctimer;
- unittalk 'boss_id, "A rhapsody for weak souls...";
- end;
- OnTimer2000:
- unitskilluseid 'boss_id, "NPC_WIDEWEB",1;
- end;
- OnTimer3000:
- getunitdata 'boss_id, .@data;
- 'bossx = .@data[UMOB_X];
- 'bossy = .@data[UMOB_Y];
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-2),'bossy,-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+2),'bossy,-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,'bossx,('bossy+2),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,'bossx,('bossy-2),-50;
- end;
- OnTimer4000:
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-6),'bossy,-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+6),'bossy,-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,'bossx,('bossy+6),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,'bossx,('bossy-6),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-4),('bossy+4),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-4),('bossy-4),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+4),('bossy+4),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+4),('bossy-4),-50;
- end;
- OnTimer5000:
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-10),'bossy,-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+10),'bossy,-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,'bossx,('bossy+10),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,'bossx,('bossy-10),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-8),('bossy+8),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-8),('bossy-8),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+8),('bossy+8),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+8),('bossy-8),-50;
- end;
- OnTimer6000:
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-16),'bossy,-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+16),'bossy,-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,'bossx,('bossy+16),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,'bossx,('bossy-16),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-12),('bossy+12),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-12),('bossy-12),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+12),('bossy+12),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+12),('bossy-12),-50;
- end;
- OnTimer7000:
- stopnpctimer;
- if ('combo_is_allowed)
- donpcevent instance_npcname("#mk_combo") + "::OnEvent";
- end;
- }
- 1@eom,1,1,0 script #demigod_event_3 -1,{
- end;
- OnEvent:
- initnpctimer;
- unittalk 'boss_id, "For whom the fugue is played? For whom the requiem is played?";
- end;
- OnTimer2000:
- unitskilluseid 'boss_id, "NPC_WIDEWEB",1;
- end;
- OnTimer3000:
- unitskilluseid 'boss_id, "NPC_FIRESTORM",3;
- end;
- OnTimer5000:
- getunitdata 'boss_id, .@data;
- unitskillusepos 'boss_id,"WZ_METEOR",5,(.@data[UMOB_X]-5),.@data[UMOB_Y],-50;
- unitskillusepos 'boss_id,"WZ_METEOR",5,(.@data[UMOB_X]+5),.@data[UMOB_Y],-50;
- unitskillusepos 'boss_id,"WZ_METEOR",5,.@data[UMOB_X],(.@data[UMOB_Y]+5),-50;
- unitskillusepos 'boss_id,"WZ_METEOR",5,.@data[UMOB_X],(.@data[UMOB_Y]-5),-50;
- end;
- OnTimer9000:
- unittalk 'boss_id, "Burn to ashes!";
- end;
- OnTimer11000:
- getunitdata 'boss_id, .@data;
- unitskillusepos 'boss_id,"WZ_VERMILION",21,.@data[UMOB_X],.@data[UMOB_Y],-50; // assuming position on (0,0) is self
- end;
- OnTimer13000:
- stopnpctimer;
- if ('combo_is_allowed)
- donpcevent instance_npcname("#mk_combo") + "::OnEvent";
- end;
- }
- 1@eom,4,3,0 script #moc_origin CLEAR_NPC,{
- end;
- OnEnable:
- enablenpc instance_npcname("#moc_origin");
- monster 'map_eom$,114,198, "Morroc of the Genesis", 3098,1, instance_npcname("#moc_origin") + "::OnMobDead1"; // MM_MOROCC_ORIGIN
- 'miniboss_id[0] = $@mobid[0];
- 'miniboss_id[1] = 0;
- initnpctimer;
- end;
- OnTimer1000:
- donpcevent instance_npcname("#moc_origin") + "::OnOriginheal";
- if ('miniboss_id[0] < 1)
- end;
- getunitdata 'miniboss_id[0], .@data;
- if (.@data[UMOB_HP] < 2200000) {
- if ('miniboss_id[1] == 0) {
- monster 'map_eom$,86,199, "Morroc of the Sabbath", 3099,1, instance_npcname("#moc_origin") + "::OnMobDead2"; // MM_MOROCC_REST
- 'miniboss_id[1] = $@mobid[0];
- }
- }
- end;
- OnTimer2000:
- initnpctimer;
- end;
- OnOriginheal:
- for ( .@i = 0; .@i < 11; .@i++ ) {
- unitskilluseid 'boss_id, "AL_HEAL",11;
- sleep 200;
- if ('boss_id == 0)
- end;
- }
- end;
- OnMobDead1:
- 'miniboss_id[0] = 0;
- callsub S_Dead;
- OnMobDead2:
- 'miniboss_id[1] = 0;
- callsub S_Dead;
- S_Dead:
- if ('miniboss_id[1] == 0 && 'miniboss_id[0] > 0) { // todo, custom text
- unittalk 'miniboss_id[0], "---!!!";
- setunitdata 'miniboss_id[0], UMOB_HP, 3000000;
- stopnpctimer instance_npcname("#moc_meddling");
- }
- else if ('miniboss_id[1] == 0 && 'miniboss_id[0] == 0) {
- donpcevent instance_npcname("#moc_origin") + "::OnEnd";
- stopnpctimer instance_npcname("#moc_meddling");
- donpcevent instance_npcname("#despair_god_main") + "::OnPhase03";
- }
- else {
- unittalk 'miniboss_id[1], "I'll put you to rest. It's my mercy!!!"; // todo, custom text
- setunitdata 'miniboss_id[1], UMOB_HP, 1000000;
- donpcevent instance_npcname("#moc_meddling") + "::OnStart";
- }
- end;
- OnEnd:
- stopnpctimer;
- disablenpc instance_npcname("#moc_origin");
- killmonster 'map_eom$, instance_npcname("#moc_origin") + "::OnMobDead1";
- killmonster 'map_eom$, instance_npcname("#moc_origin") + "::OnMobDead2";
- end;
- }
- 1@eom,1,1,0 script #moc_meddling -1,{
- end;
- OnStart:
- initnpctimer;
- getunitdata 'miniboss_id[1], .@data;
- if (.@data[UMOB_HP] > 100000)
- unitskillusepos 'miniboss_id[1],"WZ_METEOR",9,.@data[UMOB_X],.@data[UMOB_Y],-50;
- end;
- OnTimer5000:
- initnpctimer;
- end;
- }
- 1@eom,4,6,0 script #mk_trap CLEAR_NPC,{
- end;
- OnTrap:
- .@label$ = instance_npcname("#mk_trap") + "::OnMobDead";
- if (mobcount( 'map_eom$, .@label$ ) < 3) {
- getunitdata 'boss_id, .@data;
- monster 'map_eom$,.@data[UMOB_X]-4,.@data[UMOB_Y], "Frenzied Kasa", 3089,1, .@label$; // MM_LOCO_KASA
- monster 'map_eom$,.@data[UMOB_X],.@data[UMOB_Y]-4, "Frenzied Kasa", 3089,1, .@label$;
- monster 'map_eom$,.@data[UMOB_X]+4,.@data[UMOB_Y], "Frenzied Kasa", 3089,1, .@label$;
- monster 'map_eom$,.@data[UMOB_X],.@data[UMOB_Y]+4, "Frenzied Kasa", 3089,1, .@label$;
- }
- end;
- OnMobDead:
- end;
- }
- 1@eom,102,222,3 script #morocc_god 3097,{
- end;
- OnStart:
- enablenpc instance_npcname("#morocc_god");
- initnpctimer;
- end;
- OnTimer2000:
- mapannounce 'map_eom$, "This is getting more interesting. *Snicker*", bc_map, 0xff0000;
- end;
- OnTimer6000:
- mapannounce 'map_eom$, "Hey, you don't think this is over already, do you?", bc_map, 0xff0000;
- end;
- OnTimer10000:
- disablenpc instance_npcname("#morocc_god");
- end;
- OnTimer12000:
- donpcevent instance_npcname("#despair_main") + "::OnStart";
- end;
- OnTimer13000:
- unittalk 'boss_id, "What are you waiting for?!";
- end;
- OnTimer14000:
- unitskilluseid 'boss_id, "NPC_WIDEWEB",1;
- end;
- OnTimer16000:
- mapannounce 'map_eom$, "I'll take your blood!", bc_map, 0xff0000;
- end;
- OnTimer17000:
- stopnpctimer;
- getunitdata 'boss_id, .@data;
- unitskillusepos 'boss_id,"NPC_WIDESUCK",1,.@data[UMOB_X],.@data[UMOB_Y],-50;
- donpcevent instance_npcname("#ma_combo") + "::OnStart";
- end;
- }
- 1@eom,1,1,0 script #despair_main -1,{
- end;
- OnStart:
- enablenpc instance_npcname("#despair_main");
- monster 'map_eom$,101,194, "Despair God Morroc",3097,1, instance_npcname("#despair_main") + "::OnMobDead"; // MM_MOROCC_ADT
- 'boss_id = $@mobid[0];
- end;
- OnMobDead:
- disablenpc instance_npcname("#despair_main");
- killmonster 'map_eom$, instance_npcname("#despair_main") + "::OnMobDead";
- stopnpctimer instance_npcname("#morocc_god");
- stopnpctimer instance_npcname("#ma_combo");
- stopnpctimer instance_npcname("#despair_event_1");
- stopnpctimer instance_npcname("#despair_event_2");
- stopnpctimer instance_npcname("#despair_event_3");
- stopnpctimer instance_npcname("#despair_event_4");
- stopnpctimer instance_npcname("#despair_event_5");
- mapannounce 'map_eom$, "D-don't think... th-this... is over.. You're... already... time...", bc_map, 0xff0000;
- initnpctimer;
- 'step = 11;
- donpcevent instance_npcname("#demon_god_variables") + "::OnVariableReset";
- end;
- OnTimer2000:
- stopnpctimer;
- enablenpc instance_npcname("Nidhogg#eomnyd04");
- end;
- OnTest_hp:
- if ('boss_id && mobcount( 'map_eom$, instance_npcname("#despair_main") + "::OnMobDead" ) > 0)
- setunitdata 'boss_id, UMOB_HP, 2000000;
- end;
- }
- 1@eom,4,8,0 script #ma_combo CLEAR_NPC,{
- end;
- OnStart:
- initnpctimer;
- end;
- OnTimer10000:
- donpcevent instance_npcname("#despair_event_" + rand(1,5)) + "::OnEvent";
- stopnpctimer;
- end;
- }
- 1@eom,1,1,0 script #despair_event_1 -1,{
- end;
- OnEvent:
- initnpctimer;
- unittalk 'boss_id, "I'll burn you slowly and painfully.";
- end;
- OnTimer2000:
- unitskilluseid 'boss_id, "NPC_WIDEWEB",1;
- end;
- OnTimer3000:
- unitskilluseid 'boss_id, "NPC_FIRESTORM",3;
- end;
- OnTimer5000:
- stopnpctimer;
- getunitdata 'boss_id, .@data;
- unitskillusepos 'boss_id,"WZ_METEOR",11,.@data[UMOB_X],.@data[UMOB_Y],-50;
- donpcevent instance_npcname("#ma_combo") + "::OnStart";
- end;
- }
- 1@eom,1,1,0 script #despair_event_2 -1,{
- end;
- OnEvent:
- initnpctimer;
- unittalk 'boss_id, "Can you hear the rhapsody? It's the sound of your soul writhing and screaming in pain!";
- end;
- OnTimer2000:
- unitskilluseid 'boss_id, "NPC_WIDEWEB",1;
- end;
- OnTimer3000:
- getunitdata 'boss_id, .@data;
- 'bossx = .@data[UMOB_X];
- 'bossy = .@data[UMOB_Y];
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-2),'bossy,-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+2),'bossy,-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,'bossx,('bossy+2),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,'bossx,('bossy-2),-50;
- end;
- OnTimer4000:
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-6),'bossy,-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+6),'bossy,-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,'bossx,('bossy+6),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,'bossx,('bossy-6),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-4),('bossy+4),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-4),('bossy-4),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+4),('bossy+4),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+4),('bossy-4),-50;
- end;
- OnTimer5000:
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-10),'bossy,-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+10),'bossy,-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,'bossx,('bossy+10),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,'bossx,('bossy-10),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-8),('bossy+8),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-8),('bossy-8),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+8),('bossy+8),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+8),('bossy-8),-50;
- end;
- OnTimer6000:
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-16),'bossy,-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+16),'bossy,-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,'bossx,('bossy+16),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,'bossx,('bossy-16),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-12),('bossy+12),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx-12),('bossy-12),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+12),('bossy+12),-50;
- unitskillusepos 'boss_id,"MG_THUNDERSTORM",20,('bossx+12),('bossy-12),-50;
- end;
- OnTimer7000:
- stopnpctimer;
- donpcevent instance_npcname("#ma_combo") + "::OnStart";
- end;
- }
- 1@eom,1,1,0 script #despair_event_3 -1,{
- end;
- OnEvent:
- initnpctimer;
- unittalk 'boss_id, "This is the thunderbolt of death!";
- end;
- OnTimer2000:
- unitskilluseid 'boss_id, "NPC_WIDEWEB",1;
- end;
- OnTimer4000:
- unitskilluseid 'boss_id, "NPC_WIDEFREEZE",5;
- end;
- OnTimer6000:
- getunitdata 'boss_id, .@data;
- unitskillusepos 'boss_id,"WZ_VERMILION",5,(.@data[UMOB_X]-7),.@data[UMOB_Y],-50;
- unitskillusepos 'boss_id,"WZ_VERMILION",5,(.@data[UMOB_X]+7),.@data[UMOB_Y],-50;
- unitskillusepos 'boss_id,"WZ_VERMILION",5,.@data[UMOB_X],(.@data[UMOB_Y]+7),-50;
- unitskillusepos 'boss_id,"WZ_VERMILION",5,.@data[UMOB_X],(.@data[UMOB_Y]-7),-50;
- end;
- OnTimer10000:
- unittalk 'boss_id, "Burn and make beautiful flames!";
- end;
- OnTimer12000:
- getunitdata 'boss_id, .@data;
- unitskillusepos 'boss_id,"WZ_VERMILION",21,.@data[UMOB_X],.@data[UMOB_Y],-50;
- end;
- OnTimer14000:
- stopnpctimer;
- donpcevent instance_npcname("#ma_combo") + "::OnStart";
- end;
- }
- 1@eom,1,1,0 script #despair_event_4 -1,{
- end;
- OnEvent:
- initnpctimer;
- unittalk 'boss_id, "I'll take your life.";
- unitskilluseid 'boss_id, "NPC_FLAMECROSS",1;
- end;
- OnTimer1000:
- getunitdata 'boss_id, .@data;
- unitskillusepos 'boss_id,"NPC_WIDESUCK",1,.@data[UMOB_X],.@data[UMOB_Y],-50;
- end;
- OnTimer5000:
- stopnpctimer;
- donpcevent instance_npcname("#ma_combo") + "::OnStart";
- end;
- }
- 1@eom,1,1,0 script #despair_event_5 -1,{
- end;
- OnEvent:
- initnpctimer;
- unittalk 'boss_id, "*Chuckle*";
- end;
- OnTimer2000:
- unitskilluseid 'boss_id, "NPC_FIRESTORM",3;
- end;
- OnTimer4000:
- getunitdata 'boss_id, .@data;
- unitskillusepos 'boss_id,"WZ_FIREPILLAR",10,.@data[UMOB_X],.@data[UMOB_Y],-50;
- end;
- OnTimer8000:
- stopnpctimer;
- donpcevent instance_npcname("#ma_combo") + "::OnStart";
- end;
- }
- 1@eom,103,194,3 script Nidhogg#eomnyd04 4_F_NYDHOG,{
- if ('step < 11)
- end;
- if (isbegin_quest(7597) == 0 && checkquest(7593,HUNTING) == 2) {
- mes "[Nidhogg]";
- mes "I don't know what to say.";
- mes "We stopped the god-in-waiting.";
- mes "We accomplished our goal.";
- mes "But I'm still unnerved.";
- cutin "ep14_nyd03.bmp",2;
- next;
- mes "[Nidhogg]";
- mes "This world is created in the mind of Morroc's.";
- mes "He'll live forever in this garden he couldn't finish.";
- cutin "ep14_nyd02.bmp",2;
- next;
- mes "[Nidhogg]";
- mes "He probably doesn't know his body is destroyed forever.";
- mes "He was far too ambitious, even for him.";
- mes "He wanted to create a new world and become its creator,";
- next;
- mes "[Nidhogg]";
- mes "but he couldn't create anything on his own.";
- mes "He abandoned his Demon body, just to become a mere facsimile of an existing god.";
- cutin "ep14_nyd03.bmp",2;
- next;
- mes "[Nidhogg]";
- mes "He took the shape of a man.";
- mes "He wasn't creative enough to reinvent the concept of God.";
- mes "He was a paradox.";
- next;
- mes "[Nidhogg]";
- mes "Now we need to get out of this trap in time and end; to reality.";
- mes "This world only exists in the Demon God's mind. The same day repeats forever.";
- next;
- mes "[Nidhogg]";
- mes "Everyone who enters this world will be dragged into the same loop.";
- mes "In that sense, he succeeded in making his own world.";
- cutin "ep14_nyd02.bmp",2;
- next;
- mes "[Nidhogg]";
- mes "Today's despair will repeat day after day.";
- mes "Even though we know this, we'll come back to walk the same path again. I hope I'll be able to fight by you every time...";
- cutin "ep14_nyd03.bmp",2;
- next;
- cutin "ep14_nyd04.bmp",2;
- mes "[Nidhogg]";
- mes "I've talked too much. The Commander must be waiting. Let me validate your feat, so you can report to him.";
- mes "You did great today.";
- if (isbegin_quest(7593) == 1) {
- erasequest 7593;// Demon God Subjugation
- setquest 7597;// Fall of the False God
- }
- if (checkquest(7601,HUNTING) == 1)
- erasequest 7601;
- if (isbegin_quest(7602) > 0)
- erasequest 7602;// Temple of the Demon God Phase 1 Completed
- if (isbegin_quest(7603) == 1)
- erasequest 7603;
- if (isbegin_quest(7604) > 0)
- erasequest 7604;// Temple of the Demon God Phase 2 Completed
- if (isbegin_quest(7596) == 1)
- erasequest 7596;
- }
- else { // todo, custom text
- mes "[Nidhogg]";
- mes "...It feels like things are not over yet,";
- mes "This is very close to Morroc's spiritual world,";
- mes "He should be here to keep thinking about the past!";
- cutin "ep14_nyd03.bmp",2;
- }
- next;
- select("Exit.");
- mes "[Nidhogg]";
- mes "Of course. You must be exhausted.";
- mes "Let me send you to the other members of your Expedition, free of charge.";
- close2;
- warp "moro_vol",91,87;
- end;
- }
- 1@eom,5,1,0 script Little Helper#eomtest 4_ENERGY_BLUE,{
- mes "What?";
- next;
- if (callfunc("F_GM_NPC",1854,0) < 1) {
- mes "Wrong.";
- close;
- }
- mes "What Boss?";
- next;
- switch( select( "Brinaranea", "Muspellskoll", "Demigod", "Despair God" ) ) {
- case 1:
- mes "Brinaranea health was set to 2.000.000.";
- donpcevent instance_npcname("Brinaranea#brinpc01") + "::OnTest_hp";
- close;
- case 2:
- mes "Muspellskoll health was set to 2.000.000.";
- donpcevent instance_npcname("#skollmaster") + "::OnTest_hp";
- close;
- case 3:
- mes "Demigod health was set to 2.000.000.";
- donpcevent instance_npcname("#despair_god_main") + "::OnTest_hp";
- close;
- case 4:
- mes "Despair God health was set to 2.000.000.";
- donpcevent instance_npcname("#despair_main") + "::OnTest_hp";
- close;
- }
- end;
- }
|