Jump to content

DanTheMan

Members
  • Posts

    13
  • Joined

  • Last visited

About DanTheMan

  • Birthday 09/30/1988

Profile Information

  • Gender
    Male
  • Location
    Germany

Recent Profile Visitors

709 profile views

DanTheMan's Achievements

Poring

Poring (1/15)

0

Reputation

  1. Works now although the server just crashed, hehe. Doesn't have anything to do with that part tho. Thanks a lot!
  2. Thanks for the suggestion! It doesn't seem to work tho. Map server says: [Error]: buildin_disableitemuse: fatal error ! player not attached! [Debug]: Function: disable_items (no parameters) [Debug]: Source (NPC): Taho at ma_scene01 (174,179) That's what I wrote in the initial script: set .char_id,getcharid(0); donpcevent "Taho::OnAtCommand"; end; And that's what I wrote in the script to be executed: OnAtCommand: set .@char_rid,getvariableofnpc(.char_id,"instance_command"); attachrid(.@char_rid); disable_items;
  3. Hi! Is it possible to execute "donpcevent" with passing the RID of the attached player? Basically executing another script while passing the RID and ending the initial script. Greetings, Dan
  4. Hello everyone, I've just added this script to my server. It works fine until the first mobs are spawned. areamonster .@map$,76,99,87,10,"Grand Chamberlain in pain",2466,15,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 416200); setunitdata($@mobId[.@i], UDT_HP, 416200); } } This seems to work (at least they're spawning) but the map-server tells me: I think this could be the reason why there are no other mobs. If I kill one monster then, this is triggered: if (.@mob_dead_num > 35) { mapannounce .@map$,"Himelmez's curse is getting weaker. Find any survivors!",bc_map,"0xFFFFFF"; killmonster .@map$,.@label$; donpcevent instance_npcname("Altar boy Domun#clearGH")+"::OnEnable"; donpcevent instance_npcname("#ghmemorialmob01")+"::OnDisable"; } Makes sense. Because if there are only 10 mobs, there will be only 9 left after I killed one. After that the boy unhides as he should. When the next mob group gets spawned then, the map-server tells me the same in green. [Error]: get_val_: fatal error ! player not attached! [Debug]: Function: setunitdata (3 parameters): [Debug]: Data: number value=110024063 [Debug]: Data: variable name='UDT_MAXHP' index=0 [Debug]: Data: number value=416200 [Debug]: Source (NPC): #ghmemorialmob02 at 1@gl_k (0,0) [Warning]: script:get_val: cannot access player variable 'UDT_MAXHP', defaulting to 0 The script is just copy+pasted. I've changed nothing. Does anyone have a clue how to fix that? Heres the full script: //= Old Glast Heim //===== By: ================================================== //= Ziu, Heris (translation) //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Discover the history of events that took place in the //= Glast Heim castle and how it ended up in ruins. //===== Changelogs: ================================= //= 1.0 First version. [Euphy] //= This is a custom version, and may contain bugs. //= 1.1 Bug fixes; removed redundant OnInstanceInit scripts. //= 1.2 Add NPC Hugin's Follower [exneval] //= NPC that give access to Glast Heim Nightmare Mode. //= 1.3 Add some NPCs placeholder. [exneval] //= 1.4 Update to its official text. [exneval] //= Support merchant, enchant, socket features. //= 1.5 idAthena merge. Removed Hugin's Follower NPCs. [Secretdataz] //= Changed `set` calls to direct assignments. //= Cleaned up the script. //= TODO: Confirm Hugin NPC's code flow. //= TODO: Dialogues "Engrish" cleanup. //============================================================ glast_01,204,273,6 script Hugin#ghinstance 755,{ if (BaseLevel < 130) { mes "[Hugin]"; mes "Why don't you come back after becoming stronger?"; mes "Maybe, level 130."; close; } if (ghinstance == 1) { mes "[Hugin]"; mes "Umm? Did you see me at another place? I don't think so. What about this time?"; if (checkquest(12322) == 1) { erasequest 12322; } next; } else { mes "[Hugin]"; mes "A long time ago, this castle did not like this."; next; mes "[Hugin]"; mes "Ah I'm sorry. I'm muttering in front of a stranger."; next; mes "[Hugin]"; mes "My name is Hugin. I'm studying the dimensional gap between time and space."; next; select("There's something like that here?"); mes "[Hugin]"; mes "Have you ever wondered about history of Glast Heim?"; next; mes "[Hugin]"; mes "There was a King named Shumiche who was known as a tyrant in the history of the Rune-Midgarts Kingdom."; next; mes "[Hugin]"; mes "Time will reveal the true answers if we look in the right places."; next; if (select("I don't care about history","That is interesting. Find anything?") == 1) { mes "[Hugin]"; mes "Really? Hmm, please come back later when you are interested then."; close; } mes "[Hugin]"; mes "Actually, dimensional time travel is possible but I'm so afraid to go there."; next; mes "[Hugin]"; mes "Yes! It might be possible for you."; next; mes "[Hugin]"; mes "Do you want to time travel?"; next; if (select("No, thanks.","Yes, of course I do!") == 1) { mes "[Hugin]"; mes "Really? But, jumping gigawatts this is such a great opportunity."; close; } mes "[Hugin]"; mes "I knew that you would understand what I said. Well, please tell what you gonna do."; setquest 12316; set ghinstance,1; next; } set .@ghins_time,checkquest(12317,PLAYTIME); if (.@ghins_time == -1) { set .@party_id,getcharid(1); set .@p_name$,getpartyname(.@party_id); set .@md_name$,"Old Glast Heim"; if (!instance_check_party(.@party_id)) { mes "[Hugin]"; mes "Why don't you make a party with more than 1 person and talk to me again?"; close; } if (getcharid(0) == getpartyleader(.@party_id,2)) { if (checkquest(12316) == 1) erasequest 12316; if (checkquest(12318,HUNTING) == -1) setquest 12318; set .@menu$,"Generate Time Gap:Enter Old Glast Heim:Cancel"; } else { if (checkquest(12316) == 1) { mes "[Hugin]"; mes "Have we met before? No way. It's my first time seeing you. What do you want?"; erasequest 12316; } if (checkquest(12318,HUNTING) == -1) setquest 12318; set .@menu$,":Enter Old Glast Heim:Cancel"; } switch(select(.@menu$)) { case 1: next; mes("[Hugin]"); mes("Right, choose a mode then."); $oghMode = select("Normal Mode","Hard Mode"); next; switch (instance_create(.@md_name$)) { case -3: dispbottom "Memorial Dungeon, 'Old Glast Heim' is already in progress.",0xFFFFFF; close; case -4: case -2: case -1: mes "Party Name: "+.@p_name$; mes "Party Leader: "+strcharinfo(0); mes "^0000ff"+.@md_name$+"^000000 - time gap generation failed."; close; } mes "[Hugin]"; mes "After the time gap opens, please tell me again."; close; case 2: switch(instance_enter(.@md_name$)) { case 3: //Custom text mes "[Hugin]"; mes "Sorry, I won't let you enter the time gap. There's something wrong with the dimension right now."; close; case 2: mes "[Hugin]"; mes "The time gap is not yet open."; close; case 1: mes "[Hugin]"; mes "Your body is not fit to enter the time gap. You won't be able to get in if you're not in a party."; close; case 0: mapannounce "glast_01",.@p_name$ + " party member " + strcharinfo(0) + " enters the Old Glast Heim",bc_map,"0x00ff99"; setquest 12317; //warp "1@gl_k",150,20; close; } break; case 3: close; } } else if (.@ghins_time == 0 || .@ghins_time == 1) { mes "[Hugin]"; mes "Oh, my..."; mes "You still have after-effects of time travel. You can't travel again with this condition."; next; mes "[Hugin]"; mes "Staying healthy is important so please take a break and come back again later."; close; } else { mes "^0000ffAll trace of access to Old Glast Heim have been removed. Now you can talk with Hugin again.^000000"; if (checkquest(12318,HUNTING) == -1) setquest 12318; erasequest 12317; close; } } // Floor 1 //============================================================ 1@gl_k,149,41,6 script Varmundt#ghinstance1 654,{ if (getcharid(0) == getpartyleader(getcharid(1),2)) { cutin "gl_barmund1",2; mes "[Varmundt]"; mes "Are you the one ^0000ffHerico^000000 sent to help me?"; npctalk "Are you the one Herico sent to help me?"; next; select("Oh. Well I..."); mes "["+strcharinfo(0)+"]"; mes "Ah yes, I am. Herico told me to meet you."; unittalk getcharid(3),"Ah yes, I am. Herico told me to meet you."; next; cutin "gl_barmund2",2; mes "[Varmundt]"; mes "We don't have much time. We must report to Sir. Heinrich about Himelmez's invasion."; npctalk "We don't have much time. We must report to Sir. Heinrich about Himelmez's invasion."; next; select("Himelmez..."); mes "["+strcharinfo(0)+"]"; mes "Who is Himelmez?"; unittalk getcharid(3),"Who is Himelmez?"; next; cutin "gl_barmund3",2; mes "[Varmundt]"; mes "Herico didn't tell you?"; npctalk "Herico didn't tell you?"; next; cutin "gl_barmund2",2; mes "[Varmundt]"; mes "She is the Ruler of Death, Dead man's Valkyrie. Himelmez is looking to take the hart of Ymir from us."; npctalk "She is the Ruler of Death, Dead man's Valkyrie. Himelmez is looking to take the hart of Ymir from us."; next; mes "[Varmundt]"; mes "She might even destroy this whole castle if she wanted to."; npctalk "She might even destroy this whole castle if she wanted to."; next; mes "[Varmundt]"; mes "Hurry! Report to Sir. Heinrich about Himelmez. I must check the defense barrier here!"; npctalk "Hurry! Report to Sir. Heinrich about Himelmez. I must check the defense barrier here!"; close2; cutin "gl_barmund2",255; donpcevent instance_npcname("Varmundt#ghinstance1")+"::OnDisable"; end; } else { cutin "gl_barmund2",2; mes "[Varmundt]"; mes "Where's your leader? I need his help."; close2; cutin "gl_barmund2",255; end; } OnInstanceInit: donpcevent instance_npcname("Varmundt#ghinstance1")+"::OnEnable"; 'oghMode = $oghMode; 'hardModeLootChance = 50; //default 50/1000, or 0.05%, change to increase chance end; OnDisable: hideonnpc instance_npcname("Varmundt#ghinstance1"); hideoffnpc instance_npcname("Heinrich#ghinstance1"); hideoffnpc instance_npcname("Varmundt#ghinstance2"); end; OnEnable: hideoffnpc instance_npcname("Varmundt#ghinstance1"); end; } 1@gl_k,145,54,6 script Khalitzburg Knightage#1 655,{ mes "["+strnpcinfo(1)+"]"; switch ((atoi(strnpcinfo(2)) + 1) / 2) { case 1: mes "Is there something you need?"; break; case 2: mes "What can I do for you?"; break; case 3: mes "..."; break; case 4: mes "I do not like to chat during work."; break; case 5: mes "Doesn't this castle seem weird all of a sudden? Something's not quite right."; break; case 6: mes "How do you know Varmundt? I heard that he's not really a friendly man..."; break; case 7: mes "Orders please."; break; case 8: mes "Please do not make a mess here."; break; case 9: mes "I had a weird dream last night. My mom was in it... Wonder if she is ok..."; break; case 10: mes "Are you wit Varmundt? Commander is waiting for you."; break; case 11: mes "My work shift will be over soon, but the next crew is not coming."; break; } close; OnDisable: hideonnpc instance_npcname(strnpcinfo(0)); end; OnEnable: hideoffnpc instance_npcname(strnpcinfo(0)); end; } 1@gl_k,154,54,3 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#2 655 1@gl_k,145,59,6 duplicate(Khalitzburg Knightage#1) White Knight#3 657 1@gl_k,154,59,3 duplicate(Khalitzburg Knightage#1) White Knight#4 657 1@gl_k,145,64,6 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#5 655 1@gl_k,154,64,3 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#6 655 1@gl_k,145,69,6 duplicate(Khalitzburg Knightage#1) White Knight#7 657 1@gl_k,154,69,3 duplicate(Khalitzburg Knightage#1) White Knight#8 657 1@gl_k,145,74,6 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#9 655 1@gl_k,154,74,3 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#10 655 1@gl_k,145,79,6 duplicate(Khalitzburg Knightage#1) White Knight#11 657 1@gl_k,154,79,3 duplicate(Khalitzburg Knightage#1) White Knight#12 657 1@gl_k,145,84,6 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#13 655 1@gl_k,154,84,3 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#14 655 1@gl_k,145,89,6 duplicate(Khalitzburg Knightage#1) White Knight#15 657 1@gl_k,154,89,3 duplicate(Khalitzburg Knightage#1) White Knight#16 657 1@gl_k,145,94,6 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#17 655 1@gl_k,154,94,3 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#18 655 1@gl_k,145,99,6 duplicate(Khalitzburg Knightage#1) White Knight#19 657 1@gl_k,154,99,3 duplicate(Khalitzburg Knightage#1) White Knight#20 657 1@gl_k,145,104,6 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#21 655 1@gl_k,154,104,3 duplicate(Khalitzburg Knightage#1) Khalitzburg Knightage#22 655 1@gl_k,149,100,6 script Heinrich#ghinstance1 652,{ if (getcharid(0) == getpartyleader(getcharid(1),2)) { cutin "gl_heinrich2",2; select("Sir. Heinrich. Varmundt..."); mes "["+strcharinfo(0)+"]"; mes "Sir. Heinrich. Do you know what is happening in the castle now?"; unittalk getcharid(3),"Sir. Heinrich. Do you know what is happening in the castle now?"; next; mes "[Heinrich]"; mes "Aren't you the adventurer that came along with Varmundt?"; npctalk "Aren't you the adventurer that came along with Varmundt?"; next; mes "[Heinrich]"; mes "What is it? Something wrong with the castle?"; npctalk "What is it? Something wrong with the castle?"; next; select("Himelmez's invasion..."); mes "["+strcharinfo(0)+"]"; mes "Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!"; unittalk getcharid(3),"Dead man's Valkyrie, Himelmez is coming to take the Ymir's Heart piece hidden inside this castle!"; next; cutin "gl_heinrich1",2; mes "[Heinrich]"; mes "Haha. Funny. Do you really think that is possible?"; npctalk "Haha. Funny. Do you really think that is possible?"; next; cutin "gl_barmund2",2; mes "[Varmundt]"; mes "I'm not kidding, Sir. Heinrich. If I'm correct, then she will be here very soon."; donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnTalk1"; next; mes "[Varmundt]"; mes "We must hide the heart piece to a safe place before Himelmez's attack starts!"; donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnTalk2"; next; select("Even if you don't believe me..."); mes "["+strcharinfo(0)+"]"; mes "I can't make you believe me, but there's no time to argue!"; unittalk getcharid(3),"I can't make you believe me, but there's no time to argue!"; cutin "gl_barmund2",255; next; cutin "gl_heinrich1",2; mes "[Heinrich]"; mes "Thank you for the help. But, we don't even have our king with us right now."; npctalk "Thank you for the help. But, we don't even have our king with us right now."; next; mes "[Heinrich]"; mes "We cannot risk moving the heart just because some stranger says so."; npctalk "We cannot risk moving the heart just because some stranger says so."; close2; donpcevent instance_npcname("Heinrich#ghinstance1")+"::OnDisable"; donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnEnable"; donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnEnable"; donpcevent instance_npcname("#talkinstance1")+"::OnEnable"; mapannounce instance_mapname("1@gl_k"),"????'s: Muahahahaha~!",bc_map,"0xFFFF00",FW_NORMAL,18; cutin "gl_heinrich1",255; end; } else { cutin "gl_heinrich2",2; mes "[Heinrich]"; mes "Where is your leader? I must talk to him."; close2; cutin "gl_heinrich2",255; end; } OnInstanceInit: OnDisable: hideonnpc instance_npcname("Heinrich#ghinstance1"); end; OnEnable: hideoffnpc instance_npcname("Heinrich#ghinstance1"); end; } 1@gl_k,152,97,3 script Varmundt#ghinstance2 654,{ end; OnInstanceInit: OnDisable: hideonnpc instance_npcname("Varmundt#ghinstance2"); end; OnEnable: hideoffnpc instance_npcname("Varmundt#ghinstance2"); end; OnTalk1: npctalk "I'm not kidding, Sir. Heinrich. If I'm correct, then she will be here very soon."; end; OnTalk2: npctalk "We must hide the heart piece to a safe place before Himelmez's attack starts!"; end; OnTalk3: npctalk "Himelmez!! Already!"; end; OnTalk4: npctalk "Sir. Heinrich, they're all monsters. You need to give them rest!"; end; OnTalk5: npctalk "Sir. Heinrich! We don't have much time!"; end; OnTalk6: npctalk "If you hurry now, there's a chance!"; end; } 1@gl_k,149,97,6 script Heinrich#ghinstance2 652,{ end; OnInstanceInit: OnDisable: hideonnpc instance_npcname("Heinrich#ghinstance2"); end; OnEnable: hideoffnpc instance_npcname("Heinrich#ghinstance2"); end; OnTalk1: npctalk "Who are you?"; end; OnTalk2: npctalk "Aren't you a little too feminine to be the Ruler of death? We are not afraid of you..."; end; OnTalk3: npctalk "What?"; end; OnTalk4: npctalk "My king is visiting the Rune-Midgarts royal family. He's not back yet."; end; OnTalk5: npctalk "And now you are trying to trick me, what has happened to him?!"; end; OnTalk6: npctalk "She probably already knows where the Ymir's heart piece is."; end; OnTalk7: npctalk "All Khalitzburg and White Knights should follow me now..."; end; OnTalk8: npctalk "My men... This can't be happening!"; end; OnTalk9: npctalk "I'm so sorry..."; end; OnTalk10: npctalk "I am sorry, my knights! Forgive me!"; end; } 1@gl_k,149,100,6 script Heinrich#ghinstance3 652,{ end; OnInstanceInit: OnDisable: hideonnpc instance_npcname("Heinrich#ghinstance3"); end; OnEnable: hideoffnpc instance_npcname("Heinrich#ghinstance3"); end; OnTalk1: npctalk "I killed my own men..."; end; OnTalk2: npctalk "Varmundt is right. Now is not the time for mourning."; end; OnTalk3: npctalk "I have a request to you followers."; end; OnTalk4: npctalk "Himelmez can turn living beings into monsters."; end; OnTalk5: npctalk "But, there might still be survivors here."; end; OnTalk6: npctalk "Destroy the monsters and find any survivors."; end; OnTalk7: npctalk "Varmundt and I will chase Himelmez."; end; OnTalk8: npctalk "Very well, Varmundt. Let's find Himelmez."; end; } 1@gl_k,149,89,1 script Himelmez#ghinstance1 650,{ end; OnInstanceInit: OnDisable: hideonnpc instance_npcname("Himelmez#ghinstance1"); end; OnEnable: hideoffnpc instance_npcname("Himelmez#ghinstance1"); end; OnTalk1: npctalk "Well well~ Am I interrupting you? Weren't you expecting me?"; end; OnTalk2: npctalk "My name is Lisa Kahn Himelmez. Master of Dullahan, Dead man's Valkyrie, that's what they call me."; end; OnTalk3: npctalk "Let's see if you can relax like that after you find out where your king is."; end; OnTalk4: npctalk "Hmm, now I have your attention do I not?"; end; OnTalk5: npctalk "It's a pity to meet you in a situation like this."; end; Ontalk6: npctalk "Well~ I would love to sit down and explain for you, but I'm kind of busy today~"; end; Ontalk7: npctalk "I have business to take care of. My minions will treat you well enough for me~"; end; } // Control Timer //============================================================ 1@gl_k,0,0,0 script #talkinstance1 -1,{ OnInstanceInit: OnDisable: disablenpc instance_npcname("#talkinstance1"); end; OnEnable: enablenpc instance_npcname("#talkinstance1"); initnpctimer; end; OnTimer1500: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk1"; end; OnTimer4500: donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk1"; end; OnTimer10000: donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnTalk3"; end; OnTimer17500: donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk2"; end; OnTimer22000: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk2"; end; OnTimer28500: donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk3"; end; OnTimer36000: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk3"; end; OnTimer41000: donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk4"; end; OnTimer54000: donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk5"; end; OnTimer59000: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk4"; end; OnTimer66500: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk5"; end; OnTimer71500: donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk6"; end; OnTimer78000: donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnTalk7"; end; OnTimer84500: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk6"; donpcevent instance_npcname("Himelmez#ghinstance1")+"::OnDisable"; end; OnTimer90500: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk7"; end; OnTimer92000: for (set .@i,1; .@i<=20; set .@i,.@i+4) { hideonnpc instance_npcname("Khalitzburg Knightage#"+.@i); hideonnpc instance_npcname("Khalitzburg Knightage#"+(.@i+1)); hideonnpc instance_npcname("White Knight#"+(.@i+2)); hideonnpc instance_npcname("White Knight#"+(.@i+3)); } hideonnpc instance_npcname("Khalitzburg Knightage#21"); hideonnpc instance_npcname("Khalitzburg Knightage#22"); set .@map$,instance_mapname("1@gl_k"); set .@label$,instance_npcname("#talkinstance1")+"::OnMyMobDead"; monster .@map$,145,59,"Abyss Knight",2470,1,.@label$; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 451578); setunitdata(.@mobId, UMOB_HP, 451578); } monster .@map$,154,59,"Abyss Knight",2470,1,.@label$; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 451578); setunitdata(.@mobId, UMOB_HP, 451578); } monster .@map$,145,69,"Abyss Knight",2470,1,.@label$; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 451578); setunitdata(.@mobId, UMOB_HP, 451578); } monster .@map$,154,69,"Abyss Knight",2470,1,.@label$; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 451578); setunitdata(.@mobId, UMOB_HP, 451578); } monster .@map$,145,79,"Abyss Knight",2470,1,.@label$; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 451578); setunitdata(.@mobId, UMOB_HP, 451578); } monster .@map$,154,79,"Abyss Knight",2470,1,.@label$; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 451578); setunitdata(.@mobId, UMOB_HP, 451578); } monster .@map$,145,89,"Abyss Knight",2470,1,.@label$; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 451578); setunitdata(.@mobId, UMOB_HP, 451578); } monster .@map$,154,89,"Abyss Knight",2470,1,.@label$; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 451578); setunitdata(.@mobId, UMOB_HP, 451578); } monster .@map$,145,99,"Abyss Knight",2470,1,.@label$; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 451578); setunitdata(.@mobId, UMOB_HP, 451578); } monster .@map$,154,99,"Abyss Knight",2470,1,.@label$; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 451578); setunitdata(.@mobId, UMOB_HP, 451578); } monster .@map$,145,54,"Khalitzburg",2471,1,.@label$; unittalk $@mobid[0],"Water... Someone give me water...",1; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 473702); setunitdata(.@mobId, UMOB_HP, 473702); } monster .@map$,154,54,"Khalitzburg",2471,1,.@label$; unittalk $@mobid[0],"Kkkrrrruughgh...",1; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 473702); setunitdata(.@mobId, UMOB_HP, 473702); } monster .@map$,145,64,"Khalitzburg",2471,1,.@label$; unittalk $@mobid[0],"Sir. Heinrich. Save me...",1; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 473702); setunitdata(.@mobId, UMOB_HP, 473702); } monster .@map$,154,64,"Khalitzburg",2471,1,.@label$; unittalk $@mobid[0],"I miss my sister...",1; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 473702); setunitdata(.@mobId, UMOB_HP, 473702); } monster .@map$,145,74,"Khalitzburg",2471,1,.@label$; unittalk $@mobid[0],"Don't leave me alone, help me.",1; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 473702); setunitdata(.@mobId, UMOB_HP, 473702); } monster .@map$,154,74,"Khalitzburg",2471,1,.@label$; unittalk $@mobid[0],"Aaarrrrrhhhh",1; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 473702); setunitdata(.@mobId, UMOB_HP, 473702); } monster .@map$,145,84,"Khalitzburg",2471,1,.@label$; unittalk $@mobid[0],"I am so thirsty.",1; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 473702); setunitdata(.@mobId, UMOB_HP, 473702); } monster .@map$,154,84,"Khalitzburg",2471,1,.@label$; unittalk $@mobid[0],"Oh...No...I can't die yet...",1; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 473702); setunitdata(.@mobId, UMOB_HP, 473702); } monster .@map$,145,94,"Khalitzburg",2471,1,.@label$; unittalk $@mobid[0],"I feel sick to my stomach urrgg",1; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 473702); setunitdata(.@mobId, UMOB_HP, 473702); } monster .@map$,154,94,"Khalitzburg",2471,1,.@label$; unittalk $@mobid[0],"Can someone...",1; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 473702); setunitdata(.@mobId, UMOB_HP, 473702); } monster .@map$,145,104,"Khalitzburg",2471,1,.@label$; unittalk $@mobid[0],"Arrgg... My body",1; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 473702); setunitdata(.@mobId, UMOB_HP, 473702); } monster .@map$,154,104,"Khalitzburg",2471,1,.@label$; unittalk $@mobid[0],"My throat is burning!",1; set .@mobId, $@mobId[0]; if('oghMode == 2) { setunitdata(.@mobId, UMOB_MAXHP, 473702); setunitdata(.@mobId, UMOB_HP, 473702); } end; OnTimer94000: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk8"; end; OnTimer96500: donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnTalk4"; end; OnTimer100000: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk9"; end; OnTimer103000: donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnTalk10"; end; OnTimer106000: mapannounce instance_mapname("1@gl_k"),"Sir. Heinrich: Death to all!",bc_map,"0xFFFF00",FW_NORMAL,18; end; OnTimer109000: mapannounce instance_mapname("1@gl_k"),"Sir. Heinrich: Go back to the darkness!",bc_map,"0xFFFF00",FW_NORMAL,18; end; OnTimer109500: enablenpc instance_npcname(".#ghinstance22"); enablenpc instance_npcname(".#ghinstance21"); donpcevent instance_npcname(".#ghinstance22")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance21")+"::OnEffect1"; end; OnTimer110000: enablenpc instance_npcname(".#ghinstance20"); enablenpc instance_npcname(".#ghinstance19"); enablenpc instance_npcname(".#ghinstance18"); enablenpc instance_npcname(".#ghinstance17"); donpcevent instance_npcname(".#ghinstance20")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance19")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance18")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance17")+"::OnEffect1"; end; OnTimer110500: enablenpc instance_npcname(".#ghinstance16"); enablenpc instance_npcname(".#ghinstance15"); enablenpc instance_npcname(".#ghinstance14"); enablenpc instance_npcname(".#ghinstance13"); donpcevent instance_npcname(".#ghinstance16")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance15")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance14")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance13")+"::OnEffect1"; end; OnTimer111000: enablenpc instance_npcname(".#ghinstance12"); enablenpc instance_npcname(".#ghinstance11"); enablenpc instance_npcname(".#ghinstance10"); enablenpc instance_npcname(".#ghinstance9"); donpcevent instance_npcname(".#ghinstance12")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance11")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance10")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance9")+"::OnEffect1"; end; OnTimer111500: enablenpc instance_npcname(".#ghinstance8"); enablenpc instance_npcname(".#ghinstance7"); enablenpc instance_npcname(".#ghinstance6"); enablenpc instance_npcname(".#ghinstance5"); donpcevent instance_npcname(".#ghinstance8")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance7")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance6")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance5")+"::OnEffect1"; end; OnTimer112000: enablenpc instance_npcname(".#ghinstance4"); enablenpc instance_npcname(".#ghinstance3"); enablenpc instance_npcname(".#ghinstance2"); enablenpc instance_npcname(".#ghinstance1"); donpcevent instance_npcname(".#ghinstance4")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance3")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance2")+"::OnEffect1"; donpcevent instance_npcname(".#ghinstance1")+"::OnEffect1"; donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnEnable"; donpcevent instance_npcname("Heinrich#ghinstance2")+"::OnDisable"; for (set .@i,1; .@i<=22; set .@i,.@i+1) disablenpc instance_npcname(".#ghinstance"+.@i); killmonster instance_mapname("1@gl_k"),instance_npcname("#talkinstance1")+"::OnMyMobDead"; end; OnTimer112500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk1"; end; OnTimer115500: donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnTalk5"; end; OnTimer118500: donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnTalk6"; end; OnTimer121500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk2"; end; OnTimer124500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk3"; end; OnTimer127500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk4"; end; OnTimer130500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk5"; end; OnTimer134500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk6"; end; OnTimer138500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk7"; end; OnTimer143500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnTalk8"; end; OnTimer147500: donpcevent instance_npcname("Heinrich#ghinstance3")+"::OnDisable"; end; OnTimer148500: donpcevent instance_npcname("Varmundt#ghinstance2")+"::OnDisable"; stopnpctimer; donpcevent instance_npcname("#ghinstancewarp1")+"::OnEnable"; donpcevent instance_npcname("#ghinstancewarp2")+"::OnEnable"; mapannounce instance_mapname("1@gl_k"),"A portal has opened to the west.",bc_map,"0xFFFF00"; donpcevent instance_npcname("#talkinstance1")+"::OnDisable"; donpcevent instance_npcname("#ghmemorialmob01")+"::OnEnable"; end; OnMyMobDead: end; } 1@gl_k,145,54,6 script .#ghinstance1 111,{ end; OnInstanceInit: OnDisable: disablenpc instance_npcname(strnpcinfo(0)); end; OnEnable: enablenpc instance_npcname(strnpcinfo(0)); end; OnEffect1: specialeffect EF_GRANDCROSS; specialeffect EF_LEXAETERNA; end; } 1@gl_k,154,54,3 duplicate(.#ghinstance1) .#ghinstance2 111 1@gl_k,145,59,6 duplicate(.#ghinstance1) .#ghinstance3 111 1@gl_k,154,59,3 duplicate(.#ghinstance1) .#ghinstance4 111 1@gl_k,145,64,6 duplicate(.#ghinstance1) .#ghinstance5 111 1@gl_k,154,64,3 duplicate(.#ghinstance1) .#ghinstance6 111 1@gl_k,145,69,6 duplicate(.#ghinstance1) .#ghinstance7 111 1@gl_k,154,69,3 duplicate(.#ghinstance1) .#ghinstance8 111 1@gl_k,145,74,6 duplicate(.#ghinstance1) .#ghinstance9 111 1@gl_k,154,74,3 duplicate(.#ghinstance1) .#ghinstance10 111 1@gl_k,145,79,6 duplicate(.#ghinstance1) .#ghinstance11 111 1@gl_k,154,79,3 duplicate(.#ghinstance1) .#ghinstance12 111 1@gl_k,145,84,6 duplicate(.#ghinstance1) .#ghinstance13 111 1@gl_k,154,84,3 duplicate(.#ghinstance1) .#ghinstance14 111 1@gl_k,145,89,6 duplicate(.#ghinstance1) .#ghinstance15 111 1@gl_k,154,89,3 duplicate(.#ghinstance1) .#ghinstance16 111 1@gl_k,145,94,6 duplicate(.#ghinstance1) .#ghinstance17 111 1@gl_k,154,94,3 duplicate(.#ghinstance1) .#ghinstance18 111 1@gl_k,145,99,6 duplicate(.#ghinstance1) .#ghinstance19 111 1@gl_k,154,99,3 duplicate(.#ghinstance1) .#ghinstance20 111 1@gl_k,145,104,6 duplicate(.#ghinstance1) .#ghinstance21 111 1@gl_k,154,104,3 duplicate(.#ghinstance1) .#ghinstance22 111 1@gl_k,96,80,0 script #ghinstancewarp1 45,2,2,{ end; OnInstanceInit: OnDisable: disablenpc instance_npcname(strnpcinfo(0)); end; OnEnable: enablenpc instance_npcname(strnpcinfo(0)); end; OnTouch: set .@map1$,instance_mapname("1@gl_k"); set .@map2$,instance_mapname("2@gl_k"); switch(atoi(replacestr(strnpcinfo(2),"ghinstancewarp",""))) { case 1: warp .@map1$,80,80; break; case 2: warp .@map1$,105,80; break; case 3: warp .@map1$,215,79; break; case 4: warp .@map1$,195,79; break; case 5: warp .@map1$,215,216; break; case 6: warp .@map1$,235,216; break; case 7: warp .@map2$,150,46; break; case 8: warp .@map2$,126,123; break; case 9: warp .@map2$,150,116; break; case 10: warp .@map2$,174,101; break; case 11: warp .@map2$,150,110; break; case 12: warp .@map2$,150,179; break; case 13: warp .@map2$,150,160; break; case 14: warp .@map1$,150,281; break; case 15: warp .@map1$,48,168; break; } end; } 1@gl_k,90,80,0 duplicate(#ghinstancewarp1) #ghinstancewarp2 45,2,2 1@gl_k,202,79,0 duplicate(#ghinstancewarp1) #ghinstancewarp3 45,2,2 1@gl_k,206,79,0 duplicate(#ghinstancewarp1) #ghinstancewarp4 45,2,2 1@gl_k,228,216,0 duplicate(#ghinstancewarp1) #ghinstancewarp5 45,2,2 1@gl_k,222,216,0 duplicate(#ghinstancewarp1) #ghinstancewarp6 45,2,2 1@gl_k,150,284,0 duplicate(#ghinstancewarp1) #ghinstancewarp7 45,2,2 2@gl_k,145,123,0 duplicate(#ghinstancewarp1) #ghinstancewarp8 45,2,2 2@gl_k,136,122,0 duplicate(#ghinstancewarp1) #ghinstancewarp9 45,2,2 2@gl_k,154,101,0 duplicate(#ghinstancewarp1) #ghinstancewarp10 45,2,2 2@gl_k,165,101,0 duplicate(#ghinstancewarp1) #ghinstancewarp11 45,2,2 2@gl_k,150,163,0 duplicate(#ghinstancewarp1) #ghinstancewarp12 45,2,2 2@gl_k,150,167,0 duplicate(#ghinstancewarp1) #ghinstancewarp13 45,2,2 2@gl_k,150,32,0 duplicate(#ghinstancewarp1) #ghinstancewarp14 45,2,2 1@gl_k,69,168,0 duplicate(#ghinstancewarp1) #ghinstancewarp15 45,2,2 // Sector 1 Mobs //============================================================ 1@gl_k,0,0,0 script #ghmemorialmob01 -1,{ OnInstanceInit: OnDisable: disablenpc instance_npcname("#ghmemorialmob01"); end; OnEnable: enablenpc instance_npcname("#ghmemorialmob01"); set .@map$,instance_mapname("1@gl_k"); set .@label$,instance_npcname("#ghmemorialmob01")+"::OnMyMobDead"; areamonster .@map$,76,99,87,10,"Grand Chamberlain in pain",2466,15,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 416200); setunitdata($@mobId[.@i], UDT_HP, 416200); } } areamonster .@map$,67,39,12,6,"Corrupted Monk",2465,20,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 200336); setunitdata($@mobId[.@i], UDT_HP, 200336); } } areamonster .@map$,67,39,12,6,"Grand Chamberlain in pain",2466,3,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 416200); setunitdata($@mobId[.@i], UDT_HP, 416200); } } areamonster .@map$,32,75,51,58,"Corrupted Steward",2464,6,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 271200); setunitdata($@mobId[.@i], UDT_HP, 271200); } } areamonster .@map$,45,84,6,137,"Corrupted Steward",2464,12,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 271200); setunitdata($@mobId[.@i], UDT_HP, 271200); } } end; OnMyMobDead: if('oghMode == 2) { if(rand(1000) < 'hardModeLootChance) { getitem 6755, 1; } } set .@map$,instance_mapname("1@gl_k"); set .@label$,instance_npcname("#ghmemorialmob01")+"::OnMyMobDead"; set .@mob_dead_num,56 - mobcount(.@map$,.@label$); if (.@mob_dead_num > 35) { mapannounce .@map$,"Himelmez's curse is getting weaker. Find any survivors!",bc_map,"0xFFFFFF"; killmonster .@map$,.@label$; donpcevent instance_npcname("Altar boy Domun#clearGH")+"::OnEnable"; donpcevent instance_npcname("#ghmemorialmob01")+"::OnDisable"; } end; } 1@gl_k,17,51,3 script Altar boy Domun#clearGH 706,{ if (getcharid(0) == getpartyleader(getcharid(1),2)) { mes "[Altar boy Domun]"; mes "Save me! Save me!!!"; npctalk "Save me! Save me!!!",1; next; select("Hold on! Are you the only survivor?"); mes "["+strcharinfo(0)+"]"; mes "Hold on! Are you the only survivor?"; unittalk getcharid(3),"Hold on! Are you the only survivor?"; next; mes "[Altar boy Domun]"; mes "Chamberlains... monks... They all turned into monsters. I couldn't do anything."; npctalk "Chamberlains... monks... They all turned into monsters. I couldn't do anything."; next; mes "[Altar boy Domun]"; mes "All I could do was... Just hide in here... Nothing, nothing I could do..."; npctalk "All I could do was... Just hide in here... Nothing, nothing I could do..."; next; select("Pull it together!"); mes "["+strcharinfo(0)+"]"; mes "Wake up kid! Go east and find the middle passage to the outside! That is safe!"; unittalk getcharid(3),"Wake up kid! Go east and find the middle passage to the outside! That is safe!"; next; mes "[Altar boy Domun]"; mes "To the east passage? Alone? How?"; npctalk "To the east passage? Alone? How?"; next; select("I will give you a weapon."); mes "["+strcharinfo(0)+"]"; mes "Here's a weapon. Just close your eye and swing for those monsters."; unittalk getcharid(3),"Here's a weapon. Just close your eye and swing for those monsters."; next; mes "[Altar boy Domun]"; mes "Ok, I... I'l try."; npctalk "Ok, I... I'l try."; close2; donpcevent instance_npcname("Altar boy Domun#clearGH")+"::OnDisable"; donpcevent instance_npcname("#ghmemorialmob02")+"::OnEnable"; end; } else { mes "[Altar boy Domun]"; mes "Save me, save me, please..."; close; } OnInstanceInit: OnDisable: hideonnpc instance_npcname("Altar boy Domun#clearGH"); end; OnEnable: hideoffnpc instance_npcname("Altar boy Domun#clearGH"); end; } // Sector 2 Mobs //============================================================ 1@gl_k,0,0,0 script #ghmemorialmob02 -1,{ OnInstanceInit: OnDisable: disablenpc instance_npcname("#ghmemorialmob02"); end; OnEnable: enablenpc instance_npcname("#ghmemorialmob02"); donpcevent instance_npcname("#ghinstancewarp3")+"::OnEnable"; donpcevent instance_npcname("#ghinstancewarp4")+"::OnEnable"; set .@map$,instance_mapname("1@gl_k"); set .@label$,instance_npcname("#ghmemorialmob02")+"::OnMyMobDead"; mapannounce .@map$,"A portal has opened to the east.",bc_map,"0xFFFF00"; areamonster .@map$,241,113,291,19,"Outraged Refiner",2466,12,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 416200); setunitdata($@mobId[.@i], UDT_HP, 416200); } } areamonster .@map$,241,113,291,19,"Decomposed Blacksmith",2464,12,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 200336); setunitdata($@mobId[.@i], UDT_HP, 200336); } } areamonster .@map$,227,217,291,135,"Outraged Refiner",2466,12,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 416200); setunitdata($@mobId[.@i], UDT_HP, 416200); } } areamonster .@map$,227,217,291,135,"Decomposed Blacksmith",2464,12,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 200336); setunitdata($@mobId[.@i], UDT_HP, 200336); } } end; OnMyMobDead: set .@map$,instance_mapname("1@gl_k"); set .@label$,instance_npcname("#ghmemorialmob02")+"::OnMyMobDead"; if('oghMode == 2) { if(rand(1000) < 'hardModeLootChance) { getitem 6755, 1; } } set .@mob_dead_num,48 - mobcount(.@map$,.@label$); if (.@mob_dead_num > 28) { mapannounce .@map$,"Himelmez's curse is getting weaker. Find any survivors!",bc_map,"0xFFFFFF"; killmonster .@map$,.@label$; donpcevent instance_npcname("Holgren the Destroyer")+"::OnEnable"; donpcevent instance_npcname("#ghmemorialmob02")+"::OnDisable"; } end; } 1@gl_k,291,145,3 script Holgren the Destroyer 726,{ if (getcharid(0) == getpartyleader(getcharid(1),2)) { mes "[Holgren the Destroyer]"; mes "Die!! You shall die!!!"; npctalk "Die!! You shall die!!!"; specialeffect EF_CRASHEARTH; next; select("Relax! I'm not a monster!"); mes "["+strcharinfo(0)+"]"; mes "Relax! I am Human. Are you alone? Anyone else here?"; unittalk getcharid(3),"Relax! I am Human. Are you alone? Anyone else here?"; next; mes "[Holgren the Destroyer]"; mes "It's only me alive."; npctalk "It's only me alive."; next; select("It's dangerous here..."); mes "["+strcharinfo(0)+"]"; mes "It's dangerous here. You know the way to the middle passage? Can you move?"; unittalk getcharid(3),"It's dangerous here. You know the way to the middle passage? Can you move?"; next; mes "[Holgren the Destroyer]"; mes "Yes, I can move. I need to get out of here."; npctalk "Yes, I can move. I need to get out of here."; next; select("Be safe..."); mes "["+strcharinfo(0)+"]"; mes "Sorry, I can't go with you."; unittalk getcharid(3),"Sorry, I can't go with you."; next; mes "[Holgren the Destroyer]"; mes "It's ok. You've already done enough. I can help myself. Good luck to you too."; npctalk "It's ok. You've already done enough. I can help myself. Good luck to you too."; close2; donpcevent instance_npcname("Holgren the Destroyer")+"::OnDisable"; donpcevent instance_npcname("#ghmemorialmob03")+"::OnEnable"; end; } else { mes "[Holgren the Destroyer]"; mes "You human?"; close; } OnInstanceInit: OnDisable: hideonnpc instance_npcname("Holgren the Destroyer"); end; OnEnable: hideoffnpc instance_npcname("Holgren the Destroyer"); end; } // Tramp Mobs //============================================================ 1@gl_k,221,82,3 script A dead man#GHtramp1 849,4,4,{ end; OnTouch: set .@i,rand(1,10); if (.@i == 1) set .@mobs,3; else if (.@i == 2) set .@mobs,4; else if (.@i == 3) set .@mobs,5; else if (.@i < 7) set .@mobs,6; else set .@mobs,7; getmapxy(.@map$,.@x,.@y,1); specialeffect EF_VENOMDUST; monster .@map$,.@x,.@y,"Maggot",2467,.@mobs,instance_npcname(strnpcinfo(0))+"::OnMyMobDead"; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 161622); setunitdata($@mobId[.@i], UDT_HP, 161622); } } disablenpc instance_npcname(strnpcinfo(0)); end; OnMyMobDead: if('oghMode == 2) { if(rand(1000) < 'hardModeLootChance) { getitem 6755, 1; } } end; OnInstanceInit: OnEnable: enablenpc instance_npcname(strnpcinfo(0)); end; OnDisable: disablenpc instance_npcname(strnpcinfo(0)); end; } 1@gl_k,213,63,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp2 849,4,4 1@gl_k,230,50,2 duplicate(A dead man#GHtramp1) A dead man#GHtramp3 849,4,4 1@gl_k,222,39,2 duplicate(A dead man#GHtramp1) A dead man#GHtramp4 849,4,4 1@gl_k,214,27,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp5 849,4,4 1@gl_k,223,17,2 duplicate(A dead man#GHtramp1) A dead man#GHtramp6 849,4,4 1@gl_k,235,16,4 duplicate(A dead man#GHtramp1) A dead man#GHtramp7 849,4,4 1@gl_k,251,20,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp8 849,4,4 1@gl_k,240,43,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp9 849,4,4 1@gl_k,271,19,1 duplicate(A dead man#GHtramp1) A dead man#GHtramp10 849,4,4 1@gl_k,246,62,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp11 849,4,4 1@gl_k,282,48,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp12 849,4,4 1@gl_k,285,81,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp13 849,4,4 1@gl_k,241,86,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp14 849,4,4 1@gl_k,249,101,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp15 849,4,4 1@gl_k,276,106,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp16 849,4,4 1@gl_k,252,120,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp17 849,4,4 1@gl_k,258,150,1 duplicate(A dead man#GHtramp1) A dead man#GHtramp18 849,4,4 1@gl_k,255,157,6 duplicate(A dead man#GHtramp1) A dead man#GHtramp19 849,4,4 1@gl_k,261,164,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp20 849,4,4 1@gl_k,269,173,7 duplicate(A dead man#GHtramp1) A dead man#GHtramp21 849,4,4 1@gl_k,280,167,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp22 849,4,4 1@gl_k,293,161,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp23 849,4,4 1@gl_k,226,96,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp24 849,4,4 1@gl_k,222,119,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp25 849,4,4 1@gl_k,233,123,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp26 849,4,4 2@gl_k,147,203,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp27 849,4,4 2@gl_k,141,222,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp28 849,4,4 2@gl_k,167,225,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp29 849,4,4 2@gl_k,145,236,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp30 849,4,4 2@gl_k,143,260,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp31 849,4,4 2@gl_k,170,259,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp32 849,4,4 2@gl_k,143,197,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp33 849,4,4 2@gl_k,155,195,5 duplicate(A dead man#GHtramp1) A dead man#GHtramp34 849,4,4 2@gl_k,154,188,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp35 849,4,4 2@gl_k,153,214,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp36 849,4,4 2@gl_k,172,233,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp37 849,4,4 2@gl_k,176,245,3 duplicate(A dead man#GHtramp1) A dead man#GHtramp38 849,4,4 // Sector 3 Mobs //============================================================ 1@gl_k,0,0,0 script #ghmemorialmob03 -1,{ OnInstanceInit: OnDisable: disablenpc instance_npcname("#ghmemorialmob03"); end; OnEnable: enablenpc instance_npcname("#ghmemorialmob03"); donpcevent instance_npcname("#ghinstancewarp5")+"::OnEnable"; donpcevent instance_npcname("#ghinstancewarp6")+"::OnEnable"; set .@map$,instance_mapname("1@gl_k"); set .@label$,instance_npcname("#ghmemorialmob03")+"::OnMyMobDead"; mapannounce .@map$,"A portal has appeared to the northwest.",bc_map,"0xFFFF00"; areamonster .@map$,17,259,53,180,"Hungry Palace Guard",2468,11,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 368160); setunitdata($@mobId[.@i], UDT_HP, 368160); } } areamonster .@map$,17,259,53,180,"Outraged Archer",2469,14,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 288740); setunitdata($@mobId[.@i], UDT_HP, 288740); } } areamonster .@map$,62,281,73,186,"Hungry Palace Guard",2468,11,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 368160); setunitdata($@mobId[.@i], UDT_HP, 368160); } } areamonster .@map$,62,281,73,186,"Outraged Archer",2469,14,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 288740); setunitdata($@mobId[.@i], UDT_HP, 288740); } } areamonster .@map$,74,251,109,224,"Corrupted Palace Guard",2468,11,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 368160); setunitdata($@mobId[.@i], UDT_HP, 368160); } } areamonster .@map$,74,251,109,224,"Wandering Archer",2469,14,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 288740); setunitdata($@mobId[.@i], UDT_HP, 288740); } } areamonster .@map$,108,281,231,234,"Corrupted Palace Guard",2468,11,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 368160); setunitdata($@mobId[.@i], UDT_HP, 368160); } } areamonster .@map$,108,281,231,234,"Wandering Archer",2469,14,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobId); .@i++ ) { setunitdata($@mobId[.@i], UDT_MAXHP, 288740); setunitdata($@mobId[.@i], UDT_HP, 288740); } } end; OnMyMobDead: set .@map$,instance_mapname("1@gl_k"); set .@label$,instance_npcname("#ghmemorialmob03")+"::OnMyMobDead"; if('oghMode == 2) { if(rand(1000) < 'hardModeLootChance) { getitem 6755, 1; } } set .@mob_dead_num,100 - mobcount(.@map$,.@label$); if (.@mob_dead_num > 85) { mapannounce .@map$,"Himelmez: Not bad. Thought you would be dead by now by my creatures~",bc_map,"0xFFFFFF"; killmonster .@map$,.@label$; donpcevent instance_npcname("#GHMclear3")+"::OnEnable"; donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnEnable"; donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnEnable"; donpcevent instance_npcname("Varmundt#ghinstance3")+"::OnEnable"; donpcevent instance_npcname("#ghmemorialmob03")+"::OnDisable"; } end; } // 1st MVP //============================================================ 1@gl_k,0,0,0 script #ghmemorialmob04 -1,{ OnInstanceInit: OnDisable: disablenpc instance_npcname("#ghmemorialmob04"); end; OnEnable: enablenpc instance_npcname("#ghmemorialmob04"); monster instance_mapname("1@gl_k"),150,258,"Corrupted Soul",2475,1,instance_npcname("#ghmemorialmob04")+"::OnMyMobDead"; if('oghMode == 2) { setunitdata($@mobId[0], UDT_MAXHP, 18200000); setunitdata($@mobId[0], UDT_HP, 18200000); } unittalk $@mobid[0],"Grrrrrrhh~~~",1; end; OnMyMobDead: set .@map$,instance_mapname("1@gl_k"); if('oghMode == 2) { if(rand(1000) < 'hardModeLootChance) { getitem 6755, 1; } } if (mobcount(.@map$,instance_npcname("#ghmemorialmob04")+"::OnMyMobDead") < 1) { mapannounce .@map$,"Opening 2nd floor entrance towards 12 O'clock direction.",bc_map,"0xFFFF00"; donpcevent instance_npcname("#ghinstancewarp7")+"::OnEnable"; donpcevent instance_npcname("#ghinstancewarp14")+"::OnEnable"; donpcevent instance_npcname("Varmundt#ghinstance3")+"::OnTalk2"; donpcevent instance_npcname("#effectGH01")+"::OnEnable"; donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnEnable"; donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnEnable"; donpcevent instance_npcname("#ghmemorialmob04")+"::OnDisable"; } end; } 1@gl_k,150,257,3 script #GHMclear3 111,9,9,{ end; OnTouch: donpcevent instance_npcname("#controlGH3")+"::OnEnable"; specialeffect EF_BASH; donpcevent instance_npcname("#GHMclear3")+"::OnDisable"; end; OnInstanceInit: OnDisable: disablenpc instance_npcname("#GHMclear3"); end; OnEnable: enablenpc instance_npcname("#GHMclear3"); initnpctimer; end; OnTimer2000: mapannounce instance_mapname("1@gl_k"),"Himelmez: I'll wait for you at the north of the castle. I want to see you how lucky you are.",bc_map,"0xFFFFFF"; stopnpctimer; end; } 1@gl_k,0,0,0 script #controlGH3 -1,{ OnInstanceInit: OnDisable: disablenpc instance_npcname("#controlGH3"); end; OnEnable: enablenpc instance_npcname("#controlGH3"); initnpctimer; end; OnTimer3000: donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk1"; end; OnTimer6000: donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk2"; end; OnTimer9000: donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk3"; end; OnTimer12000: donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnTalk1"; end; OnTimer15000: donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk4"; end; OnTimer18000: donpcevent instance_npcname("Varmundt#ghinstance3")+"::OnTalk1"; end; OnTimer21000: donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnTalk2"; end; OnTimer24000: donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk5"; end; OnTimer27000: donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnTalk6"; end; OnTimer28000: donpcevent instance_npcname("Himelmez#ghinstance2")+"::OnDisable"; end; OnTimer31000: donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnTalk3"; end; OnTimer32000: donpcevent instance_npcname("Heinrich#ghinstance4")+"::OnDisable"; end; OnTimer35000: mapannounce instance_mapname("1@gl_k"),"An echoing comes from deep inside of the knight's shrine.",bc_map,"0xFFFFFF"; end; OnTimer38000: donpcevent instance_npcname("#ghmemorialmob04")+"::OnEnable"; stopnpctimer; donpcevent instance_npcname("#controlGH3")+"::OnDisable"; end; } 1@gl_k,144,258,6 script Heinrich#ghinstance4 652,{ cutin "gl_heinrich1",2; mes "[Heinrich]"; mes "Himelmez... I will never forget what you've done to my men."; close2; cutin "gl_heinrich1",255; end; OnInstanceInit: OnDisable: hideonnpc instance_npcname("Heinrich#ghinstance4"); end; OnEnable: hideoffnpc instance_npcname("Heinrich#ghinstance4"); end; OnTalk1: npctalk "Himelmez! We will not let you get away from us!"; end; OnTalk2: npctalk "What... These are!"; end; OnTalk3: npctalk "Sir. Varmundt! Help those adventurers. I will go after Himelmez!"; end; } 1@gl_k,150,257,3 script Himelmez#ghinstance2 650,{ cutin "gl_himel2",2; mes "[Himelmez]"; mes "Don't look at me nervous like that."; mes "It will be over soon..."; close2; cutin "gl_himel2",255; end; OnInstanceInit: OnDisable: hideonnpc instance_npcname("Himelmez#ghinstance2"); end; OnEnable: hideoffnpc instance_npcname("Himelmez#ghinstance2"); end; OnTalk1: npctalk "Guess you are either lucky or powerful, to make it this far."; end; OnTalk2: npctalk "But, it doesn't matter."; end; OnTalk3: npctalk "You will all die here."; end; OnTalk4: npctalk "Ha ha ha, worry about yourself. You think I am alone here?"; end; OnTalk5: npctalk "I will go on my way while my new toy entertains you."; end; OnTalk6: npctalk "Fare well~, hope to see you again sometime, Heinrich."; end; } 1@gl_k,156,259,3 script Varmundt#ghinstance3 654,{ if (checkquest(12318,HUNTING) == 2) { cutin "gl_barmund1",2; mes "[Varmundt]"; mes "This item has extraordinary aura with it. Can be very useful for someone special."; erasequest 12318; if (checkquest(12319,HUNTING) == -1) setquest 12319; setquest 12320; erasequest 12320; getitem 6607,1; //Temporal_Crystal getitem 6608,1; //Coagulated_Spell getexp 250000,250000; close2; cutin "gl_barmund1",255; end; } cutin "gl_barmund1",2; mes "[Varmundt]"; mes "I guess this is it. Is it impossible to stop the time traveler's will?! A portal seems to have appeared to the north."; close2; cutin "gl_barmund2",255; end; OnInstanceInit: OnDisable: hideonnpc instance_npcname("Varmundt#ghinstance3"); end; OnEnable: hideoffnpc instance_npcname("Varmundt#ghinstance3"); end; OnTalk1: npctalk "Sir. Heinrich! I sense something strange and strong coming!"; end; OnTalk2: npctalk "I collected some items dropped from its body. You can take it from me."; end; } // Floor 2 //============================================================ 2@gl_k,148,67,1 script Heinrich#ghinstance5 652,{ cutin "gl_heinrich1",2; mes "[Heinrich]"; mes "Himelmez's closed space covers everywhere..."; close2; cutin "gl_heinrich1",255; end; OnInstanceInit: OnDisable: hideonnpc instance_npcname("Heinrich#ghinstance5"); end; OnEnable: hideoffnpc instance_npcname("Heinrich#ghinstance5"); end; OnTalk1: npctalk "This structure was not in the castle before!"; end; OnTalk2: npctalk "We tried to break it down but it's really strong."; end; OnTalk3: npctalk "It is inexcusable behavior."; end; OnTalk4: npctalk "I already exterminated all my soldiers and maybe more..."; end; OnTalk5: npctalk "..."; end; } 2@gl_k,151,71,7 script Varmundt#ghinstance4 654,{ cutin "gl_barmund1",2; mes "[Varmundt]"; mes "How many times I do this job. In my dream, I did it over and over again..."; close2; cutin "gl_barmund1",255; end; OnInstanceInit: OnDisable: hideonnpc instance_npcname("Varmundt#ghinstance4"); end; OnEnable: hideoffnpc instance_npcname("Varmundt#ghinstance4"); end; OnTalk1: npctalk "This is Himelmez's closed space. We blocked each area and aisle."; end; OnTalk2: npctalk "Step back. Let me try to dispel the magic."; end; OnTalk3: npctalk "I think that part of closed space is broke down."; end; OnTalk4: npctalk "I have never seen this closed space."; end; OnTalk5: npctalk "Himelmez hides stone chains in undead people's body."; end; OnTalk6: npctalk "Maybe this closed space is maintained with these stone chains."; end; OnTalk7: npctalk "If you want to break it, you have to kill one of those who have a stone chain."; end; OnTalk8: npctalk "But, we can't recognize who has a stone chain so, we have to purify everything."; end; OnTalk9: npctalk "Commander..."; end; OnTalk10: npctalk "Commander! You need to be strong."; end; OnTalk11: npctalk "Our enemy is not human."; end; OnTalk12: npctalk "Even though you deny it, they'll never turn back to human."; end; OnTalk13: npctalk "Well, let's go then."; end; OnTalk14: npctalk "And you guys, just take a break and follow us."; end; OnTalk15: npctalk "It could be hard fighting so, stay strong."; end; OnTalk16: npctalk "Ok, it's time to begin Heinrich."; end; } 2@gl_k,150,67,0 script #effectGH01 111,10,10,{ end; OnTouch: if (.touch) { set .touch,0; specialeffect EF_BASH; donpcevent instance_npcname("#controlGH4")+"::OnEnable"; } end; OnEffect: specialeffect EF_LORD; end; OnInstanceInit: OnDisable: disablenpc instance_npcname("#effectGH01"); end; OnEnable: enablenpc instance_npcname("#effectGH01"); set .touch,1; //Only activate OnTouch once end; } 2@gl_k,0,0,0 script #controlGH4 -1,{ OnInstanceInit: OnDisable: disablenpc instance_npcname("#controlGH4"); end; OnEnable: enablenpc instance_npcname("#controlGH4"); initnpctimer; end; OnTimer3000: donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk1"; donpcevent instance_npcname("#ghmemorialmob05")+"::OnEnable"; end; OnTimer6000: donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk1"; end; OnTimer9000: donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk2"; end; OnTimer12000: donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk2"; end; OnTimer15000: donpcevent instance_npcname("#effectGH01")+"::OnEffect"; end; OnTimer18000: donpcevent instance_npcname("#effectGH01")+"::OnDisable"; donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk3"; end; OnTimer21000: donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk4"; end; OnTimer24000: donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk5"; end; OnTimer27000: donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk6"; end; OnTimer30000: donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk7"; end; OnTimer33000: donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk8"; end; OnTimer36000: donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk3"; end; OnTimer39000: donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk4"; end; OnTimer42000: donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk9"; end; OnTimer45000: donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk10"; end; OnTimer48000: donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk11"; end; OnTimer51000: donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk12"; end; OnTimer54000: donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnTalk5"; end; OnTimer57000: donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk13"; end; OnTimer60000: donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk14"; end; OnTimer63000: donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk15"; end; OnTimer66000: donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnTalk16"; end; OnTimer69000: mapannounce instance_mapname("2@gl_k"),"A portal to the west has opened in the central hallway.",bc_map,"0xFFFF00"; donpcevent instance_npcname("#ghinstancewarp8")+"::OnEnable"; donpcevent instance_npcname("#ghinstancewarp9")+"::OnEnable"; donpcevent instance_npcname("#ghmemorialmob06")+"::OnEnable"; donpcevent instance_npcname("Varmundt#ghinstance4")+"::OnDisable"; donpcevent instance_npcname("Heinrich#ghinstance5")+"::OnDisable"; end; OnTimer70000: stopnpctimer; donpcevent instance_npcname("#controlGH4")+"::OnDisable"; end; } 2@gl_k,0,0,0 script #ghmemorialmob05 -1,{ OnInstanceInit: OnDisable: disablenpc instance_npcname("#ghmemorialmob05"); end; OnEnable: enablenpc instance_npcname("#ghmemorialmob05"); set .@map$,instance_mapname("2@gl_k"); set .@label$,instance_npcname("#ghmemorialmob05")+"::OnMyMobDead"; areamonster .@map$,124,20,31,162,"Corrupted Palace Guard",2468,8,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobIds); .@i++ ) { setunitdata($@mobIds[.@i], UDT_MAXHP, 368160); setunitdata($@mobIds[.@i], UDT_HP, 368160); } } areamonster .@map$,124,20,31,162,"Archer of Death",2469,8,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobIds); .@i++ ) { setunitdata($@mobIds[.@i], UDT_MAXHP, 288740); setunitdata($@mobIds[.@i], UDT_HP, 288740); } } areamonster .@map$,124,20,31,162,"Corrupted Abysmal Knight",2470,8,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobIds); .@i++ ) { setunitdata($@mobIds[.@i], UDT_MAXHP, 451578); setunitdata($@mobIds[.@i], UDT_HP, 451578); } } areamonster .@map$,124,20,31,162,"Suffered Khalitzburg",2471,8,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobIds); .@i++ ) { setunitdata($@mobIds[.@i], UDT_MAXHP, 473702); setunitdata($@mobIds[.@i], UDT_HP, 473702); } } areamonster .@map$,124,20,31,162,"Bloody Knight",2472,8,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobIds); .@i++ ) { setunitdata($@mobIds[.@i], UDT_MAXHP, 493502); setunitdata($@mobIds[.@i], UDT_HP, 493502); } } set 'MyMobs,80; end; OnMyMobDead: set .@map$,instance_mapname("2@gl_k"); if('oghMode == 2) { if(rand(1000) < 'hardModeLootChance) { getitem 6755, 1; } } set 'MyMobs,'MyMobs-1; if ('MyMobs == 0) { mapannounce .@map$,"Evil Forces are appearing in this area.",bc_map,"0xFFFF00",FW_NORMAL,18; donpcevent instance_npcname("#ghmemorialmob06")+"::OnDisable2"; donpcevent instance_npcname("#ghmemorialmob07")+"::OnEnable"; donpcevent instance_npcname("#ghmemorialmob05")+"::OnDisable"; } else { set .@label$,instance_npcname("#ghmemorialmob05")+"::OnMyMobDead"; switch(rand(5)) { case 0: areamonster .@map$,124,20,31,162,"Corrupted Palace Guard",2468,1,.@label$; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 368160); setunitdata($@mobIds[0], UDT_HP, 368160); } break; case 1: areamonster .@map$,124,20,31,162,"Archer of Death",2469,1,.@label$; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 288740); setunitdata($@mobIds[0], UDT_HP, 288740); } break; case 2: areamonster .@map$,124,20,31,162,"Corrupted Abysmal Knight",2470,1,.@label$; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 451578); setunitdata($@mobIds[0], UDT_HP, 451578); } break; case 3: areamonster .@map$,124,20,31,162,"Suffered Khalitzburg",2471,1,.@label$; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 473702); setunitdata($@mobIds[0], UDT_HP, 473702); } break; case 4: areamonster .@map$,124,20,31,162,"Bloody Knight",2472,1,.@label$; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 493502); setunitdata($@mobIds[0], UDT_HP, 493502); } break; } } end; } 2@gl_k,0,0,0 script #ghmemorialmob06 -1,{ OnInstanceInit: OnDisable: disablenpc instance_npcname("#ghmemorialmob06"); end; OnDisable2: stopnpctimer; disablenpc instance_npcname("#ghmemorialmob06"); end; OnEnable: enablenpc instance_npcname("#ghmemorialmob06"); donpcevent instance_npcname("#ghmemorialmob06")+"::OnSpawn"; end; OnSpawn: initnpctimer; end; OnTimer90000: set .@map$,instance_mapname("2@gl_k"); set .@label$,instance_npcname("#ghmemorialmob05")+"::OnMyMobDead"; setarray .@c[0], 114,141,118,139, 128,83,131,78, 88,53,93,48, 54,47,61,40, 58,83,63,78, 69,138,80,127, 34,143,39,138; for (set .@i,0; .@i<getarraysize(.@c); set .@i,.@i+4) { areamonster .@map$,.@c[.@i],.@c[.@i+1],.@c[.@i+2],.@c[.@i+3],"Corrupted Palace Guard",2468,1,.@label$; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 368160); setunitdata($@mobIds[0], UDT_HP, 368160); } areamonster .@map$,.@c[.@i],.@c[.@i+1],.@c[.@i+2],.@c[.@i+3],"Archer of Death",2469,1,.@label$; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 288740); setunitdata($@mobIds[0], UDT_HP, 288740); } areamonster .@map$,.@c[.@i],.@c[.@i+1],.@c[.@i+2],.@c[.@i+3],"Corrupted Abysmal Knight",2470,1,.@label$; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 451578); setunitdata($@mobIds[0], UDT_HP, 451578); } areamonster .@map$,.@c[.@i],.@c[.@i+1],.@c[.@i+2],.@c[.@i+3],"Suffered Khalitzburg",2471,1,.@label$; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 473702); setunitdata($@mobIds[0], UDT_HP, 473702); } areamonster .@map$,.@c[.@i],.@c[.@i+1],.@c[.@i+2],.@c[.@i+3],"Bloody Knight",2472,1,.@label$; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 493502); setunitdata($@mobIds[0], UDT_HP, 493502); } } end; OnTimer92000: stopnpctimer; donpcevent instance_npcname("#ghmemorialmob06")+"::OnSpawn"; end; } 2@gl_k,0,0,0 script #ghmemorialmob07 -1,{ OnInstanceInit: OnDisable: disablenpc instance_npcname("#ghmemorialmob07"); end; OnEnable: enablenpc instance_npcname("#ghmemorialmob07"); areamonster instance_mapname("2@gl_k"),124,20,31,162,"1st Commander of Destruction",2473,1,instance_npcname("#ghmemorialmob07")+"::OnMyMobDead"; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 1900070); setunitdata($@mobIds[0], UDT_HP, 1900070); } end; OnMyMobDead: set .@map$,instance_mapname("2@gl_k"); if('oghMode == 2) { if(rand(1000) < 'hardModeLootChance) { getitem 6755, 1; } } if (mobcount(.@map$,instance_npcname("#ghmemorialmob07")+"::OnMyMobDead") < 1) { mapannounce .@map$,"A portal has opened to the east in the central hallway.",bc_map,"0xFFFF00"; donpcevent instance_npcname("#ghinstancewarp10")+"::OnEnable"; donpcevent instance_npcname("#ghinstancewarp11")+"::OnEnable"; donpcevent instance_npcname("#ghmemorialmob08")+"::OnEnable"; donpcevent instance_npcname("#ghmemorialmob07")+"::OnDisable"; } end; } 2@gl_k,0,0,0 script #ghmemorialmob08 -1,{ OnInstanceInit: OnDisable: disablenpc instance_npcname("#ghmemorialmob08"); end; OnEnable: enablenpc instance_npcname("#ghmemorialmob08"); set .@map$,instance_mapname("2@gl_k"); set .@label$,instance_npcname("#ghmemorialmob08")+"::OnMyMobDead"; areamonster .@map$,175,163,265,18,"Corrupted Palace Guard",2468,7,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobIds); .@i++ ) { setunitdata($@mobIds[.@i], UDT_MAXHP, 368160); setunitdata($@mobIds[.@i], UDT_HP, 368160); } } areamonster .@map$,175,163,265,18,"Wandering Archer",2469,7,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobIds); .@i++ ) { setunitdata($@mobIds[.@i], UDT_MAXHP, 288740); setunitdata($@mobIds[.@i], UDT_HP, 288740); } } areamonster .@map$,175,163,265,18,"Corrupted Abysmal Knight",2470,7,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobIds); .@i++ ) { setunitdata($@mobIds[.@i], UDT_MAXHP, 451578); setunitdata($@mobIds[.@i], UDT_HP, 451578); } } areamonster .@map$,175,163,265,18,"Suffered Khalitzburg",2471,7,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobIds); .@i++ ) { setunitdata($@mobIds[.@i], UDT_MAXHP, 473702); setunitdata($@mobIds[.@i], UDT_HP, 473702); } } areamonster .@map$,175,163,265,18,"Bloody Knight",2472,7,.@label$; if('oghMode == 2) { for( .@i = 0; .@i < getarraysize($@mobIds); .@i++ ) { setunitdata($@mobIds[.@i], UDT_MAXHP, 493502); setunitdata($@mobIds[.@i], UDT_HP, 493502); } } set 'MyMobs,35; end; OnMyMobDead: set .@map$,instance_mapname("2@gl_k"); if('oghMode == 2) { if(rand(1000) < 'hardModeLootChance) { getitem 6755, 1; } } set 'MyMobs,'MyMobs-1; if ('MyMobs == 0) { mapannounce .@map$,"An evil presence has teleported into this area.",bc_map,"0xFFFF00",FW_NORMAL,18; donpcevent instance_npcname("#ghmemorialmob09")+"::OnEnable"; donpcevent instance_npcname("#ghmemorialmob08")+"::OnDisable"; } else { set .@label$,instance_npcname("#ghmemorialmob08")+"::OnMyMobDead"; switch (rand(5)) { case 0: areamonster .@map$,175,163,265,18,"Corrupted Palace Guard",2468,1,.@label$; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 368160); setunitdata($@mobIds[0], UDT_HP, 368160); } break; case 1: areamonster .@map$,175,163,265,18,"Wandering Archer",2469,1,.@label$; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 288740); setunitdata($@mobIds[0], UDT_HP, 288740); } break; case 2: areamonster .@map$,175,163,265,18,"Corrupted Abysmal Knight",2470,1,.@label$; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 451578); setunitdata($@mobIds[0], UDT_HP, 451578); } break; case 3: areamonster .@map$,175,163,265,18,"Suffered Khalitzburg",2471,1,.@label$; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 473702); setunitdata($@mobIds[0], UDT_HP, 473702); } break; case 4: areamonster .@map$,175,163,265,18,"Bloody Knight",2472,1,.@label$; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 493502); setunitdata($@mobIds[0], UDT_HP, 493502); } break; } } end; } 2@gl_k,0,0,0 script #ghmemorialmob09 -1,{ OnInstanceInit: OnDisable: disablenpc instance_npcname("#ghmemorialmob09"); end; OnEnable: enablenpc instance_npcname("#ghmemorialmob09"); areamonster instance_mapname("2@gl_k"),175,163,265,18,"2nd Commander of Destruction",2474,1,instance_npcname("#ghmemorialmob09")+"::OnMyMobDead"; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 1696020); setunitdata($@mobIds[0], UDT_HP, 1696020); } end; OnMyMobDead: set .@map$,instance_mapname("2@gl_k"); if('oghMode == 2) { if(rand(1000) < 'hardModeLootChance) { getitem 6755, 1; } } if (mobcount(.@map$,instance_npcname("#ghmemorialmob09")+"::OnMyMobDead") < 1) { mapannounce .@map$,"A new portal has appeared at the end of the central corridor.",bc_map,"0xFFFF00"; donpcevent instance_npcname("#ghinstancewarp12")+"::OnEnable"; donpcevent instance_npcname("#ghinstancewarp13")+"::OnEnable"; donpcevent instance_npcname("#controlGH6")+"::OnEnable"; donpcevent instance_npcname("#ghmemorialmob08")+"::OnDisable"; donpcevent instance_npcname("#ghmemorialmob09")+"::OnDisable"; } end; } 2@gl_k,0,0,0 script #ghmemorialmob10 -1,{ OnInstanceInit: OnDisable: disablenpc instance_npcname("#ghmemorialmob10"); end; OnEnable: enablenpc instance_npcname("#ghmemorialmob10"); donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnDisable"; monster instance_mapname("2@gl_k"),158,255,"Amdarais",2476,1,instance_npcname("#ghmemorialmob10")+"::OnMyMobDead"; if('oghMode == 2) { setunitdata($@mobIds[0], UDT_MAXHP, 49200000); setunitdata($@mobIds[0], UDT_HP, 49200000); } unittalk $@mobid[0],"Run away... run away from me...",1; initnpctimer; end; OnTimer6000: unittalk $@mobid[0],"I don't want... I don't want to kill anyone. Uhuuuuuh",1; end; OnTimer12000: unittalk $@mobid[0],"Please kill me! Please!",1; end; OnTimer18000: unittalk $@mobid[0],"Eeeeee...eee...die... die...",1; end; OnTimer24000: unittalk $@mobid[0],"Demolition... Death!...",1; stopnpctimer; end; OnMyMobDead: if('oghMode == 2) { if(rand(1000) < 'hardModeLootChance) { getitem 6755, 1; } } if (mobcount(instance_mapname("2@gl_k"),instance_npcname("#ghmemorialmob10")+"::OnMyMobDead") < 1) { donpcevent instance_npcname("Hugin#ghinstance1")+"::OnEnable"; donpcevent instance_npcname("#ghinstancewarp15")+"::OnEnable"; for (set .@i,1; .@i<=8; set .@i,.@i+1) enablenpc instance_npcname("Strange crack#"+.@i); stopnpctimer; donpcevent instance_npcname("#ghmemorialmob10")+"::OnDisable"; } end; } 2@gl_k,155,250,7 script Heinrich#ghinstance6 652,{ cutin "gl_heinrich1",2; mes "[Heinrich]"; mes "What are you decorating Himelmez!"; close2; cutin "gl_heinrich1",255; end; OnInstanceInit: OnDisable: hideonnpc instance_npcname("Heinrich#ghinstance6"); end; OnEnable: hideoffnpc instance_npcname("Heinrich#ghinstance6"); end; OnTalk1: npctalk "Gerhalt!"; end; OnTalk2: npctalk "What are you doing to my soldier Himelmez!"; end; OnTalk3: npctalk "Himelmez! You already made what you want so there is no more need for a sacrifice!"; end; OnTalk4: npctalk "Let him go! I don't need to see anyone else suffer!"; end; OnTalk5: npctalk "I'll never forgive you."; end; OnTalk6: npctalk "I'll never let you get away Himelmez!!"; end; } 2@gl_k,162,250,1 script Varmundt#ghinstance5 654,{ cutin "gl_barmund2",2; mes "[Varmundt]"; mes "Can't take off this bridle..."; close2; cutin "gl_barmund2",255; end; OnInstanceInit: OnDisable: hideonnpc instance_npcname("Varmundt#ghinstance5"); end; OnEnable: hideoffnpc instance_npcname("Varmundt#ghinstance5"); end; OnTalk1: npctalk "We have no choice. We have to fight against Amdarais!"; end; } 2@gl_k,158,252,3 script Himelmez#ghinstance4 650,{ cutin "gl_himel2",2; mes "[Himelmez]"; mes "That is amazing ~ you made it all the way here. May I say thank you?"; close2; cutin "gl_himel2",255; end; OnInstanceInit: OnDisable: hideonnpc instance_npcname("Himelmez#ghinstance4"); end; OnEnable: hideoffnpc instance_npcname("Himelmez#ghinstance4"); end; OnTalk1: npctalk "Amazing~ I thought that you were not even close to getting here..."; end; OnTalk2: npctalk "Hoo hoo, I already found a piece of Ymir's heart Heinrich."; end; OnTalk3: npctalk "If he did not bother me, it would have been faster."; end; OnTalk4: npctalk "Really? What makes you think so?"; end; OnTalk5: npctalk "Let him go? I think... No..."; end; OnTalk6: npctalk "Besides, this is your last surviving soldier Heinrich."; end; OnTalk7: npctalk "He made life difficult for me."; end; OnTalk8: npctalk "He is perfectly fit for my new creation Amdarais."; end; OnTalk9: npctalk "Uh uh~ I'm so scared."; end; OnTalk10: npctalk "Anyway, we will have a chance to see because we need to talk more."; end; OnTalk11: npctalk "So long boys."; end; } 2@gl_k,150,179,0 script #controlGH6 111,2,2,{ end; OnTouch: mapannounce instance_mapname("2@gl_k"),"???: Do not come here! It's a trap... Kkkkah!!!",bc_map,"0xFF0000",FW_NORMAL,18; specialeffect EF_BASH; donpcevent instance_npcname("Himelmez#ghinstance3")+"::OnEnable"; donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnEnable"; donpcevent instance_npcname("Varmundt#ghinstance5")+"::OnEnable"; donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEnable"; donpcevent instance_npcname("#controlGH6")+"::OnDisable"; end; OnInstanceInit: OnDisable: disablenpc instance_npcname("#controlGH6"); end; OnEnable: enablenpc instance_npcname("#controlGH6"); end; } 2@gl_k,158,252,1 script Himelmez#ghinstance3 650,7,7,{ end; OnTouch: specialeffect EF_BASH; donpcevent instance_npcname("#controlGH5")+"::OnEnable"; donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnEnable"; donpcevent instance_npcname("Himelmez#ghinstance3")+"::OnDisable"; end; OnInstanceInit: OnDisable: disablenpc instance_npcname("Himelmez#ghinstance3"); end; OnEnable: enablenpc instance_npcname("Himelmez#ghinstance3"); end; } 2@gl_k,158,255,3 script Gerhalt#ghinstance1 651,{ mes "[Gerhalt]"; mes "Uuuuu... Khhhah! Just run away with the commander."; close; OnInstanceInit: OnDisable: hideonnpc instance_npcname("Gerhalt#ghinstance1"); end; OnEnable: hideoffnpc instance_npcname("Gerhalt#ghinstance1"); end; OnTalk1: npctalk "Kkkkah! Run away! I can't endure anymore!"; end; OnTalk2: npctalk "Commandant... Come on, you need to run away from here... Ugh."; end; OnTalk3: npctalk "You can make my body but you can't take my soul Himelmez!"; end; OnEffect1: specialeffect EF_BARRIER; end; OnEffect2: specialeffect EF_CHAINCOMBO; end; OnEffect3: specialeffect EF_MAPPILLAR2; end; OnEffect4: specialeffect EF_MAPPILLAR; end; OnEffect5: specialeffect EF_LORD; end; } 2@gl_k,0,0,0 script #controlGH5 -1,{ OnInstanceInit: OnDisable: disablenpc instance_npcname("#controlGH5"); end; OnEnable: enablenpc instance_npcname("#controlGH5"); initnpctimer; end; OnTimer3000: donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk1"; end; OnTimer6000: donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnTalk1"; end; OnTimer9000: donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnTalk1"; end; OnTimer15000: donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnTalk2"; end; OnTimer18000: donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk2"; end; OnTimer21000: donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk3"; end; OnTimer24000: donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnTalk2"; end; OnTimer27000: donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk4"; end; OnTimer30000: donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnTalk3"; end; OnTimer33000: donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnTalk4"; end; OnTimer36000: donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk5"; end; OnTimer39000: donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk6"; end; OnTimer42000: donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk7"; end; OnTimer45000: donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk8"; end; OnTimer48000: donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnTalk5"; end; OnTimer51000: donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk9"; end; OnTimer54000: donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk10"; end; OnTimer57000: donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnTalk11"; end; OnTimer60000: donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect1"; end; OnTimer63000: donpcevent instance_npcname("Himelmez#ghinstance4")+"::OnDisable"; end; OnTimer65000: donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect3"; end; OnTimer66000: donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect2"; end; OnTimer67000: donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnTalk6"; donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect4"; end; OnTimer70000: donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect3"; donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect4"; donpcevent instance_npcname("Heinrich#ghinstance6")+"::OnDisable"; donpcevent instance_npcname("Varmundt#ghinstance5")+"::OnTalk1"; donpcevent instance_npcname("Varmundt#ghinstance5")+"::OnDisable"; end; OnTimer73000: mapannounce instance_mapname("2@gl_k"),"Gerhalt's body changing.",bc_map,"0xFFFFFF"; end; OnTimer76000: donpcevent instance_npcname("Gerhalt#ghinstance1")+"::OnEffect5"; end; OnTimer80000: donpcevent instance_npcname("#ghmemorialmob10")+"::OnEnable"; stopnpctimer; donpcevent instance_npcname("#controlGH5")+"::OnDisable"; end; } 2@gl_k,158,241,1 script Hugin#ghinstance1 755,{ if (checkquest(12319,HUNTING) == 2) { mes "[Hugin]"; mes "Well, you are pretty ridiculous. Beginners shouldn't get the loot Amdarias drops."; erasequest 12319; setquest 12321; setquest 12322; erasequest 12321; if (gh_instance) { getitem 6607,1; //Temporal_Crystal getitem 6608,1; //Coagulated_Spell } else { getitem 6607,5; //Temporal_Crystal getitem 6608,5; //Coagulated_Spell gh_instance = 1; } next; mes "[Hugin]"; mes "Varmunt, I have arbitrarily stopped time. And soon, the time gap will be gone."; specialeffect2 EF_BLIND; soundeffect "_blind.wav",0; next; mes "[Hugin]"; mes "Poor time travelers."; mes "They will endlessly retry to prevent the tragedy that affected this city."; next; mes "[Hugin]"; mes "But the beggining of these time travels won't redempt your actions."; mes "This will continue forever..."; next; mes "[Hugin]"; mes "Now, I may erase your memory again. Perhaps you will have a different fate next time."; specialeffect2 EF_FREEZE; close2; getmapxy(.@map$,.@x,.@y,UNITTYPE_PC); warp .@map$,.@x,.@y; end; } else { mes "[Hugin]"; mes "The gap of time is almost distorted."; mes "Done. There you go. Come!"; mes "I have to get out!"; next; select("Bah... Soon after you..."); mes "[Hugin]"; mes "Soon after me? Anyways..."; mes "Doesn't matter, soon the gap of time will be closed, I have to get out of here."; next; switch(select("Since I'm here, let's explore more.:Please, send me out.")) { case 1: mes "[Hugin]"; mes ".................."; close; case 2: close2; warp "glast_01",204,270; end; } } OnInstanceInit: OnDisable: disablenpc instance_npcname("Hugin#ghinstance1"); end; OnEnable: enablenpc instance_npcname("Hugin#ghinstance1"); end; } // Treasure Room //============================================================ 1@gl_k,269,267,0 script Strange crack#entrace 111,{ if (checkquest(12322) == -1) { mes "The crack looks suspicious, but nothing more to check."; close; } set .@map$,instance_mapname("1@gl_k"); warp .@map$,149,198; end; } 1@gl_k,129,136,0 script Strange crack#1 111,{ specialeffect EF_SPELLBREAKER; specialeffect EF_BASH; set .@random,rand(1,4); set .@random_,rand(1,4); for (set .@i,1; .@i<=.@random; set .@i,.@i+1) makeitem 727,1,"this",129,138; makeitem 6608,1,"this",129,138; if (.@random_ == 4) makeitem2 21007,1,"this",129,138,0,0,0,0,0,0,0; OnInstanceInit: OnDisable: disablenpc instance_npcname("Strange crack#1"); end; OnEnable: enablenpc instance_npcname("Strange crack#1"); end; } 1@gl_k,135,136,0 script Strange crack#2 111,{ specialeffect EF_SPELLBREAKER; specialeffect EF_BASH; set .@random,rand(1,4); set .@random_,rand(1,4); for (set .@i,1; .@i<=.@random; set .@i,.@i+1) makeitem 726,1,"this",135,138; if (.@random_ == 4) makeitem2 2022,1,"this",135,138,0,0,0,0,0,0,0; makeitem 6608,1,"this",135,138; OnInstanceInit: OnDisable: disablenpc instance_npcname("Strange crack#2"); end; OnEnable: enablenpc instance_npcname("Strange crack#2"); end; } 1@gl_k,141,136,0 script Strange crack#3 111,{ specialeffect EF_SPELLBREAKER; specialeffect EF_BASH; set .@random,rand(1,4); set .@random_,rand(1,4); for (set .@i,1; .@i<=.@random; set .@i,.@i+1) makeitem 725,1,"this",141,138; makeitem 6608,1,"this",141,138; makeitem 7228,1,"this",141,138; if (.@random_ == 4) makeitem2 13440,1,"this",141,138,0,0,0,0,0,0,0; OnInstanceInit: OnDisable: disablenpc instance_npcname("Strange crack#3"); end; OnEnable: enablenpc instance_npcname("Strange crack#3"); end; } 1@gl_k,147,136,0 script Strange crack#4 111,{ specialeffect EF_SPELLBREAKER; specialeffect EF_BASH; set .@random,rand(1,4); set .@random_,rand(1,4); for (set .@i,1; .@i<=.@random; set .@i,.@i+1) makeitem 722,1,"this",147,138; if (.@random_ == 4) makeitem2 2949,1,"this",147,138,0,0,0,0,0,0,0; makeitem 6608,1,"this",147,138; makeitem 6612,1,"this",147,138; makeitem 6613,1,"this",147,138; OnInstanceInit: OnDisable: disablenpc instance_npcname("Strange crack#4"); end; OnEnable: enablenpc instance_npcname("Strange crack#4"); end; } 1@gl_k,153,136,0 script Strange crack#5 111,{ specialeffect EF_SPELLBREAKER; specialeffect EF_BASH; set .@random,rand(1,4); set .@random_,rand(1,4); for (set .@i,1; .@i<=.@random; set .@i,.@i+1) makeitem 721,1,"this",153,138; makeitem 6608,1,"this",153,138; makeitem 7230,1,"this",153,138; if (.@random_ == 4) makeitem2 13086,1,"this",153,138,0,0,0,0,0,0,0; OnInstanceInit: OnDisable: disablenpc instance_npcname("Strange crack#5"); end; OnEnable: enablenpc instance_npcname("Strange crack#5"); end; } 1@gl_k,159,136,0 script Strange crack#6 111,{ specialeffect EF_SPELLBREAKER; specialeffect EF_BASH; set .@random,rand(1,4); set .@random_,rand(1,4); for (set .@i,1; .@i<=.@random; set .@i,.@i+1) makeitem 720,1,"this",159,138; makeitem 6608,1,"this",159,138; makeitem 7229,1,"this",159,138; if (.@random_ == 4) makeitem2 15066,1,"this",159,138,0,0,0,0,0,0,0; OnInstanceInit: OnDisable: disablenpc instance_npcname("Strange crack#6"); end; OnEnable: enablenpc instance_npcname("Strange crack#6"); end; } 1@gl_k,165,136,0 script Strange crack#7 111,{ specialeffect EF_SPELLBREAKER; specialeffect EF_BASH; set .@random,rand(1,4); for (set .@i,1; .@i<=.@random; set .@i,.@i+1) makeitem 719,1,"this",165,138; makeitem 6608,1,"this",165,138; OnInstanceInit: OnDisable: disablenpc instance_npcname("Strange crack#7"); end; OnEnable: enablenpc instance_npcname("Strange crack#7"); end; } 1@gl_k,171,136,0 script Strange crack#8 111,{ specialeffect EF_SPELLBREAKER; specialeffect EF_BASH; set .@random,rand(1,4); for (set .@i,1; .@i<=.@random; set .@i,.@i+1) makeitem 718,1,"this",171,138; makeitem 6608,1,"this",171,138; OnInstanceInit: OnDisable: disablenpc instance_npcname("Strange crack#8"); end; OnEnable: enablenpc instance_npcname("Strange crack#8"); end; } // Merchant //============================================================ glast_01,210,273,5 script Hugin's Buttler 69,{ disable_items; if (MaxWeight - Weight < 1000) { mes "Your bag is too heavy. Reduce some weight and come back."; close; } mes "[Hugin's Buttler]"; mes "Bring Temporal Crystal items for various Temporal boots items. Pick something you want."; next; switch (select("Cancel","Buy Temporal Boots (Need 1 Temporal Crystal)","Upgrade Temporal Boots (Need 5 Temporal Crystals)")) { case 1: mes "[Hugin's Buttler]"; mes "Come back whenever you want."; close; case 2: if (countitem(6607) > 0) { mes "[Hugin's Buttler]"; mes "Take these Temporal Boots. We can upgrade your Temporal Boots with 5 Temporal Crystals."; delitem 6607,1; //Temporal_Crystal getitem 2499,1; //Temporal_Boots close; } mes "[Hugin's Buttler]"; mes "You need more Temporal Crystals. Come back when you get some more Temporal Crystals during your travel through Old Glast Heim."; close; case 3: set .@part,EQI_SHOES; if (!getequipisequiped(.@part)) { mes "[Hugin's Buttler]"; mes "Only the item you are wearing can be upgraded."; mes "Wear the ^0000FFTemporal Boots^000000 you want to upgrade, and then talk to me once again."; close; } if (isequipped(2499)) { if (countitem(6607) > 4) { mes "[Hugin's Buttler]"; mes "You can trade ^0000FF1 Temporal Boots and 5 Temporal Crystals^000000 for 1 of the following items. ^FF0000Previous refine rate will not be retained with these new ones^000000."; next; setarray .@type$[0],"Strength","Intelligence","Agility","Vitality","Dexterity","Lucky"; setarray .@equip_type[0],22000,22001,22002,22003,22004,22005; set .@select,select("Cancel","Str Boots","Int Boots","Agi Boots","Vit Boots","Dex Boots","Luk Boots"); switch (.@select) { case 1: mes "[Hugin's Buttler]"; mes "Come back anytime you want."; close; case 2: case 3: case 4: case 5: case 6: case 7: mes "[Hugin's Buttler]"; mes "Are you sure about buying Temporal ^FF0000"+.@type$[.@select-2]+"^000000 Boots? There's no refunds."; next; if (select("Think again","Yes, I am sure.") == 2) { mes "[Hugin's Buttler]"; mes "The boots have been upgraded as you want."; delequip .@part; delitem 6607,5; //Temporal_Crystal getitem .@equip_type[.@select-2],1; //Temporal_STR_Boots,Temporal_INT_Boots,Temporal_AGI_Boots,Temporal_VIT_Boots,Temporal_DEX_Boots,Temporal_LUK_Boots close; } mes "[Hugin's Buttler]"; mes "Ok, come back again when you are sure."; close; } } mes "[Hugin's Buttler]"; mes "Not enough Temporal Crystals. You need 5 Temporal Crystals to upgrade your item."; close; } mes "[Hugin's Buttler]"; mes "You are not wearing the Temporal Boots. Talk to me once you're wearing them."; close; } } // Enchant and Socket NPC //============================================================ glast_01,212,273,4 script Hugin's Magic master 66,{ disable_items; if (MaxWeight - Weight < 1000) { mes "Your bag is too heavy. Reduce some weight and come back."; close; } mes "[Hugin's Magic Master]"; mes "So you came to enchant the Temporal Boots. Be aware that Boots with sockets cannot be enchanted, and this upgrade is only possible for the boots you are wearing."; next; if (select("How does the enchanting work?","Give effect to my Temporal Boots") == 1) { mes "[Hugin's Magic Master]"; mes "You can keep obtain ^0000FFCoagulated Spell^000000 through your travel times."; next; mes "[Hugin's Magic Master]"; mes "I can enchant your Temporal Boots items depands on the amount of that item. ^0000FFNot normal type boots^000000. Only possible for those 6 expanded version boots."; next; mes "[Hugin's Magic Master]"; mes "But, once you put a socket into the item, you cannot enchant it. Make sure to remember that."; next; mes "[Hugin's Magic Master]"; mes "I don't give out effect randomly. You can pick which effect you want for the item."; next; mes "[Hugin's Magic Master]"; mes "Of course it is for 4th slot only. You can have small effect at the start, and then the effect gets stronger."; next; mes "[Hugin's Magic Master]"; mes "To get to the final option upgrade, it will require way more Coagulated Spell items. Don't forget that."; next; mes "[Hugin's Magic Master]"; mes "Once the 4th slot completes the best option, you get to have a random bonus effect to the 3rd slot. With.. certain payment~"; next; mes "[Hugin's Magic Master]"; mes "Also, you don't lose the item even if the enchant fails, we also guarantee keeping card and refine rate. But we can't initialize enchanting."; next; mes "[Hugin's Magic Master]"; mes "Phew..."; mes "Anyways, that's all for basic enchant information. Now you should see for yourself."; close; } set .@part,EQI_SHOES; if (!getequipisequiped(.@part)) { mes "[Hugin's Magic Master]"; mes "Are you wearing the item?"; close; } set .@equip_id,getequipid(.@part); set .@equip_name$,getequipname(.@part); set .@card3,getequipcardid(.@part,3); setarray .@enchant1st[0],4808,4832,4814,4741,4869,4752; //Fighting_Spirit4,Expert_Archer1,Spell2,Vitality2,DelayafterAttack1Lv,Luck3 setarray .@enchant2nd[0],4820,4833,4813,4742,4872,4753; //Fighting_Spirit5,Expert_Archer2,Spell3,Vitality3,DelayafterAttack2Lv,Luck4 setarray .@enchant3rd[0],4821,4834,4812,4861,4873,4754; //Fighting_Spirit6,Expert_Archer3,Spell4,MHP1,DelayafterAttack3Lv,Luck5 setarray .@enchant4th[0],4822,4835,4826,4862,4881,4755; //Fighting_Spirit7,Expert_Archer4,Spell5,MHP2,DelayafterAttack4Lv,Luck6 setarray .@enchant_cost[0],25,50,150,250,350; switch (.@equip_id) { case 22006: //Temporal_Str_Boots case 22009: //Temporal_Int_Boots case 22010: //Temporal_Agi_Boots case 22007: //Temporal_Vit_Boots case 22008: //Temporal_Dex_Boots case 22011: //Temporal_Luk_Boots case 22000: //Temporal_STR_Boots case 22001: //Temporal_INT_Boots case 22002: //Temporal_AGI_Boots case 22003: //Temporal_VIT_Boots case 22004: //Temporal_DEX_Boots case 22005: //Temporal_LUK_Boots if (!.@card3) { //4th slot 1st try enchanting set .@cost,.@enchant_cost[0]; set .@number,1; mes "[Hugin's Magic Master]"; mes "Want to enchant ^0000FF"+.@equip_name$+"^000000?"; mes "For the "+.@number+"st enchanting, you need ^0000FF"+.@cost+"^000000 Coagulated Spell items."; next; set .@select,select("Quit","Fighting Spirit","Archery","Spell","Vitality","Attack Speed","Lucky"); switch (.@select) { case 1: mes "[Hugin's Magic Master]"; mes "Ok, come back when you are ready."; close; case 2: set .@enchant,.@enchant1st[.@select-2]; break; case 3: set .@enchant,.@enchant1st[.@select-2]; break; case 4: set .@enchant,.@enchant1st[.@select-2]; break; case 5: set .@enchant,.@enchant1st[.@select-2]; break; case 6: set .@enchant,.@enchant1st[.@select-2]; break; case 7: set .@enchant,.@enchant1st[.@select-2]; break; } } else { if (.@card3 == .@enchant1st[0] || .@card3 == .@enchant1st[1] || .@card3 == .@enchant1st[2] || .@card3 == .@enchant1st[3] || .@card3 == .@enchant1st[4] || .@card3 == .@enchant1st[5]) { set .@cost,.@enchant_cost[1]; set .@number,2; } else if (.@card3 == .@enchant2nd[0] || .@card3 == .@enchant2nd[1] || .@card3 == .@enchant2nd[2] || .@card3 == .@enchant2nd[3] || .@card3 == .@enchant2nd[4] || .@card3 == .@enchant2nd[5]) { set .@cost,.@enchant_cost[2]; set .@number,3; } else if (.@card3 == .@enchant3rd[0] || .@card3 == .@enchant3rd[1] || .@card3 == .@enchant3rd[2] || .@card3 == .@enchant3rd[3] || .@card3 == .@enchant3rd[4] || .@card3 == .@enchant3rd[5]) { set .@cost,.@enchant_cost[3]; set .@number,4; } else if (.@card3 == .@enchant4th[0] || .@card3 == .@enchant4th[1] || .@card3 == .@enchant4th[2] || .@card3 == .@enchant4th[3] || .@card3 == .@enchant4th[4] || .@card3 == .@enchant4th[5]) { set .@card2,getequipcardid(.@part,2); set .@cost,.@enchant_cost[4]; if (.@card2) { mes "[Hugin's Magic Master]"; //Custom text mes "Your shoes have reached the maximum option to enchant."; mes "Please bring me a new one if you want me to enchant again."; close; } //3rd slot random enchanting switch (.@card3) { case 4822: //Fighting_Spirit7 case 4835: //Expert_Archer4 case 4826: //Spell5 case 4862: //MHP2 case 4881: //DelayafterAttack4Lv case 4755: //Luck6 set .@enchant,callfunc("F_Rand",4875,4876,4877,4878,4879,4880); //Bear's_Power,Runaway_Magic,Speed_Of_Light,Muscle_Fool,Hawkeye,Lucky_Day mes "[Hugin's Magic Master]"; //Custom text mes "Seems you already completed the best upgrade option in your 4th slot."; mes "For that I can give a random bonus effect to your 3rd slot. And of course, with certain payment..."; next; mes "[Hugin's Magic Master]"; mes "Enchanting ^0000FF"+.@equip_name$+"^000000's 3rd slot for obtaining a random bonus effect. Requires ^0000FF"+.@cost+"^000000 Coagulated Spell items."; next; if (select("Quit","Effect Upgrade!") == 1) { mes "[Hugin's Magic Master]"; mes "Ok, come back when you are ready."; close; } if (countitem(6608) < .@cost) { mes "[Hugin's Magic Master]"; mes "Hmm, you are missing "+(.@cost - countitem(6608))+" Coagulated Spell items. Go get more, and then we can talk about more enchants."; close; } specialeffect2 EF_REPAIRWEAPON; set .@equip_refine,getequiprefinerycnt(.@part); delitem 6608,.@cost; //Coagulated_Spell .@card = getequipcardid(.@part,0); delequip .@part; mes "[Hugin's Magic Master]"; mes "This is it! This special stone is now yours."; mes "Hahaha... I am really the only master of these things."; mes "Thank you for believing in me."; getitem2 .@equip_id,1,1,.@equip_refine,0,.@card,0,.@enchant,.@card3; close; } } //4th slot 2nd try enchanting if (.@card3 == .@enchant1st[0]) set .@enchant,.@enchant2nd[0]; else if (.@card3 == .@enchant1st[1]) set .@enchant,.@enchant2nd[1]; else if (.@card3 == .@enchant1st[2]) set .@enchant,.@enchant2nd[2]; else if (.@card3 == .@enchant1st[3]) set .@enchant,.@enchant2nd[3]; else if (.@card3 == .@enchant1st[4]) set .@enchant,.@enchant2nd[4]; else if (.@card3 == .@enchant1st[5]) set .@enchant,.@enchant2nd[5]; //4th slot 3rd try enchanting if (.@card3 == .@enchant2nd[0]) set .@enchant,.@enchant3rd[0]; else if (.@card3 == .@enchant2nd[1]) set .@enchant,.@enchant3rd[1]; else if (.@card3 == .@enchant2nd[2]) set .@enchant,.@enchant3rd[2]; else if (.@card3 == .@enchant2nd[3]) set .@enchant,.@enchant3rd[3]; else if (.@card3 == .@enchant2nd[4]) set .@enchant,.@enchant3rd[4]; else if (.@card3 == .@enchant2nd[5]) set .@enchant,.@enchant3rd[5]; //4th slot 4th try enchanting if (.@card3 == .@enchant3rd[0]) set .@enchant,.@enchant4th[0]; else if (.@card3 == .@enchant3rd[1]) set .@enchant,.@enchant4th[1]; else if (.@card3 == .@enchant3rd[2]) set .@enchant,.@enchant4th[2]; else if (.@card3 == .@enchant3rd[3]) set .@enchant,.@enchant4th[3]; else if (.@card3 == .@enchant3rd[4]) set .@enchant,.@enchant4th[4]; else if (.@card3 == .@enchant3rd[5]) set .@enchant,.@enchant4th[5]; mes "[Hugin's Magic Master]"; mes "Enchanting ^0000FF"+.@equip_name$+"^000000's 4th slot as ^0000FF"+.@number+"^000000 level effect. Requires ^0000FF"+.@cost+"^000000 Coagulated Spell items."; next; if (select("Quit","Effect Upgrade!") == 1) { mes "[Hugin's Magic Master]"; mes "Ok, come back when you are ready."; close; } if (countitem(6608) < .@cost) { mes "[Hugin's Magic Master]"; mes "Hmm, you are missing "+(.@cost - countitem(6608))+" Coagulated Spell items. Go get more, and then we can talk about more enchants."; close; } } break; default: mes "[Hugin's Magic Master]"; mes "This is not the right item for this enchant."; mes "Remember, only those 6 types of Temporal Boots are available for enchanting."; close; } specialeffect2 EF_REPAIRWEAPON; set .@equip_refine,getequiprefinerycnt(.@part); delitem 6608,.@cost; //Coagulated_Spell .@card = getequipcardid(.@part,0); delequip .@part; mes "[Hugin's Magic Master]"; mes "Trying for enchant number ^630000"+.@number+"^000000."; getitem2 .@equip_id,1,1,.@equip_refine,0,.@card,0,0,.@enchant; close; } glast_01,210,270,8 script Hugin's Craftsman 726,{ disable_items; if (MaxWeight - Weight < 1000) { mes "Your bag is too heavy. Reduce some weight and come back."; close; } mes "[Hugin's Craftsman]"; mes "That Magic Master always says that enchanting Temporal Boots is the best. But, I think quite different."; next; mes "[Hugin's Craftsman]"; mes "I think putting a slot into the item would be the best. Even with some risk of failing."; next; mes "[Hugin's Craftsman]"; mes "Bring me ^0000FF5 Temporal Crystals^000000, and I will try to put a slot into your advanced Temporal Boots. But, it's possible to ^FF0000fail and break the item^000000. Is that ok?"; next; if (select("Cancel","Take the risk and try to add a slot") == 1) { mes "[Hugin's Craftsman]"; mes "Ok, come back anytime you want."; close; } set .@part,EQI_SHOES; if (!getequipisequiped(.@part)) { mes "[Hugin's Craftsman]"; mes "Are you sure you are wearing the item?"; close; } set .@equip_id,getequipid(.@part); switch (.@equip_id) { case 22000: //Temporal_Str_Boots case 22001: //Temporal_Int_Boots case 22002: //Temporal_Agi_Boots case 22003: //Temporal_Vit_Boots case 22004: //Temporal_Dex_Boots case 22005: //Temporal_Luk_Boots mes "[Hugin's Craftsman]"; mes "And ^FF0000all enchant or refine rates will be lost if you fail this.^000000"; mes "Still want to risk it?"; next; if (select("Cancel","I am ok with it!") == 1) { mes "[Hugin's Craftsman]"; mes "Ok, come back anytime you want."; close; } mes "[Hugin's Craftsman]"; mes "Once again, ^FF0000That Magic Master won't enchant any item with a slot.^000000"; mes "Still want to proceed?"; next; if (select("Cancel","I understand. Try to slot it.") == 1) { mes "[Hugin's Craftsman]"; mes "Ok, come back anytime you want."; close; } if (countitem(6607) < 5) { mes "[Hugin's Craftsman]"; mes "You must bring ^0000FF5 Temporal Crystal items^000000. Nothing is free you know..."; close; } set .@random,rand(1,100); if (.@random <= 90) { //Custom rates mes "[Hugin's Craftsman]"; mes "Arrggg, we failed. Better luck next time."; specialeffect2 EF_PHARMACY_FAIL; delitem 6607,5; //Temporal_Crystal delequip .@part; close; } mes "[Hugin's Craftsman]"; //Custom text mes "Yuhuu~ we succeed. Here you are..."; mes "A slot has been added to your advanced Temporal Boots."; mes "Thank you for believing in me."; specialeffect2 EF_PHARMACY_OK; delitem 6607,5; //Temporal_Crystal delequip .@part; if (.@equip_id == 22000) { getitem 22006,1; //Temporal_Str_Boots_ } else if (.@equip_id == 22001) { getitem 22009,1; //Temporal_Int_Boots_ } else if (.@equip_id == 22002) { getitem 22010,1; //Temporal_Agi_Boots_ } else if (.@equip_id == 22003) { getitem 22007,1; //Temporal_Vit_Boots_ } else if (.@equip_id == 22004) { getitem 22008,1; //Temporal_Dex_Boots_ } else if (.@equip_id == 22005) { getitem 22011,1; //Temporal_Luk_Boots_ } close; default: mes "[Hugin's Craftsman]"; mes "This is not it! We need ^0000FFAdvanced Temporal Boots^000000 items! The item ^0000FFwith a stat effect and without a slot^000000!"; close; } } glast_01,210,270,8 script Hugin's Craftsman 726,{ disable_items; if (MaxWeight - Weight < 1000) { mes "Your bag is too heavy. Reduce some weight and come back."; close; } mes "[Hugin's Craftsman]"; mes "That Magic Master always says that enchanting Temporal Boots is the best. But, I think quite different."; next; mes "[Hugin's Craftsman]"; mes "I think putting a slot into the item would be the best. Even with some risk of failing."; next; mes "[Hugin's Craftsman]"; mes "Bring me ^0000FF5 Temporal Crystals^000000, and I will try to put a slot into your advanced Temporal Boots. But, it's possible to ^FF0000fail and break the item^000000. Is that ok?"; next; if (select("Cancel","Take the risk and try to add a slot") == 1) { mes "[Hugin's Craftsman]"; mes "Ok, come back anytime you want."; close; } set .@part,EQI_SHOES; if (!getequipisequiped(.@part)) { mes "[Hugin's Craftsman]"; mes "Are you sure you are wearing the item?"; close; } set .@equip_id,getequipid(.@part); switch (.@equip_id) { case 22000: //Temporal_Str_Boots case 22001: //Temporal_Int_Boots case 22002: //Temporal_Agi_Boots case 22003: //Temporal_Vit_Boots case 22004: //Temporal_Dex_Boots case 22005: //Temporal_Luk_Boots mes "[Hugin's Craftsman]"; mes "And ^FF0000all enchant or refine rates will be lost if you fail this.^000000"; mes "Still want to risk it?"; next; if (select("Cancel","I am ok with it!") == 1) { mes "[Hugin's Craftsman]"; mes "Ok, come back anytime you want."; close; } mes "[Hugin's Craftsman]"; mes "Once again, ^FF0000That Magic Master won't enchant any item with a slot.^000000"; mes "Still want to proceed?"; next; if (select("Cancel","I understand. Try to slot it.") == 1) { mes "[Hugin's Craftsman]"; mes "Ok, come back anytime you want."; close; } if (countitem(6607) < 5) { mes "[Hugin's Craftsman]"; mes "You must bring ^0000FF5 Temporal Crystal items^000000. Nothing is free you know..."; close; } set .@random,rand(1,100); if (.@random <= 50) { //Custom rates mes "[Hugin's Craftsman]"; mes "Arrggg, we failed. Better luck next time."; specialeffect2 EF_PHARMACY_FAIL; delitem 6607,5; //Temporal_Crystal delequip .@part; close; } mes "[Hugin's Craftsman]"; //Custom text mes "Yuhuu~ we succeed. Here you are..."; mes "A slot has been added to your advanced Temporal Boots."; mes "Thank you for believing in me."; specialeffect2 EF_PHARMACY_OK; delitem 6607,5; //Temporal_Crystal delequip .@part; if (.@equip_id == 22000) { getitem 22006,1; //Temporal_Str_Boots_ } else if (.@equip_id == 22001) { getitem 22009,1; //Temporal_Int_Boots_ } else if (.@equip_id == 22002) { getitem 22010,1; //Temporal_Agi_Boots_ } else if (.@equip_id == 22003) { getitem 22007,1; //Temporal_Vit_Boots_ } else if (.@equip_id == 22004) { getitem 22008,1; //Temporal_Dex_Boots_ } else if (.@equip_id == 22005) { getitem 22011,1; //Temporal_Luk_Boots_ } close; default: mes "[Hugin's Craftsman]"; mes "This is not it! We need ^0000FFAdvanced Temporal Boots^000000 items! The item ^0000FFwith a stat effect and without a slot^000000!"; close; } } // Knight Cards glast_01,192,271,4 script Ramsus 657,{ mes "[Ramsus]"; mes "I am collecting coagulated spells to perform my spells with more power."; mes "I am also collecting Contaminated Magic to this cards choose what you want."; next; mes "[Ramsus]"; mes "If you have one I can exchange them."; next; if(select("Get out!","Coagulated Spell") == 1) close; close2; callshop "cs-shop1",1; end; } - itemshop cs-shop1 134,6608:0,4608:3000,4609:6000 // Glast Heim Nightmare Mode :: nightmare_gh //============================================================ glast_01,195,273,4 script Hugin's Follower#n_gh 123,{ mes "[Hugin's Follower]"; mes "I can't move between time and dimension like a master Hugin but I can pretend to move."; next; mes "[Hugin's Follower]"; mes "What about this Glast Heim is born with powerful dark force?"; next; if (select("I don't care","That is interesting, please tell me more") == 1) { mes "[Hugin's Follower]"; mes "Well~ If you are not interested in it, never mind."; close; } mes "[Hugin's Follower]"; mes "As learning ability from Hugin, I just find out the path to Old Glast Heim of more powerful dark force."; next; mes "[Hugin's Follower]"; mes "How is it? Do you want to explore there?"; next; if (select("No, I want to stop it","I really want to do that!") == 1) { mes "[Hugin's Follower]"; mes "Well~ If you are not interested in it, never mind."; close; } mes "[Hugin's Follower]"; mes "Sure that is not free~ I have to get something little bit. Hoho..."; next; mes "[Hugin's Follower]"; mes "I can send you just two place. How is it? Do you want to try?"; next; switch (select("Cancel","Monastery Cemetery (Lv100~130) - 5000z","Corridor of 2nd floor (Over Lv140) - 10000z")) { case 1: mes "[Hugin's Follower]"; mes "Alright, please come back whenever you change mind. I think you will have lots of thing to talk with me..."; close; case 2: if (Zeny < 5000) { mes "[Hugin's Follower]"; mes "Please make sure you already have all of the money."; close; } set Zeny,Zeny-5000; warp "gl_chyard_",148,144; end; case 3: if (Zeny < 10000) { mes "[Hugin's Follower]"; mes "Please make sure you already have all of the money."; close; } set Zeny,Zeny-10000; warp "gl_cas02_",104,31; end; } } gl_chyard_,148,149,4 script Hugin's Follower#n_gh1 123,{ mes "[Hugin's Follower]"; mes "You want to break?"; mes "Ok, let's get out of here.?"; next; if (select("Ah, wrong click... I mean I was not talk to you","Please let me out from here") == 1) { mes "[Hugin's Follower]"; mes "Alright just tell me whenever you want to leave."; close; } warp "glast_01",210,269; end; } gl_cas02_,104,36,4 script Hugin's Follower#n_gh2 123,{ mes "[Hugin's Follower]"; mes "You want to break?"; mes "Ok, let's get out of here.?"; next; if (select("Ah, wrong click... I mean I was not talk to you","Please let me out from here") == 1) { mes "[Hugin's Follower]"; mes "Alright just tell me whenever you want to leave."; close; } warp "glast_01",210,269; end; } glast_01,206,265,3 script Resetter 123,{ erasequest 12317; erasequest 12318; mes "Everything reset."; close; }
  5. Yeah, I knew that. Just dumped that like this in here. Thanks anyway. I think I got that part and I'm gonna try it out now. Thanks a bunch! Got another question and instead of creating a new topic, I'll write here. What I want to create is a list of the last 5 killed mobs. First I thought of an array but I ran into a wall trying it. I use killedrid as ID and the idea is that the most recent kill is added to the list and the last one (0) gets deleted. A thought I had was doing a for loop which moves 1 to 0, 2 to 1, 3 to 2 and 4 to 3. 5 is then added as most recent. Is there an easier way? EDIT: .@j = 0; .@k = 1; for (.@i = 1; .@i < getarraysize ( kList$ ); .@i++){ kList$[.@j] = kList$[.@k]; .@j++; .@k++; } kList$[4] = getmonsterinfo(killedrid,MOB_NAME); That does it for now. But I guess there's a more elegant way?
  6. Hi everyone! I'm trying to do something at the moment and I'm wondering if it it's possible to pass the string of a variable into a new variable. Here's an example: set @monstername$,getmonsterinfo(killedrid,MOB_NAME); //Use @monstername$ as variable name #@monstername$ +=1; //Use @monstername$ in combination with text as variable name #@monstername$"kills" += 1; Is any of those two possible? Thanks in advance, Dan
  7. Holy moly! Thanks! I could've sworn it was a custom map.
  8. Hi everyone, a while back when I played Ragnarok (it must've been over 8 years now) there was a map on a private server you could warp to via the warper. This map was like a maze. It started with a map with porings and other low lvl monsters. Some rooms further were stronger monsters and the further you went, the stronger the monsters got. There was even a baphomet tping around there. Does anyone have an idea which map that is?
  9. Yeah. Thanks? Edit: I've tried it with a clean installation now. Extracted the client, took all the important stuff out into a different folder. Then I've copied the data and System folder from zackdreaver into the root folder. I've changed the clientinfo, put in the RagEXE and started it. Works like a charm. Then I talk to the merchants and as soon as I click on buy, errors are popping up. Included are: Pink Bunny Band, Solar Hat, Southern Cross, Pisces Crown, Pirates Pride, Pizza Hat, Puppy Ears Hat, Classic Hat, Queen Ants Crown, Rasta Wig, Red Beret I've already checked the itemInfo.lua and many many more.. Thanks. What exactly is that and why did I miss it?
  10. Hi everyone, It's been a long time since I worked with rAthena. Last time back when it was eAthena. I've got quite an annoying problem. But before I explain it, here's my setup: I'm using the newest kRO I've found: 20200124 The RagEXE I'm using is 2018-06-21. That's next to 2018-06-20 the only one that worked for me. The data folder is the one from zackdreaver's Git repository: ROenglishRE Here's the NEMO list: I've put the data into a custom grf which is loading as it should. I've executed the rsu-kro-renewal-lite, which finished successfully. Now I've added a mall script and tested the merchants. Right at the beginning I got the first missing bmp errors. But I'm getting more and more of those. Almost at every merchant, especially the ones for headgear. And when I select those items, I'm getting the sprite errors to those items. I can't find them in the rdata.grf. I'm using the newest rAthena. Any idea why this happens? And most importantly: Are there any suggestions regarding client/ragexe versions? I remember that it was a pain in the *** to setup the client back then, but I thought it would've been easier by now. . Example for Puppy Ears Hat:
×
×
  • Create New...