diff options
Diffstat (limited to 'world/map')
65 files changed, 700 insertions, 675 deletions
diff --git a/world/map/data/012-4.wlk b/world/map/data/012-4.wlk Binary files differindex bd457f63..1d642c07 100644 --- a/world/map/data/012-4.wlk +++ b/world/map/data/012-4.wlk diff --git a/world/map/data/029-1.wlk b/world/map/data/029-1.wlk Binary files differindex bebe118d..5a4e8e7a 100644 --- a/world/map/data/029-1.wlk +++ b/world/map/data/029-1.wlk diff --git a/world/map/data/029-2.wlk b/world/map/data/029-2.wlk Binary files differindex 7cd78d7b..daec6277 100644 --- a/world/map/data/029-2.wlk +++ b/world/map/data/029-2.wlk diff --git a/world/map/data/051-3.wlk b/world/map/data/051-3.wlk Binary files differindex 02a17192..92a421b9 100644 --- a/world/map/data/051-3.wlk +++ b/world/map/data/051-3.wlk diff --git a/world/map/db/item_db_chest.txt b/world/map/db/item_db_chest.txt index c3db7222..3351257f 100644 --- a/world/map/db/item_db_chest.txt +++ b/world/map/db/item_db_chest.txt @@ -2,7 +2,7 @@ //ID, Name___________________, Label__________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript} 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, {}, {} +564, Turtleneck, Turtleneck Sweater, 5, 2000, 1000, 30, 0, 6, 0, -18, 0, 2, 512, 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, {}, {} @@ -25,10 +25,10 @@ 783, PlatynaRedDress, Platyna Red Dress, 5, 100000, 50000, 35, 0, 15, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} 791, YetiSkinShirt, Yeti Skin Shirt, 5, 20000, 10000, 20, 0, 12, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} 793, BromenalChest, Bromenal Chest, 5, 100000, 3000, 2000, 0, 25, 0, -170, 0, 2, 512, 0, 0, 0, {}, {} -798, SorcererRobeRed, Sorcerer Robe Red, 5, 8000, 4000, 5, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +798, SorcererRed, Sorcerer Robe Red, 5, 8000, 4000, 5, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} 870, FineDress, Fine Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} 880, LazuriteRobe, Lazurite Robe, 5, 92000, 52000, 30, 0, 7, 0, 60, 0, 2, 512, 0, 90, 0, {}, {set @bStat, bInt;set @minbStatVal, 70;callfunc "RequireStat"; set @bStat, bVit;set @minbStatVal, 40;callfunc "RequireStat"; bonus bSpeedAddRate, -15; bonus bDef2Rate, -40; bonus bMdef, 60; bonus bVit, -1; bonus bInt, 7; bonus bLuk, -1; bonus bDex, -1; bonus bStr, -1;} -1178, ContributorShirt, ContributorShirt, 5, 0, 0, 20, 0, 5, 0, 5, 0, 2, 512, 0, 0, 0, {}, {} +1178, Contributor, ContributorShirt, 5, 0, 0, 20, 0, 5, 0, 5, 0, 2, 512, 0, 0, 0, {}, {} 1183, AmberChristmasSweater, Amber Christmas Sweater, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} 1184, FunkyChristmasSweater, Funky Christmas Sweater, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} 1185, PinkChristmasSweater, Pink Christmas Sweater, 5, 8000, 4000, 30, 0, 5, 0, 0, 0, 2, 512, 0, 0, 0, {}, {} @@ -57,16 +57,16 @@ 2067, OrangeVNeckSweater, Orange V-Neck Sweater, 5, 6000, 3000, 35, 0, 8, 0, -16, 0, 2, 512, 0, 0, 0, {}, {} 2068, PurpleVNeckSweater, Purple V-Neck Sweater, 5, 6000, 3000, 35, 0, 8, 0, -16, 0, 2, 512, 0, 0, 0, {}, {} 2069, DarkGreenVNeckSweater, Dark Green V-Neck Sweat, 5, 6000, 3000, 35, 0, 8, 0, -16, 0, 2, 512, 0, 0, 0, {}, {} -2070, RedTurtleneckSweater, Red Turtleneck Sweater, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} -2071, GreenTurtleneckSweater, Green Turtleneck Sweate, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} -2072, DarkBlueTurtleneckSweat, Dark Blue Turtleneck Sw, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} -2073, YellowTurtleneckSweater, Yellow Turtleneck Sweat, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} -2074, LightBlueTurtleneckSwea, Light Blue Turtleneck S, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} -2075, PinkTurtleneckSweater, Pink Turtleneck Sweater, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} -2076, BlackTurtleneckSweater, Black Turtleneck Sweate, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} -2077, OrangeTurtleneckSweater, Orange Turtleneck Sweat, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} -2078, PurpleTurtleneckSweater, Purple Turtleneck Sweat, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} -2079, DarkGreenTurtleneckSwea, Dark Green Turtleneck S, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} +2070, RedTurtleneck, Red Turtleneck Sweater, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} +2071, GreenTurtleneck, Green Turtleneck Sweate, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} +2072, DarkBlueTurtleneck, Dark Blue Turtleneck Sw, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} +2073, YellowTurtleneck, Yellow Turtleneck Sweat, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} +2074, LightBlueTurtleneck, Light Blue Turtleneck S, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} +2075, PinkTurtleneck, Pink Turtleneck Sweater, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} +2076, BlackTurtleneck, Black Turtleneck Sweate, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} +2077, OrangeTurtleneck, Orange Turtleneck Sweat, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} +2078, PurpleTurtleneck, Purple Turtleneck Sweat, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} +2079, DarkGreenTurtleneck, Dark Green Turtleneck S, 5, 2000, 1000, 35, 0, 6, 0, -12, 0, 2, 512, 0, 0, 0, {}, {} 2080, RedSilkRobe, Red Silk Robe, 5, 8000, 4000, 30, 0, 5, 0, 0, 0, 2, 512, 0, 0, 0, {}, {} 2081, GreenSilkRobe, Green Silk Robe, 5, 8000, 4000, 30, 0, 5, 0, 0, 0, 2, 512, 0, 0, 0, {}, {} 2082, DarkBlueSilkRobe, Dark Blue Silk Robe, 5, 8000, 4000, 30, 0, 5, 0, 0, 0, 2, 512, 0, 0, 0, {}, {} @@ -100,138 +100,138 @@ 2128, PurpleShortTankTop, Purple Short Tank Top, 5, 600, 300, 8, 0, 2, 0, -4, 0, 2, 512, 0, 0, 0, {}, {} 2129, DarkGreenShortTankTop, Dark Green Short Tank T, 5, 600, 300, 8, 0, 2, 0, -4, 0, 2, 512, 0, 0, 0, {}, {} //ID, Name___________________, Label__________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript} -2220, RedSorcererRobeRed, Red Sorcerer Robe Red, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -2221, GreenSorcererRobeRed, Green Sorcerer Robe Red, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -2222, DarkBlueSorcererRobeRed, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -2223, YellowSorcererRobeRed, Yellow Sorcerer Robe Re, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -2224, LightBlueSorcererRobeRe, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -2225, PinkSorcererRobeRed, Pink Sorcerer Robe Red, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -2226, BlackSorcererRobeRed, Black Sorcerer Robe Red, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -2227, OrangeSorcererRobeRed, Orange Sorcerer Robe Re, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -2228, PurpleSorcererRobeRed, Purple Sorcerer Robe Re, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -2229, DarkGreenSorcererRobeRe, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -2240, FineRedDress, Fine Red Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} -2241, FineGreenDress, Fine Green Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} -2242, FineDarkBlueDress, Fine Dark Blue Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} -2243, FineYellowDress, Fine Yellow Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} -2244, FineLightBlueDress, Fine Light Blue Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} -2245, FinePinkDress, Fine Pink Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} -2246, FineBlackDress, Fine Black Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} -2247, FineOrangeDress, Fine Orange Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} -2248, FinePurpleDress, Fine Purple Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} -2249, FineDarkGreenDress, Fine Dark Green Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} +2220, RedSorcererRed, Red Sorcerer Robe Red, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +2221, GreenSorcererRed, Green Sorcerer Robe Red, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +2222, DarkBlueSorcererRed, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +2223, YellowSorcererRed, Yellow Sorcerer Robe Re, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +2224, LightBlueSorcererRed, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +2225, PinkSorcererRed, Pink Sorcerer Robe Red, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +2226, BlackSorcererRed, Black Sorcerer Robe Red, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +2227, OrangeSorcererRed, Orange Sorcerer Robe Re, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +2228, PurpleSorcererRed, Purple Sorcerer Robe Re, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +2229, DarkGreenSorcererRed, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +2240, RedFineDress, Fine Red Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} +2241, GreenFineDress, Fine Green Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} +2242, DarkBlueFineDress, Fine Dark Blue Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} +2243, YellowFineDress, Fine Yellow Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} +2244, LightBlueFineDress, Fine Light Blue Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} +2245, PinkFineDress, Fine Pink Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} +2246, BlackFineDress, Fine Black Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} +2247, OrangeFineDress, Fine Orange Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} +2248, PurpleFineDress, Fine Purple Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} +2249, DarkGreenFineDress, Fine Dark Green Dress, 5, 10000, 5000, 35, 0, 8, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} //ID, Name___________________, Label__________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript} -5000, RedSorcererRobeGreen, Red Sorcerer Robe Green, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5001, GreenSorcererRobeGreen, Green Sorcerer Robe Gre, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5002, DarkBlueSorcererRobeGre, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5003, YellowSorcererRobeGreen, Yellow Sorcerer Robe Gr, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5004, LightBlueSorcererRobeGr, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5005, PinkSorcererRobeGreen, Pink Sorcerer Robe Gree, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5006, BlackSorcererRobeGreen, Black Sorcerer Robe Gre, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5007, OrangeSorcererRobeGreen, Orange Sorcerer Robe Gr, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5008, PurpleSorcererRobeGreen, Purple Sorcerer Robe Gr, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5009, DarkGreenSorcererRobeGr, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5010, SorcererRobeGreen, Sorcerer Robe Green, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5011, RedSorcererRobeDarkBlue, Red Sorcerer Robe Dark, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5012, GreenSorcererRobeDarkBl, Green Sorcerer Robe Dar, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5013, DarkBlueSorcererRobeDar, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5014, YellowSorcererRobeDarkB, Yellow Sorcerer Robe Da, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5015, LightBlueSorcererRobeDa, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5016, PinkSorcererRobeDarkBlu, Pink Sorcerer Robe Dark, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5017, BlackSorcererRobeDarkBl, Black Sorcerer Robe Dar, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5018, OrangeSorcererRobeDarkB, Orange Sorcerer Robe Da, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5019, PurpleSorcererRobeDarkB, Purple Sorcerer Robe Da, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5020, DarkGreenSorcererRobeDa, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5021, SorcererRobeDarkBlue, Sorcerer Robe Dark Blue, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5022, RedSorcererRobeYellow, Red Sorcerer Robe Yello, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5023, GreenSorcererRobeYellow, Green Sorcerer Robe Yel, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5024, DarkBlueSorcererRobeYel, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5025, YellowSorcererRobeYello, Yellow Sorcerer Robe Ye, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5026, LightBlueSorcererRobeYe, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5027, PinkSorcererRobeYellow, Pink Sorcerer Robe Yell, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5028, BlackSorcererRobeYellow, Black Sorcerer Robe Yel, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5029, OrangeSorcererRobeYello, Orange Sorcerer Robe Ye, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5030, PurpleSorcererRobeYello, Purple Sorcerer Robe Ye, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5031, DarkGreenSorcererRobeYe, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5032, SorcererRobeYellow, Sorcerer Robe Yellow, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5033, RedSorcererRobeLightBlu, Red Sorcerer Robe Light, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5034, GreenSorcererRobeLightB, Green Sorcerer Robe Lig, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5035, DarkBlueSorcererRobeLig, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5036, YellowSorcererRobeLight, Yellow Sorcerer Robe Li, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5037, LightBlueSorcererRobeLi, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5038, PinkSorcererRobeLightBl, Pink Sorcerer Robe Ligh, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5039, BlackSorcererRobeLightB, Black Sorcerer Robe Lig, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5040, OrangeSorcererRobeLight, Orange Sorcerer Robe Li, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5041, PurpleSorcererRobeLight, Purple Sorcerer Robe Li, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5042, DarkGreenSorcererRobeLi, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5043, SorcererRobeLightBlue, Sorcerer Robe Light Blu, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5044, RedSorcererRobePink, Red Sorcerer Robe Pink, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5045, GreenSorcererRobePink, Green Sorcerer Robe Pin, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5046, DarkBlueSorcererRobePin, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5047, YellowSorcererRobePink, Yellow Sorcerer Robe Pi, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5048, LightBlueSorcererRobePi, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5049, PinkSorcererRobePink, Pink Sorcerer Robe Pink, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5000, RedSorcererGreen, Red Sorcerer Robe Green, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5001, GreenSorcererGreen, Green Sorcerer Robe Gre, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5002, DarkBlueSorcererGreen, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5003, YellowSorcererGreen, Yellow Sorcerer Robe Gr, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5004, LightBlueSorcererGreen, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5005, PinkSorcererGreen, Pink Sorcerer Robe Gree, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5006, BlackSorcererGreen, Black Sorcerer Robe Gre, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5007, OrangeSorcererGreen, Orange Sorcerer Robe Gr, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5008, PurpleSorcererGreen, Purple Sorcerer Robe Gr, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5009, DarkGreenSorcererGreen, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5010, SorcererGreen, Sorcerer Robe Green, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5011, RedSorcererDBlue, Red Sorcerer Robe Dark, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5012, GreenSorcererDBlue, Green Sorcerer Robe Dar, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5013, DarkBlueSorcererDBlue, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5014, YellowSorcererDBlue, Yellow Sorcerer Robe Da, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5015, LightBlueSorcererDBlue, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5016, PinkSorcererDBlue, Pink Sorcerer Robe Dark, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5017, BlackSorcererDBlue, Black Sorcerer Robe Dar, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5018, OrangeSorcererDBlue, Orange Sorcerer Robe Da, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5019, PurpleSorcererDBlue, Purple Sorcerer Robe Da, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5020, DarkGreenSorcererDBlue, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5021, SorcererDBlue, Sorcerer Robe Dark Blue, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5022, RedSorcererYellow, Red Sorcerer Robe Yello, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5023, GreenSorcererYellow, Green Sorcerer Robe Yel, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5024, DarkBlueSorcererYellow, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5025, YellowSorcererYellow, Yellow Sorcerer Robe Ye, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5026, LightBlueSorcererYellow, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5027, PinkSorcererYellow, Pink Sorcerer Robe Yell, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5028, BlackSorcererYellow, Black Sorcerer Robe Yel, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5029, OrangeSorcererYellow, Orange Sorcerer Robe Ye, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5030, PurpleSorcererYellow, Purple Sorcerer Robe Ye, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5031, DarkGreenSorcererYellow, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5032, SorcererYellow, Sorcerer Robe Yellow, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5033, RedSorcererLBlue, Red Sorcerer Robe Light, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5034, GreenSorcererLBlue, Green Sorcerer Robe Lig, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5035, DarkBlueSorcererLBlue, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5036, YellowSorcererLBlue, Yellow Sorcerer Robe Li, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5037, LightBlueSorcererLBlue, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5038, PinkSorcererLBlue, Pink Sorcerer Robe Ligh, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5039, BlackSorcererLBlue, Black Sorcerer Robe Lig, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5040, OrangeSorcererLBlue, Orange Sorcerer Robe Li, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5041, PurpleSorcererLBlue, Purple Sorcerer Robe Li, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5042, DarkGreenSorcererLBlue, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5043, SorcererLBlue, Sorcerer Robe Light Blu, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5044, RedSorcererPink, Red Sorcerer Robe Pink, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5045, GreenSorcererPink, Green Sorcerer Robe Pin, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5046, DarkBlueSorcererPink, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5047, YellowSorcererPink, Yellow Sorcerer Robe Pi, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5048, LightBlueSorcererPink, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5049, PinkSorcererPink, Pink Sorcerer Robe Pink, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} //ID, Name___________________, Label__________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript} -5050, BlackSorcererRobePink, Black Sorcerer Robe Pin, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5051, OrangeSorcererRobePink, Orange Sorcerer Robe Pi, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5052, PurpleSorcererRobePink, Purple Sorcerer Robe Pi, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5053, DarkGreenSorcererRobePi, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5054, SorcererRobePink, Sorcerer Robe Pink, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5055, RedSorcererRobeBlack, Red Sorcerer Robe Black, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5056, GreenSorcererRobeBlack, Green Sorcerer Robe Bla, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5057, DarkBlueSorcererRobeBla, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5058, YellowSorcererRobeBlack, Yellow Sorcerer Robe Bl, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5059, LightBlueSorcererRobeBl, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5060, PinkSorcererRobeBlack, Pink Sorcerer Robe Blac, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5061, BlackSorcererRobeBlack, Black Sorcerer Robe Bla, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5062, OrangeSorcererRobeBlack, Orange Sorcerer Robe Bl, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5063, PurpleSorcererRobeBlack, Purple Sorcerer Robe Bl, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5064, DarkGreenSorcererRobeBl, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5065, SorcererRobeBlack, Sorcerer Robe Black, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5066, RedSorcererRobeOrange, Red Sorcerer Robe Orang, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5067, GreenSorcererRobeOrange, Green Sorcerer Robe Ora, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5068, DarkBlueSorcererRobeOra, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5069, YellowSorcererRobeOrang, Yellow Sorcerer Robe Or, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5070, LightBlueSorcererRobeOr, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5071, PinkSorcererRobeOrange, Pink Sorcerer Robe Oran, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5072, BlackSorcererRobeOrange, Black Sorcerer Robe Ora, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5073, OrangeSorcererRobeOrang, Orange Sorcerer Robe Or, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5074, PurpleSorcererRobeOrang, Purple Sorcerer Robe Or, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5075, DarkGreenSorcererRobeOr, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5076, SorcererRobeOrange, Sorcerer Robe Orange, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5077, RedSorcererRobePurple, Red Sorcerer Robe Purpl, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5078, GreenSorcererRobePurple, Green Sorcerer Robe Pur, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5079, DarkBlueSorcererRobePur, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5080, YellowSorcererRobePurpl, Yellow Sorcerer Robe Pu, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5081, LightBlueSorcererRobePu, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5082, PinkSorcererRobePurple, Pink Sorcerer Robe Purp, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5083, BlackSorcererRobePurple, Black Sorcerer Robe Pur, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5084, OrangeSorcererRobePurpl, Orange Sorcerer Robe Pu, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5085, PurpleSorcererRobePurpl, Purple Sorcerer Robe Pu, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5086, DarkGreenSorcererRobePu, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5087, SorcererRobePurple, Sorcerer Robe Purple, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5088, RedSorcererRobeDarkGree, Red Sorcerer Robe Dark, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5089, GreenSorcererRobeDarkGr, Green Sorcerer Robe Dar, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5090, DarkBlueSorcererDarkGre, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5091, YellowSorcererRobeDarkG, Yellow Sorcerer Robe Da, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5092, LightBlueSorcererDarkGr, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5093, PinkSorcererRobeDarkGre, Pink Sorcerer Robe Dark, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5094, BlackSorcererRobeDarkGr, Black Sorcerer Robe Dar, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5095, OrangeSorcererRobeDarkG, Orange Sorcerer Robe Da, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5096, PurpleSorcererRobeDarkG, Purple Sorcerer Robe Da, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5097, DarkGreenSorcererDarkGr, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5098, SorcererRobeDarkGreen, Sorcerer Robe Dark Gree, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5099, RedSorcererRobeWhite, Red Sorcerer Robe White, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5100, GreenSorcererRobeWhite, Green Sorcerer Robe Whi, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5101, DarkBlueSorcererRobeWhi, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5102, YellowSorcererRobeWhite, Yellow Sorcerer Robe Wh, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5103, LightBlueSorcererRobeWh, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5104, PinkSorcererRobeWhite, Pink Sorcerer Robe Whit, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5105, BlackSorcererRobeWhite, Black Sorcerer Robe Whi, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5106, OrangeSorcererRobeWhite, Orange Sorcerer Robe Wh, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5107, PurpleSorcererRobeWhite, Purple Sorcerer Robe Wh, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5108, DarkGreenSorcererRobeWh, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} -5109, SorcererRobeWhite, Sorcerer Robe White, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5050, BlackSorcererPink, Black Sorcerer Robe Pin, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5051, OrangeSorcererPink, Orange Sorcerer Robe Pi, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5052, PurpleSorcererPink, Purple Sorcerer Robe Pi, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5053, DarkGreenSorcererPink, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5054, SorcererPink, Sorcerer Robe Pink, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5055, RedSorcererBlack, Red Sorcerer Robe Black, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5056, GreenSorcererBlack, Green Sorcerer Robe Bla, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5057, DarkBlueSorcererBlack, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5058, YellowSorcererBlack, Yellow Sorcerer Robe Bl, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5059, LightBlueSorcererBlack, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5060, PinkSorcererBlack, Pink Sorcerer Robe Blac, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5061, BlackSorcererBlack, Black Sorcerer Robe Bla, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5062, OrangeSorcererBlack, Orange Sorcerer Robe Bl, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5063, PurpleSorcererBlack, Purple Sorcerer Robe Bl, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5064, DarkGreenSorcererBlack, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5065, SorcererBlack, Sorcerer Robe Black, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5066, RedSorcererOrange, Red Sorcerer Robe Orang, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5067, GreenSorcererOrange, Green Sorcerer Robe Ora, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5068, DarkBlueSorcererOrange, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5069, YellowSorcererOrange, Yellow Sorcerer Robe Or, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5070, LightBlueSorcererOrange, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5071, PinkSorcererOrange, Pink Sorcerer Robe Oran, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5072, BlackSorcererOrange, Black Sorcerer Robe Ora, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5073, OrangeSorcererOrange, Orange Sorcerer Robe Or, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5074, PurpleSorcererOrange, Purple Sorcerer Robe Or, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5075, DarkGreenSorcererOrange, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5076, SorcererOrange, Sorcerer Robe Orange, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5077, RedSorcererPurple, Red Sorcerer Robe Purpl, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5078, GreenSorcererPurple, Green Sorcerer Robe Pur, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5079, DarkBlueSorcererPurple, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5080, YellowSorcererPurple, Yellow Sorcerer Robe Pu, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5081, LightBlueSorcererPurple, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5082, PinkSorcererPurple, Pink Sorcerer Robe Purp, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5083, BlackSorcererPurple, Black Sorcerer Robe Pur, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5084, OrangeSorcererPurple, Orange Sorcerer Robe Pu, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5085, PurpleSorcererPurple, Purple Sorcerer Robe Pu, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5086, DarkGreenSorcererPurple, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5087, SorcererPurple, Sorcerer Robe Purple, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5088, RedSorcererDGreen, Red Sorcerer Robe Dark, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5089, GreenSorcererDGreen, Green Sorcerer Robe Dar, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5090, DarkBlueSorcererDGreen, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5091, YellowSorcererDGreen, Yellow Sorcerer Robe Da, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5092, LightBlueSorcererDGreen, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5093, PinkSorcererDGreen, Pink Sorcerer Robe Dark, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5094, BlackSorcererDGreen, Black Sorcerer Robe Dar, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5095, OrangeSorcererDGreen, Orange Sorcerer Robe Da, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5096, PurpleSorcererDGreen, Purple Sorcerer Robe Da, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5097, DarkGreenSorcererDGreen, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5098, SorcererDGreen, Sorcerer Robe Dark Gree, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5099, RedSorcererWhite, Red Sorcerer Robe White, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5100, GreenSorcererWhite, Green Sorcerer Robe Whi, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5101, DarkBlueSorcererWhite, Dark Blue Sorcerer Robe, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5102, YellowSorcererWhite, Yellow Sorcerer Robe Wh, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5103, LightBlueSorcererWhite, Light Blue Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5104, PinkSorcererWhite, Pink Sorcerer Robe Whit, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5105, BlackSorcererWhite, Black Sorcerer Robe Whi, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5106, OrangeSorcererWhite, Orange Sorcerer Robe Wh, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5107, PurpleSorcererWhite, Purple Sorcerer Robe Wh, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5108, DarkGreenSorcererWhite, Dark Green Sorcerer Rob, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} +5109, SorcererWhite, Sorcerer Robe White, 5, 8000, 4000, 30, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, {}, {bonus bAgi, 1;} //ID, Name___________________, Label__________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript} 5131, RedContributor, Red Contributor, 5, 0, 0, 20, 0, 5, 0, 5, 0, 2, 512, 0, 0, 0, {}, {} 5132, GreenContributor, Green Contributor, 5, 0, 0, 20, 0, 5, 0, 5, 0, 2, 512, 0, 0, 0, {}, {} diff --git a/world/map/db/item_db_head.txt b/world/map/db/item_db_head.txt index a183c9d1..b838fc07 100644 --- a/world/map/db/item_db_head.txt +++ b/world/map/db/item_db_head.txt @@ -92,7 +92,7 @@ 1242, SnowGoggles, Snow Goggles, 5, 7500, 5000, 10, 0, 5, 0, -2, 0, 2, 256, 0, 0, 0, {}, {} //ID, Name___________________, Label__________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript} 1247, HeartGlasses, Heart Glasses, 5, 7500, 5000, 20, 0, 4, 0, 5, 0, 2, 256, 0, 0, 0, {}, {} -1255, WhiteRabbitEars, White Rabbit Ears, 5, 7000, 5000, 20, 0, 5, 0, 4, 0, 2, 256, 0, 1, 0, {}, {} +1255, RabbitEars, Rabbit Ears, 5, 7000, 5000, 20, 0, 5, 0, 4, 0, 2, 256, 0, 1, 0, {}, {} 1256, EggshellHat, Eggshell Hat, 5, 7000, 5000, 15, 0, 12, 0, 0, 0, 2, 256, 0, 1, 0, {}, {bonus bAgi, -1;} 1276, OperaMask, Opera Mask, 5, 1000, 500, 50, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, {}, {} 1277, JesterMask, Jester Mask, 5, 1000, 500, 50, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, {}, {} diff --git a/world/map/db/mob_db_0_19.txt b/world/map/db/mob_db_0_19.txt index 36169593..65ae7b57 100644 --- a/world/map/db/mob_db_0_19.txt +++ b/world/map/db/mob_db_0_19.txt @@ -1,14 +1,14 @@ //ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop1id,Drop1per,Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength 1002, Maggot, Maggot, 5, 50, 0, 0, 1, 1, 5, 10, 0, 5, 1, 1, 1, 0, 6, 5, 1, 1, 1, 3, 21, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 533, 150, 502, 70, 522, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1046, TameScorpion, TameScorpion, 5, 50, 0, 0, 2, 1, 7, 10, 0, 5, 1, 1, 1, 0, 15, 5, 1, 1, 1, 3, 20, 129, 2000, 1872, 672, 480, 507, 700, 510, 100, 509, 50, 518, 700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1050, HouseMaggot, HouseMaggot, 5, 50, 0, 0, 3, 1, 7, 7, 0, 5, 5, 5, 1, 0, 6, 5, 1, 1, 1, 3, 21, 133, 700, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 533, 150, 502, 70, 522, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1050, HouseMaggot, HouseMaggot, 5, 50, 0, 0, 3, 1, 5, 7, 0, 5, 5, 5, 1, 0, 6, 5, 1, 1, 1, 3, 21, 133, 700, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 533, 150, 502, 70, 522, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1003, Scorpion, Scorpion, 10, 100, 0, 0, 2, 1, 10, 15, 0, 5, 1, 1, 1, 0, 15, 5, 1, 1, 1, 3, 20, 129, 2000, 1872, 672, 480, 507, 700, 510, 100, 509, 50, 518, 700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1029, MauvePlant, MauvePlant, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 22, 0, 800, 800, 672, 480, 680, 3000, 680, 3000, 680, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 60 1030, CobaltPlant, CobaltPlant, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 22, 0, 800, 800, 672, 480, 681, 3000, 681, 3000, 681, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1031, GambogePlant, GambogePlant, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 22, 0, 800, 800, 672, 480, 682, 3000, 682, 3000, 682, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1032, AlizarinPlant, AlizarinPlant, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 22, 0, 800, 800, 672, 480, 683, 3000, 683, 3000, 683, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1037, CloverPatch, CloverPatch, 1, 1, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 22, 0, 800, 800, 672, 480, 742, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1038, Squirrel, Squirrel, 15, 160, 1, 0, 5, 1, 15, 25, 1, 6, 1, 3, 1, 0, 15, 40, 1, 1, 1, 3, 20, 129, 800, 800, 672, 480, 743, 7000, 680, 1000, 681, 1000, 682, 1000, 683, 1000, 807, 800, 860, 550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 15 +1038, Squirrel, Squirrel, 15, 160, 1, 0, 5, 1, 10, 20, 1, 6, 1, 3, 1, 0, 15, 40, 1, 1, 1, 3, 20, 129, 800, 800, 672, 480, 743, 7000, 680, 1000, 681, 1000, 682, 1000, 683, 1000, 807, 800, 860, 550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 15 1056, CaveMaggot, CaveMaggot, 10, 100, 0, 0, 3, 1, 10, 10, 0, 5, 5, 5, 1, 0, 6, 5, 1, 1, 1, 3, 21, 133, 700, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 533, 150, 502, 70, 522, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1063, Pumpkin, Pumpkin, 1, 200, 0, 0, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 22, 0, 800, 800, 672, 480, 3000, 100, 3001, 20, 3002, 10, 3003, 15, 3011, 500, 3006, 1500, 3007, 2000, 3010, 2500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1082, Serqet, Serqet, 10, 100, 0, 0, 2, 1, 10, 15, 0, 5, 1, 1, 1, 0, 15, 5, 1, 1, 1, 3, 20, 129, 2000, 1872, 672, 480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 diff --git a/world/map/db/mob_db_20_39.txt b/world/map/db/mob_db_20_39.txt index b0d1d096..096b1b21 100644 --- a/world/map/db/mob_db_20_39.txt +++ b/world/map/db/mob_db_20_39.txt @@ -1,8 +1,8 @@ //ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop1id,Drop1per,Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength 1011, FireGoblin, FireGoblin, 20, 220, 0, 0, 4, 1, 15, 20, 0, 5, 1, 1, 1, 0, 6, 30, 1, 1, 1, 3, 23, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 800, 502, 150, 521, 70, 522, 10, 701, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30 1017, Bat, Bat, 20, 150, 0, 0, 3, 1, 5, 25, 0, 5, 1, 1, 1, 0, 20, 25, 1, 1, 1, 3, 24, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 533, 150, 521, 70, 522, 1, 753, 3000, 754, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40 -1131, ManaBug, ManaBug, 25, 300, 0, 0, 5, 2, 8, 15, 4, 6, 1, 4, 1, 4, 5, 4, 2, 1, 1, 3, 24, 137, 800, 1800, 672, 480, 505, 1000, 518, 800, 533, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40 -1018, Pinkie, Pinkie, 30, 300, 0, 0, 7, 2, 7, 15, 0, 5, 1, 1, 1, 0, 20, 25, 2, 2, 1, 3, 20, 129, 800, 1872, 672, 480, 614, 1000, 751, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50 +1131, ManaBug, ManaBug, 25, 300, 0, 0, 5, 2, 10, 17, 4, 6, 1, 4, 1, 4, 5, 4, 2, 1, 1, 3, 24, 137, 800, 1800, 672, 480, 505, 1000, 518, 800, 533, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40 +1018, Pinkie, Pinkie, 30, 300, 0, 0, 7, 2, 15, 20, 0, 5, 1, 1, 1, 0, 20, 25, 2, 2, 1, 3, 20, 129, 800, 1872, 672, 480, 614, 1000, 751, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50 1019, SpikyMushroom, SpikyMushroom, 30, 300, 0, 0, 5, 1, 10, 13, 0, 5, 1, 1, 1, 0, 10, 10, 1, 1, 1, 3, 20, 129, 800, 1872, 672, 480, 567, 800, 501, 150, 518, 50, 613, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40 1020, Fluffy, Fluffy, 30, 500, 0, 0, 7, 1, 6, 10, 1, 5, 1, 2, 1, 0, 20, 25, 1, 1, 1, 3, 20, 129, 800, 1600, 672, 480, 611, 800, 527, 150, 535, 400, 752, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40 1021, CaveSnake, CaveSnake, 30, 800, 0, 0, 13, 1, 20, 15, 1, 5, 10, 1, 1, 0, 5, 20, 1, 1, 1, 3, 20, 129, 800, 1872, 672, 480, 612, 1000, 610, 40, 713, 500, 717, 400, 717, 400, 641, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 50 @@ -11,7 +11,7 @@ 1035, Silkworm, Silkworm, 20, 1, 0, 0, 1, 1, 0, 0, 2, 10, 20, 11, 10, 10, 40, 10, 1, 1, 1, 0, 20, 129, 1300, 1100, 672, 480, 718, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40 1041, Snail, Snail, 30, 900, 0, 0, 18, 1, 60, 65, 20, 15, 10, 1, 25, 0, 20, 10, 1, 1, 1, 0, 20, 129, 1800, 2500, 672, 480, 719, 500, 806, 400, 1250, 1000, 1251, 1500, 1248, 500, 1252, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40 1049, Bee, Bee, 30, 600, 0, 0, 32, 1, 5, 90, 12, 4, 15, 25, 20, 3, 40, 30, 1, 1, 1, 0, 25, 137, 380, 1500, 300, 350, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30 -1055, Butterfly, Butterfly, 25, 250, 0, 0, 11, 2, 10, 50, 3, 5, 10, 45, 10, 15, 35, 40, 1, 1, 1, 3, 44, 129, 350, 780, 300, 800, 718, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 60 +1055, Butterfly, Butterfly, 25, 250, 0, 0, 11, 2, 10, 40, 3, 5, 10, 45, 10, 15, 35, 40, 1, 1, 1, 3, 44, 129, 350, 780, 300, 800, 718, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 60 1057, AngryScorpion, AngryScorpion, 20, 200, 0, 0, 5, 1, 15, 15, 0, 5, 5, 5, 1, 0, 15, 5, 1, 1, 1, 3, 20, 133, 1000, 1872, 672, 480, 4000, 700, 510, 100, 509, 50, 518, 700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1058, IceGoblin, IceGoblin, 25, 330, 0, 0, 10, 1, 20, 25, 0, 5, 5, 5, 1, 0, 6, 30, 1, 1, 1, 3, 21, 133, 700, 1872, 672, 480, 505, 800, 501, 150, 518, 800, 502, 150, 521, 70, 522, 10, 4026, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30 1060, Archant, Archant, 30, 400, 0, 0, 14, 1, 20, 30, 4, 6, 10, 5, 1, 0, 12, 10, 1, 1, 1, 0, 25, 133, 1000, 1500, 672, 480, 537, 300, 535, 100, 640, 40, 4001, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40 diff --git a/world/map/news.d/47-v2015.03.10.txt b/world/map/news.d/47-v2015.03.10.txt new file mode 100644 index 00000000..9be33a3f --- /dev/null +++ b/world/map/news.d/47-v2015.03.10.txt @@ -0,0 +1,17 @@ +{title:New bank in Candor} +{date:2015-03-10} + +This week's release is again a small release as we focus our efforts on fixing bugs to move to a new server software in the near future. + +{ul} +{li}The towel now tells you the cooldown time{/li} +{li}Candide has more personality and has been completely rewritten{/li} +{li}A previous update made the forest bow quest impossible to complete. This is now fixed{/li} +{li}The global announcements of several NPCs have been fixed to work better with ManaPlus{/li} +{li}Candor now has a bank!{/li} +{li}Garçon is renamed to Garcon to fix a Unicode problem{/li} +{li}Lots of bug fixes for better compatibility with Hercules-Evol{/li} +{li}The dye/bleach system is no longer vulnerable to exploits{/li} +{/ul} + +{author:TMW Development Team} diff --git a/world/map/npc/001-1/dock.txt b/world/map/npc/001-1/dock.txt index 05402b94..0aacdcdb 100644 --- a/world/map/npc/001-1/dock.txt +++ b/world/map/npc/001-1/dock.txt @@ -14,7 +14,7 @@ close; } -001-1,70,70,0|script|#TulimsharDock|127 +001-1,70,70,0|script|#TulimsharDock|32767 { end; OnCommandArrive: diff --git a/world/map/npc/002-2/bleacher.txt b/world/map/npc/002-2/bleacher.txt index 213c96f8..2853bb73 100644 --- a/world/map/npc/002-2/bleacher.txt +++ b/world/map/npc/002-2/bleacher.txt @@ -1,293 +1,132 @@ -// +// IMPORTANT: add your items to DyeConfig, do not edit Candide 002-2,72,92,0|script|Candide|156 { mes "[Candide]"; - mes "\"I've figured out how that volcanic ash bleaches cloth."; - mes "I could do it for you, but I'll need three piles of ash and 5,000 GP for supplies per item.\""; + mes "\"Greetings! I am Candide the Bleacher."; + mes "Tulimshar is my homeland, where I learned the ancient art of bleaching.\""; + next; + mes "\"Bleaching was originally done by the sun, but now we use ash combined with special ingredients to remove color from fabric.\""; next; - - if (countitem("PileOfAsh") < 3) goto L_no_ash; - - if (Zeny < 5000) goto L_no_money; - menu + "What is needed for the bleaching process?", L_Materials, "I'd like to bleach something.", L_bleach_menu, - "No thanks.", L_Close; + "So long.", L_Close; -L_bleach_menu: +L_Materials: mes "[Candide]"; - mes "\"What would you like to bleach?\""; + mes "\"For each item, I will need 3 piles of ash and 5,000 GP for the special ingredients.\""; next; - menu - "Cotton shirt.", L_cottonshirt, - "Contributor shirt.", L_contributor, - "V-Neck sweater.", L_vneck, - "Turtleneck sweater.", L_tneck, - "Cotton shorts.", L_shorts, - "Cotton trousers.", L_trousers, - "Cotton skirt.", L_skirt, - "Miniskirt.", L_miniskirt, - "Tank top .", L_tanktop, - "Short tank top.", L_tanktop_short, - "Silk robe.", L_robe, - "Cotton headband.", L_cotton_headband, - "Desert hat.", L_desert_hat, - "Cotton boots.", L_cotton_boots, - "Cotton gloves.", L_cotton_gloves, - "Rabbit ears.", L_rabbit_ears, - "Wizard hat.", L_wizard_hat, - "Bowler hat.", L_bowler_hat, - "Sorcerer robe.", L_sorcerer_robe, - "Bowler hat (brown).", L_bowler_hat_brown, - "Fine dress.", L_fine_dress, - "Cotton cloth.", L_cotton_cloth, - "Nevermind.", L_Close; - -L_contributor: - set @normal, 1178; - set @dyeBase, 5131; - goto L_choose_color; - -L_cottonshirt: - set @normal, 1202; - set @dyeBase, 2050; - goto L_choose_color; - -L_vneck: - set @normal, 624; - set @dyeBase, 2060; - goto L_choose_color; - -L_tneck: - set @normal, 564; - set @dyeBase, 2070; - goto L_choose_color; - -L_shorts: - set @normal, 586; - set @dyeBase, 2110; - goto L_choose_color; - -L_trousers: - set @normal, 648; - set @dyeBase, 2180; - goto L_choose_color; - -L_skirt: - set @normal, 632; - set @dyeBase, 2100; - goto L_choose_color; - -L_miniskirt: - set @normal, 771; - set @dyeBase, 2170; - goto L_choose_color; - -L_tanktop: - set @normal, 688; - set @dyeBase, 2090; - goto L_choose_color; - -L_tanktop_short: - set @normal, 689; - set @dyeBase, 2120; - goto L_choose_color; - -L_robe: - set @normal, 720; - set @dyeBase, 2080; - goto L_choose_color; - -L_cotton_headband: - set @normal, 724; - set @dyeBase, 2140; - goto L_choose_color; - -L_desert_hat: - set @normal, 723; - set @dyeBase, 2130; - goto L_choose_color; - -L_cotton_boots: - set @normal, 735; - set @dyeBase, 2150; - goto L_choose_color; - -L_cotton_gloves: - set @normal, 741; - set @dyeBase, 2160; - goto L_choose_color; - -L_rabbit_ears: - set @normal, 1255; - set @dyeBase, 2190; - goto L_choose_color; - -L_wizard_hat: - set @normal, 4028; - set @dyeBase, 2200; - goto L_choose_color; - -L_bowler_hat: - set @normal, 4030; - set @dyeBase, 2210; - goto L_choose_color; + "I'd like to bleach something.", L_bleach_menu, + "So long.", L_Close; -L_sorcerer_robe: +L_bleach_menu: + if (countitem("PileOfAsh") < 3) goto L_no_ash; + if (Zeny < 5000) goto L_no_money; + cleararray @CANDIDE_items,0,getarraysize(@CANDIDE_items); + cleararray @CANDIDE_color,0,getarraysize(@CANDIDE_color); + cleararray @CANDIDE_menu$,"",getarraysize(@CANDIDE_menu$); + set @w, 0; + freeloop 1; // do not check for infinity loop + callsub S_LoopArray; + freeloop 0; // re-enable infinity loop check + set @w, 0; + set @c, 0; + set @p, 0; + if(@CANDIDE_menu$[0] == "") goto L_Nothing; mes "[Candide]"; - mes "\"Which one?\""; + mes "\"Yes?\""; next; menu - "A red lined one.", L_red_lined, - "A green lined one.", L_green_lined, - "A dark blue lined one.", L_dark_blue_lined, - "A yellow lined one.", L_yellow_lined, - "A light blue lined one.", L_light_blue_lined, - "A pink lined one.", L_pink_lined, - "A black lined one.", L_black_lined, - "An orange lined one.", L_orange_lined, - "A purple lined one.", L_purple_lined, - "A dark green lined one.", L_dark_green_lined, - "A white lined one.", L_white_lined, - "Nevermind.", L_Close; - -L_red_lined: - set @normal, 798; - set @dyeBase, 2220; - goto L_choose_color; - -L_green_lined: - set @normal, 5010; - set @dyeBase, 5000; - goto L_choose_color; - -L_dark_blue_lined: - set @normal, 5021; - set @dyeBase, 5011; - goto L_choose_color; - -L_yellow_lined: - set @normal, 5032; - set @dyeBase, 5022; - goto L_choose_color; - -L_light_blue_lined: - set @normal, 5043; - set @dyeBase, 5033; - goto L_choose_color; - -L_pink_lined: - set @normal, 5054; - set @dyeBase, 5044; - goto L_choose_color; - -L_black_lined: - set @normal, 5065; - set @dyeBase, 5055; - goto L_choose_color; - -L_orange_lined: - set @normal, 5076; - set @dyeBase, 5066; - goto L_choose_color; - -L_purple_lined: - set @normal, 5087; - set @dyeBase, 5077; - goto L_choose_color; - -L_dark_green_lined: - set @normal, 5098; - set @dyeBase, 5088; - goto L_choose_color; - -L_white_lined: - set @normal, 5109; - set @dyeBase, 5099; - goto L_choose_color; - -L_bowler_hat_brown: - set @normal, 800; - set @dyeBase, 2230; - goto L_choose_color; - -L_fine_dress: - set @normal, 870; - set @dyeBase, 2240; - goto L_choose_color; - -L_cotton_cloth: - set @normal, 660; - set @dyeBase, 2250; - goto L_choose_color; - -L_choose_color: + "Nevermind.", L_Close, + @CANDIDE_menu$[0], L_MenuItems, // base array was too big for a dynamic menu so we can't use it + @CANDIDE_menu$[1], L_MenuItems, + @CANDIDE_menu$[2], L_MenuItems, + @CANDIDE_menu$[3], L_MenuItems, + @CANDIDE_menu$[4], L_MenuItems, + @CANDIDE_menu$[5], L_MenuItems, + @CANDIDE_menu$[6], L_MenuItems, + @CANDIDE_menu$[7], L_MenuItems, + @CANDIDE_menu$[8], L_MenuItems, + @CANDIDE_menu$[9], L_MenuItems, + @CANDIDE_menu$[10], L_MenuItems, + @CANDIDE_menu$[11], L_MenuItems, + @CANDIDE_menu$[12], L_MenuItems, + @CANDIDE_menu$[13], L_MenuItems, + @CANDIDE_menu$[14], L_MenuItems, + @CANDIDE_menu$[15], L_MenuItems, + @CANDIDE_menu$[16], L_MenuItems, + @CANDIDE_menu$[17], L_MenuItems; + +S_LoopArray: + set @c, 0; + callsub S_LoopColor; + set @w, @w + 1; + if(@w < getarraysize($@DYE_items$)) goto S_LoopArray; + return; + +S_LoopColor: + if(countitem($@DYE_colors$[@c] + $@DYE_items$[@w]) > 0) + goto L_AddToMenu; + goto L_LoopColor2; + +L_AddToMenu: + set @CANDIDE_items[@p], @w; + set @CANDIDE_color[@p], @c; + set @CANDIDE_menu$[@p], $@DYE_color_names$[@c]+" "+$@DYE_item_names$[@w]; + set @p, @p + 1; + goto L_LoopColor2; + +L_LoopColor2: + set @c, @c + 1; + if(@c < getarraysize($@DYE_colors$)) goto S_LoopColor; + return; + +L_Nothing: mes "[Candide]"; - mes "\"And the color?\""; + mes "\"Sorry, you have nothing to bleach.\""; next; - - menu - "Red.", L_MenuItems, - "Green.", L_MenuItems, - "Dark Blue.", L_MenuItems, - "Yellow.", L_MenuItems, - "Light Blue.", L_MenuItems, - "Pink.", L_MenuItems, - "Black.", L_MenuItems, - "Orange.", L_MenuItems, - "Purple.", L_MenuItems, - "Dark Green.", L_MenuItems; + goto L_Close; L_MenuItems: - set @del, @dyeBase + @menu - 1; - - if (countitem(@del) == 0) goto L_no_item; - if (countitem("PileOfAsh") < 3) goto L_no_ash; - if (Zeny < 5000) goto L_no_money; - - delitem @del, 1; - getitem @normal, 1; + set @m, @menu - 2; + set @it$, $@DYE_colors$[@CANDIDE_color[@m]] + $@DYE_items$[@CANDIDE_items[@m]]; + if(getitemname(@it$) == "Unknown Item") mapexit; + delitem @it$, 1; delitem "PileOfAsh", 3; set Zeny, Zeny - 5000; + getitem $@DYE_items$[@CANDIDE_items[@m]], 1; goto L_again; L_again: mes "[Candide]"; mes "\"Would you like to bleach something else?\""; next; - menu "Yes.", L_bleach_menu, "No.", L_Close; -L_no_item: - mes "[Candide]"; - mes "\"You don't have one of those.\""; - next; - - goto L_again; - L_no_ash: mes "[Candide]"; mes "\"You don't have enough ash for me to bleach anything."; mes "I need three piles.\""; + next; goto L_Close; L_no_money: mes "[Candide]"; mes "\"You don't have enough gold for me to bleach anything."; mes "I need 5,000 GP for supplies.\""; + next; goto L_Close; L_Close: mes "[Candide]"; mes "\"Come again.\""; - set @normal, 0; - set @dyeBase, 0; - set @del, 0; - close; + close2; + emotion EMOTE_GRIN; + end; } diff --git a/world/map/npc/002-2/inya.txt b/world/map/npc/002-2/inya.txt index 7f0184f8..475c73b6 100644 --- a/world/map/npc/002-2/inya.txt +++ b/world/map/npc/002-2/inya.txt @@ -1,7 +1,7 @@ //Gemstones: Diamond (white) , Ruby (red), Emerald (green), Sapphire (blue), Topaz (yellow), Amethyst (purple) //The power of the gems is important to future balance of these rings. Are they related to stats, tiers of power, schools of magic? -002-2,116,61,0|shop|#InyaShop|127,SimpleRing:*1 +002-2,116,61,0|shop|#InyaShop|32767,SimpleRing:*1 002-2,116,61,0|script|Inya|106 { diff --git a/world/map/npc/002-2/latoy.txt b/world/map/npc/002-2/latoy.txt index 49be414e..bb818bc1 100644 --- a/world/map/npc/002-2/latoy.txt +++ b/world/map/npc/002-2/latoy.txt @@ -1,7 +1,7 @@ // A snobby store that won't sell to the player // takes part in quest given by 021-2/kylian.txt -002-2,86,93,0|shop|#LatoyShop|127,SilkHeadband:*4,SilkGloves:*4,SilkPants:*4,SilkRobe:*4 +002-2,86,93,0|shop|#LatoyShop|32767,SilkHeadband:*4,SilkGloves:*4,SilkPants:*4,SilkRobe:*4 002-2,86,93,0|script|Latoy|106 { diff --git a/world/map/npc/007-1/witch.txt b/world/map/npc/007-1/witch.txt index 24a1243f..f1290699 100644 --- a/world/map/npc/007-1/witch.txt +++ b/world/map/npc/007-1/witch.txt @@ -686,7 +686,7 @@ L_KillHero: } -007-1,128,100,0|script|#IlliaDaemon|127 +007-1,128,100,0|script|#IlliaDaemon|32767 { end; diff --git a/world/map/npc/008-1/dock.txt b/world/map/npc/008-1/dock.txt index 4be8ad11..42763609 100644 --- a/world/map/npc/008-1/dock.txt +++ b/world/map/npc/008-1/dock.txt @@ -12,7 +12,7 @@ close; } -008-1,120,44,0|script|#Hurnscald NorthDock|127 +008-1,120,44,0|script|#Hurnscald NorthDock|32767 { end; OnCommandArrive: @@ -30,7 +30,7 @@ OnCommandWarp: close; } -008-1,65,25,0|script|#Hurnscald SouthDock|127 +008-1,65,25,0|script|#Hurnscald SouthDock|32767 { end; OnCommandArrive: diff --git a/world/map/npc/009-2/alan.txt b/world/map/npc/009-2/alan.txt index 12f5cde8..412b5823 100644 --- a/world/map/npc/009-2/alan.txt +++ b/world/map/npc/009-2/alan.txt @@ -98,7 +98,7 @@ L_State_2: next; if (@inspector == 1) menu - "Yes, I did. He said that the trees turned into dangerous monsters.", L_Next, + "Yes, I did. He said that the trees turned into dangerous monsters.", L_Next1, "Have you seen anything strange recently that might be connected to the robberies?", L_NohMask_Answer; if (@inspector != 1) menu diff --git a/world/map/npc/009-2/peter.txt b/world/map/npc/009-2/peter.txt index 0eaf4ced..bbb336e2 100644 --- a/world/map/npc/009-2/peter.txt +++ b/world/map/npc/009-2/peter.txt @@ -1,5 +1,5 @@ // Nicholas' Apprentice and Armorsmith -009-2,183,57,0|shop|#PeterShop|127,Knife:*1,SharpKnife:*1,Dagger:*1 +009-2,183,57,0|shop|#PeterShop|32767,Knife:*1,SharpKnife:*1,Dagger:*1 009-2,183,57,0|script|Peter|157 { diff --git a/world/map/npc/009-2/selim.txt b/world/map/npc/009-2/selim.txt index ab74b2f9..80abfdcc 100644 --- a/world/map/npc/009-2/selim.txt +++ b/world/map/npc/009-2/selim.txt @@ -1,46 +1,20 @@ -function|script|SelimDebug -{ - set @w, 0; - mes "[Selim Debug]"; - menu - "Debug item array.", L_DebugArrayExplain, - "Exit debug.", L_Return; - -L_DebugArrayExplain: - mes "[How it works]"; - mes "Click on the link to verify that it is the red variation of the item."; - mes "If, for example, you see [Skirt] then when you click on it you should see Red Skirt."; - next; - goto L_DebugArray; - -L_DebugArray: - mes "[@@" + @items_new[@w] + "|" + @item_names$[@w] + "@@]"; - set @w, @w + 1; - if(@w >= getarraysize(@items_new)) goto L_Return; - menu - "Next.", L_DebugArray, - "Exit debug.", L_Return; - -L_Return: - return; -} - 009-2,32,104,0|script|Selim|326 { - setarray @all_colours$, "red", "green", "dark blue", "yellow", "light blue", "pink", "black", "orange", "purple", "dark green"; - cleararray @items$, "", getarraysize(@items$); cleararray @item_names$, "", getarraysize(@item_names$); - cleararray @items_new, "", getarraysize(@items_new); - setarray @items_new, 2050, 2250, 2060, 2070, 2110, 2180, 2100, 2170, 2090, 2120, 2080, 2140, 2130, 2150, 2160, 2190, 2200, 2210, 2230, 2240, 5131, 2220, 5000, 5011, 5022, 5033, 5044, 5055, 5066, 5077, 5088, 5099; - setarray @items$, "CottonShirt", "CottonCloth", "VNeckSweater", "TurtleneckSweater", "CottonShorts", "CottonTrousers", "CottonSkirt", "Miniskirt", "TankTop", "ShortTankTop", "SilkRobe", "CottonHeadband", "DesertHat", "CottonBoots", "CottonGloves", "WhiteRabbitEars", "WizardHat", "BowlerHat", "BowlerHatBrown", "FineDress", "ContributorShirt", "SorcererRobeRed", "SorcererRobeGreen", "SorcererRobeDarkBlue", "SorcererRobeYellow", "SorcererRobeLightBlue", "SorcererRobePink", "SorcererRobeBlack", "SorcererRobeOrange", "SorcererRobePurple", "SorcererRobeDarkGreen", "SorcererRobeWhite"; - setarray @item_names$, "Cotton Shirt", "Cotton Cloth", "V-Neck Sweater", "Turtleneck Sweater", "Cotton Shorts", "Cotton Trousers", "Cotton Skirt", "Miniskirt", "Tank Top", "Short Tank Top", "Silk Robe", "Cotton Headband", "Desert Hat", "Cotton Boots", "Cotton Gloves", "White Rabbit Ears", "Wizard Hat", "Bowler Hat", "Bowler Hat (brown)", "Fine Dress", "Contributor Shirt", "Red lined Sorcerer Robe", "Green lined Sorcerer Robe", "Dark Blue lined Sorcerer Robe", "Yellow lined Sorcerer Robe", "Light Blue lined Sorcerer Robe", "Pink lined Sorcerer Robe", "Black lined Sorcerer Robe", "Orange lined Sorcerer Robe", "Purple lined Sorcerer Robe", "Dark Green lined Sorcerer Robe", "White lined Sorcerer Robe"; - if ((getgmlevel() >= 40 || debug) && (getequipid(equip_head) == 647 || getequipid(equip_head) == 725)) goto L_Debug; + set @r, 0; + set @j, getarraysize($@DYE_items$); + goto L_CloneArray; // clone the array from DyeConfig + +L_CloneArray: + set @items$[@r], $@DYE_items$[@r]; + set @item_names$[@r], $@DYE_item_names$[@r]; + set @r, @r + 1; + if(@r < @j) goto L_CloneArray; + set @r, 0; + set @j, 0; goto L_Main; -L_Debug: - callfunc "SelimDebug"; - close; L_Main: mes "[Selim]"; @@ -86,7 +60,6 @@ L_clothes_choice: callfunc "DynamicItemMenu$"; set @default_choice$, ""; set @item_del$, @item$; - set @item_new, @items_new[@index]; set @name$, @item_names$[@index]; cleararray @items$, "", getarraysize(@items$); cleararray @item_names$, "", getarraysize(@item_names$); @@ -114,7 +87,6 @@ L_Next: mes "\"Of course I can help you by dyeing the materials your tailor will want."; mes "All I need is a piece of Cotton Cloth.\""; set @item_del$, "CottonCloth"; - set @item_new, 2250; menu "Sure. Here is one.", L_picked_item, "I have to go pick that.", L_Close; @@ -127,8 +99,9 @@ L_colour: mes "[Selim]"; mes "\"Excellent. Now, what color do you want?\""; next; - setarray @items$, "RedDye", "GreenDye", "DarkBlueDye", "YellowDye", "LightBlueDye", "PinkDye", "BlackDye", "OrangeDye", "PurpleDye", "DarkGreenDye"; - setarray @item_names$, "red", "green", "dark blue", "yellow", "light blue", "pink", "black", "orange", "purple", "dark green"; + set @r, 0; + set @j, getarraysize($@DYE_colors$); + callsub S_CloneColors; set @default_choice$, "I have no dye."; callfunc "DynamicItemMenu$"; cleararray @items$, "", getarraysize(@items$); @@ -136,9 +109,17 @@ L_colour: set @default_choice$, ""; if (@item$ == "") goto L_no_dye; set @colour, @index; - set @vial, 690 + @colour; goto L_finish; +S_CloneColors: + set @items$[@r], $@DYE_colors$[@r] + "Dye"; + set @item_names$[@r], $@DYE_color_names$[@r]; + set @r, @r + 1; + if(@r < @j) goto S_CloneColors; + set @r, 0; + set @j, 0; + return; + L_no_dye: mes "[Selim]"; mes "\"I would love to dye your " + @name$ + " for you, but you will have to bring me some dye first."; @@ -159,11 +140,13 @@ L_explain_dye: goto L_Close; L_finish: - delitem @vial, 1; + if(getitemname($@DYE_colors$[@colour] + @item_del$) == "Unknown Item") mapexit; + if(countitem(@item_del$) < 1) goto L_havenone; + delitem @item$, 1; delitem @item_del$, 1; - getitem @item_new + @colour, 1; + getitem $@DYE_colors$[@colour] + @item_del$, 1; mes "[Selim]"; - mes "\"Here's your " + @all_colours$[@colour] + " " + @name$ + "! Please let dry for a minute.\""; + mes "\"Here's your " + $@DYE_color_names$[@colour] + " " + @name$ + "! Please let dry for a minute.\""; goto L_Close; L_havenone: diff --git a/world/map/npc/009-4/barriers.txt b/world/map/npc/009-4/barriers.txt index 135f083d..4a2055fa 100644 --- a/world/map/npc/009-4/barriers.txt +++ b/world/map/npc/009-4/barriers.txt @@ -44,7 +44,7 @@ L_Error2: // Starting Barrier / Quest Entrance -009-4,37,119,0|script|#OrumCaveStartMessage|127,0,0 +009-4,37,119,0|script|#OrumCaveStartMessage|32767,0,0 { if (OrumQuest >= 3) end; if (OrumQuest == 2) goto L_Started; @@ -58,7 +58,7 @@ L_Started: end; } -009-4,37,120,0|script|#OrumCaveStartBarrier|127,0,0 +009-4,37,120,0|script|#OrumCaveStartBarrier|32767,0,0 { if (OrumQuest >= 3) end; warp "009-4", 37, 118; @@ -66,7 +66,7 @@ L_Started: } // First Barrier -009-4,57,29,0|script|#OrumCaveFirstBarrier|127,0,0 +009-4,57,29,0|script|#OrumCaveFirstBarrier|32767,0,0 { if (OrumQuest >= 5) end; @@ -76,7 +76,7 @@ L_Started: } // Second Barrier -009-4,61,55,0|script|#OrumCaveSecondMessage|127,0,0 +009-4,61,55,0|script|#OrumCaveSecondMessage|32767,0,0 { if (OrumQuest >= 9) end; if (OrumQuest == 3) set OrumQuest, 4; @@ -104,7 +104,7 @@ L_Advance_Quest: end; } -009-4,61,54,0|script|#OrumCaveSecondBarrier|127,0,0 +009-4,61,54,0|script|#OrumCaveSecondBarrier|32767,0,0 { if (OrumQuest >= 9) end; warp "009-4", 60, 56; @@ -112,7 +112,7 @@ L_Advance_Quest: } // Third Barrier -009-4,24,65,0|script|#OrumCaveThirdMessage|127,0,0 +009-4,24,65,0|script|#OrumCaveThirdMessage|32767,0,0 { if (OrumQuest >= 10) end; if (OrumQuest == 3) set OrumQuest, 4; @@ -154,7 +154,7 @@ L_Advance_Quest: end; } -009-4,24,66,0|script|#OrumCaveThirdBarrier|127,0,0 +009-4,24,66,0|script|#OrumCaveThirdBarrier|32767,0,0 { if (OrumQuest >= 10) end; warp "009-4", 23, 64; @@ -162,7 +162,7 @@ L_Advance_Quest: } // Ending Barrier -009-4,48,37,0|script|#OrumCaveEndMessage|127,0,0 +009-4,48,37,0|script|#OrumCaveEndMessage|32767,0,0 { if (OrumQuest >= 11) end; if (OrumQuest == 3) set OrumQuest, 4; @@ -274,7 +274,7 @@ L_Advance_Quest: close; } -009-4,48,38,0|script|#OrumCaveEndBarrier|127,0,0 +009-4,48,38,0|script|#OrumCaveEndBarrier|32767,0,0 { if (OrumQuest >= 11) end; warp "009-4", 47, 36; diff --git a/world/map/npc/009-4/waric.txt b/world/map/npc/009-4/waric.txt index 29eff17b..83c1ba78 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,99,33,0|script|#WizardTrap|127,2,1 +009-4,99,33,0|script|#WizardTrap|32767,2,1 { set @gender$, "They're"; if (Sex == 0) diff --git a/world/map/npc/009-6/brodomir.txt b/world/map/npc/009-6/brodomir.txt index 9b2c55d5..63bce759 100644 --- a/world/map/npc/009-6/brodomir.txt +++ b/world/map/npc/009-6/brodomir.txt @@ -133,11 +133,11 @@ L_Go: set $@BRODOMIR_MONEY, @brodomir_money; set $@brodomir_delay_seconds, 600; set $@BRODOMIR_PVP_STATUS, 1; - announce "Brodomir: In "+$@brodomir_delay_seconds/60+" minutes, I will start a PvP tournament, if at least 3 fighters are present. Make your way in Hurnscald Underground Caves!", 0; + announce "Brodomir : In "+$@brodomir_delay_seconds/60+" minutes, I will start a PvP tournament, if at least 3 fighters are present. Make your way in Hurnscald Underground Caves!", 0; if ($@BRODOMIR_ITEM_AMOUNT > 0) - announce "Brodomir: The winner will receive 150GP per fighter and " + $@BRODOMIR_ITEM_AMOUNT + " " + $@BRODOMIR_ITEM$ + ".", 0; + announce "Brodomir : The winner will receive 150GP per fighter and " + $@BRODOMIR_ITEM_AMOUNT + " " + $@BRODOMIR_ITEM$ + ".", 0; if ($@BRODOMIR_MONEY > 0) - announce "Brodomir: The winner will receive " + $@BRODOMIR_MONEY + "GP and additionally 150GP per fighter.", 0; + announce "Brodomir : The winner will receive " + $@BRODOMIR_MONEY + "GP and additionally 150GP per fighter.", 0; mes "[Brodomir]"; mes "\"In "+$@brodomir_delay_seconds/60+" minutes I will bring you all to the PvP cave. If there are less than 3 players here the event will not start and your money will be lost.\""; set $@BRODOMIR_START_TIME, gettimetick(2) + $@brodomir_delay_seconds; @@ -146,13 +146,10 @@ L_Go: goto L_Close; L_Wait: - set $@brodomir_seconds, ($@BRODOMIR_START_TIME - gettimetick(2)); + set @ms, ($@BRODOMIR_START_TIME - gettimetick(2)) * 1000; + callfunc "HumanTime"; mes "[Brodomir]"; - if ($@brodomir_seconds/60 == 0) - mes "\"Just a little longer. I will bring you there in " + $@brodomir_seconds + " seconds.\""; - if ($@brodomir_seconds/60 > 0) - mes "\"Just a little longer. I will bring you there in " + $@brodomir_seconds/60 + " minute(s).\""; - set $@brodomir_seconds, 0; + mes "\"Just a little longer. I will bring you there in " + @time$ + ".\""; goto L_Close; OnTimer5000: @@ -169,12 +166,12 @@ L_Warp: set $@BRODOMIR_PVP_STATUS, $@BRODOMIR_PVP_STATUS + 1; set $@BRODOMIR_PLAYERS, getareausers("009-6", 20, 20, 80, 80, 1); mapwarp "009-6", "009-5", 0, 0; - mapannounce "009-5", "PvP On!", 0; + mapannounce "009-5", "Brodomir : PvP On!", 0; pvpon "009-5"; end; L_Warpfail: - mapannounce "009-6", "There are not enough players around to start!", 0; + mapannounce "009-6", "Brodomir : There are not enough players around to start!", 0; if ($@BRODOMIR_ITEM_AMOUNT == 0 || $@BRODOMIR_ITEM$ == "") goto L_Cleanup; if (attachrid($@BRODOMIR_SPONSOR) == 0) diff --git a/world/map/npc/009-7/battlemaster.txt b/world/map/npc/009-7/battlemaster.txt index ed07eefb..33eb04d0 100644 --- a/world/map/npc/009-7/battlemaster.txt +++ b/world/map/npc/009-7/battlemaster.txt @@ -62,29 +62,29 @@ L_GoBack: message strcharinfo(0), "Thank you for participating!"; return; } -009-6,36,48,0|script|#GoBack2Duels|127,0,1 +009-6,36,48,0|script|#GoBack2Duels|32767,0,1 { callfunc "fightclub_GoBack"; end; } -009-5,53,74,0|script|#GoBack3Duels|127,3,1 +009-5,53,74,0|script|#GoBack3Duels|32767,3,1 { callfunc "fightclub_GoBack"; end; } -009-3,158,83,0|script|#GoBack5Duels|127,7,0 +009-3,158,83,0|script|#GoBack5Duels|32767,7,0 { callfunc "fightclub_GoBack"; end; } -001-2,130,22,0|script|#GoBack4Duels|127,1,1 +001-2,130,22,0|script|#GoBack4Duels|32767,1,1 { callfunc "fightclub_GoBack"; end; } -001-3,73,28,0|script|#GoBack1Duels|127,0,1 +001-3,73,28,0|script|#GoBack1Duels|32767,0,1 { callfunc "fightclub_GoBack"; end; diff --git a/world/map/npc/009-7/eventHandler.txt b/world/map/npc/009-7/eventHandler.txt index 7104d0a7..d20fff4d 100644 --- a/world/map/npc/009-7/eventHandler.txt +++ b/world/map/npc/009-7/eventHandler.txt @@ -15,7 +15,7 @@ L_Enter: end; } -009-7,22,38,0|script|#FightClubUtils|127 +009-7,22,38,0|script|#FightClubUtils|32767 { end; @@ -44,7 +44,7 @@ OnCommandIntrusion: end; } -009-7,20,45,0|script|#FightClubTimeLimit|127,0,0 +009-7,20,45,0|script|#FightClubTimeLimit|32767,0,0 { end; @@ -76,7 +76,7 @@ OnInit: end; } -009-7,20,44,0|script|#FightClubHandler|127,0,0 +009-7,20,44,0|script|#FightClubHandler|32767,0,0 { end; diff --git a/world/map/npc/010-2/loratay.txt b/world/map/npc/010-2/loratay.txt index ef85fc36..6843bfcc 100644 --- a/world/map/npc/010-2/loratay.txt +++ b/world/map/npc/010-2/loratay.txt @@ -44,7 +44,6 @@ OnInit: set @FINEDRESS_COCOONS, 180; set @SORCERER_ROBE_SEW_ZENY, 25000; set @SORCERER_ROBE_NUM_COTTON_CLOTH, 2; - setarray @item_colors$, "red", "green", "dark blue", "yellow", "light blue", "pink", "black", "orange", "purple", "dark green", "white"; set @wg_state, ((QUEST_WG_state & BYTE_0_MASK) >> BYTE_0_SHIFT); if (@loratay_asking_robe == 1) goto L_ExamineSR; @@ -487,28 +486,30 @@ L_desert_hat: mes "The seamstress sighs."; mes "\"One of these days it would be nice to have an actual challenge... yes, of course I can make a desert hat. A Cotton Headband, three pieces of cotton cloth. Hmm. And let's add 300 GP to that.\""; next; - cleararray @items, 0, getarraysize(@items); + cleararray @items$, "", getarraysize(@items$); cleararray @item_names$, "", getarraysize(@item_names$); - setarray @items, 724, 2140, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2149; - setarray @item_names$, "Here is a Cotton Headband.", "Here is a Red Cotton Headband.", "Here is a Green Cotton Headband.", "Here is a Dark Blue Cotton Headband.", "Here is a Yellow Cotton Headband.", "Here is a Light Blue Cotton Headband.", "Here is a Pink Cotton Headband.", "Here is a Black Cotton Headband.", "Here is an Orange Cotton Headband.", "Here is a Puple Cotton Headband.", "Here is a Dark Green Cotton Headband."; + set @o, 1; + setarray @items$, "CottonHeadband"; + setarray @item_names$, "Here is a Cotton Headband."; + callsub S_CottonHeadbandColors; - callfunc "DynamicItemMenu"; - if (@item == 0) + callfunc "DynamicItemMenu$"; + if (@item$ == "") goto L_main_menu; - if (@item == 724) - set @genitem, 723; - if (@item != 724) - set @genitem, @item - 10; - if (countitem(@item) < 1) + if (@item$ == "CottonHeadband") + set @genitem$, "DesertHat"; + if (@item$ != "CottonHeadband") + set @genitem$, $@DYE_colors$[@index] + "DesertHat"; + if (countitem(@item$) < 1) goto L_desert_hat_noheadband; if (countitem("CottonCloth") < 3) goto L_desert_hat_nocotton; if (Zeny < 300) goto L_desert_hat_nogp; - delitem @item, 1; + delitem @item$, 1; delitem "CottonCloth", 3; set Zeny, Zeny - 300; - getitem @genitem, 1; + getitem @genitem$, 1; mes "[Lora Tay the Seamstress]"; mes "\"Now then, this should only take a minute.\""; mes "The seamstress folds your cotton cloth in a complicated fashion, wraps the resulting bundle into and out of the headband, and finally sews together several loose ends."; @@ -520,6 +521,13 @@ L_desert_hat: next; goto L_main_menu; +S_CottonHeadbandColors: + set @items$[@o], $@DYE_colors$[@o]+"CottonHeadband"; + set @item_names$[@o], "Here is a "+$@DYE_color_names$[@o]+" Cotton Headband"; + set @o, @o + 1; + if(@o < getarraysize($@DYE_colors$)) goto S_CottonHeadbandColors; + return; + L_desert_hat_nocotton: mes "[Lora Tay the Seamstress]"; mes "\"You're asking me to make a desert hat without enough cloth? Here, have your headband back-- see, that's how much I can do without cloth! And since I'm generous today, you can even keep your GP...\""; @@ -930,7 +938,7 @@ L_ExamineSR: mes "Lora Tay takes a closer look at what you are wearing."; next; mes "[Lora Tay the Seamstress]"; - mes "\"Hmm. This " + @item_colors$[@current_linecolor] + " lined " + @item_colors$[@current_maincolor] + " sorcerer robe. I see. Is that ok?\""; + mes "\"Hmm. This " + $@DYE_color_names$[@current_linecolor] + " lined " + $@DYE_color_names$[@current_maincolor] + " sorcerer robe. I see. Is that ok?\""; if (@current_maincolor == -1 || @current_linecolor == -1) goto L_NotSR; menu @@ -947,17 +955,17 @@ L_ChooseSRLineColor: mes "[Lora Tay the Seamstress]"; mes "\"And which Cotton Cloth color will you give me?\""; menu - "A " + @item_colors$[0] + " one.", L_ItemMenus2, - "A " + @item_colors$[1] + " one.", L_ItemMenus2, - "A " + @item_colors$[2] + " one.", L_ItemMenus2, - "A " + @item_colors$[3] + " one.", L_ItemMenus2, - "A " + @item_colors$[4] + " one.", L_ItemMenus2, - "A " + @item_colors$[5] + " one.", L_ItemMenus2, - "A " + @item_colors$[6] + " one.", L_ItemMenus2, - "A " + @item_colors$[7] + " one.", L_ItemMenus2, - "A " + @item_colors$[8] + " one.", L_ItemMenus2, - "A " + @item_colors$[9] + " one.", L_ItemMenus2, - "A " + @item_colors$[10] + " one.", L_ItemMenus2, + "A " + $@DYE_color_names$[0] + " one.", L_ItemMenus2, + "A " + $@DYE_color_names$[1] + " one.", L_ItemMenus2, + "A " + $@DYE_color_names$[2] + " one.", L_ItemMenus2, + "A " + $@DYE_color_names$[3] + " one.", L_ItemMenus2, + "A " + $@DYE_color_names$[4] + " one.", L_ItemMenus2, + "A " + $@DYE_color_names$[5] + " one.", L_ItemMenus2, + "A " + $@DYE_color_names$[6] + " one.", L_ItemMenus2, + "A " + $@DYE_color_names$[7] + " one.", L_ItemMenus2, + "A " + $@DYE_color_names$[8] + " one.", L_ItemMenus2, + "A " + $@DYE_color_names$[9] + " one.", L_ItemMenus2, + "A White one.", L_ItemMenus2, "Hum. I changed my mind. Later maybe.", L_end; L_ItemMenus2: @@ -985,8 +993,8 @@ L_ItemMenus2: delitem @chest_equip_id, 1; set Zeny, Zeny - @SORCERER_ROBE_SEW_ZENY; getitem @new_sr_id, 1; - mes "Lora Tay adjusts her glasses and removes carefully the " + @item_colors$[@current_linecolor] + " string of the robe."; - mes "Then she grabs the " + @item_colors$[@chosen_color] + " cotton cloth, unfolds it and pins her needle in it."; + mes "Lora Tay adjusts her glasses and removes carefully the " + $@DYE_color_names$[@current_linecolor] + " string of the robe."; + mes "Then she grabs the " + $@DYE_color_names$[@chosen_color] + " cotton cloth, unfolds it and pins her needle in it."; next; mes "She begins to sew the new string onto the sorcerer robe."; next; diff --git a/world/map/npc/011-1/auldsbel.txt b/world/map/npc/011-1/auldsbel.txt index f8315c18..23e3f84a 100644 --- a/world/map/npc/011-1/auldsbel.txt +++ b/world/map/npc/011-1/auldsbel.txt @@ -993,7 +993,7 @@ L_learn_spell: mes "\"You can turn the log into a wooden figurine by imagining the creature whose shape you want in your head and saying `" + getspellinvocation("transmute-wood-to-figurine") + ",' followed by the last syllable of the name of the creature you want to shape it into.\""; next; mes "[Auldsbel the Wizard]"; - mes "\"So `" + getspellinvocation("transmute-wood-to-figurine") + " lurk' for a Skrytlurk figurine, for example. If you know what a Skrytlurk is, I mean, otherwise you will have a hard time imagining it. You may want to try some others instead, though.\""; + mes "\"So `" + getspellinvocation("transmute-wood-to-figurine") + " lurk' for a Skytlurk figurine, for example. If you know what a Skytlurk is, I mean, otherwise you will have a hard time imagining it. You may want to try some others instead, though.\""; next; mes "[Auldsbel the Wizard]"; mes "\"Oh... and it has to be the old Tritan name. Most creatures nowadays have very different names, but some old Tritan names have survived. Just try some, until you find one that fits.\""; @@ -1007,10 +1007,10 @@ L_learn_spell: L_repeat_spell: mes "[Auldsbel the Wizard]"; - mes "\"The invocation is `" + getspellinvocation("transmute-wood-to-figurine") + ",' followed by the last syllable of the name of the creature you want to shape the log into. So `" + getspellinvocation("transmute-wood-to-figurine") + " lurk' for a Skrytlurk figurine.\""; + mes "\"The invocation is `" + getspellinvocation("transmute-wood-to-figurine") + ",' followed by the last syllable of the name of the creature you want to shape the log into. So `" + getspellinvocation("transmute-wood-to-figurine") + " lurk' for a Skytlurk figurine.\""; next; mes "[Auldsbel the Wizard]"; - mes "\"But keep two things in mind: First, you must KNOW what the creature looks like – so a Skrytlurk probably won't work – and second, you must use the old Tritan name of it. `Fluffy' and `Scorpion' are modern names, so those won't work, you should try some others.\""; + mes "\"But keep two things in mind: First, you must KNOW what the creature looks like – so a Skytlurk probably won't work – and second, you must use the old Tritan name of it. `Fluffy' and `Scorpion' are modern names, so those won't work, you should try some others.\""; next; mes "[Auldsbel the Wizard]"; mes "\"And make sure to keep notes of your spells! In the future, I will only tell you once.\""; diff --git a/world/map/npc/011-6/crastur.txt b/world/map/npc/011-6/crastur.txt index 6304acb8..679a2c9d 100644 --- a/world/map/npc/011-6/crastur.txt +++ b/world/map/npc/011-6/crastur.txt @@ -81,6 +81,8 @@ L_Jibber_Cont: mes ""; mes "\"Bring me proof that you killed all of the pirates!\""; next; + set @spants_state, 5; + callsub S_Update_Spants; menu "\"I have it right here\"", L_Bandana, "\"What kind of proof?\"", L_Pirate_Proof; @@ -91,8 +93,6 @@ L_Pirate_Proof: mes ""; mes "\"It is for sure the Pirates give their souls for the rescue of their booty.\""; mes "\"Bring me something unique from their treasure and I will give you those plans in return.\""; - set @spants_state, 5; - callsub S_Update_Spants; menu "\"I have it with me.\"", L_Bandana, "\"I will try my best.\"", L_Close; diff --git a/world/map/npc/012-1/injured-mouboo.txt b/world/map/npc/012-1/injured-mouboo.txt index 58a6af50..09e27c80 100644 --- a/world/map/npc/012-1/injured-mouboo.txt +++ b/world/map/npc/012-1/injured-mouboo.txt @@ -195,7 +195,7 @@ L_dead: getinventorylist; if (@inventorylist_count == 100) goto L_nopickup; - getitem "BlackTurtleneckSweater", 1; + getitem "BlackTurtleneck", 1; mes "You pull out the sweater and stuff it into your backpack."; set @Q_status, @STATE_TOOK_KILL_REWARD; callsub S_update_var; diff --git a/world/map/npc/012-1/shops.txt b/world/map/npc/012-1/shops.txt index f93ec464..3620b2c9 100644 --- a/world/map/npc/012-1/shops.txt +++ b/world/map/npc/012-1/shops.txt @@ -1,6 +1,6 @@ // -012-1,36,99,0|shop|#FlowerShop|127,RedRose:*1,PinkRose:*1,YellowRose:*1,WhiteRose:*1,OrangeRose:*1,DarkRedRose:*1,RedTulip:*1,PinkTulip:*1,YellowTulip:*1,WhiteTulip:*1,OrangeTulip:*1 +012-1,36,99,0|shop|#FlowerShop|32767,RedRose:*1,PinkRose:*1,YellowRose:*1,WhiteRose:*1,OrangeRose:*1,DarkRedRose:*1,RedTulip:*1,PinkTulip:*1,YellowTulip:*1,WhiteTulip:*1,OrangeTulip:*1 012-1,36,99,0|script|Blossom|163 { diff --git a/world/map/npc/013-1/flowerpentagram.txt b/world/map/npc/013-1/flowerpentagram.txt index 5be2c99a..001b7e0a 100644 --- a/world/map/npc/013-1/flowerpentagram.txt +++ b/world/map/npc/013-1/flowerpentagram.txt @@ -1,4 +1,4 @@ -013-1,1,1,0|script|#FlowerPentagram|127 +013-1,1,1,0|script|#FlowerPentagram|32767 { end; diff --git a/world/map/npc/015-1/barrier.txt b/world/map/npc/015-1/barrier.txt index a87cfd23..ad20257d 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,59,32,0|script|#CatOutsideBarrier|127,1,1 +015-1,59,32,0|script|#CatOutsideBarrier|32767,1,1 { set @catNeedsAlone, 0; end; diff --git a/world/map/npc/017-9/secret.txt b/world/map/npc/017-9/secret.txt index 555d6837..4c48f0f7 100644 --- a/world/map/npc/017-9/secret.txt +++ b/world/map/npc/017-9/secret.txt @@ -1,4 +1,4 @@ -009-1,42,43,0|script|#SecretDoor|127,0,0 +009-1,42,43,0|script|#SecretDoor|32767,0,0 { if (getgmlevel() < 40 && !debug) goto L_close; warp "017-9", 26, 25; @@ -8,7 +8,7 @@ L_close: close; } -020-1,60,76,0|script|#SecretDoor2|127,0,0 +020-1,60,76,0|script|#SecretDoor2|32767,0,0 { if (getgmlevel() < 40 && !debug) goto L_close; warp "017-9", 22, 22; @@ -18,7 +18,7 @@ L_close: close; } -001-1,54,118,0|script|#SecretDoor3|127,0,0 +001-1,54,118,0|script|#SecretDoor3|32767,0,0 { if (getgmlevel() < 40 && !debug) goto L_close; warp "017-9", 30, 22; @@ -28,7 +28,7 @@ L_close: close; } -027-2,118,111,0|script|#SecretDoor4|127,0,0 +027-2,118,111,0|script|#SecretDoor4|32767,0,0 { if (getgmlevel() < 40 && !debug) goto L_close; warp "017-9", 30, 29; diff --git a/world/map/npc/027-2/lover.txt b/world/map/npc/027-2/lover.txt index 5488b8e7..d1ab2a56 100644 --- a/world/map/npc/027-2/lover.txt +++ b/world/map/npc/027-2/lover.txt @@ -264,7 +264,7 @@ L_Soul: getinventorylist; if (@inventorylist_count == 100) goto L_Full_Inv; - getitem "SorcererRobeRed", 1; + getitem "SorcererRed", 1; set @state, 7; callsub S_Update_Mask; mes "\"This is what mages and their apprentices wore when I lived. It is white because I wasn't a master yet.\""; diff --git a/world/map/npc/027-6/general_krukan.txt b/world/map/npc/027-6/general_krukan.txt index 637befc8..91d8b35f 100644 --- a/world/map/npc/027-6/general_krukan.txt +++ b/world/map/npc/027-6/general_krukan.txt @@ -215,17 +215,17 @@ L_End: OnInit: setarray $@CRYPT_FIGHT1_MESSAGES$, - "General Krukan:* Haha, Thank you mortal. You have released me from my prison. To show my graditude you can die swiftly at my hands and become part of my undead army. MUhahahahaha! Minions, Dispose of these Adventurers!", - "General Krukan:* Ha, Looks like your tougher then I thought.", - "General Krukan:* and here I thought I wasn't going to enjoy this.", - "General Krukan:* More of them are coming!", - "General Krukan:* Minions! Kill them already!", - "General Krukan:* *facepalm* I knew I should have hired better help.", - "General Krukan:* Well at least you will make a good addition to my army.", - "General Krukan:* To the Abyss with you already!", - "General Krukan:* How about you try a different approach and kill them already!", - "General Krukan:* Minions! Last chance or it's back to being part of an ossuary for you!", - "General Krukan:* Looks like if you want something done right you have to do it yourself.", - "General Krukan:* Charge!."; + "General Krukan : Haha, Thank you mortal. You have released me from my prison. To show my graditude you can die swiftly at my hands and become part of my undead army. MUhahahahaha! Minions, Dispose of these Adventurers!", + "General Krukan : Ha, Looks like your tougher then I thought.", + "General Krukan : and here I thought I wasn't going to enjoy this.", + "General Krukan : More of them are coming!", + "General Krukan : Minions! Kill them already!", + "General Krukan : *facepalm* I knew I should have hired better help.", + "General Krukan : Well at least you will make a good addition to my army.", + "General Krukan : To the Abyss with you already!", + "General Krukan : How about you try a different approach and kill them already!", + "General Krukan : Minions! Last chance or it's back to being part of an ossuary for you!", + "General Krukan : Looks like if you want something done right you have to do it yourself.", + "General Krukan : Charge!."; end; } diff --git a/world/map/npc/027-7/general_razha.txt b/world/map/npc/027-7/general_razha.txt index 9a99e8b8..60886f78 100644 --- a/world/map/npc/027-7/general_razha.txt +++ b/world/map/npc/027-7/general_razha.txt @@ -169,7 +169,7 @@ OnPetDeath: end; L_CleanUpLosers: - mapannounce "027-7", "General Razha:* Oh where did you all go, I was beginning to have fun here.", 0; + mapannounce "027-7", "General Razha : Oh where did you all go, I was beginning to have fun here.", 0; mapannounce "027-4", "The battle is lost.", 0; set $@CRYPT_FIGHT2, 0; set $@CRYPT_FIGHT2_PLAYER_COUNT, 0; @@ -184,7 +184,7 @@ L_CleanUpLosers: end; L_CleanUp: - mapannounce "027-7", "General Razha:* How in all hells could that happen? I am lost forever.", 0; + mapannounce "027-7", "General Razha : How in all hells could that happen? I am lost forever.", 0; mapannounce "027-4", "General Razha is defeated.", 0; areatimer "027-7", 0, 0, 79, 84, 10, "General Razha::OnReward"; set $@CRYPT_FIGHT2, 0; @@ -219,17 +219,17 @@ L_End: OnInit: setarray $@CRYPT_FIGHT2_MESSAGES$, - "General Razha:* Haha, Thank you mortal. You have released me from my prison. To show my graditude you can die swiftly at my hands and become part of my undead army. MUhahahahaha! Minions, Dispose of these Adventurers!", - "General Razha:* Ha, Looks like your tougher then I thought.", - "General Razha:* and here I thought I wasn't going to enjoy this.", - "General Razha:* More of them are coming!", - "General Razha:* Minions! Kill them already!", - "General Razha:* *facepalm* I knew I should have hired better help.", - "General Razha:* Well at least you will make a good addition to my army.", - "General Razha:* To the Abyss with you already!", - "General Razha:* How about you try a different approach and kill them already!", - "General Razha:* Minions! Last chance or it's back to being part of an ossuary for you!", - "General Razha:* Looks like if you want something done right you have to do it yourself.", - "General Razha:* Charge!."; + "General Razha : Haha, Thank you mortal. You have released me from my prison. To show my graditude you can die swiftly at my hands and become part of my undead army. MUhahahahaha! Minions, Dispose of these Adventurers!", + "General Razha : Ha, Looks like your tougher then I thought.", + "General Razha : and here I thought I wasn't going to enjoy this.", + "General Razha : More of them are coming!", + "General Razha : Minions! Kill them already!", + "General Razha : *facepalm* I knew I should have hired better help.", + "General Razha : Well at least you will make a good addition to my army.", + "General Razha : To the Abyss with you already!", + "General Razha : How about you try a different approach and kill them already!", + "General Razha : Minions! Last chance or it's back to being part of an ossuary for you!", + "General Razha : Looks like if you want something done right you have to do it yourself.", + "General Razha : Charge!."; end; } diff --git a/world/map/npc/027-8/general_terogan.txt b/world/map/npc/027-8/general_terogan.txt index c0adafd1..099430ee 100644 --- a/world/map/npc/027-8/general_terogan.txt +++ b/world/map/npc/027-8/general_terogan.txt @@ -233,7 +233,7 @@ L_Failure: goto L_NextWave; L_CleanUpLosers: - mapannounce "027-8", "General Terogan:* You just proved you cannot even coordinate a simple task. Come back when you are prepared", 0; + mapannounce "027-8", "General Terogan : You just proved you cannot even coordinate a simple task. Come back when you are prepared", 0; set $@CRYPT_FIGHT3, 0; set $@CRYPT_FIGHT3_PLAYER_COUNT, 0; set $@CRYPT_FIGHT3_WAVE, 0; @@ -248,7 +248,7 @@ L_CleanUpLosers: end; L_CleanUp: - mapannounce "027-8", "General Terogan: You might have won this battle, but you will never defeat me!", 0; + mapannounce "027-8", "General Terogan : You might have won this battle, but you will never defeat me!", 0; areatimer "027-8", 0, 0, 79, 84, 10, "General Terogan#Main::OnReward"; set $@CRYPT_FIGHT3, 0; set $@CRYPT_FIGHT3_PLAYER_COUNT, 0; @@ -284,18 +284,18 @@ L_End: OnInit: setarray $@CRYPT_FIGHT3_MESSAGES$, - "General Terogan:* Haha, Thank you mortal. You have released me from my prison. To show my graditude you can die swiftly at my hands and become part of my undead army. MUhahahahaha! Minions, Dispose of these Adventurers!", - "General Terogan:* Ha, Looks like your tougher then I thought.", - "General Terogan:* and here I thought I wasn't going to enjoy this.", - "General Terogan:* More of them are coming!", - "General Terogan:* Minions! Kill them already!", - "General Terogan:* *facepalm* I knew I should have hired better help.", - "General Terogan:* Well at least you will make a good addition to my army.", - "General Terogan:* To the Abyss with you already!", - "General Terogan:* How about you try a different approach and kill them already!", - "General Terogan:* Minions! Last chance or it's back to being part of an ossuary for you!", - "General Terogan:* Looks like if you want something done right you have to do it yourself.", - "General Terogan:* Charge!."; + "General Terogan : Haha, Thank you mortal. You have released me from my prison. To show my graditude you can die swiftly at my hands and become part of my undead army. MUhahahahaha! Minions, Dispose of these Adventurers!", + "General Terogan : Ha, Looks like your tougher then I thought.", + "General Terogan : and here I thought I wasn't going to enjoy this.", + "General Terogan : More of them are coming!", + "General Terogan : Minions! Kill them already!", + "General Terogan : *facepalm* I knew I should have hired better help.", + "General Terogan : Well at least you will make a good addition to my army.", + "General Terogan : To the Abyss with you already!", + "General Terogan : How about you try a different approach and kill them already!", + "General Terogan : Minions! Last chance or it's back to being part of an ossuary for you!", + "General Terogan : Looks like if you want something done right you have to do it yourself.", + "General Terogan : Charge!."; end; } diff --git a/world/map/npc/029-1/_warps.txt b/world/map/npc/029-1/_warps.txt index 0035c309..0cd326bb 100644 --- a/world/map/npc/029-1/_warps.txt +++ b/world/map/npc/029-1/_warps.txt @@ -5,3 +5,4 @@ 029-1,44,83|warp|To Storeroom#029-11|-1,-1,029-2,22,92 029-1,52,84|warp|To The Magic Sh#029-12|-1,-1,029-2,103,61 029-1,58,79|warp|To Two Arms#029-13|-1,-1,029-2,94,30 +029-1,49,77|warp|To The Bank#029-14|-1,-1,029-2,24,123 diff --git a/world/map/npc/029-1/barrier.txt b/world/map/npc/029-1/barrier.txt index 1e5281a4..e6c580ad 100644 --- a/world/map/npc/029-1/barrier.txt +++ b/world/map/npc/029-1/barrier.txt @@ -10,10 +10,14 @@ L_Block: end; } -029-1,69,61,0|script|#CandorAnnouncer|127 +029-1,69,61,0|script|#CandorAnnouncer|32767 { end; +OnTalk: + if (BaseLevel >= 40) announce "Parua : " + $@candor_npctalk$, 3; // do not show these to newbies + end; + OnCommandTalk: - npctalk $@candor_npctalk$; + areatimer "029-1", 61, 61, 69, 73, 0, "#CandorAnnouncer::OnTalk"; end; } diff --git a/world/map/npc/029-1/dock.txt b/world/map/npc/029-1/dock.txt index 61f8a242..f0628440 100644 --- a/world/map/npc/029-1/dock.txt +++ b/world/map/npc/029-1/dock.txt @@ -13,7 +13,7 @@ close; } -029-1,55,110,0|script|#CandorDock|127 +029-1,55,110,0|script|#CandorDock|32767 { end; OnCommandArrive: diff --git a/world/map/npc/029-2/_import.txt b/world/map/npc/029-2/_import.txt index 086ac850..29e2607a 100644 --- a/world/map/npc/029-2/_import.txt +++ b/world/map/npc/029-2/_import.txt @@ -3,10 +3,13 @@ map: 029-2 npc: npc/029-2/_mobs.txt npc: npc/029-2/_warps.txt +npc: npc/029-2/bankroom.txt npc: npc/029-2/barrels.txt npc: npc/029-2/barrels_config.txt +npc: npc/029-2/cynric.txt npc: npc/029-2/mapflags.txt npc: npc/029-2/morgan.txt +npc: npc/029-2/nyle.txt npc: npc/029-2/sorfina.txt npc: npc/029-2/stat_reset.txt npc: npc/029-2/tanisha.txt diff --git a/world/map/npc/029-2/_warps.txt b/world/map/npc/029-2/_warps.txt index 061424d1..9b3d0e52 100644 --- a/world/map/npc/029-2/_warps.txt +++ b/world/map/npc/029-2/_warps.txt @@ -6,3 +6,4 @@ 029-2,112,84|warp|To Bedroom#029-22|-1,-1,029-2,44,30 029-2,103,62|warp|To Outside#029-23|-1,-1,029-1,52,85 029-2,94,31|warp|To Outside#029-24|-1,-1,029-1,58,80 +029-2,24,124|warp|To Outside#029-25|-1,-1,029-1,49,78 diff --git a/world/map/npc/029-2/bankroom.txt b/world/map/npc/029-2/bankroom.txt new file mode 100644 index 00000000..dea5a428 --- /dev/null +++ b/world/map/npc/029-2/bankroom.txt @@ -0,0 +1,9 @@ +// Nyle is part of the Tutorial. +// He explains how to use the bank. +// Author: Cassy + +029-2,36,122,0|script|#BankRoom|45,1,0 +{ + message strcharinfo(0), "The door is locked. This must be where Cynric saves the people's money and items."; + end; +} diff --git a/world/map/npc/029-2/cynric.txt b/world/map/npc/029-2/cynric.txt new file mode 100644 index 00000000..d9f46d85 --- /dev/null +++ b/world/map/npc/029-2/cynric.txt @@ -0,0 +1,9 @@ +// + +029-2,30,118,0|script|Cynric|161 +{ + callfunc "ClearVariables"; + set @npcname$, "Cynric"; + callfunc "Banker"; + close; +} diff --git a/world/map/npc/029-2/nyle.txt b/world/map/npc/029-2/nyle.txt new file mode 100644 index 00000000..3e15d6cb --- /dev/null +++ b/world/map/npc/029-2/nyle.txt @@ -0,0 +1,51 @@ +// Nyle is part of the Tutorial. +// He explains how to use the bank. +// Author: Cassy + +029-2,26,120,6|script|Nyle|101 +{ + mes "[Nyle]"; + mes "\"Visiting the bank too right? We're only a small village but Cynric is the best bank guy I know.\""; + menu + "Yeah, your right.", L_Close, + "What is banking?", L_Explain; + +L_Explain: + mes "[Nyle]"; + mes "\"There are banks all over the world. Usually every important village or city has one."; + mes "You can save both items and money at a bank.\""; + menu + "How do I save items?", L_Items, + "How do I save money?", L_Money, + "Thanks!", L_Thanks; + +L_Items: + mes "[Nyle]"; + mes "\"Let Cynric open your storage. You might also want to open your inventory."; + mes "Pick an item from either storage or inventory and choose what you want to do with it by clicking the right button."; + mes "You can also pick and drag items from one window into the other but this will move all items of this kind."; + next; + mes "Items in your storage are totally safe. Banking itself is totally safe.\""; + menu + "And how do I save money?", L_Money, + "Thanks!", L_Thanks; + +L_Money: + mes "[Nyle]"; + mes "\"That's easy. Cynric will save your money when you ask him to deposit. Or you pick up your money by asking to withdraw."; + mes "You only have to tell him how much you want to deposit or withdraw."; + mes "Also you can ask how much he already save for you by checking your balance."; + next; + mes "Money in your storage is totally safe. Banking itself is totally safe.\""; + menu + "And how do I save items?", L_Items, + "Thanks!", L_Thanks; + +L_Thanks: + mes "[Nyle]"; + mes "\"You are very welcome.\""; + goto L_Close; + +L_Close: + close; +} diff --git a/world/map/npc/029-2/sorfina.txt b/world/map/npc/029-2/sorfina.txt index c7d6e150..8becafd3 100644 --- a/world/map/npc/029-2/sorfina.txt +++ b/world/map/npc/029-2/sorfina.txt @@ -245,7 +245,7 @@ L_Bye: getitem "HitchhikersTowel", 1; getitem "CottonShirt", 1; getitem "RaggedShorts", 1; - set Zeny, Zeny + 50; + set Zeny, Zeny + 35; // tanisha gives 5 zeny set @tutorial_tmp, 8; callfunc "SetTutorialMask"; goto L_Close; diff --git a/world/map/npc/029-3/parua.txt b/world/map/npc/029-3/parua.txt index 59e0c8b6..f2aa728c 100644 --- a/world/map/npc/029-3/parua.txt +++ b/world/map/npc/029-3/parua.txt @@ -105,12 +105,10 @@ L_Enjoy: goto L_Exit; L_Wait: - set @seconds, ($@ANNOUNCE_TIME - gettimetick(2)); + set @ms, ($@ANNOUNCE_TIME - gettimetick(2)) * 1000; + callfunc "HumanTime"; mes "[Parua]"; - if (@seconds/60 == 0) - mes "\"Be Patient... The fight will start in " + @seconds + " seconds.\""; - if (@seconds/60 > 0) - mes "\"Be Patient... The fight will start in " + @seconds/60 + " minute(s).\""; + mes "\"Be Patient... The fight will start in " + @time$ + ".\""; goto L_Exit; L_NotEnough: @@ -221,7 +219,7 @@ L_NextRound: set $@candor_npctalk$, "The next round (level " + $@FIGHT_CAVE_LEVEL + ") is starting with " + $@FIGHT_CAVE_PLAYER_COUNT + " player(s) left alive."; donpcevent "#CandorAnnouncer::OnCommandTalk"; - mapannounce "029-3", "Parua: The next round (level " + $@FIGHT_CAVE_LEVEL + ") is starting with " + $@FIGHT_CAVE_PLAYER_COUNT + " player(s) left alive." , 0; + mapannounce "029-3", "Parua : The next round (level " + $@FIGHT_CAVE_LEVEL + ") is starting with " + $@FIGHT_CAVE_PLAYER_COUNT + " player(s) left alive." , 0; set $@MOB_1_SUMMON, 0; set $@MOB_2_SUMMON, 0; @@ -267,25 +265,25 @@ L_GlobalAnnounce: L_Five_Minutes: if ($@ANNOUNCE_TIME - gettimetick(2) > 300) end; - if($@FIGHT_CAVE_PLAYER_COUNT == 1) announce "Parua: " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. It is almost time! The fight will start in ##B##75 minutes##1##b and, at the moment, there is ##3only 1 fighter##1 in the cave.", 0; - if(($@FIGHT_CAVE_PLAYER_COUNT > 1) && ($@FIGHT_CAVE_PLAYER_COUNT < 5)) announce "Parua: " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. It is almost time! The fight will start in ##B##75 minutes##1##b and, at the moment, there are ##3only " + $@FIGHT_CAVE_PLAYER_COUNT + " fighters##1 in the cave.", 0; - if($@FIGHT_CAVE_PLAYER_COUNT >= 5) announce "Parua: " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. It is almost time! The fight will start in ##B##75 minutes##1##b and, at the moment, there are ##0" + $@FIGHT_CAVE_PLAYER_COUNT + " fighters##1 in the cave.", 0; + if($@FIGHT_CAVE_PLAYER_COUNT == 1) announce "Parua : " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. It is almost time! The fight will start in ##B##75 minutes##1##b and, at the moment, there is ##3only 1 fighter##1 in the cave.", 0; + if(($@FIGHT_CAVE_PLAYER_COUNT > 1) && ($@FIGHT_CAVE_PLAYER_COUNT < 5)) announce "Parua : " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. It is almost time! The fight will start in ##B##75 minutes##1##b and, at the moment, there are ##3only " + $@FIGHT_CAVE_PLAYER_COUNT + " fighters##1 in the cave.", 0; + if($@FIGHT_CAVE_PLAYER_COUNT >= 5) announce "Parua : " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. It is almost time! The fight will start in ##B##75 minutes##1##b and, at the moment, there are ##0" + $@FIGHT_CAVE_PLAYER_COUNT + " fighters##1 in the cave.", 0; set $@FIGHT_CAVE_STATUS, 2; end; L_Ten_Minutes: if ($@ANNOUNCE_TIME - gettimetick(2) > 600) end; - if($@FIGHT_CAVE_PLAYER_COUNT == 1) announce "Parua: " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. You still have time to prepare yourself for this fight, since it will only start in ##B##610 minutes##1##b. Right now, there is ##3only 1 fighter##1 in the cave.", 0; - if(($@FIGHT_CAVE_PLAYER_COUNT > 1) && ($@FIGHT_CAVE_PLAYER_COUNT < 5)) announce "Parua: " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. You still have time to prepare yourself for this fight, since it will only start in ##B##610 minutes##1##b. Right now, there are ##3only " + $@FIGHT_CAVE_PLAYER_COUNT + " fighters##1 in the cave.", 0; - if($@FIGHT_CAVE_PLAYER_COUNT >= 5) announce "Parua: " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. You still have time to prepare yourself for this fight, since it will only start in ##B##610 minutes##1##b. Right now, there are ##0" + $@FIGHT_CAVE_PLAYER_COUNT + " fighters##1 in the cave.", 0; + if($@FIGHT_CAVE_PLAYER_COUNT == 1) announce "Parua : " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. You still have time to prepare yourself for this fight, since it will only start in ##B##610 minutes##1##b. Right now, there is ##3only 1 fighter##1 in the cave.", 0; + if(($@FIGHT_CAVE_PLAYER_COUNT > 1) && ($@FIGHT_CAVE_PLAYER_COUNT < 5)) announce "Parua : " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. You still have time to prepare yourself for this fight, since it will only start in ##B##610 minutes##1##b. Right now, there are ##3only " + $@FIGHT_CAVE_PLAYER_COUNT + " fighters##1 in the cave.", 0; + if($@FIGHT_CAVE_PLAYER_COUNT >= 5) announce "Parua : " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. You still have time to prepare yourself for this fight, since it will only start in ##B##610 minutes##1##b. Right now, there are ##0" + $@FIGHT_CAVE_PLAYER_COUNT + " fighters##1 in the cave.", 0; set $@FIGHT_CAVE_STATUS, 3; end; L_Fifteen_Minutes: - if($@FIGHT_CAVE_PLAYER_COUNT == 1) announce "Parua: " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. The fight will start in ##B##615 minutes##1##b, so prepare yourself and call your friends. At the moment there is ##3only 1 fighter##1 in the cave.", 0; - if(($@FIGHT_CAVE_PLAYER_COUNT > 1) && ($@FIGHT_CAVE_PLAYER_COUNT < 5)) announce "Parua: " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. The fight will start in ##B##615 minutes##1##b, so prepare yourself and call your friends. At the moment there are ##3only " + $@FIGHT_CAVE_PLAYER_COUNT + " fighters##1 in the cave.", 0; - if($@FIGHT_CAVE_PLAYER_COUNT >= 5) announce "Parua: " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. The fight will start in ##B##615 minutes##1##b, so prepare yourself and call your friends. At the moment there are ##0" + $@FIGHT_CAVE_PLAYER_COUNT + " fighters##1 in the cave.", 0; + if($@FIGHT_CAVE_PLAYER_COUNT == 1) announce "Parua : " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. The fight will start in ##B##615 minutes##1##b, so prepare yourself and call your friends. At the moment there is ##3only 1 fighter##1 in the cave.", 0; + if(($@FIGHT_CAVE_PLAYER_COUNT > 1) && ($@FIGHT_CAVE_PLAYER_COUNT < 5)) announce "Parua : " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. The fight will start in ##B##615 minutes##1##b, so prepare yourself and call your friends. At the moment there are ##3only " + $@FIGHT_CAVE_PLAYER_COUNT + " fighters##1 in the cave.", 0; + if($@FIGHT_CAVE_PLAYER_COUNT >= 5) announce "Parua : " + $@SPONSOR$ + " invites everyone to a challenge against the powers that sleep in Candor. The fight will start in ##B##615 minutes##1##b, so prepare yourself and call your friends. At the moment there are ##0" + $@FIGHT_CAVE_PLAYER_COUNT + " fighters##1 in the cave.", 0; set $@FIGHT_CAVE_STATUS, 4; end; diff --git a/world/map/npc/030-4/mana_battery.txt b/world/map/npc/030-4/mana_battery.txt index 18507bc9..28f791c8 100644 --- a/world/map/npc/030-4/mana_battery.txt +++ b/world/map/npc/030-4/mana_battery.txt @@ -360,34 +360,34 @@ L_Restart: "", // unused "Scrrreeeeeeeeeeeeeeeeeeeeeaaaaaaaaaaaaaaaaaaaaatch", "Scrrreeeeeeeeeeeeeeeeeeeeeaaaaaaaaaaaaaaaaaaaaatch", - "Avalia: I am getting a weird sensation ... ", - "Orums Homunculus:* I think they know what we are up to!", - "Avalia:* Oh no! This is going to blow up", - "Orums Homunculus:* The Door is locked you idiot, fight for your life.", - "Avalia:* Guards of Honor I demand you: STOP!", - "Orums Homunculus:* Okay, this is somewhat funny... why are they coming back?!?", - "Avalia:* You brave fighters! Deactivate the nutcrackers! they are out of control!", - "Orums Homunculus:* The good news is: if we make it this time we will never have to do that again!", - "Avalia:* Oh boy we are so screwed.", - "Orums Homunculus:* Report: I am an Idiot", - "Avalia:* Quick, we need to kill the nutcrackers, before they ruin everything we've been working for.", - "Orums Homunculus:* Strange they are getting more and not less.", - "Avalia:* Oh no, they are too powerful. Fight my warriors, Fight for the spirit of Christmas.", - "Orums Homunculus:* If I was smart enough to stop talking, it would have happened already..", - "Avalia:* I cannot believe it, this is making them stronger. More and more of them are coming.", - "Orums Homunculus:* I think we are almost done, the bomb should explode any second.", - "Avalia:* Those poor creatures. Just kill them all.", - "Orums Homunculus:* A N Y S E C O N D.", - "Avalia:* Oh well... just try again, I trust in you.", - "Orum's Homunculus:* just lol.", - "Avalia:* Wow! You saved christmas.", - "Orum's Homunculus:* Yep, it's over... and strange enough you survived."; + "Avalia : I am getting a weird sensation ... ", + "Orums Homunculus : I think they know what we are up to!", + "Avalia : Oh no! This is going to blow up", + "Orums Homunculus : The Door is locked you idiot, fight for your life.", + "Avalia : Guards of Honor I demand you: STOP!", + "Orums Homunculus : Okay, this is somewhat funny... why are they coming back?!?", + "Avalia : You brave fighters! Deactivate the nutcrackers! they are out of control!", + "Orums Homunculus : The good news is: if we make it this time we will never have to do that again!", + "Avalia : Oh boy we are so screwed.", + "Orums Homunculus : Report: I am an Idiot", + "Avalia : Quick, we need to kill the nutcrackers, before they ruin everything we've been working for.", + "Orums Homunculus : Strange they are getting more and not less.", + "Avalia : Oh no, they are too powerful. Fight my warriors, Fight for the spirit of Christmas.", + "Orums Homunculus : If I was smart enough to stop talking, it would have happened already..", + "Avalia : I cannot believe it, this is making them stronger. More and more of them are coming.", + "Orums Homunculus : I think we are almost done, the bomb should explode any second.", + "Avalia : Those poor creatures. Just kill them all.", + "Orums Homunculus : A N Y S E C O N D.", + "Avalia : Oh well... just try again, I trust in you.", + "Orum's Homunculus : just lol.", + "Avalia : Wow! You saved christmas.", + "Orum's Homunculus : Yep, it's over... and strange enough you survived."; setarray $@xmas_final_announce$, - "Avalia:* Oh no, not only did you slay half my Guard of Honour, but also the issue was not fixed, try to install the battery again!", - "Orum's Homunculus:* Boy are you lame. So what now? The battery is still not placed! Go try again!", - "Avalia:* W00t you actually made it through. I think now that the manabattery lost some of its abundant power this seems to have given those nutcrackers that didn't go crazy a good boost of life energy. Thank you for your help all and come see me for a reward.", - "Orum's Homunculus:* Good. They are dead. Now GET OUT OF THERE, this bomb is dangerous!"; + "Avalia : Oh no, not only did you slay half my Guard of Honour, but also the issue was not fixed, try to install the battery again!", + "Orum's Homunculus : Boy are you lame. So what now? The battery is still not placed! Go try again!", + "Avalia : W00t you actually made it through. I think now that the manabattery lost some of its abundant power this seems to have given those nutcrackers that didn't go crazy a good boost of life energy. Thank you for your help all and come see me for a reward.", + "Orum's Homunculus : Good. They are dead. Now GET OUT OF THERE, this bomb is dangerous!"; // Danger Cells to attack sitters // 0: 19,20,29,29 // 1: 30,20,40,29 diff --git a/world/map/npc/031-1/dock.txt b/world/map/npc/031-1/dock.txt index 37ec98ed..b19cf271 100644 --- a/world/map/npc/031-1/dock.txt +++ b/world/map/npc/031-1/dock.txt @@ -13,7 +13,7 @@ close; } -031-1,100,100,0|script|#NivalisDock|127 +031-1,100,100,0|script|#NivalisDock|32767 { end; diff --git a/world/map/npc/031-4/cindyCave.txt b/world/map/npc/031-4/cindyCave.txt index 2bce44bf..218e4c08 100644 --- a/world/map/npc/031-4/cindyCave.txt +++ b/world/map/npc/031-4/cindyCave.txt @@ -238,17 +238,17 @@ L_End: OnInit: setarray $@FIGHT_YETI_MESSAGES$, "", // unused - // ":* " is magic so that it says "global announcement from" - "Cindy:* Yetis!", - "Cindy:* Watch out!", - "Cindy:* More of them are coming!", - "Cindy:* Be careful! More of them!", - "Cindy:* Attention! There is another bunch of them!", - "Cindy:* Hang on! More of them!", - "Cindy:* More Yetis! Will this never end?", - "Cindy:* There are coming more and more!", - "Cindy:* Watch your back! There are so many of them!", - "Cindy:* This seems to be their final attack! I believe in you!"; + // " : " is magic so that it says "global announcement from" + "Cindy : Yetis!", + "Cindy : Watch out!", + "Cindy : More of them are coming!", + "Cindy : Be careful! More of them!", + "Cindy : Attention! There is another bunch of them!", + "Cindy : Hang on! More of them!", + "Cindy : More Yetis! Will this never end?", + "Cindy : There are coming more and more!", + "Cindy : Watch your back! There are so many of them!", + "Cindy : This seems to be their final attack! I believe in you!"; end; ///////// diff --git a/world/map/npc/051-1/janitor.txt b/world/map/npc/051-1/janitor.txt index f0b8b771..623690f0 100644 --- a/world/map/npc/051-1/janitor.txt +++ b/world/map/npc/051-1/janitor.txt @@ -1,5 +1,5 @@ // Forest janitor -051-1,1,1,0|script|#IlliaJanitor1|127 +051-1,1,1,0|script|#IlliaJanitor1|32767 { end; @@ -10,7 +10,7 @@ OnCommandClean: } // Desert janitor -051-1,1,1,0|script|#IlliaJanitor3|127 +051-1,1,1,0|script|#IlliaJanitor3|32767 { end; diff --git a/world/map/npc/051-3/ambush.txt b/world/map/npc/051-3/ambush.txt index 63b9775f..fd663f33 100644 --- a/world/map/npc/051-3/ambush.txt +++ b/world/map/npc/051-3/ambush.txt @@ -52,7 +52,7 @@ L_ShouldNotBeHere: end; } -051-3,1,1,0|script|#BndtTl|127 +051-3,1,1,0|script|#BndtTl|32767 { end; @@ -141,7 +141,7 @@ L_CaptureHelper3: } -051-3,29,94,0|script|Sneaky Bandit|127 +051-3,29,94,0|script|Sneaky Bandit|32767 { end; @@ -161,7 +161,7 @@ OnTimer3600: } -051-3,33,95,0|script|Another Sneaky Bandit|127 +051-3,33,95,0|script|Another Sneaky Bandit|32767 { end; diff --git a/world/map/npc/051-3/janitor.txt b/world/map/npc/051-3/janitor.txt index 905fe4dd..edef5856 100644 --- a/world/map/npc/051-3/janitor.txt +++ b/world/map/npc/051-3/janitor.txt @@ -1,5 +1,5 @@ // Bandit cave janitor -051-3,1,1,0|script|#IlliaJanitor2|127 +051-3,1,1,0|script|#IlliaJanitor2|32767 { end; diff --git a/world/map/npc/051-3/reinforcements.txt b/world/map/npc/051-3/reinforcements.txt index e52242cd..34f5434b 100644 --- a/world/map/npc/051-3/reinforcements.txt +++ b/world/map/npc/051-3/reinforcements.txt @@ -48,7 +48,7 @@ OnRnfrcmts: // Spawn 4 bandit lords areamonster "051-3", 29, 25, 48, 39, "", 1065, 3, "Door::OnB"; initnpctimer; - mapannounce "051-3", "Bandit Lords:* Do not let them escape!!" , 0; + mapannounce "051-3", "Bandit Lords : Do not let them escape!!" , 0; areatimer "051-3", 25, 20, 80, 85, 10, "Door::OnDRnfrcmts"; end; diff --git a/world/map/npc/052-1/janitor.txt b/world/map/npc/052-1/janitor.txt index dbbd54dc..6acd12ed 100644 --- a/world/map/npc/052-1/janitor.txt +++ b/world/map/npc/052-1/janitor.txt @@ -1,6 +1,6 @@ // Illia Island janitor -052-1,1,1,0|script|#IlliaJanitor4|127 +052-1,1,1,0|script|#IlliaJanitor4|32767 { end; diff --git a/world/map/npc/052-2/chest.txt b/world/map/npc/052-2/chest.txt index 7ba0d2df..03b08b82 100644 --- a/world/map/npc/052-2/chest.txt +++ b/world/map/npc/052-2/chest.txt @@ -30,8 +30,10 @@ L_ShouldNotBeHere: end; OnInit: - setarray $@illia_item_common_rewards, 601, 636, 637, 638, 639, 625, 626, 658, 571, 579, 876, 782, 545, 758, 4028, 602, 536, 720, 532, 570, 642; - setarray $@illia_item_unique_rewards, 877, 878, 879, 880; + setarray $@illia_common_rewards$, "SteelShield", "WarlordHelmet", "KnightsHelmet", "InfantryHelmet", "CrusadeHelmet", "ChainmailShirt", "LightPlatemail", "WarlordPlate", "Setzer", "RockKnife", "WarlordBoots", "ForestArmor", "ForestBow", "WoodenStaff", "WizardHat", "WoodenShield", "ShortSword", "SilkRobe", "LeatherGloves", "BoneKnife", "JeansChaps"; + setarray $@illia_common_rewards_n$, "Steel Shield", "Warlord Helmet", "Knights Helmet", "Infantry Helmet", "Crusade Helmet", "Chainmail Shirt", "Light Platemail", "Warlord Plate", "Setzer", "Rock Knife", "Warlord Boots", "Forest Armor", "Forest Bow", "Wooden Staff", "Wizard Hat", "Wooden Shield", "Short Sword", "Silk Robe", "Leather Gloves", "Bone Knife", "Jeans Chaps"; + setarray $@illia_unique_rewards$, "BullHelmet", "BansheeBow", "HeartOfIsis", "LazuriteRobe"; + setarray $@illia_unique_rewards_n$, "Bull Helmet", "Banshee Bow", "Heart of Isis", "Lazurite Robe"; end; L_ResumePick: @@ -58,13 +60,14 @@ L_GetCommonReward: if (@illia_current_num_rewards == $@illia_num_common_reward_items) goto L_RewardDone; getinventorylist; - set @reward, $@illia_item_common_rewards[rand(getarraysize($@illia_item_common_rewards))]; - if ((checkweight(@reward, 1) == 0) || (@inventorylist_count == 100)) + set @index, rand(getarraysize($@illia_common_rewards$)); + set @reward$, $@illia_common_rewards$[@index]; + if ((checkweight(@reward$, 1) == 0) || (@inventorylist_count == 100)) goto L_InventoryNoSpace; set @illia_current_num_rewards, @illia_current_num_rewards + 1; - getitem @reward, 1; - mes "You found a " + getitemname(@reward) + "!"; - set @reward, 0; + getitem @reward$, 1; + mes "You found a " + $@illia_common_rewards_n$[@index] + "!"; + set @reward$, ""; goto L_GetCommonReward; L_GetUniqueReward: @@ -73,17 +76,18 @@ L_GetUniqueReward: if (Illia_Uniques_Count >= 2) goto L_GetUniqueReward2; getinventorylist; - set @reward, $@illia_item_unique_rewards[rand(getarraysize($@illia_item_unique_rewards))]; - if ((checkweight(@reward, 1) == 0) || (@inventorylist_count == 100)) + set @index, rand(getarraysize($@illia_unique_rewards$)); + set @reward$, $@illia_unique_rewards$[@index]; + if ((checkweight(@reward$, 1) == 0) || (@inventorylist_count == 100)) goto L_InventoryNoSpace; next; mes "You notice an interesting shape hidden under a cover..."; next; set @illia_current_num_rewards, @illia_current_num_rewards + 1; - getitem @reward, 1; - mes "You found a " + getitemname(@reward) + "!"; + getitem @reward$, 1; + mes "You found a " + $@illia_unique_rewards_n$[@index] + "!"; set Illia_Uniques_Count, Illia_Uniques_Count + 1; - set @reward, 0; + set @reward$, ""; goto L_GetUniqueReward; L_GetUniqueReward2: diff --git a/world/map/npc/052-2/janitor.txt b/world/map/npc/052-2/janitor.txt index 7435f005..73858ce4 100644 --- a/world/map/npc/052-2/janitor.txt +++ b/world/map/npc/052-2/janitor.txt @@ -1,5 +1,5 @@ // Lobby janitor -052-2,1,1,0|script|#IlliaJanitor5|127 +052-2,1,1,0|script|#IlliaJanitor5|32767 { end; @@ -12,7 +12,7 @@ OnCommandClean: } // Storage janitor -052-2,1,1,0|script|#IlliaJanitor6|127 +052-2,1,1,0|script|#IlliaJanitor6|32767 { end; @@ -24,7 +24,7 @@ OnCommandClean: } // Final boss janitor -052-2,1,1,0|script|#IlliaJanitor7|127 +052-2,1,1,0|script|#IlliaJanitor7|32767 { end; diff --git a/world/map/npc/052-2/partyroom.txt b/world/map/npc/052-2/partyroom.txt index ce9c9f7d..83bb51ee 100644 --- a/world/map/npc/052-2/partyroom.txt +++ b/world/map/npc/052-2/partyroom.txt @@ -83,7 +83,7 @@ OnTimer15000: } -052-2,88,15,0|script|#LuviaDaemon|127 +052-2,88,15,0|script|#LuviaDaemon|32767 { end; @@ -214,7 +214,7 @@ OnDeath: end; set $@illia_level_7_progress, 4; killmonster "052-2", "#LuviaDaemon::OnWGD"; - mapannounce "052-2", "Luvia:* How? By mere humans! But we will see again! Enjoy your victory while it lasts, " + $@ILLIA_HERO$ + "!!", 0; + mapannounce "052-2", "Luvia : How? By mere humans! But we will see again! Enjoy your victory while it lasts, " + $@ILLIA_HERO$ + "!!", 0; set $@illia_bp, $Illia_Luvia_Harvest * 16 / 10 + 120; areatimer "052-2", 73, 11, 115, 49, 0, "#LuviaDaemon::OnBP"; diff --git a/world/map/npc/052-2/storage.txt b/world/map/npc/052-2/storage.txt index 62f9cd46..4ddfdc09 100644 --- a/world/map/npc/052-2/storage.txt +++ b/world/map/npc/052-2/storage.txt @@ -27,7 +27,7 @@ L_StartItemInvoker: } -052-2,1,1,0|script|#ItemsInvoker|127 +052-2,1,1,0|script|#ItemsInvoker|32767 { end; diff --git a/world/map/npc/annuals/xmas/config.txt b/world/map/npc/annuals/xmas/config.txt index 33ddcf97..b7a6de82 100644 --- a/world/map/npc/annuals/xmas/config.txt +++ b/world/map/npc/annuals/xmas/config.txt @@ -129,12 +129,12 @@ L_Main: goto L_XmasError; // Santas Helper quest rewards setarray $@SantasHelper_Annual_Reward$, - "RedTurtleneckSweater", - "YellowTurtleneckSweater", - "LightBlueTurtleneckSwea", - "PinkTurtleneckSweater", - "OrangeTurtleneckSweater", - "PurpleTurtleneckSweater", + "RedTurtleneck", + "YellowTurtleneck", + "LightBlueTurtleneck", + "PinkTurtleneck", + "OrangeTurtleneck", + "PurpleTurtleneck", "KnitCap", "KnitCap"; diff --git a/world/map/npc/functions/DyeConfig.txt b/world/map/npc/functions/DyeConfig.txt new file mode 100644 index 00000000..1da1e734 --- /dev/null +++ b/world/map/npc/functions/DyeConfig.txt @@ -0,0 +1,42 @@ +009-2,32,105,0|script|#DyeChecker|-1 +{ + end; +OnInit: + /****************************** + Config Starts Here + ******************************/ + setarray $@DYE_color_names$, "Red", "Green", "Dark Blue", "Yellow", "Light blue", "Pink", "Black", "Orange", "Purple", "Dark Green"; + setarray $@DYE_colors$, "Red", "Green", "DarkBlue", "Yellow", "LightBlue", "Pink", "Black", "Orange", "Purple", "DarkGreen"; + + setarray $@DYE_items$, "CottonShirt", "CottonCloth", "VNeckSweater", "Turtleneck", "CottonShorts", "CottonTrousers", "CottonSkirt", "Miniskirt", "TankTop", "ShortTankTop", "SilkRobe", "CottonHeadband", "DesertHat", "CottonBoots", "CottonGloves", "RabbitEars", "WizardHat", "BowlerHat", "BowlerHatBrown", "FineDress", "Contributor", "SorcererRed", "SorcererGreen", "SorcererDBlue", "SorcererYellow", "SorcererLBlue", "SorcererPink", "SorcererBlack", "SorcererOrange", "SorcererPurple", "SorcererDGreen", "SorcererWhite"; + setarray $@DYE_item_names$, "Cotton Shirt", "Cotton Cloth", "V-Neck Sweater", "Turtleneck Sweater", "Cotton Shorts", "Cotton Trousers", "Cotton Skirt", "Miniskirt", "Tank Top", "Short Tank Top", "Silk Robe", "Cotton Headband", "Desert Hat", "Cotton Boots", "Cotton Gloves", "Rabbit Ears", "Wizard Hat", "Bowler Hat", "Bowler Hat (brown)", "Fine Dress", "Contributor Shirt", "Sorcerer Robe (Red)", "Sorcerer Robe (Green)", "Sorcerer Robe (Dark Blue)", "Sorcerer Robe (Yellow)", "Sorcerer Robe (Light Blue)", "Sorcerer Robe (Pink)", "Sorcerer Robe (Black)", "Sorcerer Robe (Orange)", "Sorcerer Robe (Purple)", "Sorcerer Robe (Dark Green)", "Sorcerer Robe (White)"; + /****************************** + Config Ends Here + ******************************/ + + set $@w, 0; + freeloop 1; // do not check for infinity loop + callsub S_Array; + freeloop 0; // re-enable infinity loop check + set $@w, 0; + set $@c, 0; + end; + +S_Array: + if(getitemname($@DYE_items$[$@w]) == "Unknown Item") goto L_Fail; + set $@c, 0; + callsub S_Color; + set $@w, $@w + 1; + if($@w < getarraysize($@DYE_items$)) goto S_Array; + return; + +L_Fail: + debugmes "Dye Fail: "+$@DYE_items$[$@w]; + mapexit; + +S_Color: + if(getitemname($@DYE_colors$[$@c] + $@DYE_items$[$@w]) == "Unknown Item") goto L_Fail; + set $@c, $@c + 1; + if($@c < getarraysize($@DYE_colors$)) goto S_Color; + return; +} diff --git a/world/map/npc/functions/ferry.txt b/world/map/npc/functions/ferry.txt index 3d5f8ebb..aad92b14 100644 --- a/world/map/npc/functions/ferry.txt +++ b/world/map/npc/functions/ferry.txt @@ -40,8 +40,6 @@ L_NextDock: donpcevent "#k1sound::OnCommandDing"; donpcevent "#k2sound::OnCommandDing"; - //mapannounce "035-2", " Koga - Main:* Now arriving in "+$@MainDocks$[$@MainCurrentDock]+".", 0; - //mapannounce "036-2", " Koga - Candor:* Now arriving in "+$@CandorDocks$[$@CandorCurrentDock]+".", 0; initnpctimer; if($@MainCurrentDock == 2) goto L_k1city1; @@ -52,8 +50,6 @@ L_NextDock: OnTimer8000: if ($@DockTickCount > $@DockLeaveCount) goto L_NextDock; - //mapannounce "035-2", "Koga - Main:* Now docked in "+$@MainDocks$[$@MainCurrentDock]+", Departing soon", 0; - //mapannounce "036-2", "Koga - Candor:* Now docked in "+$@CandorDocks$[$@CandorCurrentDock]+", Departing soon", 0; set $@DockTickCount, $@DockTickCount + 1; initnpctimer; end; diff --git a/world/map/npc/functions/game_rules.txt b/world/map/npc/functions/game_rules.txt index cbd4b8fb..d0b30c0d 100644 --- a/world/map/npc/functions/game_rules.txt +++ b/world/map/npc/functions/game_rules.txt @@ -78,14 +78,14 @@ L_French: goto L_End; L_Spanish: - mes "Los jugadores que infrinjan las siguientes reglas pueden ser bloqueados (incluso permanentemente) o se reiniciarán al nivel 1 sus personajes, según el criterio de los GM:"; - mes "1. No abuse de otros jugadores (esto incluye insultos, malas palabras, y similares dirigidas a una o varias personas)"; - mes "2. No utilizar programas automáticos (incluyendo CUALQUIER actividad con el usuario lejos del teclado o el seguimiento automático)"; - mes "3. No envíe mensajes publicitarios o inunde el chat de mensajes (incluyendo los mensajes de intercambio)"; + mes "Los jugadores que rompan las siguientes reglas pueden ser bloqueados (incluso permanentemente), o se les restablecerán sus personajes, según el criterio del GM:"; + mes "1. No abusar de otros jugadores (insultos, malas palabras, y similares dirigidas a una o varias personas)"; + mes "2. No utilizar programas automáticos (incluyendo el seguimiento automático y CUALQUIER otra actividad mientras el jugador está lejos del teclado)"; + mes "3. No enviar mensajes publicitarios ni inundar el chat de mensajes (incluyendo los mensajes de intercambio)"; mes "4. No mendigar."; - mes "5. Escriba únicamente en Inglés en el chat público"; - mes "6. Trate a los demás de la misma forma que le gustaría ser tratado"; - mes "El uso de programas automáticos para jugar sin estar frente al teclado se determinará hablando con los jugadores que estén moviéndose y/o atacando."; + mes "5. Hablar únicamente en Inglés en el chat público"; + mes "6. Tratar a los demás de la misma forma que le gustaría ser tratado"; + mes "El uso de programas automáticos para jugar sin estar frente al teclado será determinado al hablar con los jugadores que estén moviéndose y/o atacando."; mes "El seguimiento automático será determinado por observación."; goto L_End; @@ -125,15 +125,15 @@ L_Polish: goto L_End; L_Italian: - mes "ATTENTION: this translation is outdated. Please refer to the English version and submit a patch."; - mes "I giocatori che infrangeranno le seguenti regole saranno bannati (anche permanentemente) o saranno resettati, a discrezione dei Game Masters:"; - mes "1. Vietato abusare degli altri giocatori (insulti, imprecazioni e simili, diretti verso una particolare persona o gruppi di persone)"; - mes "2. Vietato usare bot (ossia effettuare QUALSIASI attività quando non si è presenti alla tastiera)"; - mes "3. Vietato spammare / postare ripetutamente messaggi inutili (incluso spam di richieste di scambio)"; - mes "4. Vietato implorare"; - mes "5. Parlare solo inglese nella chat pubblica"; - mes "6. Tratta gli altri giocatori come vuoi che gli altri trattino te."; - mes "I bot saranno determinati in base alle risposte e ai movimenti dei giocatori esaminati."; + mes "Gli account dei giocatori che infrangeranno le seguenti regole verranno bloccati (anche permanentemente) o i loro personaggi saranno resettati, a discrezione dei GM:"; + mes "1. Non trattare male gli altri giocatori (questo include insulti, imprecazioni, e simili, diretti verso una persona in particolare o verso gruppi di persone)"; + mes "2. Non usare bot (ossia non effettuare NESSUNA attività quando non si è al computer)"; + mes "3. Non effettuare spam o scrivere ripetutamente messaggi inutili (incluso spam con richieste di scambio)"; + mes "4. Non fare il mendicante, ovvero non importunare gli altri chiedendo soldi o oggetti"; + mes "5. Non parlare altre lingue al di fuori dell'inglese nella chat pubblica"; + mes "6. Non fare agli altri ciò che non vuoi sia fatto a te."; + mes "I bot saranno individuati scrivendo ai giocatori sospetti che attaccano o camminano, esaminandone le risposte e i movimenti."; + mes "Chiunque segua automaticamente un altro giocatore senza dimostrare di non essere un bot, verrà considerato come tale."; goto L_End; L_End: diff --git a/world/map/npc/functions/time.txt b/world/map/npc/functions/time.txt index 695c4cec..7d16a200 100644 --- a/world/map/npc/functions/time.txt +++ b/world/map/npc/functions/time.txt @@ -61,13 +61,20 @@ function|script|time_stamp // HumanTime - returns a human-readable time // author: meko -// Variables: +// Internal variables: +// @separator$, @unit$, @unit2$, @unit3$, @unit4$, @unit5$ +// @seconds, @minutes, @hours, @days + +// Public Variables: // input @ms integer // output @time$ string function|script|HumanTime { set @time$, "now"; + if(@seconds) set @ms, @ms + (@seconds * 1000); + if(@minutes) set @ms, @ms + (@minutes * 60000); + if(@days) set @ms, @ms + (@days * 1440000); if(@ms < 1000) goto L_Millis; // under 1 second we have nothing to count set @seconds, @ms / 1000; set @ms, @ms % 1000; @@ -77,8 +84,11 @@ function|script|HumanTime if(@minutes < 60) goto L_Minutes; set @hours, @minutes / 60; set @minutes, @minutes % 60; - if(@hours < 60) goto L_Hours; - return; + if(@hours < 24) goto L_Hours; + set @days, @hours / 24; + set @hours, @hours % 24; + if(@days) goto L_Days; + goto L_Clean; L_Millis: set @time$, @ms + "ms"; @@ -91,7 +101,7 @@ L_Seconds: if(@ms > 1) set @unit2$, "milliseconds"; set @time$, @seconds + " " + @unit$; if(@ms) set @time$, @time$ + " and " + @ms + " " + @unit2$; - return; + goto L_Clean; L_Minutes: set @unit$, "minute"; @@ -105,7 +115,7 @@ L_Minutes: if(@ms) set @separator$, ", "; if(@seconds) set @time$, @time$ + @separator$ + @seconds + " " + @unit2$; if(@ms) set @time$, @time$ + " and " + @ms + " " + @unit3$; - return; + goto L_Clean; L_Hours: set @unit$, "hour"; @@ -124,5 +134,42 @@ L_Hours: if(@ms) set @separator$, ", "; if(@seconds) set @time$, @time$ + @separator$ + @seconds + " " + @unit3$; if(@ms) set @time$, @time$ + " and " + @ms + " " + @unit4$; + goto L_Clean; + +L_Days: + set @unit$, "day"; + if(@hours > 1) set @unit$, "days"; + set @unit2$, "hour"; + if(@hours > 1) set @unit2$, "hours"; + set @unit3$, "minute"; + if(@minutes > 1) set @unit3$, "minutes"; + set @unit4$, "second"; + if(@seconds > 1) set @unit4$, "seconds"; + set @unit5$, "millisecond"; + if(@ms > 1) set @unit5$, "milliseconds"; + set @time$, @days + " " + @unit$; + set @separator$, " and "; + if(@minutes || @seconds || @ms) set @separator$, ", "; + if(@hours) set @time$, @time$ + @separator$ + @hours + " " + @unit2$; + set @separator$, " and "; + if(@seconds || @ms) set @separator$, ", "; + if(@minutes) set @time$, @time$ + @separator$ + @minutes + " " + @unit3$; + set @separator$, " and "; + if(@ms) set @separator$, ", "; + if(@seconds) set @time$, @time$ + @separator$ + @seconds + " " + @unit3$; + if(@ms) set @time$, @time$ + " and " + @ms + " " + @unit4$; + goto L_Clean; + +L_Clean: + set @unit$, ""; + set @unit2$, ""; + set @unit3$, ""; + set @unit4$, ""; + set @unit5$, ""; + set @seconds, 0; + set @minutes, 0; + set @hours, 0; + set @days, 0; + set @separator$, ""; return; } diff --git a/world/map/npc/functions/travelers.txt b/world/map/npc/functions/travelers.txt index a1db712e..07b084d9 100644 --- a/world/map/npc/functions/travelers.txt +++ b/world/map/npc/functions/travelers.txt @@ -189,6 +189,13 @@ L_TravelPachua: set @NextLocationMap$, "006-1"; set @NextLocationX, 28; set @NextLocationY, 97; + if(QUEST_MIRIAM_start != 0) goto L_Cheat; + goto L_TravelChecks; + +L_Cheat: + set QUEST_MIRIAM_cheat, 1; + set QUEST_MIRIAM_run, gettimetick(2) - QUEST_MIRIAM_start; + set QUEST_MIRIAM_start, 0; goto L_TravelChecks; L_TravelBarbarians: diff --git a/world/map/npc/items/warpTowels.txt b/world/map/npc/items/warpTowels.txt index 32a52aff..f586ed99 100644 --- a/world/map/npc/items/warpTowels.txt +++ b/world/map/npc/items/warpTowels.txt @@ -1,7 +1,8 @@ // See #TravelConfig function|script|WarpTowel { - if (TowelLastUsed > (gettimetick(2) - 1800)) + set @seconds, TowelLastUsed - (gettimetick(2) - 1800); + if (@seconds > 0) goto L_DontPanic; if (isin("botcheck",25,27,51,47)) goto L_Prison; @@ -102,6 +103,13 @@ L_Lime: set @NextLocationMap$, "006-1"; set @NextLocationX, 28; set @NextLocationY, 97; + if(QUEST_MIRIAM_start != 0) goto L_Cheat; + goto L_WarpPlayer; + +L_Cheat: + set QUEST_MIRIAM_cheat, 1; + set QUEST_MIRIAM_run, gettimetick(2) - QUEST_MIRIAM_start; + set QUEST_MIRIAM_start, 0; goto L_WarpPlayer; L_Save: @@ -123,15 +131,16 @@ L_BreakChance: goto L_End; L_Forbid: - message strcharinfo(0), "This area is protected by a force that doesn't tolerate the power of the Towel."; + message strcharinfo(0), "##1Towel : This area is protected by a force that doesn't tolerate the power of the Towel."; goto L_Keep; L_Prison: - message strcharinfo(0), "You must be warped by a GM to leave the botcheck area."; + message strcharinfo(0), "##1Towel : You must be warped by a GM to leave the botcheck area."; goto L_Keep; L_DontPanic: - message strcharinfo(0), "Your towel is still too low on power to jump again."; + callfunc "HumanTime"; + message strcharinfo(0), "##3Towel : Your towel is still too low on power to jump again. Try again in ##B"+ @time$ + "##b."; goto L_Keep; L_Keep: @@ -168,4 +177,3 @@ L_Return: cleararray $@warpTowels$, "", getarraysize($@warpTowels$); return; } - diff --git a/world/map/npc/scripts.conf b/world/map/npc/scripts.conf index d9fbd64d..1414f681 100644 --- a/world/map/npc/scripts.conf +++ b/world/map/npc/scripts.conf @@ -27,6 +27,7 @@ npc: npc/functions/global_event_handler.txt npc: npc/functions/stat_reset.txt npc: npc/functions/quiz.txt npc: npc/functions/dynamic_menu.txt +npc: npc/functions/DyeConfig.txt // Item Functions npc: npc/items/magic_gm_top_hat.txt |