diff options
Diffstat (limited to 'npc')
26 files changed, 516 insertions, 380 deletions
diff --git a/npc/custom/etc/quest_warper.txt b/npc/custom/etc/quest_warper.txt index 35b863e9d..2ae2e7f7f 100644 --- a/npc/custom/etc/quest_warper.txt +++ b/npc/custom/etc/quest_warper.txt @@ -82,7 +82,7 @@ function script Q_Warpra { case 2: warp $QW_SP_WarpMap$, $QW_SP_WarpX, $QW_SP_WarpY; close2; - debugmes "Please check your special warp menu settings on the Warpra."; + consolemes(CONSOLEMES_WARNING, "Please check your special warp menu settings on the Warpra."); end; case 3: goto L_town; case 4: goto L_dungeon; @@ -1533,7 +1533,7 @@ function script QWS_Dungeon_Warpra { mes "[Warpra]"; mes "Sorry, I can only unlock this location."; } else - debugmes "QWS_Dungeon_Warpra error, improper syntax?"; + consolemes(CONSOLEMES_ERROR, "QWS_Dungeon_Warpra error, improper syntax?"); return; function QWS_D_setbin { @@ -1577,7 +1577,7 @@ function script QWS_Town_Warpra { } else if (QWS_T_getbin(getarg(0)) == 1) { callfunc "Q_Warpra",0; } else - debugmes "QWS_Town_Warpra error, improper syntax ?"; + consolemes(CONSOLEMES_ERROR, "QWS_Town_Warpra error, improper syntax ?"); return; function QWS_T_setbin { diff --git a/npc/custom/events/mushroom_event.txt b/npc/custom/events/mushroom_event.txt index b9c54c09e..fc7446814 100644 --- a/npc/custom/events/mushroom_event.txt +++ b/npc/custom/events/mushroom_event.txt @@ -41,7 +41,7 @@ OnMinute10: // Start time (every hour) set .status,1; set .Spawn,rand(1,10); // How many Mushrooms should spawn? set .Map$,.maps$[rand(getarraysize(.maps$))]; - killmonster .Map$,"All"; + killmonster(.Map$, "all"); monster .Map$,0,0,"Please don't kill me!",1084,.Spawn,strnpcinfo(NPC_NAME)+"::OnMobKilled"; announce "Find the Mushroom : Total of "+.Spawn+" Mushrooms have been spawned in "+.Map$+"!",0; sleep 2500; @@ -50,9 +50,12 @@ OnMinute10: // Start time (every hour) OnMobKilled: set .Spawn, .Spawn - 1; - getitem .Prize, .Amount; - if (.Spawn) announce "[ "+strcharinfo(PC_NAME)+" ] has killed a Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map; - else { + if (playerattached() != 0) { + getitem .Prize, .Amount; + if (.Spawn) + announce "[ "+strcharinfo(PC_NAME)+" ] has killed a Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map; + } + if (!.Spawn) { announce "The Find the Mushroom Event has ended. All the Mushrooms have been killed.",0; set .status,0; } diff --git a/npc/custom/quests/quest_shop.txt b/npc/custom/quests/quest_shop.txt index 739b53c02..c2481e991 100644 --- a/npc/custom/quests/quest_shop.txt +++ b/npc/custom/quests/quest_shop.txt @@ -170,13 +170,13 @@ OnEnd: function Add { if (getitemname(getarg(1)) == "null") { - debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; + consolemes(CONSOLEMES_WARNING, "Quest reward #"+getarg(1)+" invalid (skipped)."); return; } setarray .@j[0],getarg(2),getarg(3),getarg(4); for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) { if (getitemname(getarg(.@i)) == "null") { - debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped)."; + consolemes(CONSOLEMES_WARNING, "Quest requirement #"+getarg(.@i)+" invalid (skipped)."); return; } else setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); diff --git a/npc/custom/quests/thq/THQS_TTShop.txt b/npc/custom/quests/thq/THQS_TTShop.txt index 96e7346d3..4c12f9938 100644 --- a/npc/custom/quests/thq/THQS_TTShop.txt +++ b/npc/custom/quests/thq/THQS_TTShop.txt @@ -93,7 +93,7 @@ function script thqs_trade_token { // getarg(1) - .@mp$ -> PRICE function script thqs_menu_buy { if( getargcount() != 2 ) { - debugmes "thqs_menu_buy: Wrong number of arguments!!"; + consolemes(CONSOLEMES_ERROR, "thqs_menu_buy: Wrong number of arguments!!"); close; } @@ -101,7 +101,7 @@ function script thqs_menu_buy { .@mp$ = getarg(1); if( getarraysize( getd(.@mw$) ) != getarraysize( getd(.@mp$) ) ) { - debugmes "thqs_menu_buy: Missing entries in data!"; + consolemes(CONSOLEMES_ERROR, "thqs_menu_buy: Missing entries in data!"); close; } diff --git a/npc/dev/test.txt b/npc/dev/test.txt index 2822ee65c..a867a09b2 100644 --- a/npc/dev/test.txt +++ b/npc/dev/test.txt @@ -786,10 +786,10 @@ function script HerculesSelfTestHelper { callsub(OnCheck, "data_to_string (integer variable)", data_to_string(.@x), ".@x"); if (.errors) { - debugmes "Script engine self-test [ \033[0;31mFAILED\033[0m ]"; - debugmes "**** The test was completed with " + .errors + " errors. ****"; + consolemes(CONSOLEMES_DEBUG, "Script engine self-test [ \033[0;31mFAILED\033[0m ]"); + consolemes(CONSOLEMES_DEBUG, "**** The test was completed with " + .errors + " errors. ****"); } else { - debugmes "Script engine self-test [ \033[0;32mPASSED\033[0m ]"; + consolemes(CONSOLEMES_DEBUG, "Script engine self-test [ \033[0;32mPASSED\033[0m ]"); } return .errors; end; @@ -840,8 +840,8 @@ OnReportError: .@val$ = getarg(1,""); .@ref$ = getarg(2,""); if (.errors == 1) - debugmes "**** WARNING: Any self-test results past this point are unreliable because of previous errors. ****"; - debugmes "Error: "+.@msg$+": '"+.@val$+"' (found) != '"+.@ref$+"' (expected)"; + consolemes(CONSOLEMES_DEBUG, "**** WARNING: Any self-test results past this point are unreliable because of previous errors. ****"); + consolemes(CONSOLEMES_DEBUG, "Error: "+.@msg$+": '"+.@val$+"' (found) != '"+.@ref$+"' (expected)"); ++.errors; //end; return; diff --git a/npc/jobs/1-1e/ninja.txt b/npc/jobs/1-1e/ninja.txt index 762f94b4b..8911b5795 100644 --- a/npc/jobs/1-1e/ninja.txt +++ b/npc/jobs/1-1e/ninja.txt @@ -93,9 +93,9 @@ alberta,30,65,3 script Akagi 4_M_JOB_ASSASSIN,{ } } -que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ +que_ng,30,65,3 script Kuuga Gai#nq 4_M_JOB_ASSASSIN,{ if (Upper == 2) { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "I... I've never"; mes "seen a baby as"; mes "powerful as you!"; @@ -105,7 +105,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ } if (Class == Job_Novice) { if (JobLevel < 10) { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Hm? Have you come to"; mes "learn how to be a Ninja?"; mes "You're not quite experienced"; @@ -119,7 +119,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "Excuse me."; mes "H-hello?"; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "..............................."; mes "How did you do that?"; next; @@ -127,7 +127,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "Do what? I didn't"; mes "do anything, I don't think..."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "H-How are you able to"; mes "see me? I'm supposed to"; mes "be invisible to the naked eye."; @@ -140,7 +140,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "Calm down, there's no"; mes "need to get violent!"; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "What...?"; mes "How did you dodge"; mes "all of my attacks?"; @@ -153,7 +153,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "to change my job"; mes "to a Ninja."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "...Oh. Is that all?"; mes "Hmm, you've got great"; mes "potential, but I can't help"; @@ -161,14 +161,14 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "enemies, and I can't let my"; mes "guard down for even a second."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "That Wildcat Joe is"; mes "completely ruthless...!"; mes "He could strike at any time!"; mes "He'll do anything to achieve"; mes "victory over his enemies!"; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Wait, wait, I just"; mes "thought of something."; mes "Maybe you can help me out."; @@ -177,7 +177,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "really want to be a Ninja."; next; if(select("Sure.", "No, thanks.") == 2) { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Hm? Well, alright."; mes "Still, I don't see"; mes "why we can't help"; @@ -185,7 +185,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "little predicament..."; close; } - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Great! Now, I wanted to"; mes "ask Wildcat Joe if he'd"; mes "agree to a temporary truce."; @@ -193,7 +193,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "are out of weapons, so we"; mes "should get well equipped first."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Please take this letter,"; mes "and deliver it to Wildcat"; mes "Joe in Einbroch. He's a master"; @@ -201,7 +201,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "eye out for him. Ah, and look"; mes "for him in a high place."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Yeah, Wildcat Joe"; mes "always did have a thing"; mes "for hiding in high places."; @@ -213,7 +213,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ close; } else if (NINJ_Q == 1) { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Even if this task"; mes "isn't that urgent,"; mes "please hurry over to"; @@ -222,7 +222,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ close; } else if (NINJ_Q == 2) { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Did you deliver that"; mes "letter to Wildcat Joe?"; mes "I still need to know his"; @@ -232,14 +232,14 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ close; } else if (NINJ_Q == 3) { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Ah, you've returned."; mes "So did Wildcat Joe send"; mes "you back here with his"; mes "response? Great, great,"; mes "please let me read it."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "What...?! How could he"; mes "reject my proposal for"; mes "a truce?! This can only"; @@ -247,14 +247,14 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "Kunai. Nuts! I have to catch"; mes "up to him, or I'm a goner!"; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Listen, you've got to help"; mes "me out again! I need you to"; mes "gather some materials so that"; mes "I can craft my own Kunai to fight Wildcat Joe. Then, I'll go ahead"; mes "and change your job to a Ninja."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "All you need"; mes "to bring me is"; mes "^3355FF5 Cyfars^000000 and"; @@ -268,7 +268,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "asked me to gather"; mes "those same materials."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Curses! Then that means..."; mes "You actually helped Joe"; mes "in crafting his Kunai! No!"; @@ -281,7 +281,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ } else if (NINJ_Q == 4) { if (countitem(Cyfar) < 5 || countitem(Phracon) < 1) { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Hurry and bring"; mes "^3355FF5 Cyfars^000000 and"; mes "^3355FF1 Phracon^000000 to me,"; @@ -291,7 +291,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ close; } if (SkillPoint != 0) { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Whoa, whoa..."; mes "You still have some"; mes "leftover Skill Points."; @@ -300,7 +300,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "change jobs, right?"; close; } - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Ah, you're back with"; mes "everything that I need."; mes "You've come earlier than"; @@ -308,14 +308,14 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "as promised, I'll turn"; mes "you into a Ninja."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Let me formally introduce"; - mes "myself. I am High Ninja Cougar"; + mes "myself. I am High Ninja Kuuga Gai"; mes "in the Touga Ninja Corps, and"; mes "I'm in charge of the search"; mes "party to find Sir Kazma."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Sir Kazma is the chief"; mes "of my village, but he's"; mes "run away. This has resulted"; @@ -323,7 +323,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "the Ninja Corps. Things are"; mes "pretty unstable right now..."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "I initially didn't want to"; mes "accept you as a Ninja because"; mes "of this complicated situation."; @@ -331,14 +331,14 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "you're truly worthy of joining"; mes "the Ninja ranks."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "According to his letter, even"; mes "Joe thinks highly of you. Just"; mes "remember that, as a Ninja, your"; mes "mission is your highest priority. But don't let mission objectives"; mes "supercede your conscience."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "''Secrecy above all else.''"; mes "To keep our secrets in the"; mes "shadows, you can only buy"; @@ -346,7 +346,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "authorized dealers. Please"; mes "keep that in mind."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "As of today, you are"; mes "now a proud member of the"; mes "Touga Ninja Corps. Be as"; @@ -361,7 +361,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ close; } else { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "How have you been?"; mes "Train hard: you want"; mes "to be able to vanish"; @@ -372,7 +372,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ } } else { if (BaseClass == Job_Ninja) { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "How have you been?"; mes "Train hard: you want"; mes "to be able to vanish"; @@ -381,7 +381,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{ mes "the respect of any Ninja~"; close; } else { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "What...?"; mes "How were you able"; mes "to find me hidden"; @@ -478,7 +478,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{ mes "?????!!"; next; mes "[Suspicious Man]"; - mes "Why? Didn't you bring Cougar's letter for me?"; + mes "Why? Didn't you bring Kuuga Gai's letter for me?"; next; mes "["+strcharinfo(PC_NAME)+"]"; mes "Are you..."; @@ -487,7 +487,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{ mes "[Suspicious Man]"; mes "...Yes, but I prefer to"; mes "be called Red Leopard Joe."; - mes "Cougar sent you to me, right?"; + mes "Kuuga Gai sent you to me, right?"; mes "He's the only one who calls"; mes "me that. So you want to be"; mes "a Ninja, eh? Hmm, alright."; @@ -513,7 +513,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{ mes "[Red Leopard Joe]"; mes "For now, let me read"; mes "this letter. Let's see..."; - mes "Hm. I thought that Cougar"; + mes "Hm. I thought that Kuuga Gai"; mes "would want to challenge me"; mes "again, but he actually wants"; mes "a temporary truce? Hah!"; @@ -540,7 +540,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{ mes "[Red Leopard Joe]"; mes "Here you go."; mes "Please bring this"; - mes "letter to Cougar."; + mes "letter to Kuuga Gai."; mes "It'll take a while to"; mes "return to Amatsu, so let"; mes "me send you there directly..."; @@ -557,7 +557,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{ mes "Eh? I'm not sure what"; mes "happened, but it seems"; mes "that you haven't delivered"; - mes "my response to Cougar yet."; + mes "my response to Kuuga Gai yet."; mes "Shall I directly send you"; mes "to Amatsu right now?"; next; @@ -577,7 +577,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{ } else if (NINJ_Q == 4) { mes "[Red Leopard Joe]"; - mes "Cougar asked you to"; + mes "Kuuga Gai asked you to"; mes "gather some materials"; mes "too? Oh well, I suppose"; mes "that I can't blame him."; diff --git a/npc/merchants/advanced_refiner.txt b/npc/merchants/advanced_refiner.txt index 9632f95f7..ec263e192 100644 --- a/npc/merchants/advanced_refiner.txt +++ b/npc/merchants/advanced_refiner.txt @@ -44,14 +44,19 @@ //========================================================================= payon,157,146,6 script Suhnbi#cash 4_M_03,{ - disable_items; - mes "[Suhnbi]"; - mes "I am the Armsmith"; - mes "I can refine all kinds of weapons,"; - mes "armor and equipment, so let me"; - mes "know what you want to refine."; - next; + mes("[Suhnbi]"); + mes("I am the Armsmith"); + mes("I can refine all kinds of weapons,"); + mes("armor and equipment, so let me"); + mes("know what you want to refine."); + if (getbattleflag("features/replace_refine_npcs") == 1) { + if (openrefineryui()) + close(); + } + next(); + + disable_items; setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3"; .@menu$ = ""; for(.@i = 1; .@i<=10; ++.@i) { diff --git a/npc/merchants/hd_refine.txt b/npc/merchants/hd_refine.txt index a7fc5e922..1a5a43621 100644 --- a/npc/merchants/hd_refine.txt +++ b/npc/merchants/hd_refine.txt @@ -39,6 +39,17 @@ //== Blacksmith Mighty Hammer (+7~9) ======================= - script ::MightyHammer FAKE_NPC,{ + mes("[Blacksmith Mighty Hammer]"); + mes("I'm a blacksmith skilled in refining weapons and armors."); + mes("I can refine an item of your choice among the items you are equipped with."); + mes("Which item do you want to refine?"); + + if (getbattleflag("features/replace_refine_npcs") == 1) { + if (openrefineryui()) + close(); + } + next(); + disable_items; mes "[Blacksmith Mighty Hammer]"; mes "Unlike others, I am a blacksmith who refines a very limited number of items."; @@ -179,6 +190,10 @@ lhz_in02,280,19,3 duplicate(MightyHammer) Mighty Hammer#lhz 4_M_DWARF //== Basta (+10 and up) ==================================== - script ::Basta FAKE_NPC,{ + if (getbattleflag("features/replace_refine_npcs") == 1) { + if (openrefineryui()) + end(); + } disable_items; mes "[Basta]"; mes "I'm the best Blacksmith in the whole world, Basta."; diff --git a/npc/merchants/refine.txt b/npc/merchants/refine.txt index 7f1b4d9a3..19ebf4a8e 100644 --- a/npc/merchants/refine.txt +++ b/npc/merchants/refine.txt @@ -589,14 +589,19 @@ lhz_in02,282,20,7 script Fulerr 4_M_LGTMAN,{ // If you enable this function, be sure to edit the value of .@safe to the max // safe refine in refine_db.txt as well. function script refinemain { + mesf("[%s]", getarg(0)); + mes("I'm the Armsmith."); + mes("I can refine all kinds of weapons, armor and equipment, so let me"); + mes("know what you want me to refine."); + + if (getbattleflag("features/replace_refine_npcs") == 1) { + if (openrefineryui()) + close(); + } + next(); + disable_items; .@features = getarg(1); - mes "[" + getarg(0) + "]"; - mes "I'm the Armsmith."; - mes "I can refine all kinds of weapons, armor and equipment, so let me"; - mes "know what you want me to refine."; - next; - setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3"; .@menu$ = ""; for(.@i = 1; .@i <= 10; ++.@i) { diff --git a/npc/other/Global_Functions.txt b/npc/other/Global_Functions.txt index 904ed7165..e3741b495 100644 --- a/npc/other/Global_Functions.txt +++ b/npc/other/Global_Functions.txt @@ -434,7 +434,7 @@ function script F_ShuffleNumbers { //== Function F_MesColor =================================== // Function to colorize npc dialog without having to memorize the color code // Examples: -// mes callfunc("F_MesColor", C_BLUE) +"This message is now in BLUE"; +// mesf("%sThis message is now in BLUE.", F_MesColor(C_BLUE)); function script F_MesColor { return sprintf("^%06X", min(getarg(0), 0xFFFFFF)); } @@ -446,32 +446,45 @@ function script F_MesColor { function script F_GetTradeRestriction { .@trade = getiteminfo(getarg(0), ITEMINFO_TRADE); - if (.@trade == 0) { + if (.@trade == 0) return "None"; - } .@trade$ = ""; - if (.@trade & ITR_NODROP) { + if (.@trade & ITR_NODROP) .@trade$ += "NoDrop|"; - } - if (.@trade & ITR_NOTRADE) { + if (.@trade & ITR_NOTRADE) .@trade$ += "NoTrade|"; - } - if (.@trade & ITR_PARTNEROVERRIDE) { + if (.@trade & ITR_PARTNEROVERRIDE) .@trade$ += "PartnerOverride|"; - } - if (.@trade & ITR_NOSELLTONPC) { + if (.@trade & ITR_NOSELLTONPC) .@trade$ += "NoSellToNpc|"; - } - if (.@trade & ITR_NOSTORAGE) { + if (.@trade & ITR_NOSTORAGE) .@trade$ += "NoStorage|"; - } - if (.@trade & ITR_NOGSTORAGE) { + if (.@trade & ITR_NOGSTORAGE) .@trade$ += "NoGuildStorage|"; - } - if (.@trade & ITR_NOMAIL) { + if (.@trade & ITR_NOMAIL) .@trade$ += "NoMail|"; - } - if (.@trade & ITR_NOAUCTION) { + if (.@trade & ITR_NOAUCTION) .@trade$ += "NoAuction|"; + return .@trade$; +} + +//== Function F_MesItemInfo =================================== +// Show the item name and a clickable link for the item description +// Only works with mes and mesf, does not work in menu/select +function script F_MesItemInfo { + .@item = getarg(0); + .@itemname$ = getitemname(.@item); + if (.@itemname$ != "null") { + .@itemslot = getitemslots(.@item); + if (.@itemslot) + .@itemname$ = sprintf("%s [%d]", .@itemname$, .@itemslot); } + else + .@itemname$ = "Unknown Item"; + if (PACKETVER >= 20150729) + return sprintf("<ITEM>%s<INFO>%d</INFO></ITEM>", .@itemname$, .@item); + else if (PACKETVER >= 20130130) + return sprintf("<ITEMLINK>%s<INFO>%d</INFO></ITEMLINK>", .@itemname$, .@item); + else + return .@itemname$; } diff --git a/npc/other/inventory_expansion.txt b/npc/other/inventory_expansion.txt index db18e09e1..8a5ac5e6c 100644 --- a/npc/other/inventory_expansion.txt +++ b/npc/other/inventory_expansion.txt @@ -33,28 +33,28 @@ OnInvExpandRequest: if (countitem(Inventory_Extension_Coupon) < 1) { - expandInventoryAck(EXPAND_INV_MISSING_ITEM); + expandinventoryack(EXPAND_INV_MISSING_ITEM); end; } - if (getInventorySize() + INVENTORY_INCREASE_STEP > MAX_INVENTORY) { - expandInventoryAck(EXPAND_INV_MAX_SIZE); + if (getinventorysize() + INVENTORY_INCREASE_STEP > MAX_INVENTORY) { + expandinventoryack(EXPAND_INV_MAX_SIZE); end; } - expandInventoryAck(EXPAND_INV_ASK_CONFIRMATION, Inventory_Extension_Coupon); + expandinventoryack(EXPAND_INV_ASK_CONFIRMATION, Inventory_Extension_Coupon); end; OnInvExpandConfirmed: if (countitem(Inventory_Extension_Coupon) < 1) { - expandInventoryResult(EXPAND_INV_RESULT_MISSING_ITEM); + expandinventoryresult(EXPAND_INV_RESULT_MISSING_ITEM); end; } - if (getInventorySize() + INVENTORY_INCREASE_STEP > MAX_INVENTORY) { - expandInventoryResult(EXPAND_INV_RESULT_MAX_SIZE); + if (getinventorysize() + INVENTORY_INCREASE_STEP > MAX_INVENTORY) { + expandinventoryresult(EXPAND_INV_RESULT_MAX_SIZE); end; } delitem(Inventory_Extension_Coupon, 1); - if (expandInventory(INVENTORY_INCREASE_STEP) == true) { - expandInventoryResult(EXPAND_INV_RESULT_SUCCESS); + if (expandinventory(INVENTORY_INCREASE_STEP) == true) { + expandinventoryresult(EXPAND_INV_RESULT_SUCCESS); } end; diff --git a/npc/quests/quests_nameless.txt b/npc/quests/quests_nameless.txt index 9461461a5..55f5c319c 100644 --- a/npc/quests/quests_nameless.txt +++ b/npc/quests/quests_nameless.txt @@ -61,7 +61,8 @@ //= 2.4 //========================================================================= -//== Nameless Island and Cursed Monestary Access Quest :: aru_monas = +// Nameless Island and Cursed Monestary Access Quest :: aru_monas +//========================================================================= airplane_01,90,63,0 script Event Switch#pc FAKE_NPC,3,3,{ end; @@ -998,7 +999,7 @@ nameless_i,127,207,0 script Dead Crow#Aru HIDDEN_NPC,{ mes "^3355FFThis grass must be the"; mes "main ingredient of the"; mes "poison used to kill the"; - mes "Gaebolg family princes.^000000"; + mes "Geoborg family princes.^000000"; next; mes "["+strcharinfo(PC_NAME)+"]"; mes "Looks like I just hit"; @@ -4406,7 +4407,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{ mes "and vibrated violently"; mes "before coming to a sudden"; mes "stop. That was the wrong"; - mes "switch. You'd better ask Dorian... "; + mes "switch. You'd better ask Dorian..."; changequest 3105,3106; diamond_edq = 11; close; @@ -4432,7 +4433,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{ mes "and vibrated violently"; mes "before coming to a sudden"; mes "stop. That was the wrong"; - mes "switch. You'd better ask Dorian... "; + mes "switch. You'd better ask Dorian..."; changequest 3105,3106; diamond_edq = 11; close; @@ -4458,7 +4459,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{ mes "and vibrated violently"; mes "before coming to a sudden"; mes "stop. That was the wrong"; - mes "switch. You'd better ask Dorian... "; + mes "switch. You'd better ask Dorian..."; changequest 3105,3106; diamond_edq = 11; close; @@ -4484,7 +4485,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{ mes "and vibrated violently"; mes "before coming to a sudden"; mes "stop. That was the wrong"; - mes "switch. You'd better ask Dorian... "; + mes "switch. You'd better ask Dorian..."; changequest 3105,3106; diamond_edq = 11; close; @@ -4509,7 +4510,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{ mes "and vibrated violently"; mes "before coming to a sudden"; mes "stop. That was the wrong"; - mes "switch. You'd better ask Dorian... "; + mes "switch. You'd better ask Dorian..."; changequest 3105,3106; diamond_edq = 11; close; @@ -4535,7 +4536,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{ mes "and vibrated violently"; mes "before coming to a sudden"; mes "stop. That was the wrong"; - mes "switch. You'd better ask Dorian... "; + mes "switch. You'd better ask Dorian..."; changequest 3105,3106; diamond_edq = 11; close; @@ -4561,7 +4562,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{ mes "and vibrated violently"; mes "before coming to a sudden"; mes "stop. That was the wrong"; - mes "switch. You'd better ask Dorian... "; + mes "switch. You'd better ask Dorian..."; changequest 3105,3106; diamond_edq = 11; close; @@ -4587,7 +4588,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{ mes "and vibrated violently"; mes "before coming to a sudden"; mes "stop. That was the wrong"; - mes "switch. You'd better ask Dorian... "; + mes "switch. You'd better ask Dorian..."; changequest 3105,3106; diamond_edq = 11; close; @@ -10318,7 +10319,7 @@ comodo,139,184,3 script Scholar#zgang 2_M_SAGE_B,{ mes "jewel came into a rich man's"; mes "possession. However, he lost"; mes "his fortune and was completely"; - mes "ruined after obtaining it. Hence the moniker, ''Unlucky Emerald.''"; + mes "ruined after obtaining it. Hence the moniker, ''Unlucky Emerald.''"; next; mes "[Scholar]"; mes "Then the emerald came into"; diff --git a/npc/quests/quests_prontera.txt b/npc/quests/quests_prontera.txt index e0bd9156e..b2fefb3cf 100644 --- a/npc/quests/quests_prontera.txt +++ b/npc/quests/quests_prontera.txt @@ -37,7 +37,7 @@ //= Collection of Prontera-based quests. //= - Culvert Access //= - Ph.D Hat Quest -//= - Gaebolg Family Curse +//= - Geoborg Family Curse //================= Current Version ======================================= //= 2.9 //================= Variables Used ======================================== @@ -45,7 +45,7 @@ //= - MISC_QUEST (bit 8) //= Ph.D Hat Quest: //= - n/a -//= Gaebolg Family Curse: +//= Geoborg Family Curse: //= - prt_curse (max 61) //========================================================================= @@ -799,7 +799,7 @@ yuno,311,195,3 script Historian#prt01 4_M_SAGE_A,{ mes "With the return of peace,"; mes "the 7 warriors established"; mes "the Rune-Midgarts Kingdom,"; - mes "choosing Tristram Gaebolg III"; + mes "choosing Tristram Geoborg III"; mes "as the kingdom's first ruler. "; next; mes "[Historian]"; @@ -1228,7 +1228,7 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{ next; mes "[Historian Rodafrian]"; mes "Anyway, your report about"; - mes "the Gaebolg family will be"; + mes "the Geoborg family will be"; mes "greatly appreciated by the"; mes "Rekenber Historical Research"; mes "Group. But first, I need to"; @@ -1237,7 +1237,7 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{ mes "[Historian Rodafrian]"; mes "Anyway, keep this information"; mes "a secret between me and you"; - mes "for now. Then, when I reveal the secret curse of the Gaebolg royal"; + mes "for now. Then, when I reveal the secret curse of the Geoborg royal"; mes "family, I'll finally outshine that Karlomoff! Bwahahahahaha!"; next; mes "["+strcharinfo(PC_NAME)+"]"; @@ -2291,7 +2291,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{ next; mes "[Father Bamph]"; mes "Finally, the first Tristram of"; - mes "the Gaebolg family defeated"; + mes "the Geoborg family defeated"; mes "Jormungand together with 6"; mes "other warriors, but only after"; mes "it killed his beloved father."; @@ -2306,7 +2306,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{ mes "[Father Bamph]"; mes "To this day..."; mes "^FF0000Every first prince of"; - mes "the Gaebolg family dies"; + mes "the Geoborg family dies"; mes "at a young age^000000. That is"; mes "Jormungand's curse and"; mes "the royal family's secret."; @@ -2429,7 +2429,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{ mes "Oh, my. I learned the song"; mes "when I was a young boy from"; mes "my father. However, your version seems to reveal the secret curse"; - mes "of the Gaebolgs. Please tell me, where did you hear that song?"; + mes "of the Geoborgs. Please tell me, where did you hear that song?"; next; mes "["+strcharinfo(PC_NAME)+"]"; mes "Well, I first heard this"; @@ -3069,7 +3069,7 @@ prt_church,16,114,4 script Father Bamph#tomb 1_M_PASTOR,{ if (prt_curse == 18) { mes "[Father Bamph]"; mes "There are the bodies"; - mes "of the Gaebolg princes"; + mes "of the Geoborg princes"; mes "that were killed during"; mes "the exorcism. Please take"; mes "a look at the body to the left."; @@ -3547,13 +3547,13 @@ OnTouch: mes "["+strcharinfo(PC_NAME)+"]"; mes "Long ago, the giant serpent"; mes "Jormungand threatened mankind."; - mes "7 warriors defeated Jormungand, led by Tristram III of the Gaebolg"; - mes "family, but Jormungand cursed the Gaebolg bloodline in its defeat."; + mes "7 warriors defeated Jormungand, led by Tristram III of the Geoborg"; + mes "family, but Jormungand cursed the Geoborg bloodline in its defeat."; next; mes "["+strcharinfo(PC_NAME)+"]"; mes "Ever since, the curse kills"; mes "the first born prince of the"; - mes "Gaebolg family at an early age."; + mes "Geoborg family at an early age."; mes "However, all of the princes of"; mes "this generation were killed."; next; diff --git a/npc/quests/quests_rachel.txt b/npc/quests/quests_rachel.txt index 43e4beadb..1cc002d80 100644 --- a/npc/quests/quests_rachel.txt +++ b/npc/quests/quests_rachel.txt @@ -3210,7 +3210,7 @@ OnTouch: OnTouchNPC: emotion e_an; - //emotion e_gg,1; //Emote on monster - unsupported + unitemote mobattached(), e_gg; end; OnMyMobDead: diff --git a/npc/re/instances/OldGlastHeim.txt b/npc/re/instances/OldGlastHeim.txt index 44b5f1e61..ec0efeb53 100644 --- a/npc/re/instances/OldGlastHeim.txt +++ b/npc/re/instances/OldGlastHeim.txt @@ -2744,7 +2744,7 @@ glast_01,188,273,5 script White Knight#1a 4_WHITEKNIGHT,{ close(); } mes("I exchange you a White Knight Card for ^0000FF3000 Coagulated Spell^000000 or ^FF000070 Contaminated Magic^000000."); - mes("<ITEMLINK>White Knight Card<INFO>4608</INFO></ITEMLINK>"); + mes(F_MesItemInfo(White_Knightage_Card)); next(); setarray(.@item[0], Coagulated_Spell, Corrupted_Charm); setarray(.@cost[0], 3000, 70); @@ -2777,7 +2777,7 @@ glast_01,192,273,3 script Khalitzburg Knight#1a 4_F_KHALITZBURG,{ close(); } mes("I exchange you a Khalitzburg Knight Card for ^0000FF5000 Coagulated Spell^000000 or ^FF0000100 Contaminated Magic^000000."); - mes("<ITEMLINK>Khalitzburg Knight Card<INFO>4609</INFO></ITEMLINK>"); + mes(F_MesItemInfo(Khali_Knightage_Card)); next(); setarray(.@item[0], Coagulated_Spell, Corrupted_Charm); setarray(.@cost[0], 5000, 100); diff --git a/npc/re/instances/ghost_palace.txt b/npc/re/instances/ghost_palace.txt index 3e708dc57..a291984db 100644 --- a/npc/re/instances/ghost_palace.txt +++ b/npc/re/instances/ghost_palace.txt @@ -601,7 +601,7 @@ OnInstanceInit: OnStart: stopnpctimer instance_npcname("#gp3control"); disablenpc(instance_npcname("#gp3control")); - killmonster(instance_mapname("1@spa"), "All"); + killmonster(instance_mapname("1@spa"), "all"); disablenpc(instance_npcname("#gp3warp")); enablenpc(instance_npcname("Lurid Royal Guard#gp5")); enablenpc(instance_npcname("Tiara Princess#gp5")); diff --git a/npc/re/jobs/2e/kagerou_oboro.txt b/npc/re/jobs/2e/kagerou_oboro.txt index 5c54a0114..5818bb4fd 100644 --- a/npc/re/jobs/2e/kagerou_oboro.txt +++ b/npc/re/jobs/2e/kagerou_oboro.txt @@ -120,7 +120,7 @@ que_ng,21,76,0 script Wall with a Drawing#ko CLEAR_NPC,{ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ if (MaxWeight - Weight < 1000 || checkweight("Knife",1) == 0) { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "You don't need to carry so many things."; close; } @@ -128,8 +128,8 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ for (set .@i,5131; .@i<=5146; set .@i,.@i+1) if (questprogress(.@i)) erasequest .@i; set job_kagero,0; - mes "[Cougar]"; - mes "You are not in the Family of the Ninja."; + mes "[Kuuga Gai]"; + mes "You are not in the clan of the Ninja."; close2; warp "amatsu",147,136; end; @@ -156,28 +156,28 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ mes "^1A95E6He keeps talking and doesn't stop to answer your question.^1A95E6"; next; mes "[Old Man]"; - mes "There once was a quiet family living in ancient Amatsu times that is never mentioned in history books or stories."; + mes "There once was a quiet clan living in ancient Amatsu times that is never mentioned in history books or stories."; next; mes "[Old Man]"; mes "They lived beneath shadows but always yearned for the bright sun, like a sunflower."; next; mes "[Old Man]"; - mes "A family that was loyal to their lord who they served as their bright sun."; + mes "A clan that was loyal to their lord who they served as their bright sun."; next; mes "[Old Man]"; - mes "...a very trustworthy family..."; + mes "...a very trustworthy clan..."; next; mes "[Old Man]"; mes "....loyal to their core..."; next; mes "[Old Man]"; - mes "...a family of integrity..."; + mes "...a clan of integrity..."; next; select("What happened to them?"); mes "^1A95E6The old man looks at you with a melancholy face.^1A95E6"; next; mes "[Old Man]"; - mes "Why are you interested in a family that was abandoned by their lord and disappeared from history itself?"; + mes "Why are you interested in a clan that was abandoned by their lord and disappeared from history itself?"; next; if(select("I'm a Ninja.", "I'm bored.") == 2) { mes "[Old Man]"; @@ -188,13 +188,13 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ } cutin "job_ko02",2; mes "[Old Man]"; - mes "Ninja! There was a time when the family was called ninjas, too."; + mes "Ninja! There was a time when the clan was called ninjas, too."; next; erasequest 5131; setquest 5132; set job_kagero,2; mes "[Old Man]"; - mes "You'll have to lend me your ear for I have so much to tell you about the family story."; + mes "You'll have to lend me your ear for I have so much to tell you about the clan story."; close2; cutin "",255; end; @@ -206,13 +206,13 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ mes "This goes way back to ancient times and nobody in Amatsu remembers about it."; next; mes "[Old Man]"; - mes "The family worked behind the scenes and basically lived their lives for their lord."; + mes "The clan worked behind the scenes and basically lived their lives for their lord."; next; mes "[Old Man]"; mes "They were very loyal doing whatever deed their lord asked for."; next; mes "[Old Man]"; - mes "Ninja, the family was known as the dark family but that doesn't mean they wanted to be hidden in the darkness."; + mes "Ninja, the clan was known as the dark clan but that doesn't mean they wanted to be hidden in the darkness."; next; mes "[Old Man]"; mes "They were loyal enough to be satisfied as the lord's servants but their loyalty became the problem."; @@ -222,13 +222,13 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ mes "They are a secret organization that even the lord didn't know much about."; next; mes "[Old Man]"; - mes "The few that knew about the family's existence, tried to investigate them but nobody was able to reveal their true identity."; + mes "The few that knew about the clan's existence, tried to investigate them but nobody was able to reveal their true identity."; next; mes "[Old Man]"; - mes "That is why this family has grown from loyal servants to a group feared for its secrets."; + mes "That is why this clan has grown from loyal servants to a group feared for its secrets."; next; mes "[Old Man]"; - mes "The lord shunned the family and didn't call them for their service any more but they never betrayed him."; + mes "The lord shunned the clan and didn't call them for their service any more but they never betrayed him."; next; select("They were really loyal people."); cutin "job_ko03",2; @@ -245,20 +245,20 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ } else if (job_kagero == 3) { cutin "job_ko03",2; mes "[Old Man]"; - mes "The family has been living in hiding for so long since the old days. The current lord didn't even know of their existence."; + mes "The clan has been living in hiding for so long since the old days. The current lord didn't even know of their existence."; next; select("........."); cutin "job_ko01",2; mes "[Old Man]"; - mes "I'm Guide Gion, the last of the dark ninja family."; + mes "I'm Leader Gion, the last of the dark ninja clan."; next; if(select("I think your time has ended.", "I need your teaching.") == 1) { cutin "job_ko04",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Are you an assassin to end this old man's life?"; next; - mes "[Guide Gion]"; - mes "So that is why you've shown interest in my family. I won't give up easily."; + mes "[Leader Gion]"; + mes "So that is why you've shown interest in my clan. I won't give up easily."; next; percentheal -99,0; mes "Pow!!"; @@ -268,50 +268,50 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ end; } cutin "job_ko02",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Teaching..."; mes "Been a long time since I last heard that word."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "I guess this little visit was not by coincidence but a start of a connection."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Sorry I am not a teacher. But!"; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "I can help you on the path you've chosen, the ^33CC71"+ (Sex == SEX_MALE ? "Kagerou" : "Oboro") +"^000000 path."; next; - mes "^1A95E6You hear Guide Gion's voice faintly as you slip away.^1A95E6"; + mes "^1A95E6You hear Leader Gion's voice faintly as you slip away.^1A95E6"; next; erasequest 5133; setquest 5134; set job_kagero,4; - mes "[Guide Gion]"; - mes "If you are prepared to follow me, Guide Gion, on the "+ (Sex == SEX_MALE ? "Kagerou" : "Oboro") +" path, we will meet again."; + mes "[Leader Gion]"; + mes "If you are prepared to follow me, Leader Gion, on the "+ (Sex == SEX_MALE ? "Kagerou" : "Oboro") +" path, we will meet again."; close2; warp "amatsu",147,136; end; } else if (job_kagero == 4) { cutin "job_ko02",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "I thought you were afraid of the ^33CC71path of the "+ (Sex == SEX_MALE ? "Kagerou" : "Oboro") +"^33CC71 and wouldn't come back."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "But from the look of your eyes, I guess I misjudged you."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "You will have to train your mind and body to walk steadily in the unknown world and never fall into temptation to stay on the path."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Our ancestors had 4 tests to train our people."; next; select("4 tests?"); cutin "job_ko01",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Yes, there are 4 tests."; mes "My ancestors trained my people with 4 tests that involve ^087FF8knowledge^000000, ^087FF8survival^000000, ^087FF8weapons^000000, and ^087FF8battle^000000."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "I know you are curious what these tests are. Let me explain one by one."; next; while(1) { @@ -319,75 +319,75 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ set .@test, .@test | (1<<(.@i-1)); switch (.@i) { case 1: - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "We need to be knowledgeable in order to assist the lord. This test is for this purpose."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "You can pass the test if you successfully solve more than 9 out of 10 questions."; next; if (.@test != 15) { - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "The test will be easy to pass if you've been steady in your studies. Now what other test are you curious about?"; next; } break; case 2: - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Missions aren't always easy and safe. That is why survival instincts are vital to us."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "My ancestors call this test the dice test. It is a test to advance forward depending on the dice results."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Think of it as the simple dice games people play."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "But never let your guard down during the test because it isn't called the survival test for nothing."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "There will be blocks that help you while there are blocks that will interrupt you."; next; if (.@test != 15) { - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "If you deal with various situations wisely, you will be able to pass the test. Now what other test are you curious about?"; next; } break; case 3: - mes "[Guide Gion]"; - mes "My family was famous for using unique weapons that we created."; + mes "[Leader Gion]"; + mes "My clan was famous for using unique weapons that we created."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "You would be considered blessed if you created your own unique weapon."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Creating a weapon for yourself and refining it is the purpose of this test."; next; if (.@test != 15) { - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "I hope you will be blessed and find the best weapon for yourself. Now what other test are you curious about?"; next; } break; case 4: - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Missions are not always done alone. You will often work in teams of 2 or 3 for a common goal."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "The battle test is only for those that pass that knowledge, survival and weapon tests. So! It is the very last test."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Unlike the other three tests that are done alone, you will have to compete with others in this final test."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "There is only one target!!"; mes "And only the first to get to the target passes the test."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "You'll be lucky if you have no competitors during your test."; next; if (.@test != 15) { - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "A challenge is better than explaining it a hundred times. It's the actual experience that makes you better."; next; } @@ -396,13 +396,13 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ if (.@test == 15) break; } cutin "job_ko02",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Seeing is believing, so go on and take the challenge."; next; erasequest 5134; setquest 5135; set job_kagero,5; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Let's start right away after you are done with preparations."; close2; cutin "",255; @@ -414,110 +414,110 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ set .@ko_test, .@ko_test_01 + .@ko_test_02 + .@ko_test_03; if (.@ko_test == 0) { cutin "job_ko03",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "It's been a while."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Since I felt happy like this. I feel young and energetic seeing young people like you challenge themselves with a new path."; next; - mes "[Guide Gion]"; - mes "We're done with explaining about the tests, now should I tell you my family story?"; + mes "[Leader Gion]"; + mes "We're done with explaining about the tests, now should I tell you my clan story?"; next; cutin "job_ko01",2; - mes "[Guide Gion]"; - mes "My family started from two warriors."; + mes "[Leader Gion]"; + mes "My clan started from two warriors."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Kagerou, a warrior like the dancing flames of the sun."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Oboro, a warrior like the misty moonlight."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "The Sun and the Moon."; mes "The sunlight that lights up the world and the moonlight that lights up the night. Both were very similar but different warriors."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "There was a time there was an enmity between both warriors."; next; - mes "[Guide Gion]"; - mes "But it didn't take long for them to become one as a family."; + mes "[Leader Gion]"; + mes "But it didn't take long for them to become one as a clan."; next; select("How did it go afterwards?"); cutin "job_ko02",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Ha ha ha. It is never fun to listen to the whole story all at once, no? Come back after passing a test and I'll continue my story."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Which test will you select as your first test?"; next; callsub L_StartTest,select("Test of Knowledge", "Test of Survival", "Test of Weaponry"),1; end; } else if (.@ko_test == 2) { cutin "job_ko01",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; if (.@ko_test_01 == 2) { set .@menu$,":Test of Survival:Test of Weaponry"; mes "You've passed the Test of Knowledge."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "My friend doesn't approve of others that easily but I guess he liked you."; next; } else if (.@ko_test_02 == 2) { set .@menu$,"Test of Knowledge::Test of Weaponry"; mes "You've passed the Test of Survival."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Looks like you went through hell with this test."; next; } else if (.@ko_test_03 == 2) { set .@menu$,"Test of Knowledge:Test of Survival:"; mes "You've passed the Test of Weaponry."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "I wonder if Joe is satisfied with your performance."; next; } - select("Please continue with the family story."); + select("Please continue with the clan story."); cutin "job_ko02",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Looks like you are pretty eager to hear more. Where did I leave off... Ah! I remember."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Kagerou, a warrior like the dancing flames of the sun."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Oboro, a warrior like the misty moonlight."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Both warriors weren't close at first, because personality and everything else was completely opposite of each other."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "The first place they met was the battlefield. And you know how enemies greet each other on a battlefield."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "They ended up injuring each other badly."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "But what can you do? War is a war."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "The friend you've laughed with yesterday is a foe that you have to fight with in a war today."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "So nobody can get along with anyone during a war."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "I'll continue the story after you pass another test."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Which test will you choose for the second test?"; next; callsub L_StartTest,select(.@menu$),2; end; } else if (.@ko_test == 4) { cutin "job_ko04",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; if (.@ko_test_01 == 2 && .@ko_test_02 == 2) { set .@last_test,3; mes "You've passed the ^339CCCTests of Knowledge and Survival^000000!"; @@ -529,96 +529,96 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ mes "You've passed the ^339CCCTests of Survival and Weaponry^000000!"; } next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "You are already done with two tests. Hope you've learned a lot from them."; next; cutin "job_ko01",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Shall we continue with the story?"; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Kagerou, a warrior like the dancing flames of the sun."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Oboro, a warrior like the misty moonlight."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "I think I left off when the two warriors met at the battlefield as enemies."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "The long war ended eventually but the wounds and pain of those that survived had just started."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "So these two warriors started to embrace and heal the war wounds together and became one."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "There is a backstory of a man appearing in front of them and winning the loyalty from both warriors."; next; select("Who is this man?"); - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "There isn't much known about this man. Only a short mentioning of the two warriors pledging their allegiance."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Maybe current generations like me are the ancestors of the current Amatsu lord? But this is only an assumption."; next; - mes "[Guide Gion]"; - mes "I'm almost at the end of my family story. Come back after you've passed the third test and I will tell you the rest."; + mes "[Leader Gion]"; + mes "I'm almost at the end of my clan story. Come back after you've passed the third test and I will tell you the rest."; next; callsub L_StartTest,.@last_test,3; end; } else if (.@ko_test == 6) { cutin "job_ko01",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "You've gone through three tests leaving only one to pass."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "As I've told you before, the last test is different because you have to compete against others."; next; select("Will you continue the story?"); cutin "job_ko02",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Ha ha ha. I will finish the story."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Kagerou, a warrior like the dancing flames of the sun."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Oboro, a warrior like the misty moonlight."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "It is told that the man that earned the loyalty of the two warriors was a humorous person."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "He like the jokes and conversations better than quarrels and he liked women over men."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Hmm... I don't know why this part of the story was kept alive all these years but this man wanted to bring these two warriors together."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Both warriors did travel together after the war but kept an awkward distance from each other."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "They must have had their reasons but their lord would send them out to a difficult mission together, put them in a secret room together and all sorts of situations together."; next; select("Sounds like an odd person."); - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Yes, he was. And his efforts didn't go in vain since the two warriors eventually got acquainted and married."; next; - mes "[Guide Gion]"; - mes "This is how the family started."; + mes "[Leader Gion]"; + mes "This is how the clan started."; next; select("What happened after?"); - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Sadly, the next part of story was purposely discontinued."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "I think it's because someone wanted us to let go of the past and move forward."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "That's that. Now shouldn't you be preparing for the last test?"; next; set job_kagero,6; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "But you must be tired from all the tests so far. Take a rest."; close2; cutin "",255; @@ -631,12 +631,12 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ set .@test_ko$, "Survival"; else if (.@ko_test_03 == 1) set .@test_ko$, "Weaponry"; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Weren't you taking the Test of " + .@test_ko$ + " just now?"; next; switch(select("I want to go back to test site.", "Ah... no.")) { case 1: - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "The Test of " + .@test_ko$ + " site is over here."; close2; if (.@ko_test_01 == 1) @@ -647,7 +647,7 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ warp "job_ko",121,129; end; case 2: - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "The village is over here."; close2; warp "amatsu",147,136; @@ -656,39 +656,39 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ } } else if (job_kagero == 6) { cutin "job_ko01",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "You've come back already? You could have rested more. Is there a reason to hurry?"; next; input .@inputstr$; cutin "job_ko03",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Because of ^B24E59" + .@inputstr$ + "^000000?"; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "I have to admit, I don't understand you now."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "But since you've gone through much, I'm sure you will do good with the final test."; next; cutin "job_ko01",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Now! No more small talk. I'll let you know what the target is for the Test of Battle."; next; - mes "[Guide Gion]"; - mes "The target is a monster called the ^FF0000Family Secret^000000."; + mes "[Leader Gion]"; + mes "The target is a monster called the ^FF0000Clan Secret^000000."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "You will have to be careful because there are many similiar shaped and named monsters in test site."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "And if you are lucky, there will be others targeting the monster."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "May the blessings of '" + (Sex == SEX_MALE ? "Kagerou, dancing sun" : "Oboro, misty moonlight") + "' be with you."; next; setquest 5146; set job_kagero,7; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Then let's go to the battle test field."; close2; switch(rand(3)) { @@ -699,12 +699,12 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ end; } else if (job_kagero == 7 || job_kagero == 8) { cutin "job_ko03",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "I see you are in the middle of the ^339CCCTest of Battle^000000. Will you go back to the test site?"; next; switch(select("Go back to the test site.", "Visit the village.")) { case 1: - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "The test site is over here."; close2; switch(rand(3)) { @@ -714,7 +714,7 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ } end; case 2: - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "The village is over here."; close2; cutin "",255; @@ -722,7 +722,7 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{ } } else { cutin "job_ko03",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "You should not be here. Leave!"; close2; warp "amatsu",147,136; @@ -737,14 +737,14 @@ L_StartTest: case 2: set .@str$,"You are taking the ^339CCCTest of %s^000000 as the second test? "; break; case 3: set .@str$,"Your third test is the ^339CCCTest of %s^000000! "; break; } - mes "[Guide Gion]"; + mes "[Leader Gion]"; switch (getarg(0)) { case 1: mes sprintf(.@str$ + "Then I will get to see a familiar face after so long...","Knowledge"); next; select("Familiar face?"); setquest 5136; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Ha ha ha. You'll know when we get there. The Test of Knowledge is taken over here."; close2; warp "job_ko",72,128; @@ -753,7 +753,7 @@ L_StartTest: mes sprintf(.@str$ + "It's a lonesome test that you have to face alone.","Survival"); next; setquest 5137; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "But I believe you can handle it. The Test of Survival is taken over here."; close2; warp "job_ko",62,16; @@ -766,7 +766,7 @@ L_StartTest: getitem "Phracon", 1; mes "You receive 5 Iron Ore and 1 Phracon."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "You will find these useful. The Test of Weaponry is taken over here."; close2; warp "job_ko",121,129; @@ -775,74 +775,74 @@ L_StartTest: } //== Test of Knowledge ===================================== -job_ko,81,124,4 script Cougar#ko 4_M_JOB_ASSASSIN,{ +job_ko,81,124,4 script Kuuga Gai#ko 4_M_JOB_ASSASSIN,{ if (BaseJob != Job_Ninja) { for (set .@i,5131; .@i<=5146; set .@i,.@i+1) if (questprogress(.@i)) erasequest .@i; set job_kagero,0; - mes "[Cougar]"; - mes "Sorry, your family is not same as ours, is there something wrong?"; + mes "[Kuuga Gai]"; + mes "Sorry, your clan is not same as ours, is there something wrong?"; close2; warp "amatsu",147,136; end; } if (job_kagero == 5) { if (MaxWeight - Weight < 1000 || checkweight("Knife",1) == 0) { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "This is a test of knowledge, so why did you bring so many things?"; close; } set .@ko_test_01, questprogress(5136); set .@ko_test_01_1, questprogress(5139); if (.@ko_test_01 == 1 && .@ko_test_01_1 == 0) { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "It's been a while."; next; select("Aren't you..."); - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "I remember you from before looking for the way of the ninja."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "You've grown this strong already?"; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Ha ha ha-"; mes "A truly determined youth! I like that."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Good! The test you are about to take is the ^339CCCTest of Knowledge^000000."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "I hope you haven't been lazy with your studies while focusing on getting stronger?"; next; switch(select("Yes", "No")) { case 1: setquest 5139; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "That's a relief. Let me know when you are ready to start the test."; close; case 2: setquest 5139; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "So you were all talk? Well, let me know when you are ready then."; close; } } else if (.@ko_test_01 == 1 && .@ko_test_01_1 == 1) { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "I'm ready at my end. Are you ready for the test?"; next; if(select("Yes", "No") == 2) { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Well, what can I do but wait for you."; close; } - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "This isn't your first test, is it?"; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "You only need to choose the correct answer to my questions."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Let's start."; next; @@ -862,9 +862,9 @@ job_ko,81,124,4 script Cougar#ko 4_M_JOB_ASSASSIN,{ deletearray .@n[10],getarraysize(.@n) - .@questions; freeloop(0); - set @job_ko_cougar,0; + set @job_ko_kuuga,0; for (set .@i,1; .@i<=.@questions; set .@i,.@i+1) { - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes (.@i < .@questions)?"Question number "+.@i+":":"Last question:"; switch (.@n[.@i-1]) { case 1: callsub L_Question,"What is the DEX + LUK total for a Job Master?",2,"8:10:12:14"; break; @@ -918,67 +918,67 @@ job_ko,81,124,4 script Cougar#ko 4_M_JOB_ASSASSIN,{ case 49: callsub L_Question,"Which of the following blacksmiths do not create ninja items?",2,"Khaibara:Aiku:Tetsu:Toshu"; break; case 50: callsub L_Question,"What is the name of the suspicious man you can meet during the Ninja job change quest?",3,"Red Leopard Jack:Black Leopard Jack:Red Leopard Joe:Black Leopard Joe"; break; default: - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "An unknown error has occurred."; mes "Please contact customer service."; close; } } - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "You're through all 10 questions. Wasn't so bad! The important part starts now."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "... ... ..."; next; - if (@job_ko_cougar < 90) { - mes "[Cougar]"; + if (@job_ko_kuuga < 90) { + mes "[Kuuga Gai]"; mes "You fool!!"; mes "You couldn't even solve these?"; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Can't believe someone who is taking a new path can be so pathetic."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "I'll give you another chance."; mes "You will take the test again with new questions. Better pass it this time."; } else { - mes "[Cougar]"; - mes "Hmm. " + (@job_ko_cougar) + "?"; + mes "[Kuuga Gai]"; + mes "Hmm. " + (@job_ko_kuuga) + "?"; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Well, looks like you weren't lazy with your studies."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "What? Proud of yourself for solving these questions?"; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "You still have a long way to go and this is only a small fraction of it."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Well... I'm curious how far your strong will can take you through other tests."; next; completequest 5136; erasequest 5139; - mes "[Cougar]"; - mes "I'll let you go now so go report back to Guide Gion with your results."; + mes "[Kuuga Gai]"; + mes "I'll let you go now so go report back to Leader Gion with your results."; close2; warp "job_ko",16,113; end; } - set @job_ko_cougar,0; + set @job_ko_kuuga,0; close; } else if (.@ko_test_01 == 2 && .@ko_test_01_1 == 0) { - mes "[Cougar]"; - mes "I'll let you go now so go report back to Guide Gion with your results."; + mes "[Kuuga Gai]"; + mes "I'll let you go now so go report back to Leader Gion with your results."; close2; warp "job_ko",16,113; end; } } - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "How did you get here?"; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "It's my duty to get rid of you."; mes "^000099(He's a short, silent man.)^000000"; mes "This will push you back!"; @@ -991,7 +991,7 @@ L_Question: mes getarg(0); next; if(select(getarg(2)) == getarg(1)) - set @job_ko_cougar, @job_ko_cougar + 10; + set @job_ko_kuuga, @job_ko_kuuga + 10; return; } @@ -1934,7 +1934,7 @@ job_ko,127,125,4 script Red Leopard Joe#ko 4_M_JOB_ASSASSIN,{ if (questprogress(.@i)) erasequest .@i; set job_kagero,0; mes "[Red Leopard Joe]"; - mes "Sorry, your family is not the same as ours, is there something wrong?"; + mes "Sorry, your clan is not the same as ours, is there something wrong?"; close2; warp "amatsu",147,136; end; @@ -1959,17 +1959,17 @@ job_ko,127,125,4 script Red Leopard Joe#ko 4_M_JOB_ASSASSIN,{ next; select("Long time indeed, Joe."); mes "[Red Leopard Joe]"; - mes "You aren't surprised I'm here. Did you meet ^0237FDCougar^000000 before coming here?"; + mes "You aren't surprised I'm here. Did you meet ^0237FDKuuga Gai^000000 before coming here?"; next; mes "[Red Leopard Joe]"; mes "Don't like it that I'm not the first one you visited but that is not important."; next; mes "[Red Leopard Joe]"; mes "Alright, " + strcharinfo(PC_NAME) + "!"; - mes "Welcome to the workshop where weapons are created for the family."; + mes "Welcome to the workshop where weapons are created for the clan."; next; mes "[Red Leopard Joe]"; - mes "Our family has been creating and using unique weapons to serve our secret missions since ancient times."; + mes "Our clan has been creating and using unique weapons to serve our secret missions since ancient times."; next; select("Really? At Einbroch?"); mes "[Red Leopard Joe]"; @@ -1979,7 +1979,7 @@ job_ko,127,125,4 script Red Leopard Joe#ko 4_M_JOB_ASSASSIN,{ mes "Yes. Einbroch is known as an industrial city, the city of great blacksmiths create new technology."; next; mes "[Red Leopard Joe]"; - mes "My mission is to analyze their technology and report back to the family."; + mes "My mission is to analyze their technology and report back to the clan."; next; mes "[Red Leopard Joe]"; mes "I spoke more than I intended to."; @@ -2503,44 +2503,44 @@ job_ko,127,121,0 duplicate(Refinement Tools#ko_01) Refinement Tools#ko_02 CLEAR_ //== Test of Battle ======================================== job_ko,148,46,4 script Guide Gion#ko2 4_M_KAGE_OLD,{ if (MaxWeight - Weight < 2000 || checkweight("Knife",1) == 0) { - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "You don't need so many things now!"; close; } if (job_kagero == 7) { cutin "job_ko01",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Looks like you haven't taken care of the target yet."; next; - mes "[Guide Gion]"; - mes "I'll tell you once more. The target is the ^FF0000Family Secret^000000."; + mes "[Leader Gion]"; + mes "I'll tell you once more. The target is the ^FF0000Clan Secret^000000."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Of course the path will be difficult, so continue searching!"; close2; cutin "",255; end; } else if (job_kagero == 8) { cutin "job_ko02",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Looks like you've taken care of the target. Hmm."; next; if (checkmount()) { - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "But please get down from your frog. Otherwise I can't continue!"; close2; cutin "",255; end; } if (BaseLevel < 99 || JobLevel < 70) { - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "How did you get weaker? Come back once you've regained your previous levels."; close2; cutin "",255; end; } if (SkillPoint != 0) { - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "Please come back after using all your Skill Points."; close2; cutin "",255; @@ -2548,38 +2548,38 @@ job_ko,148,46,4 script Guide Gion#ko2 4_M_KAGE_OLD,{ } mapannounce "job_ko","[Gion] Interrupting the Test of Battle.",bc_map; cutin "job_ko04",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "The Test of Battle will be put off for a while. Don't worry because this does not have affect to other tests."; next; mapannounce "job_ko","[Gion] My Friend " + strcharinfo(PC_NAME) + " made it to " + (Sex == SEX_MALE ? "Kagerou" : "Oboro") + " Path. Congratulations!!",bc_map; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "My friend " + strcharinfo(PC_NAME) + " made it to " + (Sex == SEX_MALE ? "Kagerou" : "Oboro") + " Path. Congratulations!!"; next; cutin "job_ko02",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "It is pleasant to meet a youth that is walking through a new path."; next; mes "[Someone's Voice]"; mes "Wait for a while, Gion."; next; - donpcevent "Cougar#ko2::OnEnable"; + donpcevent "Kuuga Gai#ko2::OnEnable"; donpcevent "Red Leopard Joe#ko2::OnEnable"; cutin "job_ko04",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "I'm sorry I almost forgot about you two. Do you have anything to share with " + strcharinfo(PC_NAME) + "?"; next; cutin "",255; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "Hmm... Embarrassing... to speak so suddenly..."; next; - mes "[Cougar]"; - mes strcharinfo(PC_NAME) + ", you are now a proud member of our family. Always hold your head high and..."; + mes "[Kuuga Gai]"; + mes strcharinfo(PC_NAME) + ", you are now a proud member of our clan. Always hold your head high and..."; next; - mes "[Cougar]"; + mes "[Kuuga Gai]"; mes "^777777(Gai's voice fades out.)^000000."; mes "I'm sorry I strangled you when we first met."; next; - donpcevent "Cougar#ko2::OnDisable"; + donpcevent "Kuuga Gai#ko2::OnDisable"; mes "[Red Leopard Joe]"; mes "Puhahaha! Gai is all talk. I know I was know valuable to you than that Gai."; next; @@ -2600,17 +2600,17 @@ job_ko,148,46,4 script Guide Gion#ko2 4_M_KAGE_OLD,{ mes "I named your weapons on my own but I know you'll like the name."; next; mes "[Red Leopard Joe]"; - mes "Guide Gion, please continue."; + mes "Leader Gion, please continue."; next; cutin "job_ko01",2; donpcevent "Red Leopard Joe#ko2::OnDisable"; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "I don't have much to add because Gai and Joe said it all."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "I'm just sorry that the environment of all these tests could have been better for our later generation."; next; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "You only need to look forward and never turn back."; next; for (set .@i,5131; .@i<=5146; set .@i,.@i+1) @@ -2619,21 +2619,21 @@ job_ko,148,46,4 script Guide Gion#ko2 4_M_KAGE_OLD,{ getnameditem .@item,strcharinfo(PC_NAME); jobchange(Sex == SEX_MALE ? Job_Kagerou : Job_Oboro); donpcevent "Summon Target#ko::OnEnable"; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "I hope the blessings of Kagerou, dancing sun and Oboro, misty moonlight will be with you on your journey ahead."; close2; warp "que_ng",21,71; end; } else if (job_kagero == 9) { cutin "job_ko01",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "I hope the blessings of Kagerou, dancing sun and Oboro, misty moonlight will be with you on your journey ahead."; close2; warp "que_ng",21,71; end; } else { cutin "job_ko01",2; - mes "[Guide Gion]"; + mes "[Leader Gion]"; mes "You should not be here. Please leave!"; close2; warp "amatsu",147,136; @@ -2641,16 +2641,16 @@ job_ko,148,46,4 script Guide Gion#ko2 4_M_KAGE_OLD,{ } } -job_ko,151,47,4 script Cougar#ko2 4_M_JOB_ASSASSIN,{ - mes "[Cougar]"; +job_ko,151,47,4 script Kuuga Gai#ko2 4_M_JOB_ASSASSIN,{ + mes "[Kuuga Gai]"; mes "Congratulation for choosing the road of development!"; close; OnInit: OnDisable: - disablenpc "Cougar#ko2"; + disablenpc "Kuuga Gai#ko2"; end; OnEnable: - enablenpc "Cougar#ko2"; + enablenpc "Kuuga Gai#ko2"; end; } @@ -2684,7 +2684,7 @@ OnEnable: case 6: set .@mob,1049; break; case 7: set .@mob,1050; break; } - areamonster "job_ko",120,30,160,70,"Family Secret",.@mob,1,"Summon Target#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Clan Secret",.@mob,1,"Summon Target#ko::OnMyMobDead"; end; OnDisable: initnpctimer; @@ -2706,25 +2706,25 @@ OnInit: donpcevent "Summon Fake#ko::OnEnable"; end; OnEnable: - areamonster "job_ko",120,30,160,70,"Family's Legacy",1002,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Clan's Legacy",1002,5,"Summon Fake#ko::OnMyMobDead"; areamonster "job_ko",120,30,160,70,"Kagerou's Memory",1002,5,"Summon Fake#ko::OnMyMobDead"; areamonster "job_ko",120,30,160,70,"Oboro's Memory",1002,5,"Summon Fake#ko::OnMyMobDead"; - areamonster "job_ko",120,30,160,70,"Family's Mistake",1031,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Clan's Mistake",1031,5,"Summon Fake#ko::OnMyMobDead"; areamonster "job_ko",120,30,160,70,"Oboro's Mistake",1031,5,"Summon Fake#ko::OnMyMobDead"; areamonster "job_ko",120,30,160,70,"Kagerou's Mistake",1031,5,"Summon Fake#ko::OnMyMobDead"; - areamonster "job_ko",120,30,160,70,"Family's Memory",1113,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Clan's Memory",1113,5,"Summon Fake#ko::OnMyMobDead"; areamonster "job_ko",120,30,160,70,"Oboro's Past",1113,5,"Summon Fake#ko::OnMyMobDead"; areamonster "job_ko",120,30,160,70,"Kagerou's Past",1113,5,"Summon Fake#ko::OnMyMobDead"; - areamonster "job_ko",120,30,160,70,"Family's Legacy",1063,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Clan's Legacy",1063,5,"Summon Fake#ko::OnMyMobDead"; areamonster "job_ko",120,30,160,70,"Oboro's Legacy",1063,5,"Summon Fake#ko::OnMyMobDead"; areamonster "job_ko",120,30,160,70,"Kagerou's Legacy",1063,5,"Summon Fake#ko::OnMyMobDead"; - areamonster "job_ko",120,30,160,70,"Family's Mistake",1010,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Clan's Mistake",1010,5,"Summon Fake#ko::OnMyMobDead"; areamonster "job_ko",120,30,160,70,"Oboro's Memory",1010,5,"Summon Fake#ko::OnMyMobDead"; areamonster "job_ko",120,30,160,70,"Kagerou's Memory",1010,5,"Summon Fake#ko::OnMyMobDead"; - areamonster "job_ko",120,30,160,70,"Family's Past",1049,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Clan's Past",1049,5,"Summon Fake#ko::OnMyMobDead"; areamonster "job_ko",120,30,160,70,"Oboro's Mistake",1049,5,"Summon Fake#ko::OnMyMobDead"; areamonster "job_ko",120,30,160,70,"Kagerou's Mistake",1049,5,"Summon Fake#ko::OnMyMobDead"; - areamonster "job_ko",120,30,160,70,"Family's Memory",1050,5,"Summon Fake#ko::OnMyMobDead"; + areamonster "job_ko",120,30,160,70,"Clan's Memory",1050,5,"Summon Fake#ko::OnMyMobDead"; areamonster "job_ko",120,30,160,70,"Oboro's Past",1050,5,"Summon Fake#ko::OnMyMobDead"; areamonster "job_ko",120,30,160,70,"Kagerou's Past",1050,5,"Summon Fake#ko::OnMyMobDead"; end; diff --git a/npc/re/jobs/3-1/archbishop.txt b/npc/re/jobs/3-1/archbishop.txt index e59492ce5..e37087857 100644 --- a/npc/re/jobs/3-1/archbishop.txt +++ b/npc/re/jobs/3-1/archbishop.txt @@ -779,7 +779,7 @@ job3_arch01,29,34,3 script Valkyrie#arch 4_F_VALKYRIE2,{ warp "odin_tem02",282,263; end; } - if (getmercinfo(1)) { + if (getmercinfo(MERCINFO_CLASS)) { mes "[Valkyrie]"; mes "If you want to talk with me, you have to ^3131FFcancel all contracts^000000 with any mercenaries you have."; close; @@ -1006,7 +1006,7 @@ OnTouch: if (countitem(ValkyrieA_Scroll)) { delitem ValkyrieA_Scroll,1; // fall through - } else if (getmercinfo(1) == 2037) { + } else if (getmercinfo(MERCINFO_CLASS) == VALKYRIE_A) { if (strnpcinfo(NPC_NAME) == "#arch_1_10") viewpoint 1,113,327,1,0xFF9900; .@randht = rand(1,10); @@ -1038,7 +1038,7 @@ OnTouch: if (countitem(ValkyrieA_Scroll)) { delitem ValkyrieA_Scroll,1; // fall through - } else if (getmercinfo(1) == 2037) { + } else if (getmercinfo(MERCINFO_CLASS) == VALKYRIE_A) { mapannounce "job3_arch02","Valkyrie's Nightmare: An incompetent illusion of Valkyrie came here with the assistance of humans. You wanna have that nightmare?",bc_map,"0xFF0000"; donpcevent "mob#arch_1::OnKill"; end; @@ -1113,7 +1113,7 @@ OnKill: } job3_arch02,113,327,5 script Valkyrie#arch_01 4_F_VALKYRIE2,{ - if (getmercinfo(1)) { + if (getmercinfo(MERCINFO_CLASS)) { mes "[Valkyrie]"; mes "If you want to talk with me, you have to ^3131FFcancel all contracts^000000 with any mercenaries you have."; close; @@ -1355,7 +1355,7 @@ OnTouch: if (countitem(ValkyrieB_Scroll)) { delitem ValkyrieB_Scroll,1; // fall through - } else if (getmercinfo(1) == 2038) { + } else if (getmercinfo(MERCINFO_CLASS) == VALKYRIE_B) { .@randht = rand(1,10); if (.@randht < 8) mapannounce "job3_arch02","Whispering of an impersonation: I can feel the devil's spirits. Can you hear? The sound of gathering in crowds.",bc_map,"0xFFCE00"; @@ -1400,7 +1400,7 @@ OnTouch: if (countitem(ValkyrieB_Scroll)) { delitem ValkyrieB_Scroll,1; // fall through - } else if (getmercinfo(1) == 2038) { + } else if (getmercinfo(MERCINFO_CLASS) == VALKYRIE_B) { mapannounce "job3_arch02","A shout of devil: You are so childish. I invite you a party of devil. I'll make you have a fun!",bc_map,"0xFF0000"; end; } diff --git a/npc/re/jobs/3-1/ranger.txt b/npc/re/jobs/3-1/ranger.txt index 41e5b476f..166a1d42e 100644 --- a/npc/re/jobs/3-1/ranger.txt +++ b/npc/re/jobs/3-1/ranger.txt @@ -613,7 +613,7 @@ tur_dun01,91,169,3 script Test Instructor#jr02 4_M_JOB_HUNTER,{ mes "Don't hang around here doing nothing. This is my area!"; close; L_Start: - if (getmercinfo(1)) { + if (getmercinfo(MERCINFO_CLASS)) { mes "[Test Instructor, Teardrop]"; mes "Stop!"; next; @@ -1491,7 +1491,7 @@ job3_rang02,251,49,3 script Test Supervisor#jr_13 4_M_JOB_HUNTER,{ setquest 8261; close; } - if (getmercinfo(1) == 2034) { + if (getmercinfo(MERCINFO_CLASS) == M_DESERT_WOLF_B) { erasequest 8261; mes "Good! Then I'll start the test right now!"; next; diff --git a/npc/re/jobs/3-2/sura.txt b/npc/re/jobs/3-2/sura.txt index 63e689acc..4e0108fd8 100644 --- a/npc/re/jobs/3-2/sura.txt +++ b/npc/re/jobs/3-2/sura.txt @@ -654,14 +654,14 @@ OnTimer305000: OnTimer315000: mapannounce "sword_2-1","Come on here.",bc_map; donpcevent "Buddy#job_shuaneh::OnDisable"; - donpcevent "#Sura_garajjom::OnEnable"; + // donpcevent "#Sura_garajjom::OnEnable"; // Commented to prevent #Sura_garajjom allowing player to success the test at any case (even when failing it). end; OnTimer320000: mapannounce "sword_2-1","I guess you're not ready to meet the master yet...",bc_map; mapwarp "sword_2-1","yuno_fild07",255,178; - donpcevent "#Sura_garajjom::OnDisable"; - donpcevent "Drawing Room::OnEnable"; + // donpcevent "#Sura_garajjom::OnDisable"; donpcevent "Buddy#Sura_Salon::OnDisable"; + donpcevent "Drawing Room::OnEnable"; end; } diff --git a/npc/re/merchants/hd_refiner.txt b/npc/re/merchants/hd_refiner.txt index 17979642e..2dcc74bae 100644 --- a/npc/re/merchants/hd_refiner.txt +++ b/npc/re/merchants/hd_refiner.txt @@ -39,6 +39,17 @@ //== Blacksmith Mighty Hammer (+7~9) ======================= - script ::MightyHammer FAKE_NPC,{ + mes("[Blacksmith Mighty Hammer]"); + mes("I'm a blacksmith skilled in refining weapons and armors."); + mes("I can refine an item of your choice among the items you are equipped with."); + mes("Which item do you want to refine?"); + + if (getbattleflag("features/replace_refine_npcs") == 1) { + if (openrefineryui()) + close(); + } + next(); + disable_items; mes "[Blacksmith Mighty Hammer]"; mes "Unlike others, I am a blacksmith who refines a very limited number of items."; diff --git a/npc/re/merchants/refine.txt b/npc/re/merchants/refine.txt index 6356acfca..879e9a5f1 100644 --- a/npc/re/merchants/refine.txt +++ b/npc/re/merchants/refine.txt @@ -56,6 +56,17 @@ payon_in01,18,132,3 script Vestri#pay 4_M_DWARF,{ // On official servers, if an item is unsuccessfully refined it will break at a // 20% rate and downgrade at an 80% rate. function script refinenew { + mesf("[%s]", getarg(0)); + mes("I'm a blacksmith skilled in refining weapons and armors."); + mes("I can refine an item of your choice among the items you are equipped with."); + mes("Which item do you want to refine?"); + + if (getbattleflag("features/replace_refine_npcs") == 1) { + if (openrefineryui()) + close(); + } + next(); + disable_items; mes "["+ getarg(0) +"]"; mes "I am the best Armsmith ever!"; diff --git a/npc/re/merchants/renters.txt b/npc/re/merchants/renters.txt index ab6b3f9ac..30d9679b0 100644 --- a/npc/re/merchants/renters.txt +++ b/npc/re/merchants/renters.txt @@ -166,60 +166,125 @@ prontera,125,208,5 script Peco Peco Remover 8W_SOLDIER,{ close; } -//== Magic Gear Renter ===================================== +//== Mado Gear Renter :: madogear ===================================== - script ::mgm FAKE_NPC,{ - mes "[Magic Gear Master]"; + mes "[Mado Gear Armorer]"; if (Class == Job_Mechanic || Class == Job_Mechanic_T || Class == Job_Baby_Mechanic) { mes "Welcome, Mechanic."; mes "Would you like to rent a Pushcart or"; - mes "ride a Magic Gear?"; + mes "ride a Mado Gear?"; next; - switch(select("Rent a Pushcart", "Ride a Magic Gear", "Cancel")) { + switch(select("Rent a Pushcart", "Ride a Mado Gear", "Buy Emergency Mado Gear", "Upgrade Cooling Device", "Cancel")) { case 1: if (checkcart()) { - mes "[Magic Gear Master]"; + mes "[Mado Gear Armorer]"; mes "I'm sorry, but you already"; mes "have a Pushcart."; close; } setcart; - mes "[Magic Gear Master]"; + mes "[Mado Gear Armorer]"; mes "There you go!"; close; case 2: if (checkmount() == MOUNT_MADO) { - mes "[Magic Gear Master]"; + mes "[Mado Gear Armorer]"; mes "I'm sorry, but you're already"; - mes "riding a Magic Gear."; + mes "riding a Mado Gear."; close; } else if (!getskilllv(NC_MADOLICENCE)) { - mes "[Magic Gear Master]"; - mes "Please learn the skill to get the Magic Gear License first."; + mes "[Mado Gear Armorer]"; + mes "Please learn the skill to get the Mado Gear License first."; close; } else if(hascashmount()) { - mes "[Magic Gear Master]"; + mes "[Mado Gear Armorer]"; mes "Please remove your cash mount."; close; } setmount(MOUNT_MADO); - mes "[Magic Gear Master]"; + mes "[Mado Gear Armorer]"; mes "Have fun, and please come again!"; close; case 3: + mes "[Mado Gear Armorer]"; + mes "Emergency Mado Gear is really useful for emergency situations and it is sold at 1,000,000 Zeny."; + next; + if (select("Purchase", "Cancel") == 2) { + mes "[Mado Gear Armorer]"; + mes "I see. Please feel free to ask me"; + mes "if you change your mind."; + close; + } + if (countitem(Mado_Box) > 0) { + mes "[Mado Gear Armorer]"; + mes "I'm sorry, but you already have an Emergency Mado Gear."; + close; + } + if (Zeny < 1000000) { + mes "[Mado Gear Armorer]"; + mes "I'm sorry, but you don't have enough Zeny to purchase the Emergency Mado Gear."; + close; + } + Zeny -= 1000000; + getitem Mado_Box, 1; + mes "[Mado Gear Armorer]"; + mes "There you go!"; + close; + case 4: + mes "[Mado Gear Armorer]"; + mes "Which device do you want to upgrade?"; + next; + if (select("Cooling Device", "High Quality Cooler") == 1) { + mes "[Mado Gear Armorer]"; + mes "Upgrading Cooling Device to High Quality Cooler needs 1 Cooling Device and 2,000,000 Zeny."; + next; + .@itemid = Cooling_Device; + .@cost = 2000000; + } else { + mes "[Mado Gear Armorer]"; + mes "Upgrading High Quality Cooler to Special Cooler needs 1 High Quality Cooler and 4,000,000 Zeny."; + next; + .@itemid = High_Quality_Cooler; + .@cost = 4000000; + } + if (select("Upgrade", "Cancel") == 2) { + mes "[Mado Gear Armorer]"; + mes "I see. Please feel free to ask me"; + mes "if you change your mind."; + close; + } + if (!countitem(.@itemid)) { + mes "[Mado Gear Armorer]"; + mes "I'm sorry, but you don't have the " + getitemname(.@itemid) + "."; + close; + } + if (Zeny < .@cost) { + mes "[Mado Gear Armorer]"; + mes "I'm sorry, but you don't have enough Zeny to upgrade the device."; + close; + } + Zeny -= .@cost; + delitem .@itemid, 1; + getitem (.@itemid == Cooling_Device ? High_Quality_Cooler : Special_Cooler), 1; + mes "[Mado Gear Armorer]"; + mes "Here you are! Your very own " + getitemname(.@itemid) + "."; + close; + case 5: close; } } mes "How may I help you?"; - mes "Magic Gears are only available for Mechanics."; + mes "Mado Gears are only available for Mechanics."; close; } -prontera,163,178,3 duplicate(mgm) Magic Gear Master#prt 8W_SOLDIER -geffen,103,55,5 duplicate(mgm) Magic Gear Master#gef 8W_SOLDIER -payon,166,106,5 duplicate(mgm) Magic Gear Master#pay 8W_SOLDIER -aldebaran,133,112,5 duplicate(mgm) Magic Gear Master#alde 8W_SOLDIER -yuno,167,187,3 duplicate(mgm) Magic Gear Master#yuno 8W_SOLDIER -rachel,106,134,5 duplicate(mgm) Magic Gear Master#ra 8W_SOLDIER -dicastes01,187,207,3 duplicate(mgm) Magic Gear Master#dic 8W_SOLDIER -manuk,273,212,5 duplicate(mgm) Magic Gear Master#man 8W_SOLDIER -splendide,180,174,5 duplicate(mgm) Magic Gear Master#spl 8W_SOLDIER -mid_camp,242,243,3 duplicate(mgm) Magic Gear Master#mid 8W_SOLDIER + +prontera,163,178,3 duplicate(mgm) Mado Gear Armorer#prt 8W_SOLDIER +geffen,103,55,5 duplicate(mgm) Mado Gear Armorer#gef 8W_SOLDIER +payon,166,106,5 duplicate(mgm) Mado Gear Armorer#pay 8W_SOLDIER +aldebaran,133,112,5 duplicate(mgm) Mado Gear Armorer#alde 8W_SOLDIER +yuno,167,187,3 duplicate(mgm) Mado Gear Armorer#yuno 8W_SOLDIER +rachel,106,134,5 duplicate(mgm) Mado Gear Armorer#ra 8W_SOLDIER +dicastes01,187,207,3 duplicate(mgm) Mado Gear Armorer#dic 8W_SOLDIER +manuk,273,212,5 duplicate(mgm) Mado Gear Armorer#man 8W_SOLDIER +splendide,180,174,5 duplicate(mgm) Mado Gear Armorer#spl 8W_SOLDIER +mid_camp,242,243,3 duplicate(mgm) Mado Gear Armorer#mid 8W_SOLDIER diff --git a/npc/re/merchants/shadow_refiner.txt b/npc/re/merchants/shadow_refiner.txt index f03d348b2..db9668b6d 100644 --- a/npc/re/merchants/shadow_refiner.txt +++ b/npc/re/merchants/shadow_refiner.txt @@ -39,11 +39,17 @@ itemmall,31,76,3 script Shadow Blacksmith#nomal 4_F_JOB_BLACKSMITH,{ .@npc_name$ = "[Shadow Blacksmith]"; .@zeny_cost = 20000; // Amount of zeny to be charged for refining. - disable_items; mesf("%s", .@npc_name$); mes("Do you want to refine a Shadow item?"); mes("Please choose the part you want to refine."); - next; + + if (getbattleflag("features/replace_refine_npcs") == 1) { + if (openrefineryui()) + close(); + } + next(); + + disable_items; setarray(.@position$[0],"Armor","Weapon","Shield","Shoes","Earring","Pendant"); for (.@i=EQI_SHADOW_ARMOR; .@i <= EQI_SHADOW_ACC_L; .@i++){ .@menu$ = .@menu$ + (getequipisequiped(.@i) ? getequipname(.@i) : ("^8C8C8C" + .@position$[.@i-EQI_SHADOW_ARMOR] + " [Not Equipped]^000000" + ":")); diff --git a/npc/re/quests/eden/eden_tutorial.txt b/npc/re/quests/eden/eden_tutorial.txt index 902db7945..188bc514a 100644 --- a/npc/re/quests/eden/eden_tutorial.txt +++ b/npc/re/quests/eden/eden_tutorial.txt @@ -228,7 +228,7 @@ moc_para01,34,178,3 script Tutorial Instructor 4_M_KHMAN,{ close; } } else if (questprogress(9167) == 1) { - if (!getmercinfo(1)) { + if (!getmercinfo(MERCINFO_CLASS)) { mes "[Tutorial Instructor]"; mes "You haven't gotten a mercenary yet."; next; diff --git a/npc/woe-fe/agit_main.txt b/npc/woe-fe/agit_main.txt index 5ac5b8e9a..a0db6402b 100644 --- a/npc/woe-fe/agit_main.txt +++ b/npc/woe-fe/agit_main.txt @@ -105,7 +105,8 @@ OnAgitBreak: // Show and log error if an unguilded player breaks the Emperium. (Should NEVER happen) if (.@GID <= 0) { .@notice$ = "Character "+strcharinfo(PC_NAME)+" ("+getcharid(CHAR_ID_CHAR)+") broke the Emperium in Castle: "+strnpcinfo(NPC_NAME_HIDDEN)+" while guildless. No data will be saved and Emperium respawned."; - logmes .@notice$; debugmes .@notice$; + logmes .@notice$; + consolemes(CONSOLEMES_NOTICE, .@notice$); donpcevent "Agit#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnStartArena"; end; } |