diff options
Diffstat (limited to 'world')
33 files changed, 291 insertions, 85 deletions
diff --git a/world/map/conf/magic-level1.sex b/world/map/conf/magic-level1.sex index 88478c82..3e673170 100644 --- a/world/map/conf/magic-level1.sex +++ b/world/map/conf/magic-level1.sex @@ -19,7 +19,7 @@ (/ spellpower 10)) 1200 3 - 33) + (script_int caster "@WandID")) (CALL gain_xp 1 3) (ATTRIGGER (CALL attack_check target) diff --git a/world/map/conf/magic-procedures.sex b/world/map/conf/magic-procedures.sex index 2a8258cb..6f9c3246 100644 --- a/world/map/conf/magic-procedures.sex +++ b/world/map/conf/magic-procedures.sex @@ -335,3 +335,24 @@ (BLOCK "1 is Tulimshar, 9 is Hurnscald and 20 is Nivalis" (message caster "A powerful magic drains your spell just as it is beginning to take shape!") (ABORT)))) + +(PROCEDURE script_split_str (d str v m) + (FOR a 0 m + (BLOCK + (IF (< (strlen str) 1) (BREAK)) + (SET arglen (strlen str)) + (SET argoffset + (if_then_else + (contains_string str d) + (strstr str d) + arglen)) + (SET arg + (if_then_else (== arglen argoffset) + str + (substr str 0 argoffset))) + (set_script_str caster (+ (+ "@" v) (+ a "$")) arg) + (SET str + (if_then_else + (> arglen (- argoffset 1)) + (substr str (+ argoffset 1) arglen) + ""))))) diff --git a/world/map/data/009-2.wlk b/world/map/data/009-2.wlk Binary files differindex c6cd8d70..13657806 100644 --- a/world/map/data/009-2.wlk +++ b/world/map/data/009-2.wlk diff --git a/world/map/data/022-1.wlk b/world/map/data/022-1.wlk Binary files differindex 0ad7c21c..f84df1d7 100644 --- a/world/map/data/022-1.wlk +++ b/world/map/data/022-1.wlk diff --git a/world/map/data/023-1.wlk b/world/map/data/023-1.wlk Binary files differindex ba88328c..e6e8cc22 100644 --- a/world/map/data/023-1.wlk +++ b/world/map/data/023-1.wlk diff --git a/world/map/data/023-3.wlk b/world/map/data/023-3.wlk Binary files differindex 805a8bfc..b18db04b 100644 --- a/world/map/data/023-3.wlk +++ b/world/map/data/023-3.wlk diff --git a/world/map/db/chest_item_db.txt b/world/map/db/chest_item_db.txt index fc403a84..06d25276 100644 --- a/world/map/db/chest_item_db.txt +++ b/world/map/db/chest_item_db.txt @@ -3,7 +3,6 @@ 523, LeatherShirt, Leather Shirt, 5, 2000, 1000, 20, 0, 4, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} 546, DesertShirt, Desert Shirt, 5, 2000, 1000, 20, 0, 6, 0, -18, 0, 2, 512, 0, 0, 0, {}, {} 564, TurtleneckSweater, Turtleneck Sweater, 5, 2000, 1000, 30, 0, 6, 0, -18, 0, 2, 512, 0, 0, 0, {}, {} -622, Bandana, Bandana, 5, 1000, 500, 20, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, {}, {} 624, VNeckSweater, V-Neck Sweater, 5, 6000, 3000, 35, 0, 8, 0, -24, 0, 2, 512, 0, 0, 0, {}, {} 625, ChainmailShirt, Chainmail Shirt, 5, 15000, 1500, 800, 0, 20, 0, -120, 0, 2, 512, 0, 0, 0, {}, {} 626, LightPlatemail, Light Platemail, 5, 50000, 2500, 1200, 0, 25, 0, -150, 0, 2, 512, 0, 0, 0, {}, {} @@ -95,8 +94,6 @@ 2097, OrangeTankTop, Orange Tank Top, 5, 800, 400, 12, 0, 2, 0, -4, 0, 2, 512, 0, 0, 0, {}, {} 2098, PurpleTankTop, Purple Tank Top, 5, 800, 400, 12, 0, 2, 0, -4, 0, 2, 512, 0, 0, 0, {}, {} 2099, DarkGreenTankTop, Dark Green Tank Top, 5, 800, 400, 12, 0, 2, 0, -4, 0, 2, 512, 0, 0, 0, {}, {} -2100, RedCottonSkirt, Red Cotton Skirt, 5, 1000, 500, 20, 0, 4, 0, -8, 0, 2, 1, 0, 1, 0, {}, {} -2101, GreenCottonSkirt, Green Cotton Skirt, 5, 1000, 500, 20, 0, 4, 0, -8, 0, 2, 1, 0, 1, 0, {}, {} //ID, Name___________________, Label__________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript} 2120, RedShortTankTop, Red Short Tank Top, 5, 600, 300, 8, 0, 2, 0, -4, 0, 2, 512, 0, 0, 0, {}, {} 2121, GreenShortTankTop, Green Short Tank Top, 5, 600, 300, 8, 0, 2, 0, -4, 0, 2, 512, 0, 0, 0, {}, {} diff --git a/world/map/db/generic_item_db.txt b/world/map/db/generic_item_db.txt index 74650721..5b17fa3e 100644 --- a/world/map/db/generic_item_db.txt +++ b/world/map/db/generic_item_db.txt @@ -25,6 +25,7 @@ //ID, Name___________________, Label__________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript} 560, GrayHint, Gray Hint, 3, 20, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {}, {} 569, RawLog, Raw Log, 3, 20, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {}, {} +589, Toothbrush, Toothbrush, 3, 20, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {}, {} 611, WhiteFur, White Fur, 3, 8, 4, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {}, {} 612, CaveSnakeLamp, Cave Snake Lamp, 3, 80, 40, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {}, {} 613, HardSpike, Hard Spike, 3, 40, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {}, {} diff --git a/world/map/db/head_item_db.txt b/world/map/db/head_item_db.txt index d7fc43f7..922ea4b3 100644 --- a/world/map/db/head_item_db.txt +++ b/world/map/db/head_item_db.txt @@ -38,7 +38,6 @@ 723, DesertHat, Desert Hat, 5, 2400, 600, 20, 0, 3, 0, -1, 0, 2, 256, 0, 0, 0, {}, {} 724, CottonHeadband, Cotton Headband, 5, 3000, 500, 5, 0, 2, 0, 0, 0, 2, 256, 0, 0, 0, {}, {} 725, GMCap, GM Cap, 5, 2000, 500, 20, 0, 5, 0, 5, 0, 2, 256, 0, 0, 0, {}, {callfunc "RestrictedItem";} -726, GMRobe, GM Robe, 5, 8000, 4000, 40, 0, 5, 0, 0, 0, 2, 512, 0, 0, 0, {}, {callfunc "RestrictedItem";} 751, PinkieHat, Pinkie Hat, 5, 5000, 1000, 5, 0, 1, 0, 1, 0, 2, 256, 0, 0, 0, {}, {} 752, FluffyHat, Fluffy Hat, 5, 7000, 2000, 10, 0, 2, 0, -5, 0, 2, 256, 0, 0, 0, {}, {} 759, PaladinsHelmet, Paladin's Helmet, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {}, {} diff --git a/world/map/db/leg_item_db.txt b/world/map/db/leg_item_db.txt index 85fb929d..caa37385 100644 --- a/world/map/db/leg_item_db.txt +++ b/world/map/db/leg_item_db.txt @@ -12,8 +12,6 @@ 857, LeatherTrousers, Leather Trousers, 5, 1000, 500, 25, 0, 5, 0, -4, 0, 2, 1, 0, 0, 0, {}, {bonus bHit, 2;} 881, RaggedShorts, Ragged Shorts, 5, 60, 1, 7, 0, 0, 0, -2, 0, 2, 1, 0, 1, 0, {}, {} 1172, SilkPants, Silk Pants, 5, 1500, 750, 10, 0, 2, 0, 0, 0, 2, 1, 0, 1, 0, {}, {} -1188, RedStockings, Red Stockings, 5, 7000, 2000, 10, 0, 1, 0, 2, 0, 2, 64, 0, 0, 0, {}, {} -1207, RedChristmasStocking, Red Christmas Stocking, 3, 80, 40, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {}, {} //ID, Name___________________, Label__________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript} 2100, RedCottonSkirt, Red Cotton Skirt, 5, 1000, 500, 20, 0, 4, 0, -8, 0, 2, 1, 0, 1, 0, {}, {} 2101, GreenCottonSkirt, Green Cotton Skirt, 5, 1000, 500, 20, 0, 4, 0, -8, 0, 2, 1, 0, 1, 0, {}, {} diff --git a/world/map/db/trinket_item_db.txt b/world/map/db/trinket_item_db.txt index 7eff3dcd..81c2863d 100644 --- a/world/map/db/trinket_item_db.txt +++ b/world/map/db/trinket_item_db.txt @@ -11,8 +11,7 @@ 865, Grimoire, Grimoire, 5, 5000, 2500, 100, 0, 0, 0, 5, 0, 2, 8, 0, 0, 0, {}, {bonus bMaxSP, 30;} 879, HeartOfIsis, Heart of Isis, 5, 70000, 35000, 40, 0, 0, 0, 0, 0, 2, 8, 0, 85, 0, {}, {bonus bMaxHPrate, 15; bonus bHPrecovRate, 65;} 1197, SkeletonCharm, Skeleton Charm, 5, 0, 0, 10, 0, 0, 0, 0, 0, 2, 8, 0, 0, 0, {}, { callfunc "CheckMunro"; } -1221, SkullMask, Skull Mask, 5, 10000, 5000, 150, 0, 3, 0, 5, 0, 2, 256, 0, 0, 0, {}, {} -1244, DarkTalisman, Dark Talisman, 5, 0, 0, 0, 0, 30, 0, 100, 0, 2, 512, 0, 0, 0, {}, {set@minLvl, 1;callfunc "RestrictedItem"; set @val, getopt2; if(!(@val&1024))setopt2 getopt2 | 1024; bonus bMaxHp, 30000; bonus bFlee, -150;} +1244, DarkTalisman, Dark Talisman, 5, 0, 0, 0, 0, 30, 0, 100, 0, 2, 8, 0, 0, 0, {}, {set@minLvl, 1;callfunc "RestrictedItem"; set @val, getopt2; if(!(@val&1024))setopt2 getopt2 | 1024; bonus bMaxHp, 30000; bonus bFlee, -150;} 4008, DiamondRing, Diamond Ring, 5, 5000, 2500, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {bonus bVit, 1;} 4009, RubyRing, Ruby Ring, 5, 5000, 2500, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {bonus bStr, 1;} 4010, EmeraldRing, Emerald Ring, 5, 5000, 2500, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {bonus bLuk, 1;} diff --git a/world/map/db/use_item_db.txt b/world/map/db/use_item_db.txt index 072b3428..fa8283d9 100644 --- a/world/map/db/use_item_db.txt +++ b/world/map/db/use_item_db.txt @@ -54,17 +54,17 @@ 788, BeetleJuice, Beetle Juice, 0, 80, 30, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 50, 0;}, {} 789, GutBuster, Gut Buster Ale, 0, 100, 30, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 60, 0;}, {} 790, BloodWine, Blood Wine, 0, 150, 50, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 100, 0;}, {} -808, HitchhikersTowel, Hitchhiker's Towel, 0, 10, 1, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "HitchhikersTowel"; callfunc "WarpTowel";}, {} -809, WhiteHitchhikersTowel, White Hitchhiker's Towe, 0, 10, 1, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "WhiteHitchhikersTowel"; callfunc "WarpTowel";}, {} -810, RedHitchhikersTowel, Red Hitchhiker's Towel, 0, 10, 1, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "RedHitchhikersTowel"; callfunc "WarpTowel";}, {} -811, GreenHitchhikersTowel, Green Hitchhiker's Towe, 0, 10, 1, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "GreenHitchhikersTowel"; callfunc "WarpTowel";}, {} -812, BlueHitchhikersTowel, Blue Hitchhiker's Towel, 0, 10, 1, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "BlueHitchhikersTowel"; callfunc "WarpTowel";}, {} -813, YellowHitchhikersTowel, Yellow Hitchhiker's Tow, 0, 10, 1, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "YellowHitchhikersTowel"; callfunc "WarpTowel";}, {} -814, PurpleHitchhikersTowel, Purple Hitchhiker's Tow, 0, 10, 1, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "PurpleHitchhikersTowel"; callfunc "WarpTowel";}, {} -815, OrangeHitchhikersTowel, Orange Hitchhiker's Tow, 0, 10, 1, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "OrangeHitchhikersTowel"; callfunc "WarpTowel";}, {} -816, PinkHitchhikersTowel, Pink Hitchhiker's Towel, 0, 10, 1, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "PinkHitchhikersTowel"; callfunc "WarpTowel";}, {} -817, TealHitchhikersTowel, Teal Hitchhiker's Towel, 0, 10, 1, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "TealHitchhikersTowel"; callfunc "WarpTowel";}, {} -818, LimeHitchhikersTowel, Lime Hitchhiker's Towel, 0, 10, 1, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "LimeHitchhikersTowel"; callfunc "WarpTowel";}, {} +808, HitchhikersTowel, Hitchhiker's Towel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "HitchhikersTowel"; callfunc "WarpTowel";}, {} +809, WhiteHitchhikersTowel, White Hitchhiker's Towe, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "WhiteHitchhikersTowel"; callfunc "WarpTowel";}, {} +810, RedHitchhikersTowel, Red Hitchhiker's Towel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "RedHitchhikersTowel"; callfunc "WarpTowel";}, {} +811, GreenHitchhikersTowel, Green Hitchhiker's Towe, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "GreenHitchhikersTowel"; callfunc "WarpTowel";}, {} +812, BlueHitchhikersTowel, Blue Hitchhiker's Towel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "BlueHitchhikersTowel"; callfunc "WarpTowel";}, {} +813, YellowHitchhikersTowel, Yellow Hitchhiker's Tow, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "YellowHitchhikersTowel"; callfunc "WarpTowel";}, {} +814, PurpleHitchhikersTowel, Purple Hitchhiker's Tow, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "PurpleHitchhikersTowel"; callfunc "WarpTowel";}, {} +815, OrangeHitchhikersTowel, Orange Hitchhiker's Tow, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "OrangeHitchhikersTowel"; callfunc "WarpTowel";}, {} +816, PinkHitchhikersTowel, Pink Hitchhiker's Towel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "PinkHitchhikersTowel"; callfunc "WarpTowel";}, {} +817, TealHitchhikersTowel, Teal Hitchhiker's Towel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "TealHitchhikersTowel"; callfunc "WarpTowel";}, {} +818, LimeHitchhikersTowel, Lime Hitchhiker's Towel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {set @warpTowelName$, "LimeHitchhikersTowel"; callfunc "WarpTowel";}, {} 825, TinyManaElixir, Tiny Mana Elixir, 0, 100, 10, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 0, 25;}, {} 826, SmallManaElixir, Small Mana Elixir, 0, 200, 20, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 0, 50;}, {} 827, MediumManaElixir, Medium Mana Elixir, 0, 400, 40, 15, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, {itemheal 0, 100;}, {} diff --git a/world/map/news.d/37-v2014.7.29.txt b/world/map/news.d/37-v2014.7.29.txt new file mode 100644 index 00000000..2061d89f --- /dev/null +++ b/world/map/news.d/37-v2014.7.29.txt @@ -0,0 +1,19 @@ +{title:Sanity Check} +{date:2014-07-29} + +Sanity checks added to client data to +reflect what manaplus really sees. + +make checks in client-data now looks +through all the xmls to check for +proper format. + +{ul} +{li}Fixed Sunglasses{/li} +{li}Tonori Terranites respawn increased{/li} +{li}Added "toothbrush" for GM events{/li} +{li}General Code Clean up{/li} +{li}Fixed item duplication in database{/li} +{/ul} + +{author:The Mana World Dev Team} diff --git a/world/map/news.d/38-v2014.9.1.txt b/world/map/news.d/38-v2014.9.1.txt new file mode 100644 index 00000000..fa63e6ae --- /dev/null +++ b/world/map/news.d/38-v2014.9.1.txt @@ -0,0 +1,22 @@ +{title:Now with less spam} +{date:2014-09-01} + +Heya Manakins. Valia should be back in action +and ready for you to save the day again. +Be warned she has less patience for fools now. + +The Ferry now uses a set of emblems to denote +where it current is docked along with an audio +cue. + +{ul} +{li}Valia camper "fixed" & Illia quest +works again.{/li} +{li}Ferry uses a Visual and Audio Cue +instead of annoucements.{/li} +{li}More beds were made "sleepable"{/li} +{li}Travelers refer to proper continenets{/li} +{li}Towels are Worthless{/li} +{/ul} + +{author:The Mana World Dev Team} diff --git a/world/map/npc/007-1/witch.txt b/world/map/npc/007-1/witch.txt index cc009018..7e8cb8ab 100644 --- a/world/map/npc/007-1/witch.txt +++ b/world/map/npc/007-1/witch.txt @@ -26,7 +26,7 @@ if (getgmlevel() >= 40 && getequipid(equip_head) == 647) goto L_DeveloperBoard; - if (BaseLevel < @illia_min_level) goto L_Unexperienced; + if (BaseLevel < $@illia_min_level) goto L_Unexperienced; if ($@ILLIA_STATUS == 0) goto L_Introduce; if ($@ILLIA_STATUS == 1) goto L_PreparingSpell; if ($@ILLIA_STATUS == 2) goto L_ReadyToTeleport; @@ -193,11 +193,6 @@ L_CheckTeleportSpellItems: set $@ILLIA_STATUS, 1; initnpctimer; set @illia_go_find_items, 0; - delitem "SapphirePowder", @illia_sapphire_powder; - delitem "AmethystPowder", @illia_amethyst_powder; - delitem "IronPowder", @illia_iron_powder; - delitem "FrozenYetiTear", @illia_yeti_tear; - delitem "IcedWater", @illia_iced_water; mes "[Valia]"; mes "\"Very well! I can prepare the spell now!\""; @@ -248,29 +243,30 @@ L_ChooseHelper1: goto L_WrongHelper1; if (isloggedin(getcharid(3, $@ILLIA_HELPER1$)) == 0) goto L_HelperDoesNotExist1; - attachrid(getcharid(3, $@ILLIA_HELPER1$)); + if (!(attachrid(getcharid(3, $@ILLIA_HELPER1$)))) + goto L_Exit; if (BaseLevel < $@illia_min_level) goto L_HelperTooWeak1; set $@ILLIA_HELPER1$, strcharinfo(0); detachrid; - if (isloggedin($@ILLIA_HERO_ID) == 0) - goto L_Exit; - attachrid($@ILLIA_HERO_ID); - goto L_ChooseHelper2; + if (attachrid($@ILLIA_HERO_ID)) + goto L_ChooseHelper2; + goto L_Exit; L_HelperTooWeak1: detachrid; - if (isloggedin($@ILLIA_HERO_ID) == 0) + if (!(attachrid($@ILLIA_HERO_ID))) goto L_Exit; - attachrid($@ILLIA_HERO_ID); mes "[Team Selector]"; mes "The player " + $@ILLIA_HELPER1$ + " is too weak to help you."; + set $@ILLIA_HELPER1$, ""; next; goto L_ChooseHelperConfirm1; L_HelperDoesNotExist1: mes "[Team Selector]"; mes "This player " + $@ILLIA_HELPER1$ + " seems offline or does not exist."; + set $@ILLIA_HELPER1$, ""; next; goto L_ChooseHelperConfirm1; @@ -298,29 +294,30 @@ L_ChooseHelper2: goto L_WrongHelper2; if (isloggedin(getcharid(3, $@ILLIA_HELPER2$)) == 0) goto L_HelperDoesNotExist2; - attachrid(getcharid(3, $@ILLIA_HELPER2$)); + if (!(attachrid(getcharid(3, $@ILLIA_HELPER2$)))) + goto L_Exit; if (BaseLevel < $@illia_min_level) goto L_HelperTooWeak2; set $@ILLIA_HELPER2$, strcharinfo(0); detachrid; - if (isloggedin($@ILLIA_HERO_ID) == 0) - goto L_Exit; - attachrid($@ILLIA_HERO_ID); - goto L_ChooseHelper3; + if (attachrid($@ILLIA_HERO_ID)) + goto L_ChooseHelper3; + goto L_Exit; L_HelperTooWeak2: detachrid; - if (isloggedin($@ILLIA_HERO_ID) == 0) - goto L_Exit; - attachrid($@ILLIA_HERO_ID); + if (!(attachrid($@ILLIA_HERO_ID))) + goto_Exit; mes "[Team Selector]"; mes "The player " + $@ILLIA_HELPER2$ + " is too weak to help you."; + set $@ILLIA_HELPER2$, ""; next; goto L_ChooseHelperConfirm2; L_HelperDoesNotExist2: mes "[Team Selector]"; mes "This player " + $@ILLIA_HELPER2$ + " seems offline or does not exist."; + set $@ILLIA_HELPER2$, ""; next; goto L_ChooseHelperConfirm2; @@ -349,24 +346,24 @@ L_ChooseHelper3: goto L_WrongHelper3; if (isloggedin(getcharid(3, $@ILLIA_HELPER3$)) == 0) goto L_HelperDoesNotExist3; - attachrid(getcharid(3, $@ILLIA_HELPER3$)); + if (!(attachrid(getcharid(3, $@ILLIA_HELPER3$)))) + goto L_Exit; if (BaseLevel < $@illia_min_level) goto L_HelperTooWeak3; set $@ILLIA_HELPER3$, strcharinfo(0); detachrid; - if (isloggedin($@ILLIA_HERO_ID) == 0) - goto L_Exit; - attachrid($@ILLIA_HERO_ID); + if (!(attachrid($@ILLIA_HERO_ID))) + goto_Exit; mes $@ILLIA_HELPER1$ + ", " + $@ILLIA_HELPER2$ + " and " + $@ILLIA_HELPER3$ + " will be your three comrades."; close; L_HelperTooWeak3: detachrid; - if (isloggedin($@ILLIA_HERO_ID) == 0) - goto L_Exit; - attachrid($@ILLIA_HERO_ID); + if (!(attachrid($@ILLIA_HERO_ID))) + goto_Exit; mes "[Team Selector]"; mes "The player " + $@ILLIA_HELPER3$ + " is too weak to help you."; + set $@ILLIA_HELPER3$, ""; next; goto L_ChooseHelperConfirm3; @@ -374,6 +371,7 @@ L_HelperTooWeak3: L_HelperDoesNotExist3: mes "[Team Selector]"; mes "This player " + $@ILLIA_HELPER3$ + " seems offline or does not exist."; + set $@ILLIA_HELPER3$, ""; next; goto L_ChooseHelperConfirm3; @@ -389,6 +387,8 @@ L_PreparingSpell: close; L_ReadyToTeleport: + if ($@ILLIA_HELPER1$ == "" || $@ILLIA_HELPER2$ == "" || $@ILLIA_HELPER3$ == "") + goto L_PlayerGaveUp; if (strcharinfo(0) == $@ILLIA_HERO$) goto L_AskToTeleport; if (strcharinfo(0) == $@ILLIA_HELPER1$ || strcharinfo(0) == $@ILLIA_HELPER2$ || strcharinfo(0) == $@ILLIA_HELPER3$) @@ -398,9 +398,26 @@ L_ReadyToTeleport: close; L_AskToTeleport: - // Check area users just to give a hint if there are players around, - // but do not actually check if the real helpers are here - if (getareausers("007-1.gat", 66, 73, 92, 88) < 4) + // Check area users just to give a hint if there are players around + // $@ILLIA_HERO$ $@ILLIA_HELPER1$ $@ILLIA_HELPER2$ $@ILLIA_HELPER3$ + if (!(attachrid(getcharid(3,$@ILLIA_HELPER1$)))) + goto L_NotEveryoneHere; + if (!(isin("007-1.gat", 66, 73, 92, 88))) + goto L_NotEveryoneHere; + detachrid; + if (!(attachrid(getcharid(3,$@ILLIA_HELPER2$)))) + goto L_NotEveryoneHere; + if (!(isin("007-1.gat", 66, 73, 92, 88))) + goto L_NotEveryoneHere; + detachrid; + if (!(attachrid(getcharid(3,$@ILLIA_HELPER3$)))) + goto L_NotEveryoneHere; + if (!(isin("007-1.gat", 66, 73, 92, 88))) + goto L_NotEveryoneHere; + detachrid; + if (!(attachrid(getcharid(3,$@ILLIA_HERO$)))) + goto L_NotEveryoneHere; + if (!(isin("007-1.gat", 66, 73, 92, 88))) goto L_NotEveryoneHere; mes "[Valia]"; mes "\"Everyone seems to be here. Make sure to stay close to me.\""; @@ -409,6 +426,19 @@ L_AskToTeleport: "Wait a minute.", L_Exit; L_Next5: + if ( + (countitem ("SapphirePowder") < @illia_sapphire_powder) || + (countitem ("AmethystPowder") < @illia_amethyst_powder) || + (countitem ("IronPowder") < @illia_iron_powder) || + (countitem ("FrozenYetiTear") < @illia_yeti_tear) || + (countitem ("IcedWater") < @illia_iced_water) + ) goto L_MissingTeleportSpellItems; + delitem "SapphirePowder", @illia_sapphire_powder; + delitem "AmethystPowder", @illia_amethyst_powder; + delitem "IronPowder", @illia_iron_powder; + delitem "FrozenYetiTear", @illia_yeti_tear; + delitem "IcedWater", @illia_iced_water; + // Stop the 5mins timer and start it again. set $@ILLIA_STATUS, 3; initnpctimer; @@ -646,6 +676,12 @@ OnTimer300000: end; npctalk $@ILLIA_HERO$ + ", you and your missing comrades made me lose a precious time! Out of my sight!"; emotion EMOTE_UPSET; + if (attachrid($@ILLIA_HERO_ID)) + goto L_KillHero; + goto L_EndQuest; + +L_KillHero: + percentheal -100, 0; goto L_EndQuest; } diff --git a/world/map/npc/009-1/jack.txt b/world/map/npc/009-1/jack.txt index b5244244..c25624cc 100644 --- a/world/map/npc/009-1/jack.txt +++ b/world/map/npc/009-1/jack.txt @@ -48,8 +48,9 @@ L_NotInspector: next; if (@Q_Forestbow < 1) goto L_Close; - menu - "I heard you aren't delivering any more living wood. Why not?", L_Next; + mes "I heard you aren't delivering any more living wood. Why not?"; + next; + goto L_Next; L_Next: mes "[Jack Lumber]"; @@ -249,6 +250,7 @@ L_Shield_state_3: L_NohMask_Ask: menu "I'll keep that in mind.", L_Close, + "I heard you aren't delivering any more living wood. Why not?", L_Next, "Have you seen anything that might be connected to the recent robberies in town?", L_NohMask_Answer; L_NohMask_Answer: diff --git a/world/map/npc/009-2/_warps.txt b/world/map/npc/009-2/_warps.txt index 0b8abbf3..4d2024f6 100644 --- a/world/map/npc/009-2/_warps.txt +++ b/world/map/npc/009-2/_warps.txt @@ -6,7 +6,7 @@ 009-2.gat,130,26|warp|To Outside|-1,-1,009-1.gat,71,31 009-2.gat,144,26|warp|To Second Floor|0,-1,009-2.gat,144,43 009-2.gat,144,42|warp|To Third Floor|0,-1,009-2.gat,144,25 -009-2.gat,155,47|warp|To First Floor|0,-1,009-2.gat,155,63 +009-2.gat,155,48|warp|To First Floor|0,-1,009-2.gat,155,63 009-2.gat,114,46|warp|To First Floor|0,-1,009-2.gat,114,70 009-2.gat,50,55|warp|To Outside|-1,-1,009-1.gat,35,31 009-2.gat,74,53|warp|To Cellar|-1,-1,009-2.gat,143,78 diff --git a/world/map/npc/009-4/barriers.txt b/world/map/npc/009-4/barriers.txt index 939f4ae2..f3f2e085 100644 --- a/world/map/npc/009-4/barriers.txt +++ b/world/map/npc/009-4/barriers.txt @@ -35,7 +35,7 @@ L_Error2: // Starting Barrier / Quest Entrance -009-4.gat,37,120,0|script|#OrumCaveStartBarrier|0,1,0, +009-4.gat,37,120,0|script|#OrumCaveStartBarrier|127,1,0, { if (OrumQuest >= 3) close; if (OrumQuest == 2) goto L_Started; @@ -51,7 +51,7 @@ L_Started: } // First Barrier -009-4.gat,57,29,0|script|#OrumCaveFirstBarrier|0,1,0, +009-4.gat,57,29,0|script|#OrumCaveFirstBarrier|127,1,0, { if (OrumQuest >= 5) close; @@ -61,7 +61,7 @@ L_Started: } // Second Barrier -009-4.gat,61,54,0|script|#OrumCaveSecondBarrier|0,1,0, +009-4.gat,61,54,0|script|#OrumCaveSecondBarrier|127,1,0, { if (OrumQuest == 3) set OrumQuest, 4; @@ -90,7 +90,7 @@ L_Advance_Quest: } // Third Barrier -009-4.gat,24,66,0|script|#OrumCaveThirdBarrier|0,1,0, +009-4.gat,24,66,0|script|#OrumCaveThirdBarrier|127,1,0, { if (OrumQuest == 3) set OrumQuest, 4; @@ -134,7 +134,7 @@ L_Advance_Quest: } // Ending Barrier -009-4.gat,48,38,0|script|#OrumCaveEndBarrier|0,1,0, +009-4.gat,48,38,0|script|#OrumCaveEndBarrier|127,1,0, { if (OrumQuest >= 11) close; if (OrumQuest == 3) set OrumQuest, 4; diff --git a/world/map/npc/009-4/waric.txt b/world/map/npc/009-4/waric.txt index 778c5111..ca28d2f7 100644 --- a/world/map/npc/009-4/waric.txt +++ b/world/map/npc/009-4/waric.txt @@ -1,6 +1,6 @@ //# see detailed description at orum.txt -009-4.gat,99,33,0|script|#WizardTrap|0,2,1, +009-4.gat,99,33,0|script|#WizardTrap|127,2,1, { set @gender$, "They're"; if (Sex == 0) diff --git a/world/map/npc/015-1/barrier.txt b/world/map/npc/015-1/barrier.txt index 0bf5d7e1..6b451f42 100644 --- a/world/map/npc/015-1/barrier.txt +++ b/world/map/npc/015-1/barrier.txt @@ -1,7 +1,7 @@ // This barrier is for checking whether the player went outside after // progressing with the cat quest. -015-1.gat,59,32,0|script|#CatOutsideBarrier|0,1,1, +015-1.gat,59,32,0|script|#CatOutsideBarrier|127,1,1, { set @catNeedsAlone, 0; end; diff --git a/world/map/npc/024-2/barrier.txt b/world/map/npc/024-2/barrier.txt index 4894dad8..aef0b938 100644 --- a/world/map/npc/024-2/barrier.txt +++ b/world/map/npc/024-2/barrier.txt @@ -1,6 +1,6 @@ // A barrier in the magic school to keep less experienced players out of the canyon -024-2.gat,31,24,0|script|#MagicSchoolBarrier1#M|0,1,1, +024-2.gat,31,24,0|script|#MagicSchoolBarrier1#M|127,1,1, { callfunc "MorganState"; if (@morgan >= 4) diff --git a/world/map/npc/024-2/tyer_trigger.txt b/world/map/npc/024-2/tyer_trigger.txt index 45218430..0feafd99 100644 --- a/world/map/npc/024-2/tyer_trigger.txt +++ b/world/map/npc/024-2/tyer_trigger.txt @@ -1,6 +1,6 @@ // A man in the magic school -024-2.gat,33,24,0|script|#Tyer_Trigger|0,0,1, +024-2.gat,33,24,0|script|#Tyer_Trigger|127,0,1, { callfunc "MorganState"; if (@morgan >= 4) diff --git a/world/map/npc/035-2/_import.txt b/world/map/npc/035-2/_import.txt index 5e207a35..2fff6976 100644 --- a/world/map/npc/035-2/_import.txt +++ b/world/map/npc/035-2/_import.txt @@ -4,6 +4,7 @@ map: 035-2.gat npc: npc/035-2/_mobs.txt npc: npc/035-2/_warps.txt npc: npc/035-2/casino.txt +npc: npc/035-2/emblems.txt npc: npc/035-2/koga.txt npc: npc/035-2/mapflags.txt npc: npc/035-2/shops.txt diff --git a/world/map/npc/035-2/emblems.txt b/world/map/npc/035-2/emblems.txt new file mode 100644 index 00000000..895909a3 --- /dev/null +++ b/world/map/npc/035-2/emblems.txt @@ -0,0 +1,43 @@ +035-2.gat,28,27,0|script|#k1city1e|410, +{ + end; + OnInit: + disablenpc "#k1city1e"; + end; +} +035-2.gat,28,27,0|script|#k1city1d|411, +{ + end; +} + +035-2.gat,30,27,0|script|#k1city2e|412, +{ + end; + OnInit: + disablenpc "#k1city2e"; + end; +} +035-2.gat,30,27,0|script|#k1city2d|413, +{ + end; +} + +035-2.gat,32,27,0|script|#k1city3e|414, +{ + end; + OnInit: + disablenpc "#k1city3e"; + end; +} +035-2.gat,32,27,0|script|#k1city3d|415, +{ + end; +} + +035-2.gat,32,27,0|script|#k1sound|127, +{ + end; + OnCommandDing: + misceffect 402; + end; +} diff --git a/world/map/npc/036-2/_import.txt b/world/map/npc/036-2/_import.txt index b151f381..e7e92a0e 100644 --- a/world/map/npc/036-2/_import.txt +++ b/world/map/npc/036-2/_import.txt @@ -4,6 +4,7 @@ map: 036-2.gat npc: npc/036-2/_mobs.txt npc: npc/036-2/_warps.txt npc: npc/036-2/casino.txt +npc: npc/036-2/emblems.txt npc: npc/036-2/koga-candor.txt npc: npc/036-2/mapflags.txt npc: npc/036-2/shops.txt diff --git a/world/map/npc/036-2/emblems.txt b/world/map/npc/036-2/emblems.txt new file mode 100644 index 00000000..c3fbc18a --- /dev/null +++ b/world/map/npc/036-2/emblems.txt @@ -0,0 +1,31 @@ +036-2.gat,29,27,0|script|#k2city1e|410, +{ + end; + OnInit: + disablenpc "#k2city1e"; + end; +} +036-2.gat,29,27,0|script|#k2city1d|411, +{ + end; +} + +036-2.gat,31,27,0|script|#k2city2e|416, +{ + end; + OnInit: + disablenpc "#k2city2e"; + end; +} +036-2.gat,31,27,0|script|#k2city2d|417, +{ + end; +} + +036-2.gat,32,27,0|script|#k2sound|127, +{ + end; + OnCommandDing: + misceffect 402; + end; +} diff --git a/world/map/npc/043-4/_mobs.txt b/world/map/npc/043-4/_mobs.txt index c41ee0bd..97a3ea63 100644 --- a/world/map/npc/043-4/_mobs.txt +++ b/world/map/npc/043-4/_mobs.txt @@ -1,7 +1,7 @@ // This file is generated automatically. All manually changes will be removed when running the Converter. // Sandy Dungeon Level 2 mobs -043-4.gat,139,163,7,6|monster|Terranite|1062,2,200000,100000,Mob043-4::On1062 +043-4.gat,139,163,7,6|monster|Terranite|1062,2,240000,120000,Mob043-4::On1062 043-4.gat,133,45,14,16|monster|UndeadTroll|1117,4,100000,50000,Mob043-4::On1117 043-4.gat,91,139,11,10|monster|UndeadTroll|1117,2,100000,50000,Mob043-4::On1117 043-4.gat,35,120,10,11|monster|UndeadTroll|1117,2,100000,50000,Mob043-4::On1117 diff --git a/world/map/npc/052-1/channelling.txt b/world/map/npc/052-1/channelling.txt index 6348840a..34633ac5 100644 --- a/world/map/npc/052-1/channelling.txt +++ b/world/map/npc/052-1/channelling.txt @@ -178,9 +178,8 @@ OnTimer11000: end; S_ItemSpawn: - if (isloggedin(getcharid(3, $@illia_char_channelling$)) == 0) + if (!(attachrid(getcharid(3, $@illia_char_channelling$)))) goto L_Return; - attachrid(getcharid(3, $@illia_char_channelling$)); // spawn items at random set $@illia_item_spawn_i, rand(getarraysize($@illia_small_lazurites)/2); set $@illia_item_spawn_x, $@illia_small_lazurites[$@illia_item_spawn_i*2]; @@ -228,9 +227,8 @@ S_CheckChannelling: set $@illia_magic_power_status, 2; // Player loses a part of his health while channelling - if (isloggedin(getcharid(3, $@illia_char_channelling$)) == 0) + if (!(attachrid(getcharid(3, $@illia_char_channelling$)))) goto L_ChannellingFail; - attachrid(getcharid(3, $@illia_char_channelling$)); // Display an effect showing the drain misceffect FX_CHANNELLING_RAISE; percentheal -4, 0; diff --git a/world/map/npc/052-2/lobby.txt b/world/map/npc/052-2/lobby.txt index a32ab830..c707c76f 100644 --- a/world/map/npc/052-2/lobby.txt +++ b/world/map/npc/052-2/lobby.txt @@ -341,9 +341,8 @@ L_ChaseLuvia: end; S_GetHeroRect: - if (isloggedin($@ILLIA_HERO_ID) == 0) + if (!(attachrid($@ILLIA_HERO_ID))) goto L_Clear; - attachrid($@ILLIA_HERO_ID); set $@illia_lobby_x, getx(); set $@illia_lobby_y, gety(); diff --git a/world/map/npc/052-2/partyroom.txt b/world/map/npc/052-2/partyroom.txt index 663c2dec..ef04a667 100644 --- a/world/map/npc/052-2/partyroom.txt +++ b/world/map/npc/052-2/partyroom.txt @@ -123,9 +123,8 @@ OnTimer5000: if ($@illia_level_7_progress != 1) end; // Warp to the place to spawn luvia once the teleport sequence is finished - if (isloggedin($@ILLIA_HERO_ID) == 0) + if (!(attachrid($@ILLIA_HERO_ID))) end; - attachrid($@ILLIA_HERO_ID); set $@illia_luvia_x, getx(); set $@illia_luvia_y, gety(); npcwarp $@illia_luvia_x, $@illia_luvia_y, "#LuviaDaemon"; @@ -176,9 +175,8 @@ OnTimer26000: end; S_SpawnWitchGuard: - if (isloggedin($@ILLIA_HERO_ID) == 0) + if (!(attachrid($@ILLIA_HERO_ID))) end; - attachrid($@ILLIA_HERO_ID); npcwarp getx(), gety(), "#LuviaDaemon"; misceffect FX_EVIL_SUMMON; misceffect FX_GROUND_SPAWN; diff --git a/world/map/npc/functions/ferry.txt b/world/map/npc/functions/ferry.txt index c2e92271..8d530d1f 100644 --- a/world/map/npc/functions/ferry.txt +++ b/world/map/npc/functions/ferry.txt @@ -35,20 +35,59 @@ L_NextDock: cmdothernpc "#"+$@MainDocks$[$@MainCurrentDock]+"Dock", "Arrive"; cmdothernpc "#"+$@CandorDocks$[$@CandorLastDock]+"Dock", "Warp"; cmdothernpc "#"+$@CandorDocks$[$@CandorCurrentDock]+"Dock", "Arrive"; - mapannounce "035-2.tmx", " Koga - Main : Now arriving in "+$@MainDocks$[$@MainCurrentDock]+".", 0; - mapannounce "036-2.tmx", " Koga - Candor : Now arriving in "+$@CandorDocks$[$@CandorCurrentDock]+".", 0; + + cmdothernpc "#k1sound", "Ding"; + cmdothernpc "#k2sound", "Ding"; + + //mapannounce "035-2.tmx", " Koga - Main : Now arriving in "+$@MainDocks$[$@MainCurrentDock]+".", 0; + //mapannounce "036-2.tmx", " Koga - Candor : Now arriving in "+$@CandorDocks$[$@CandorCurrentDock]+".", 0; initnpctimer; + + if($@MainCurrentDock == 2) goto L_k1city1; + if($@MainCurrentDock == 0) goto L_k1city2; + if($@MainCurrentDock == 1) goto L_k1city3; end; OnTimer10000: if ($@DockTickCount > $@DockLeaveCount) goto L_NextDock; - mapannounce "035-2.tmx", "Koga - Main : Now docked in "+$@MainDocks$[$@MainCurrentDock]+", Departing soon", 0; - mapannounce "036-2.tmx", "Koga - Candor : Now docked in "+$@CandorDocks$[$@CandorCurrentDock]+", Departing soon", 0; + //mapannounce "035-2.tmx", "Koga - Main : Now docked in "+$@MainDocks$[$@MainCurrentDock]+", Departing soon", 0; + //mapannounce "036-2.tmx", "Koga - Candor : Now docked in "+$@CandorDocks$[$@CandorCurrentDock]+", Departing soon", 0; set $@DockTickCount, $@DockTickCount + 1; initnpctimer; end; + +L_k1city1: + enablenpc "#k1city1e"; disablenpc "#k1city2e"; disablenpc "#k1city3e"; + disablenpc "#k1city1d"; enablenpc "#k1city2d"; enablenpc "#k1city3d"; + if($@CandorCurrentDock == 1) goto L_k2city1; + if($@CandorCurrentDock == 0) goto L_k2city2; +end; + +L_k1city2: + disablenpc "#k1city1e"; enablenpc "#k1city2e"; disablenpc "#k1city3e"; + enablenpc "#k1city1d"; disablenpc "#k1city2d"; enablenpc "#k1city3d"; + if($@CandorCurrentDock == 1) goto L_k2city1; + if($@CandorCurrentDock == 0) goto L_k2city2; +end; + +L_k1city3: + disablenpc "#k1city1e"; disablenpc "#k1city2e"; enablenpc "#k1city3e"; + enablenpc "#k1city1d"; enablenpc "#k1city2d"; disablenpc "#k1city3d"; + if($@CandorCurrentDock == 1) goto L_k2city1; + if($@CandorCurrentDock == 0) goto L_k2city2; +end; + +L_k2city1: + enablenpc "#k2city1e"; disablenpc "#k2city2e"; + disablenpc "#k2city1d"; enablenpc "#k2city2d"; +end; + +L_k2city2: + disablenpc "#k2city1e"; enablenpc "#k2city2e"; + enablenpc "#k2city1d"; disablenpc "#k2city2d"; +end; } function|script|FerryManifest|, diff --git a/world/map/npc/functions/travelers.txt b/world/map/npc/functions/travelers.txt index e455eb74..60db8375 100644 --- a/world/map/npc/functions/travelers.txt +++ b/world/map/npc/functions/travelers.txt @@ -98,20 +98,20 @@ L_SetTravelBit: L_Start: mes "\"Where would you like to go?\""; menu - "Tulimshar (" + (@Cost * $@tulimshar_cost) + " GP)", L_TravelTulimshar, - "Hurnscald (" + (@Cost * $@hurnscald_cost) + " GP)", L_TravelHurnscald, - "Nivalis (" + (@Cost * $@nivalis_cost) + " GP)", L_TravelNivalis, - "Candor (" + (@Cost * $@candor_cost) + " GP)", L_TravelCandor, + "Tonori - Tulimshar (" + (@Cost * $@tulimshar_cost) + " GP)", L_TravelTulimshar, + "Argeas - Hurnscald (" + (@Cost * $@hurnscald_cost) + " GP)", L_TravelHurnscald, + "Kaizei - Nivalis (" + (@Cost * $@nivalis_cost) + " GP)", L_TravelNivalis, "Tonori - Druid Tree (" + (@Cost * $@druid_tree_cost) + " GP)", L_TravelDruidTree, "Tonori - Tulimshar Mines (" + (@Cost * $@tul_mine_cost) + " GP)", L_TravelTulMine, "Tonori - Pachua's Village (" + (@Cost * $@pachua_cost) + " GP)", L_TravelPachua, + "Argeas - Candor (" + (@Cost * $@candor_cost) + " GP)", L_TravelCandor, "Argeas - Magic House (" + (@Cost * $@magic_house_cost) + " GP)", L_TravelMagicHouse, "Argeas - Farmsteads (" + (@Cost * $@hurns_farms_cost) + " GP)", L_TravelHurnsFarms, "Argeas - Graveyard (" + (@Cost * $@graveyard_cost) + " GP)", L_TravelGraveyard, "Argeas - Terranite Cave (" + (@Cost * $@terranite_cave_cost) + " GP)", L_TravelTerranite, - "Nivalis - Barbarian Village (" + (@Cost * $@barbarians_cost) + " GP)", L_TravelBarbarians, - "Nivalis - Sage Nikolai's Mansion (" + (@Cost * $@blue_sage_cost) + " GP)", L_TravelBlueSage, - "Nivalis - Snow Hills (" + (@Cost * $@nivalis_snow_hills_cost) + " GP)", L_TravelSnowHills, + "Kaizei - Barbarian Village (" + (@Cost * $@barbarians_cost) + " GP)", L_TravelBarbarians, + "Kaizei - Sage Nikolai's Mansion (" + (@Cost * $@blue_sage_cost) + " GP)", L_TravelBlueSage, + "Kaizei - Snow Hills (" + (@Cost * $@nivalis_snow_hills_cost) + " GP)", L_TravelSnowHills, "Who are the Travelers?", L_TravelTut, "I'm not interested.", L_TravelNo; diff --git a/world/map/npc/items/check_wand.txt b/world/map/npc/items/check_wand.txt index 1b11dfc2..4d8016bb 100644 --- a/world/map/npc/items/check_wand.txt +++ b/world/map/npc/items/check_wand.txt @@ -33,6 +33,7 @@ function|script|CheckWand|, { setarray $@Wands, 758, 1171; setarray $@WandsPwr, 2, 1; + setarray $@WandsAnim, 35, 33; set @Wand, 0; set @wand_loop, 0; goto L_Loop; @@ -44,6 +45,7 @@ L_Loop: L_SetWand: set @Wand, $@WandsPwr[@wand_loop]; + set @WandID, $@WandsAnim[@wand_loop]; callfunc "MorganState"; if (@morgan == 2) goto L_SetCastOnce; |