diff options
author | AJ K <aj@keresztes.us> | 2024-08-28 14:37:48 -0400 |
---|---|---|
committer | AJ K <aj@keresztes.us> | 2024-08-28 14:37:48 -0400 |
commit | e39be783e852f390d61776c51c006d444a131f0b (patch) | |
tree | 8183fcb880c427c10f0ff341e8981a4e1afa7e6f | |
parent | cca41e5ba8fcd2e971303fd54be8786c86d82c7e (diff) | |
parent | 59aa2316201d785beee4abe7a4cfe6b87f53beb1 (diff) | |
download | serverdata-master.tar.gz serverdata-master.tar.bz2 serverdata-master.tar.xz serverdata-master.zip |
65 files changed, 705 insertions, 186 deletions
diff --git a/client-data b/client-data -Subproject 613a7d13d75910d6c1179dd970fbc3f1181d9bf +Subproject e4435a4ac1e18042c498fbb107d92422964da09 diff --git a/tools b/tools -Subproject 5f4eb9489c35b8a8ea91fa65989efa89353c53e +Subproject 1ff4530284a8512020950de961298df6ec91e24 diff --git a/world/map/data/012-1.wlk b/world/map/data/012-1.wlk Binary files differindex 6008bfcd..bad011f4 100644 --- a/world/map/data/012-1.wlk +++ b/world/map/data/012-1.wlk diff --git a/world/map/db/const-aegis.txt b/world/map/db/const-aegis.txt index a1cd00ae..c5c19c0f 100644 --- a/world/map/db/const-aegis.txt +++ b/world/map/db/const-aegis.txt @@ -387,6 +387,10 @@ JunglefowlFeather 5375 KingChonkyBirbFeather 5376 Honeycomb 5377 Beeswax 5378 +Stone 5380 +Brick 5381 +MountainCrystal 5384 +BlackQuartz 5385 LeatherShirt 523 DesertShirt 546 Turtleneck 564 @@ -991,7 +995,7 @@ PumpkinJuice 5343 ChocolateBiscuit 5344 ChocolateBunny 5345 Potatoz 5346 -Pumpkin 5347 +RipePumpkin 5347 FruitSalad 5348 DuckEgg 5349 Dragonfruit 5350 @@ -1003,6 +1007,8 @@ ButterButterfly 5364 JunglefowlEgg 5373 KingChonkyBirbEgg 5374 Sauerkraut 5379 +AnchorStone 5382 +AnchoredAnchorStone 5383 CottonShorts 586 JeansShorts 610 CottonSkirt 632 @@ -1297,3 +1303,5 @@ SmallRubyBif 1221 SmallSapphireBif 1222 SmallTopazBif 1223 CoalGolem 1224 +StoneSlime 1225 +StoneGolem 1226 diff --git a/world/map/db/const.txt b/world/map/db/const.txt index b60a2bff..2e1aef15 100644 --- a/world/map/db/const.txt +++ b/world/map/db/const.txt @@ -77,6 +77,9 @@ AMMO_BOW 1 AMMO_SLING 2 AMMO_WAND 3 AMMO_XMAS 4 +AMMO_DONT_USE 5 +// using AMMO_DONT_USE with CheckLauncher removes all other ammos there must not be an ammo that uses AMMO_DONT_USE with CheckAmmo +// without this the the eqipped ammo would not removed and ammo could still be eqipped and it does not matter what ammo and the ammo damage would be added to the final weapon damage // Hairstyles HS_Bald 0 @@ -132,11 +135,14 @@ cOrange 7 cPurple 8 cDarkGreen 9 -SC_POISON 132 SC_SLOWPOISON 14 SC_SPEEDPOTION0 37 +SC_POISON 132 +SC_SLOWMOVE 133 +SC_CANTMOVE 134 SC_ATKPOT 185 SC_MATKPOT 186 +SC_PHYS_SHIELD_ITEM 193 SC_SHEARED 194 SC_HIDE 194 SC_HALT_REGENERATE 195 @@ -152,6 +158,7 @@ SC_COOLDOWN_AR 75 SC_COOLDOWN_ENCH 76 SC_COOLDOWN_KOY 77 SC_COOLDOWN_UPMARMU 78 +SC_COOLDOWN_SG 79 // Emotions EMOTE_DISGUST 1 @@ -531,4 +538,3 @@ MLP_CR_DEBUT 4 // Local Quest Constants MLP_TMW_CELESTIA 1 MLP_TMW_YETIKING 2 - diff --git a/world/map/db/item_db.conf b/world/map/db/item_db.conf index 466b9526..56d61dd2 100644 --- a/world/map/db/item_db.conf +++ b/world/map/db/item_db.conf @@ -1234,9 +1234,9 @@ item_db: ( AegisName: "BoneArrows" Name: "BoneArrows" Type: "IT_AMMO" - Buy: 50 - Sell: 20 - Weight: 0 + Buy: 8 + Sell: 4 + Weight: 1 Atk: 55 Slots: 0 Loc: "EQP_AMMO" @@ -1611,7 +1611,12 @@ item_db: ( Loc: "EQP_HAND_R" Refine: false ViewSprite: 910 + DontUseAmmo: true Subtype: "W_BOW" + Script: <" + //set @LauncherType, AMMO_DONT_USE; // @TMWA + //callfunc "CheckLauncher"; // @TMWA + "> }, { Id: 1227 @@ -1976,15 +1981,15 @@ item_db: ( Type: "IT_ARMOR" Buy: 8000 Sell: 500 - Weight: 30 - Matk: -2 - Def: 1 + Weight: 250 + Matk: -14 + Def: 4 Slots: 0 Loc: "EQP_SHOES" Refine: false ViewSprite: 792 Script: <" - bonus bMatkRate, -2; // @EVOL2 + bonus bMatkRate, -14; // @EVOL2 "> }, { @@ -5855,6 +5860,50 @@ item_db: ( Refine: false ViewSprite: 5378 }, +{ + Id: 5380 + AegisName: "Stone" + Name: "Stone" + Type: "IT_ETC" + Buy: 1000 + Sell: 500 + Weight: 60 + Refine: false + ViewSprite: 5380 +}, +{ + Id: 5381 + AegisName: "Brick" + Name: "Brick" + Type: "IT_ETC" + Buy: 2000 + Sell: 1000 + Weight: 40 + Refine: false + ViewSprite: 5381 +}, +{ + Id: 5384 + AegisName: "MountainCrystal" + Name: "MountainCrystal" + Type: "IT_ETC" + Buy: 20000 + Sell: 5000 + Weight: 20 + Refine: false + ViewSprite: 5384 +}, +{ + Id: 5385 + AegisName: "BlackQuartz" + Name: "BlackQuartz" + Type: "IT_ETC" + Buy: 20000 + Sell: 5000 + Weight: 20 + Refine: false + ViewSprite: 5385 +}, /* Chest Armor */ { Id: 523 @@ -6290,14 +6339,14 @@ item_db: ( Buy: 100000 Sell: 3000 Weight: 2000 - Matk: -170 + Matk: -150 Def: 25 Slots: 0 Loc: "EQP_HEAD_MID" Refine: false ViewSprite: 793 Script: <" - bonus bMatkRate, -170; // @EVOL2 + bonus bMatkRate, -150; // @EVOL2 "> }, { @@ -11281,7 +11330,7 @@ item_db: ( Sell: 1500 Weight: 400 Matk: -30 - Def: 15 + Def: 16 Slots: 0 Loc: "EQP_HEAD_TOP" Refine: false @@ -16141,8 +16190,8 @@ item_db: ( AegisName: "Tomato" Name: "Tomato" Type: "IT_USABLE" - Buy: 40 - Sell: 10 + Buy: 100 + Sell: 50 Weight: 7 Def: 0 Slots: 0 @@ -16170,10 +16219,10 @@ item_db: ( callfunc("SC_Bonus", 60, SC_PLUSATTACKPOWER, 50); callfunc("SC_Bonus", 60, SC_ATTHASTE_POTION1, 45); //callfunc("SC_Bonus", 60, SC_PHYS_SHIELD, 40); //@EVOL2 - //callfunc("SC_Bonus", 60000, SC_PHYS_SHIELD, 40); //@TMWA + //callfunc("SC_Bonus", 60000, SC_PHYS_SHIELD_ITEM, 40); //@TMWA + //sc_end SC_PHYS_SHIELD; //@TMWA //misceffect FX_MAGIC_SHIELD, strcharinfo(0); //@TMWA "> - // TODO: betsanc of Crazy Rum can be chanceled with detsanc so add SC_PHYS_SHIELD_ITEM to prevent this }, { Id: 5309 @@ -16237,9 +16286,8 @@ item_db: ( } else { //@EVOL2 doevent "Shovel::OnDig"; //@EVOL2 } //@EVOL2 - //getitem IronShovel, 1; // @TMWA + //callfunc "useShovel"; // @TMWA "> - // TODO: add keep after use flag to evolved.py and tmwa and replicate the 5 lines above }, { Id: 5330 @@ -16469,8 +16517,8 @@ item_db: ( }, { Id: 5347 - AegisName: "Pumpkin" - Name: "Pumpkin" + AegisName: "RipePumpkin" + Name: "RipePumpkin" Type: "IT_USABLE" Buy: 170 Sell: 85 @@ -16542,7 +16590,8 @@ item_db: ( noauction: true noselltonpc: true Script: <" - getitem PirateTreasureMap, 1; + set @MapName$, "PirateTreasureMap"; + callfunc "readMap"; "> } }, @@ -16565,7 +16614,8 @@ item_db: ( noauction: true noselltonpc: true Script: <" - getitem DungeonMap, 1; + set @MapName$, "DungeonMap"; + callfunc "readMap"; "> } }, @@ -16588,7 +16638,8 @@ item_db: ( noauction: true noselltonpc: true Script: <" - getitem TreasureMap, 1; + set @MapName$, "TreasureMap"; + callfunc "readMap"; "> } }, @@ -16663,6 +16714,56 @@ item_db: ( callfunc "itheal", 500, 0; "> }, +{ + Id: 5382 + AegisName: "AnchorStone" + Name: "AnchorStone" + Type: "IT_USABLE" + Buy: 90000 + Sell: 45000 + Weight: 40 + Refine: false + ViewSprite: 5382 + KeepAfterUse: true + Trade: { + notrade: true + nodrop: true + nocart: true + nomail: true + noauction: true + noselltonpc: true + Script: <" + set @StoneName$, "AnchorStone"; + callfunc "useAnchorStone"; + "> + } +}, +{ + Id: 5383 + AegisName: "AnchoredAnchorStone" + Name: "AnchoredAnchorStone" + Type: "IT_USABLE" + Buy: 0 + Sell: 0 + Weight: 40 + Refine: false + ViewSprite: 5383 + KeepAfterUse: true + Trade: { + notrade: true + nodrop: true + nocart: true + nomail: true + noauction: true + noselltonpc: true + nostorage: true + nogstorage: true + Script: <" + set @StoneName$, "AnchoredAnchorStone"; + callfunc "useAnchorStone"; + "> + } +}, /* Legs Armor */ { Id: 586 @@ -16825,7 +16926,7 @@ item_db: ( Sell: 1000 Weight: 150 Matk: -12 - Def: 6 + Def: 7 Slots: 0 Loc: "EQP_HEAD_LOW" Refine: false @@ -17747,14 +17848,14 @@ item_db: ( Buy: 6000 Sell: 2000 Weight: 40 - Matk: -20 - Def: 4 + Matk: -25 + Def: 5 Slots: 0 Loc: "EQP_GARMENT" Refine: false ViewSprite: 794 Script: <" - bonus bMatkRate, -20; // @EVOL2 + bonus bMatkRate, -25; // @EVOL2 "> }, { @@ -18033,15 +18134,15 @@ item_db: ( Type: "IT_ARMOR" Buy: 40000 Sell: 3000 - Weight: 2500 - Matk: -200 - Def: 20 + Weight: 2000 + Matk: -160 + Def: 18 Slots: 0 Loc: "EQP_HAND_L" Refine: false ViewSprite: 797 Script: <" - bonus bMatkRate, -200; // @EVOL2 + bonus bMatkRate, -160; // @EVOL2 "> //Disabled: true // @TMWA }, diff --git a/world/map/db/item_db_chest.txt b/world/map/db/item_db_chest.txt index 27b04137..ff48e16e 100644 --- a/world/map/db/item_db_chest.txt +++ b/world/map/db/item_db_chest.txt @@ -26,7 +26,7 @@ 782, ForestArmor, 5, 3000, 1500, 40, 0, 10, 0, -20, 0, 2, 512, 0, 0, 0, 0, {}, {bonus bDex, 3;} 783, PlatynaRedDress, 5, 100000, 50000, 35, 0, 15, 0, 3, 0, 2, 512, 0, 0, 0, 0, {}, {} 791, YetiSkinShirt, 5, 20000, 10000, 20, 0, 12, 0, -12, 0, 2, 512, 0, 0, 0, 0, {}, {} -793, BromenalChest, 5, 100000, 3000, 2000, 0, 25, 0, -170, 0, 2, 512, 0, 0, 0, 0, {}, {} +793, BromenalChest, 5, 100000, 3000, 2000, 0, 25, 0, -150, 0, 2, 512, 0, 0, 0, 0, {}, {} 798, SorcererRed, 5, 8000, 4000, 5, 0, 5, 0, 20, 0, 2, 512, 0, 0, 0, 0, {}, {bonus bAgi, 1;} 870, FineDress, 5, 10000, 5000, 35, 0, 8, 0, 20, 0, 2, 512, 0, 0, 0, 0, {}, {} 880, LazuriteRobe, 5, 92000, 52000, 30, 0, 7, 0, 60, 0, 2, 512, 0, 90, 0, 0, {}, {set @bStat, Int; set @minbStatVal, 70; callfunc "RequireStat"; set @bStat, Vit; set @minbStatVal, 40; callfunc "RequireStat"; bonus bDef2Rate, -40; bonus bMdef, 60; bonus bVit, -1; bonus bInt, 7; bonus bLuk, -1; bonus bDex, -1; bonus bStr, -1;} diff --git a/world/map/db/item_db_foot.txt b/world/map/db/item_db_foot.txt index ac5264de..10f1d07c 100644 --- a/world/map/db/item_db_foot.txt +++ b/world/map/db/item_db_foot.txt @@ -7,7 +7,7 @@ 734, BlackBoots, 5, 20000, 3000, 110, 0, 3, 0, -10, 0, 2, 64, 0, 0, 0, 0, {}, {} 735, CottonBoots, 5, 2000, 500, 10, 0, 1, 0, 1, 0, 2, 64, 0, 0, 0, 0, {}, {} 757, AssassinBoots, 5, 7000, 2000, 10, 0, 3, 0, -3, 0, 2, 64, 0, 0, 0, 0, {}, {callfunc "BrawlingItem"; bonus bAgi, 4;} -792, BromenalBoots, 5, 8000, 500, 30, 0, 1, 0, -2, 0, 2, 64, 0, 0, 0, 0, {}, {} +792, BromenalBoots, 5, 8000, 500, 250, 0, 4, 0, -14, 0, 2, 64, 0, 0, 0, 0, {}, {} 876, WarlordBoots, 5, 19000, 2000, 550, 0, 5, 0, -22, 0, 2, 64, 0, 0, 0, 0, {}, {} 1188, RedStockings, 5, 7000, 2000, 10, 0, 1, 0, 2, 0, 2, 64, 0, 0, 0, 0, {}, {} 2150, RedCottonBoots, 5, 2000, 500, 10, 0, 1, 0, 1, 0, 2, 64, 0, 0, 0, 0, {}, {} diff --git a/world/map/db/item_db_generic.txt b/world/map/db/item_db_generic.txt index e7802111..ff127182 100644 --- a/world/map/db/item_db_generic.txt +++ b/world/map/db/item_db_generic.txt @@ -304,3 +304,7 @@ 5376, KingChonkyBirbFeather, 3, 6000, 3000, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} 5377, Honeycomb, 3, 200, 100, 11, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} 5378, Beeswax, 3, 2000, 1000, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5380, Stone, 3, 1000, 500, 60, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5381, Brick, 3, 2000, 1000, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5384, MountainCrystal, 3, 20000, 5000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} +5385, BlackQuartz, 3, 20000, 5000, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {}, {} diff --git a/world/map/db/item_db_hand.txt b/world/map/db/item_db_hand.txt index 3e4e76f0..94a167d1 100644 --- a/world/map/db/item_db_hand.txt +++ b/world/map/db/item_db_hand.txt @@ -7,7 +7,7 @@ 563, WinterGloves, 5, 6000, 3000, 20, 0, 3, 0, -15, 0, 2, 4, 0, 0, 0, 0, {}, {} 741, CottonGloves, 5, 2000, 500, 10, 0, 1, 0, -10, 0, 2, 4, 0, 0, 0, 0, {}, {} 756, AssassinGloves, 5, 7000, 2000, 9, 0, 3, 0, -3, 0, 2, 4, 0, 0, 0, 0, {}, {callfunc "BrawlingItem"; bonus bAgi, 4;} -794, BromenalGloves, 5, 6000, 2000, 40, 0, 4, 0, -20, 0, 2, 4, 0, 0, 0, 0, {}, {} +794, BromenalGloves, 5, 6000, 2000, 40, 0, 5, 0, -25, 0, 2, 4, 0, 0, 0, 0, {}, {} 868, SilkGloves, 5, 5000, 2500, 4, 0, 1, 0, 0, 0, 2, 4, 0, 0, 0, 0, {}, {} 2160, RedCottonGloves, 5, 2000, 500, 20, 0, 1, 0, -10, 0, 2, 4, 0, 0, 0, 0, {}, {} 2161, GreenCottonGloves, 5, 2000, 500, 20, 0, 1, 0, -10, 0, 2, 4, 0, 0, 0, 0, {}, {} diff --git a/world/map/db/item_db_head.txt b/world/map/db/item_db_head.txt index 7c4ae5d7..08a7b5c1 100644 --- a/world/map/db/item_db_head.txt +++ b/world/map/db/item_db_head.txt @@ -52,7 +52,7 @@ 769, GuyFawkesMask, 5, 1000, 500, 50, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {} 770, FairyHat, 5, 2000, 1000, 20, 0, 5, 0, -10, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bLuk, 3;} 781, WitchDoctorsMask, 5, 20000, 100, 20, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, 0, {}, {} -795, BromenalHelmet, 5, 15000, 1500, 400, 0, 15, 0, -30, 0, 2, 256, 0, 0, 0, 0, {}, {} +795, BromenalHelmet, 5, 15000, 1500, 400, 0, 16, 0, -30, 0, 2, 256, 0, 0, 0, 0, {}, {} 800, BowlerHatBrown, 5, 2500, 1250, 30, 0, 10, 0, 2, 0, 2, 256, 0, 0, 0, 0, {}, {} 801, PinkieHelmet, 5, 20000, 1500, 800, 0, 10, 0, -20, 0, 2, 256, 0, 0, 0, 0, {}, {bonus bLuk, 1;} 848, Earmuffs, 5, 1000, 500, 20, 0, 2, 0, -1, 0, 2, 256, 0, 0, 0, 0, {}, {} diff --git a/world/map/db/item_db_leg.txt b/world/map/db/item_db_leg.txt index 3e23b810..6e15b47e 100644 --- a/world/map/db/item_db_leg.txt +++ b/world/map/db/item_db_leg.txt @@ -10,7 +10,7 @@ 731, AssassinPants, 5, 10000, 3000, 20, 0, 4, 0, -5, 0, 2, 1, 0, 0, 0, 0, {}, {callfunc "BrawlingItem"; bonus bAgi, 5;} 768, TerraniteLegs, 5, 10000, 3000, 30, 0, 5, 0, -8, 0, 2, 1, 0, 0, 0, 0, {}, {bonus bAgi, 1; bonus bMdef, 5;} 771, Miniskirt, 5, 1000, 500, 8, 0, 4, 0, -8, 0, 2, 1, 0, 1, 0, 0, {}, {} -796, BromenalLegs, 5, 2000, 1000, 150, 0, 6, 0, -12, 0, 2, 1, 0, 0, 0, 0, {}, {} +796, BromenalLegs, 5, 2000, 1000, 150, 0, 7, 0, -12, 0, 2, 1, 0, 0, 0, 0, {}, {} 857, LeatherTrousers, 5, 1000, 500, 25, 0, 5, 0, -4, 0, 2, 1, 0, 0, 0, 0, {}, {bonus bHit, 2;} 881, RaggedShorts, 5, 60, 1, 7, 0, 1, 0, -2, 0, 2, 1, 0, 1, 0, 0, {}, {} 1172, SilkPants, 5, 20000, 750, 10, 0, 2, 0, 0, 0, 2, 1, 0, 1, 0, 0, {}, {} diff --git a/world/map/db/item_db_offhand.txt b/world/map/db/item_db_offhand.txt index e3bb7485..39d5d4a4 100644 --- a/world/map/db/item_db_offhand.txt +++ b/world/map/db/item_db_offhand.txt @@ -6,5 +6,5 @@ 601, SteelShield, 5, 40000, 3000, 2500, 0, 20, 0, -200, 0, 2, 32, 0, 0, 0, 0, {}, {} 602, WoodenShield, 5, 10000, 2000, 1500, 0, 14, 0, -70, 0, 2, 32, 0, 0, 0, 0, {}, {} 603, LeatherShield, 5, 2000, 1000, 1300, 0, 7, 0, -35, 0, 2, 32, 0, 0, 0, 0, {}, {} -//797, BromenalShield, 5, 40000, 3000, 2500, 0, 20, 0, -200, 0, 2, 32, 0, 0, 0, 0, {}, {} +//797, BromenalShield, 5, 40000, 3000, 2000, 0, 18, 0, -160, 0, 2, 32, 0, 0, 0, 0, {}, {} 5285, DragonShield, 5, 40000, 3000, 2500, 0, 27, 0, -200, 0, 2, 32, 0, 0, 0, 0, {}, {} diff --git a/world/map/db/item_db_use.txt b/world/map/db/item_db_use.txt index 95e38ed5..2a2afa8b 100644 --- a/world/map/db/item_db_use.txt +++ b/world/map/db/item_db_use.txt @@ -56,18 +56,18 @@ 788, BeetleJuice, 0, 80, 30, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 50, 0, 1;}, {} 789, GutBuster, 0, 100, 30, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 60, 0, 1;}, {} 790, BloodWine, 0, 150, 50, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 100, 0, 1;}, {} -808, HitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "HitchhikersTowel"; callfunc "WarpTowel";}, {} -809, WhiteHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "WhiteHitchhikersTowel"; callfunc "WarpTowel";}, {} -810, RedHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "RedHitchhikersTowel"; callfunc "WarpTowel";}, {} -811, GreenHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "GreenHitchhikersTowel"; callfunc "WarpTowel";}, {} -812, BlueHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "BlueHitchhikersTowel"; callfunc "WarpTowel";}, {} -813, YellowHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "YellowHitchhikersTowel"; callfunc "WarpTowel";}, {} -814, PurpleHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "PurpleHitchhikersTowel"; callfunc "WarpTowel";}, {} -815, OrangeHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "OrangeHitchhikersTowel"; callfunc "WarpTowel";}, {} +808, HitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "HitchhikersTowel"; callfunc "WarpTowel";}, {} +809, WhiteHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "WhiteHitchhikersTowel"; callfunc "WarpTowel";}, {} +810, RedHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "RedHitchhikersTowel"; callfunc "WarpTowel";}, {} +811, GreenHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "GreenHitchhikersTowel"; callfunc "WarpTowel";}, {} +812, BlueHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "BlueHitchhikersTowel"; callfunc "WarpTowel";}, {} +813, YellowHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "YellowHitchhikersTowel"; callfunc "WarpTowel";}, {} +814, PurpleHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "PurpleHitchhikersTowel"; callfunc "WarpTowel";}, {} +815, OrangeHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "OrangeHitchhikersTowel"; callfunc "WarpTowel";}, {} //ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript} -816, PinkHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "PinkHitchhikersTowel"; callfunc "WarpTowel";}, {} -817, TealHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "TealHitchhikersTowel"; callfunc "WarpTowel";}, {} -818, LimeHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set @warpTowelName$, "LimeHitchhikersTowel"; callfunc "WarpTowel";}, {} +816, PinkHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "PinkHitchhikersTowel"; callfunc "WarpTowel";}, {} +817, TealHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "TealHitchhikersTowel"; callfunc "WarpTowel";}, {} +818, LimeHitchhikersTowel, 0, 0, 0, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {set @warpTowelName$, "LimeHitchhikersTowel"; callfunc "WarpTowel";}, {} 825, TinyManaElixir, 0, 100, 10, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 0, 25, 1;}, {} 826, SmallManaElixir, 0, 200, 20, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 0, 50, 1;}, {} 827, MediumManaElixir, 0, 400, 40, 15, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 0, 100, 1;}, {} @@ -76,7 +76,7 @@ 839, GrapeLollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 750, 0, 1;}, {} 840, OrangeLollipop, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 750, 0, 1;}, {} 1189, PollettEgg, 0, 250, 25, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 75, 10, 1;}, {} -1226, SilverBell, 0, 6000, 3000, 25, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "SilverBellSound";}, {} +1226, SilverBell, 0, 6000, 3000, 25, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {callfunc "SilverBellSound";}, {} 1229, CaramelApple, 0, 500, 75, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 1000, 0, 1;}, {} 1230, LollipopColor1, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 800, 0, 1;}, {} 1231, LollipopColor2, 0, 100, 50, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 800, 0, 1;}, {} @@ -88,9 +88,9 @@ //ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript} 1253, GoldenDeliciousApple, 0, 1000, 500, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 200, 0, 0;}, {} 1258, GlutenFreeHoney, 0, 100, 50, 20, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 45, 0, 1;}, {} -1280, Scissors, 0, 1000, 500, 120, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "useScissors";}, {} +1280, Scissors, 0, 1000, 500, 120, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {callfunc "useScissors";}, {} 1281, ShockSweet, 0, 1000, 500, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "useShockSweet";}, {} -3001, RubberBat, 0, 200, 100, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "rubberBat";}, {} +3001, RubberBat, 0, 200, 100, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {callfunc "rubberBat";}, {} 3006, TonoriDelight, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 10, 2, 1;}, {} 3007, Marshmallow, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 10, 0, 1;}, {} 3009, JellySkull, 0, 5, 1, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 10, 0, 1;}, {} @@ -110,14 +110,14 @@ 5235, TMWBirthdayGift, 0, 1000000, 50, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "TMWBirthdayGift";}, {} 5236, GumiCandy, 0, 10000, 250, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {set Sex, if_then_else(Sex == 3, rand(0, 1), if_then_else(rand(0,1), 3, !Sex));},{} 5237, CaramelCandy, 0, 700, 350, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 350, 0, 1;}, {} -5251, Tomato, 0, 40, 10, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 200, 5, 1;}, {} +5251, Tomato, 0, 100, 50, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 200, 5, 1;}, {} 5263, LovePotion, 0, 90000, 550, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "LovePotion";}, {} //5277, XmasSeeds, 0, 9999, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {heal 150, 0, 1;}, {} -5294, CrazyRum, 0, 40, 10, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {sc_start SC_POISON, 60000, 1; sc_start SC_ATKPOT, 60, 50; sc_start SC_SPEEDPOTION0, 60, 45; sc_start SC_PHYS_SHIELD, 60000, 40; misceffect FX_MAGIC_SHIELD, strcharinfo(0);},{} +5294, CrazyRum, 0, 40, 10, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {sc_start SC_POISON, 60000, 1; sc_start SC_ATKPOT, 60, 50; sc_start SC_SPEEDPOTION0, 60, 45; sc_start SC_PHYS_SHIELD_ITEM, 60000, 40; sc_end SC_PHYS_SHIELD; misceffect FX_MAGIC_SHIELD, strcharinfo(0);},{} 5309, ManaDust, 0, 125, 50, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 35, 15, 1;}, {} 5310, EnlighteningElixir, 0, 500, 250, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {sc_start SC_MATKPOT, 60, 100;}, {} 5312, Honey, 0, 300, 150, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 200, 50, 1;}, {} -5329, IronShovel, 0, 5000, 750, 210, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {getitem IronShovel, 1;}, {} +5329, IronShovel, 0, 5000, 750, 210, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {callfunc "useShovel";}, {} 5330, ShadowScroll, 0, 5000, 1000, 7, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "UnreleasedScroll";}, {} 5331, YellowApple, 0, 25, 6, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 50, 0, 1;}, {} 5333, Bread, 0, 80, 40, 25, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 100, 0, 1;}, {} @@ -135,15 +135,18 @@ 5344, ChocolateBiscuit, 0, 80, 40, 5, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 100, 0, 1;}, {} 5345, ChocolateBunny, 0, 175, 88, 12, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 250, 0, 1;}, {} 5346, Potatoz, 0, 230, 115, 8, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 450, 0, 1;}, {} -5347, Pumpkin, 0, 170, 85, 120, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 300, 0, 1;}, {} +5347, RipePumpkin, 0, 170, 85, 120, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 300, 0, 1;}, {} 5348, FruitSalad, 0, 240, 120, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 475, 0, 1;}, {} 5349, DuckEgg, 0, 200, 100, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 150, 50, 1;}, {} 5350, Dragonfruit, 0, 230, 115, 14, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 600, 0, 1;}, {} -5351, PirateTreasureMap, 0, 45000, 5000, 14, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {getitem PirateTreasureMap, 1;}, {} -5352, DungeonMap, 0, 45000, 5000, 14, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {getitem DungeonMap, 1;}, {} -5353, TreasureMap, 0, 45000, 5000, 14, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 7, {getitem TreasureMap, 1;}, {} -5354, RubberDucky, 0, 200, 100, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {callfunc "rubberDuck";}, {} +5351, PirateTreasureMap, 0, 45000, 5000, 14, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 23, {set @MapName$, "PirateTreasureMap"; callfunc "readMap";}, {} +5352, DungeonMap, 0, 45000, 5000, 14, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 23, {set @MapName$, "DungeonMap"; callfunc "readMap";}, {} +5353, TreasureMap, 0, 45000, 5000, 14, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 23, {set @MapName$, "TreasureMap"; callfunc "readMap";}, {} +5354, RubberDucky, 0, 200, 100, 30, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 16, {callfunc "rubberDuck";}, {} 5364, ButterButterfly, 0, 500, 250, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 55, 0, 1;}, {} 5373, JunglefowlEgg, 0, 400, 200, 4, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 300, 0, 1;}, {} 5374, KingChonkyBirbEgg, 0, 1500, 750, 22, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 800, 0, 1;}, {} 5379, Sauerkraut, 0, 250, 125, 10, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, {heal 500, 0, 1;}, {} +5382, AnchorStone, 0, 90000, 45000, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 23, {set @StoneName$, "AnchorStone"; callfunc "useAnchorStone";}, {} +//ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript} +5383, AnchoredAnchorStone, 0, 0, 0, 40, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 31, {set @StoneName$, "AnchoredAnchorStone"; callfunc "useAnchorStone";}, {} diff --git a/world/map/db/item_db_weapon.txt b/world/map/db/item_db_weapon.txt index 98310635..1c22799d 100644 --- a/world/map/db/item_db_weapon.txt +++ b/world/map/db/item_db_weapon.txt @@ -46,14 +46,14 @@ //ID, Name, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, Mode, {UseScript}, {EquipScript} 906, KidBook, 4, 10000, 5000, 350, 1, 0, 3, 0, 0, 2, 34, 1, 1, 15, 0, {}, {} 907, FloydBook, 4, 10000, 5000, 350, 1, 0, 3, 0, 0, 2, 34, 1, 135, 15, 7, {}, {} -910, Rainerang, 4, 10000, 5000, 115, 60, 0, 4, 0, 0, 2, 2, 1, 0, 11, 0, {}, {} +910, Rainerang, 4, 10000, 5000, 115, 60, 0, 4, 0, 0, 2, 2, 1, 0, 11, 32, {}, {set @LauncherType, AMMO_DONT_USE; callfunc "CheckLauncher";} 1170, SweetTooth, 4, 4000, 2000, 1000, 50, 0, 2, 15, 0, 2, 34, 1, 1, 23, 0, {}, {set @bStat, Int; set @minbStatVal, 60; callfunc "RequireStat";} 1171, Wand, 4, 400, 200, 100, 1, 0, 1, 5, 0, 2, 2, 1, 1, 10, 0, {}, {set @bStat, Int; set @minbStatVal, 5; callfunc "RequireStat";} 1199, Arrow, 10, 1, 0, 1, 20, 0, 0, 0, 0, 2, 32768, 0, 0, 0, 0, {}, {set @AmmoType, AMMO_BOW; callfunc "CheckAmmo";} 1200, Bow, 4, 1000, 500, 20, 20, 0, 5, -2, 0, 2, 34, 1, 4, 11, 0, {}, {set @LauncherType, AMMO_BOW; callfunc "CheckLauncher";} 1201, Knife, 4, 50, 25, 120, 5, 0, 1, 0, 0, 2, 2, 1, 1, 1, 0, {}, {} 1215, ToySabre, 4, 2000000, 25, 1, 1, 0, 1, 0, 0, 2, 2, 1, 1, 2, 0, {}, {} -1282, BoneArrows, 10, 50, 20, 0, 55, 0, 0, 0, 0, 2, 32768, 0, 0, 0, 0, {}, {bonus bCritical, 1; set @AmmoType, AMMO_BOW; callfunc "CheckAmmo";} +1282, BoneArrows, 10, 8, 4, 1, 55, 0, 0, 0, 0, 2, 32768, 0, 0, 0, 0, {}, {bonus bCritical, 1; set @AmmoType, AMMO_BOW; callfunc "CheckAmmo";} 5260, Snowball, 10, 1, 0, 1, 20, 0, 0, 0, 0, 2, 32768, 0, 0, 0, 0, {}, {set @AmmoType, AMMO_XMAS; callfunc "CheckAmmo";} 5261, SnowLauncher, 4, 500, 50, 10, 20, 0, 3, 0, 0, 2, 2, 1, 1, 11, 0, {}, {set @LauncherType, AMMO_XMAS; callfunc "CheckLauncher";} 5284, Flintlock, 4, 150000, 500, 3000, 120, 0, 5, 0, 0, 2, 2, 1, 1, 11, 0, {}, {callfunc "RestrictedItem"; set @LauncherType, AMMO_SLING; callfunc "CheckLauncher";} diff --git a/world/map/db/mob_db.conf b/world/map/db/mob_db.conf index ae92f099..d33b30c4 100644 --- a/world/map/db/mob_db.conf +++ b/world/map/db/mob_db.conf @@ -7789,7 +7789,7 @@ mob_db: ( MutationStrength: 40 Drops: { TreasureKey: 500 - RedApple: 100 + MountainCrystal: 100 InfantryHelmet: 20 CoinBag: 200 Diamond: 20 @@ -7829,7 +7829,6 @@ mob_db: ( Element: (6, 4) Mode: { CanMove: true - Looter: true Assist: true Boss: true CanAttack: true @@ -7843,6 +7842,9 @@ mob_db: ( MutationCount: 0 MutationStrength: 0 Drops: { + MountainCrystal: 400 + MountainCrystal: 200 + MountainCrystal: 100 Diamond: 50 Ruby: 50 Emerald: 50 @@ -7880,7 +7882,7 @@ mob_db: ( Element: (6, 4) Mode: { CanMove: true - Aggressive: true + Assist: true Boss: true CanAttack: true ChangeTargetMelee: true @@ -7893,7 +7895,15 @@ mob_db: ( MutationCount: 0 MutationStrength: 0 Drops: { - DarkCrystal: 10000 + BlackQuartz: 400 + BlackQuartz: 200 + BlackQuartz: 100 + Diamond: 50 + Ruby: 50 + Emerald: 50 + Sapphire: 50 + Topaz: 50 + Amethyst: 50 } }, { @@ -8216,7 +8226,7 @@ mob_db: ( MutationStrength: 30 Drops: { TreasureKey: 800 - RedApple: 200 + MountainCrystal: 400 InfantryHelmet: 35 CoinBag: 400 Diamond: 35 @@ -9166,9 +9176,9 @@ mob_db: ( Coal: 200 IronOre: 200 CopperOre: 40 - SilverOre: 300 - SilverOre: 150 - BromenalOre: 20 + BromenalOre: 30 + SilverOre: 200 + SilverOre: 100 GoldOre: 10 } }, @@ -9219,9 +9229,9 @@ mob_db: ( Coal: 200 IronOre: 200 CopperOre: 40 - SilverOre: 30 - BromenalOre: 200 - BromenalOre: 100 + BromenalOre: 300 + BromenalOre: 150 + SilverOre: 20 GoldOre: 10 } }, @@ -9270,8 +9280,8 @@ mob_db: ( Coal: 200 IronOre: 200 CopperOre: 40 - SilverOre: 30 - BromenalOre: 20 + BromenalOre: 30 + SilverOre: 20 GoldOre: 100 GoldOre: 50 } @@ -9324,8 +9334,8 @@ mob_db: ( IronOre: 2000 IronOre: 1000 CopperOre: 40 - SilverOre: 30 - BromenalOre: 20 + BromenalOre: 30 + SilverOre: 20 GoldOre: 10 } }, @@ -9377,8 +9387,8 @@ mob_db: ( Coal: 1000 IronOre: 200 CopperOre: 40 - SilverOre: 30 - BromenalOre: 20 + BromenalOre: 30 + SilverOre: 20 GoldOre: 10 } }, @@ -9418,8 +9428,8 @@ mob_db: ( IronOre: 800 Coal: 1000 CopperOre: 200 - SilverOre: 150 - BromenalOre: 100 + BromenalOre: 150 + SilverOre: 100 GoldOre: 50 } }, @@ -9459,8 +9469,8 @@ mob_db: ( IronOre: 1600 Coal: 2000 CopperOre: 400 - SilverOre: 300 - BromenalOre: 200 + BromenalOre: 300 + SilverOre: 200 GoldOre: 100 } }, @@ -9500,8 +9510,8 @@ mob_db: ( IronOre: 400 Coal: 500 CopperOre: 100 - SilverOre: 75 - BromenalOre: 50 + BromenalOre: 75 + SilverOre: 50 GoldOre: 25 } }, @@ -10308,7 +10318,6 @@ mob_db: ( Element: (6, 4) Mode: { CanMove: true - Looter: true Assist: true Boss: true CanAttack: true @@ -10322,12 +10331,116 @@ mob_db: ( MutationCount: 0 MutationStrength: 0 Drops: { + Charcoal: 2000 Charcoal: 1000 Charcoal: 500 - Charcoal: 250 - Coal: 5000 - Coal: 2500 - Coal: 1250 + Coal: 4000 + Coal: 2000 + Coal: 1000 + IronOre: 500 + IronPowder: 1200 + } +}, +{ + Id: 1225 + SpriteName: "StoneSlime" + Name: "Stone Slime" + Lv: 40 + Hp: 600 + Sp: 0 + Exp: 200 + JExp: 18 + AttackRange: 1 + Attack: [60, 90] + Def: 20 + Mdef: 30 + CriticalDef: 0 + Stats: { + Str: 20 + Agi: 30 + Vit: 10 + Int: 10 + Dex: 30 + Luk: 30 + } + ViewRange: 9 + ChaseRange: 10 + Size: 1 + Race: 0 + Element: (1, 1) + Mode: { + CanMove: true + Looter: true + CanAttack: true + ChangeTargetMelee: true + ChangeTargetChase: true + } + MoveSpeed: 1200 + AttackDelay: 1872 + AttackMotion: 672 + DamageMotion: 480 + MutationCount: 1 + MutationStrength: 20 + Drops: { + Stone: 1000 + Stone: 500 + Stone: 250 + Brick: 100 + Coal: 200 + IronOre: 200 + CopperOre: 40 + BromenalOre: 30 + SilverOre: 20 + GoldOre: 10 + } +}, +{ + Id: 1226 + SpriteName: "StoneGolem" + Name: "Stone Golem" + Lv: 180 + Hp: 30000 + Sp: 280 + Exp: 70000 + JExp: 2400 + AttackRange: 3 + Attack: [170, 190] + Def: 75 + Mdef: 40 + CriticalDef: 0 + Stats: { + Str: 35 + Agi: 26 + Vit: 99 + Int: 127 + Dex: 255 + Luk: 105 + } + ViewRange: 31 + ChaseRange: 30 + Size: 1 + Race: 0 + Element: (6, 4) + Mode: { + CanMove: true + Assist: true + Boss: true + CanAttack: true + ChangeTargetMelee: true + ChangeTargetChase: true + } + MoveSpeed: 320 + AttackDelay: 1000 + AttackMotion: 672 + DamageMotion: 50 + MutationCount: 0 + MutationStrength: 0 + Drops: { + Stone: 2000 + Stone: 1000 + Stone: 500 + Brick: 200 + Coal: 500 IronOre: 500 IronPowder: 1200 } diff --git a/world/map/db/mob_db_0_19.txt b/world/map/db/mob_db_0_19.txt index c47a2a99..831426b9 100644 --- a/world/map/db/mob_db_0_19.txt +++ b/world/map/db/mob_db_0_19.txt @@ -24,7 +24,7 @@ 1162, Grinchboo, Grinchboo, 5, 50, 0, 6, 1, 1, 5, 10, 0, 5, 0, 1, 1, 1, 0, 6, 5, 9, 10, 1, 3, 11, 129, 800, 1872, 672, 480, 505, 800, 501, 150, 518, 400, 527, 50, 527, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 //ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength 1165, ChristmasGift, ChristmasGift, 1, 1, 0, 1, 1, 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 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, 0, 0, 0, 0 -1172, Bif, Bif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 1200, 640, 800, 4001, 1000, 5327, 200, 5292, 150, 5316, 100, 5314, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1172, Bif, Bif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 1200, 640, 800, 4001, 1000, 5327, 200, 5316, 150, 5292, 100, 5314, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1181, SmallFrog, SmallFrog, 9, 100, 0, 100, 10, 1, 10, 20, 19, 3, 0, 10, 25, 25, 1, 15, 20, 5, 10, 0, 2, 12, 129, 600, 1976, 672, 480, 505, 600, 518, 200, 5215, 100, 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 1182, BigFrog, BigFrog, 10, 200, 0, 150, 15, 1, 20, 30, 24, 3, 0, 20, 15, 35, 1, 15, 20, 5, 10, 0, 2, 12, 129, 500, 1976, 672, 480, 505, 700, 518, 300, 5215, 150, 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 1186, MananaTree, MananaTree, 5, 2500, 0, 2, 0, 1, 10, 10, 25, 1, 0, 1, 1, 10, 1, 1, 1, 1, 12, 1, 3, 12, 0, 1000, 800, 672, 480, 5341, 1000, 5341, 500, 5341, 250, 569, 1000, 569, 2000, 806, 500, 740, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 80 @@ -32,8 +32,8 @@ 1191, Tortuga, Tortuga, 19, 535, 0, 350, 38, 1, 33, 44, 30, 50, 0, 18, 12, 1, 8, 80, 25, 1, 12, 1, 2, 11, 129, 700, 1872, 672, 480, 5355, 400, 5356, 100, 5215, 200, 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 1192, Ratto, Ratto, 15, 250, 0, 200, 30, 1, 25, 35, 13, 6, 0, 5, 10, 13, 1, 11, 6, 3, 12, 1, 2, 10, 131, 120, 1572, 672, 480, 5357, 500, 5358, 400, 5333, 200, 5335, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1193, Croc, Croc, 17, 350, 0, 300, 35, 1, 124, 129, 54, 6, 0, 6, 10, 13, 1, 11, 6, 1, 12, 1, 2, 11, 129, 600, 1872, 672, 200, 5366, 350, 5338, 200, 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 -1204, BigBif, BigBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 2400, 640, 1600, 4001, 2000, 5327, 400, 5292, 300, 5316, 200, 5314, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1205, SmallBif, SmallBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 600, 640, 400, 4001, 500, 5327, 100, 5292, 75, 5316, 50, 5314, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1204, BigBif, BigBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 2400, 640, 1600, 4001, 2000, 5327, 400, 5316, 300, 5292, 200, 5314, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1205, SmallBif, SmallBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 704, 600, 640, 400, 4001, 500, 5327, 100, 5316, 75, 5292, 50, 5314, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1206, AmethystBif, AmethystBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4007, 20, 824, 1200, 824, 1200, 819, 600, 821, 600, 820, 600, 822, 600, 823, 600, 4001, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1207, DiamondBif, DiamondBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4002, 20, 824, 600, 819, 1200, 819, 1200, 821, 600, 820, 600, 822, 600, 823, 600, 4001, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1208, EmeraldBif, EmeraldBif, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 10, 1, 3, 12, 0, 800, 800, 672, 480, 4004, 20, 824, 600, 819, 600, 821, 1200, 821, 1200, 820, 600, 822, 600, 823, 600, 4001, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 diff --git a/world/map/db/mob_db_40_59.txt b/world/map/db/mob_db_40_59.txt index 0cf3e83f..63dc0223 100644 --- a/world/map/db/mob_db_40_59.txt +++ b/world/map/db/mob_db_40_59.txt @@ -17,9 +17,10 @@ 1164, ChristmasTree, ChristmasTree, 40, 12000, 0, 3647, 392, 2, 40, 40, 20, 40, 0, 30, 30, 30, 30, 30, 30, 9, 10, 1, 0, 10, 128, 190, 1500, 800, 800, 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, 0, 0, 0, 0 1168, Floyd, Floyd, 40, 1500, 0, 555, 150, 3, 25, 50, 60, 5, 30, 10, 23, 30, 20, 40, 50, 9, 10, 1, 3, 12, 129, 800, 1975, 672, 480, 1245, 10, 521, 70, 1257, 5, 529, 150, 529, 800, 4015, 20, 704, 500, 704, 1000, 5290, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 40 1180, MisterPrickel, MisterPrickel, 40, 4822, 0, 672, 111, 1, 250, 275, 23, 33, 0, 20, 40, 55, 1, 20, 30, 1, 12, 1, 3, 20, 129, 400, 1000, 452, 0, 501, 300, 502, 200, 613, 800, 613, 400, 569, 700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40 -1199, SilverSlime, SilverSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5290, 1000, 5290, 1000, 1226, 1, 4001, 200, 640, 200, 5327, 40, 5292, 300, 5292, 150, 5316, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 -1200, BromenalSlime, BromenalSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 792, 10, 794, 10, 796, 10, 4001, 200, 640, 200, 5327, 40, 5292, 30, 5316, 200, 5316, 100, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 -1201, GoldSlime, GoldSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 1253, 11, 4001, 200, 640, 200, 5327, 40, 5292, 30, 5316, 20, 5314, 100, 5314, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 -1202, IronSlime, IronSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 529, 5000, 529, 2500, 5329, 1, 4001, 200, 640, 2000, 640, 1000, 5327, 40, 5292, 30, 5316, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 -1203, CoalSlime, CoalSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5332, 1000, 5332, 500, 5332, 250, 4001, 2000, 4001, 1000, 640, 200, 5327, 40, 5292, 30, 5316, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 +1199, SilverSlime, SilverSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5290, 1000, 5290, 1000, 1226, 1, 4001, 200, 640, 200, 5327, 40, 5316, 30, 5292, 200, 5292, 100, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 +1200, BromenalSlime, BromenalSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 792, 10, 794, 10, 796, 10, 4001, 200, 640, 200, 5327, 40, 5316, 300, 5316, 150, 5292, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 +1201, GoldSlime, GoldSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 1253, 11, 4001, 200, 640, 200, 5327, 40, 5316, 30, 5292, 20, 5314, 100, 5314, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 +1202, IronSlime, IronSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 529, 5000, 529, 2500, 5329, 1, 4001, 200, 640, 2000, 640, 1000, 5327, 40, 5316, 30, 5292, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 +1203, CoalSlime, CoalSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5332, 1000, 5332, 500, 5332, 250, 4001, 2000, 4001, 1000, 640, 200, 5327, 40, 5316, 30, 5292, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 //ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength +1225, StoneSlime, StoneSlime, 40, 600, 0, 200, 18, 1, 60, 90, 20, 30, 0, 20, 30, 10, 10, 30, 30, 9, 10, 1, 0, 11, 131, 1200, 1872, 672, 480, 5380, 1000, 5380, 500, 5380, 250, 5381, 100, 4001, 200, 640, 200, 5327, 40, 5316, 30, 5292, 20, 5314, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20 diff --git a/world/map/db/mob_db_over_100.txt b/world/map/db/mob_db_over_100.txt index 8e7c1ff0..b65e3800 100644 --- a/world/map/db/mob_db_over_100.txt +++ b/world/map/db/mob_db_over_100.txt @@ -45,14 +45,14 @@ 1166, Snowman, Snowman, 100, 4200, 0, 2897, 689, 1, 60, 80, 5, 20, 0, 15, 25, 40, 15, 75, 30, 8, 10, 1, 3, 10, 133, 800, 1872, 672, 480, 567, 800, 5310, 800, 568, 800, 4002, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 //ID, Name, Jname, LV, HP, SP, EXP, JEXP, Range1, ATK1, ATK2, DEF, MDEF, CRITDEF,STR, AGI, VIT, INT, DEX, LUK, Range2, Range3, Scale, Race, Element,Mode, Speed, Adelay, Amotion,Dmotion,Drop0id,Drop0%, Drop1id,Drop1%, Drop2id,Drop2%, Drop3id,Drop3%, Drop4id,Drop4%, Drop5id,Drop5%, Drop6id,Drop6%, Drop7id,Drop7%, Drop8id,Drop8%, Drop9id,Drop9%, Item1, Item2, MEXP, ExpPer, MVP1id, MVP1per,MVP2id, MVP2per,MVP3id, MVP3per,mutationcount,mutationstrength 1167, SnowmanBoss, SnowmanBoss, 100, 35000, 0, 88970, 2689, 4, 220, 240, 77, 50, 0, 45, 20, 110, 150, 255, 110, 14, 16, 1, 3, 10, 165, 700, 1672, 672, 480, 567, 1600, 5310, 1600, 568, 1600, 4002, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1169, CrystalSpider, CrystalSpider, 140, 1000, 0, 800, 200, 1, 80, 95, 8, 12, 0, 20, 15, 20, 11, 45, 30, 1, 1, 1, 0, 22, 139, 1000, 1500, 672, 480, 537, 500, 535, 100, 638, 20, 526, 200, 4002, 20, 4003, 20, 4004, 20, 4005, 20, 4006, 20, 4007, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40 +1169, CrystalSpider, CrystalSpider, 140, 1000, 0, 800, 200, 1, 80, 95, 8, 12, 0, 20, 15, 20, 11, 45, 30, 1, 1, 1, 0, 22, 139, 1000, 1500, 672, 480, 537, 500, 5384, 100, 638, 20, 526, 200, 4002, 20, 4003, 20, 4004, 20, 4005, 20, 4006, 20, 4007, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 40 1173, MontBlanc, MontBlanc, 110, 30000, 0, 100300, 500, 12, 777, 1000, 70, 90, 90, 30, 1, 100, 1, 120, 120, 12, 12, 1, 3, 12, 164, 0, 4000, 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, 0, 0, 0, 0 1174, Emo, Emo, 129, 50150, 80, 150000, 1000, 2, 250, 450, 30, 60, 60, 80, 60, 100, 60, 110, 110, 40, 30, 1, 1, 21, 183, 250, 450, 672, 50, 528, 5000, 532, 200, 5294, 500, 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 1175, MegaManaBug, MegaManaBug, 111, 675, 0, 275, 40, 1, 60, 85, 3, 8, 0, 16, 14, 15, 20, 30, 30, 9, 10, 1, 4, 12, 137, 800, 1800, 672, 480, 505, 1000, 518, 800, 533, 400, 540, 10, 526, 400, 5309, 1000, 5309, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 60 1176, Rotter, Rotter, 130, 6000, 0, 5533, 733, 4, 333, 555, 20, 25, 50, 30, 15, 30, 1, 130, 130, 7, 11, 1, 1, 17, 141, 1200, 2222, 672, 900, 631, 1000, 777, 800, 778, 200, 779, 500, 1198, 500, 5297, 10, 3004, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 30 1177, Rot, Rot, 100, 13, 0, 11, 1, 1, 111, 333, 0, 0, 0, 0, 0, 0, 0, 255, 33, 1, 1, 1, 0, 11, 132, 0, 500, 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, 0, 0, 0, 0 1178, SpiderQueen, SpiderQueen, 145, 7000, 0, 1200, 400, 3, 250, 300, 60, 60, 0, 40, 30, 50, 15, 65, 40, 8, 15, 0, 2, 12, 165, 210, 1200, 550, 450, 518, 2500, 505, 2000, 640, 600, 4001, 800, 5292, 100, 537, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 30 -1179, CrystalSpiderQueen, CrystalSpiderQueen, 150, 9000, 0, 1600, 450, 3, 250, 300, 70, 80, 0, 45, 35, 60, 30, 70, 50, 8, 15, 0, 2, 12, 171, 1000, 1500, 750, 550, 537, 800, 535, 200, 638, 35, 526, 400, 4002, 35, 4003, 35, 4004, 35, 4005, 35, 4006, 35, 4007, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 30 +1179, CrystalSpiderQueen, CrystalSpiderQueen, 150, 9000, 0, 1600, 450, 3, 250, 300, 70, 80, 0, 45, 35, 60, 30, 70, 50, 8, 15, 0, 2, 12, 171, 1000, 1500, 750, 550, 537, 800, 5384, 400, 638, 35, 526, 400, 4002, 35, 4003, 35, 4004, 35, 4005, 35, 4006, 35, 4007, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 30 1184, BoneQuadceratops, BoneQuadceratops, 120, 22000, 0, 12120, 1888, 1, 100, 200, 66, 55, 0, 60, 20, 60, 1, 43, 70, 9, 10, 1, 1, 17, 169, 750, 800, 692, 720, 4023, 10000, 4023, 5000, 4023, 2500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 30 1185, EntAbomination, EntAbomination, 130, 45000, 280, 58000, 1600, 2, 200, 250, 80, 60, 0, 40, 12, 120, 127, 60, 88, 31, 30, 1, 3, 12, 169, 1500, 900, 772, 740, 569, 2000, 569, 2000, 806, 250, 806, 500, 740, 500, 740, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 20 1188, Junglefowl, Junglefowl, 125, 25500, 0, 15000, 2125, 1, 175, 250, 45, 47, 0, 70, 99, 80, 22, 99, 70, 7, 11, 1, 2, 12, 169, 400, 1000, 672, 200, 5373, 1000, 5375, 1100, 562, 1000, 562, 500, 4023, 500, 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_over_150.txt b/world/map/db/mob_db_over_150.txt index 1c3675c9..7c7d9c0e 100644 --- a/world/map/db/mob_db_over_150.txt +++ b/world/map/db/mob_db_over_150.txt @@ -27,7 +27,8 @@ 1149, Enchanter, Enchanter, 181, 19000, 280, 55000, 2000, 8, 140, 180, 30, 60, 0, 31, 22, 90, 127, 255, 105, 31, 10, 1, 1, 37, 181, 240, 800, 672, 50, 537, 800, 779, 90, 780, 80, 777, 70, 1198, 50, 666, 30, 1227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 10 1150, ManaTyrant, ManaTyrant, 180, 24000, 280, 27000, 5000, 2, 300, 325, 42, 67, 0, 31, 22, 90, 127, 255, 95, 31, 10, 1, 1, 37, 181, 180, 1050, 672, 50, 759, 1, 5237, 20, 1253, 5, 720, 100, 825, 500, 868, 20, 1172, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1161, Xakelbael, Xakelbael, 200, 29999, 280, 999999, 99999, 9, 90, 124, 74, 100, 0, 199, 2, 199, 197, 255, 175, 31, 10, 1, 1, 37, 181, 210, 672, 672, 50, 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, 0, 0, 0, 0 -1170, CrystalGolem, CrystalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 171, 320, 1000, 672, 50, 4002, 50, 4003, 50, 4004, 50, 4005, 50, 4006, 50, 4007, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1171, BlackCrystalGolem, BlackCrystalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 165, 320, 1000, 672, 50, 631, 10000, 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, 0, 0 +1170, CrystalGolem, CrystalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 169, 320, 1000, 672, 50, 5384, 400, 5384, 200, 5384, 100, 4002, 50, 4003, 50, 4004, 50, 4005, 50, 4006, 50, 4007, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1171, BlackCrystalGolem, BlackCrystalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 169, 320, 1000, 672, 50, 5385, 400, 5385, 200, 5385, 100, 4002, 50, 4003, 50, 4004, 50, 4005, 50, 4006, 50, 4007, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 1183, MobMoubootaur, MobMoubootaur, 220, 99999, 9999, 999999, 99999, 1, 400, 500, 99, 99, 0, 99, 60, 99, 30, 255, 255, 18, 18, 1, 6, 47, 165, 240, 872, 272, 100, 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, 0, 0, 0, 0 -1224, CoalGolem, CoalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 171, 320, 1000, 672, 50, 5332, 1000, 5332, 500, 5332, 250, 4001, 5000, 4001, 2500, 4001, 1250, 640, 500, 704, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1224, CoalGolem, CoalGolem, 180, 25000, 280, 68000, 2200, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 169, 320, 1000, 672, 50, 5332, 2000, 5332, 1000, 5332, 500, 4001, 4000, 4001, 2000, 4001, 1000, 640, 500, 704, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +1226, StoneGolem, StoneGolem, 180, 30000, 280, 70000, 2400, 3, 170, 190, 75, 40, 0, 35, 26, 99, 127, 255, 105, 31, 30, 1, 0, 46, 169, 320, 1000, 672, 50, 5380, 2000, 5380, 1000, 5380, 500, 5381, 200, 4001, 500, 640, 500, 704, 1200, 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_skill_db.txt b/world/map/db/mob_skill_db.txt index 82ef11a4..45b49563 100644 --- a/world/map/db/mob_skill_db.txt +++ b/world/map/db/mob_skill_db.txt @@ -129,5 +129,4 @@ //Rick Lime Skills 1196,RickLime@NPC_SUMMONSLAVE_brblowX2,any,198,1,10000,1000,5000,no,self,slavelt,2,1195,0,0,0,0, -1196,RickLime@NPC_SUMMONSLAVE_cloverX1,any,198,1,5000,1000,5000,no,self,slavelt,3,1037,0,0,0,0, 1195,Brainblow@NPC_SELFDESTRUCTION,attack,175,1,10000,100,500,yes,self,always,0,30,0,0,0,0, diff --git a/world/map/db/params.txt b/world/map/db/params.txt index d600b4ad..512d0ac8 100644 --- a/world/map/db/params.txt +++ b/world/map/db/params.txt @@ -28,6 +28,7 @@ NEXTBASEEXP 22 1 NEXTJOBEXP 23 1 Weight 24 1 MaxWeight 25 1 +MaxWeightOverride 27 1 ATK1 41 1 ATK2 42 1 MATK1 43 1 @@ -74,34 +75,36 @@ MUTE_PARTY 1084 1 //MUTE_GUILD 1085 1 AUTOMOD 1086 1 -bMaxHP 6 // MaxHP + n -bMaxSP 8 // MaxSP + n -bStr 13 // STR + n -bAgi 14 // AGI + n -bVit 15 // VIT + n -bInt 16 // INT + n -bDex 17 // DEX + n -bLuk 18 // LUK + n -bAtk 41 // ATK + n (Minimum attack power) -bAtk2 42 // ATK2 + n (Maximum attack power) -bMatk1 43 // MATK1 + n (Maximum magical attack power) -bMatk2 44 // MATK2 + n (Minimum magical attack power) +bMaxHP 6 // MaxHP + n +bMaxSP 8 // MaxSP + n +bStr 13 // STR + n +bAgi 14 // AGI + n +bVit 15 // VIT + n +bInt 16 // INT + n +bDex 17 // DEX + n +bLuk 18 // LUK + n +bMaxWeight 25 // Sets the maximum possible weight to carry to n (bMaxWeight,n;). Note: As a failsafe 1000 is added to n, final weight is n + 1000. +bMaxWeightAdd 26 // Adds n to the maximum possible weight to carry (bMaxWeightAdd,n;). Note: As a failsafe 1000 is added to n, final weight is MaxWeight + n + 1000. +bAtk 41 // ATK + n (Minimum attack power) +bAtk2 42 // ATK2 + n (Maximum attack power) +bMatk1 43 // MATK1 + n (Maximum magical attack power) +bMatk2 44 // MATK2 + n (Minimum magical attack power) // Greatest of MATK1 and MATK2 is taken and becomes MATK1 and MATK2 is set to 0. // So using MATK2 bonus at the moment has no real benefit you only need greater values to reach same as MATK1. // MATK1 += INT + (INT / 5) * (INT / 5); // MATK2 += INT + (INT / 7) * (INT / 7); // The whole magic system is currently handled in serverdata which only uses MATK1 but the magic attack functions // do already exist in servercode only skills must be added there. -bDef 45 // Equipment DEF + n -bDef2 46 // VIT based DEF + n -bMdef 47 // Equipment MDEF + n -bMdef2 48 // INT based MDEF + n -bHit 49 // Hit + n -bFlee 50 // Flee + n -bFlee2 51 // Perfect Dodge + n -bCritical 52 // Critical + n -bAspd 53 // Attack speed + n -bDeaf 70 +bDef 45 // Equipment DEF + n +bDef2 46 // VIT based DEF + n +bMdef 47 // Equipment MDEF + n +bMdef2 48 // INT based MDEF + n +bHit 49 // Hit + n +bFlee 50 // Flee + n +bFlee2 51 // Perfect Dodge + n +bCritical 52 // Critical + n +bAspd 53 // Attack speed + n +bDeaf 70 // Those which can be used with the arrow are only bCritical, bAtkEle, bHit, bAddEle, bAddRace, bAddSize and bAddEff. The other bonuses are ignored. // For more information, have a look here: http://code.google.com/p/eathena/source/browse/trunk/doc/item_bonus.txt diff --git a/world/map/news.d/05-new-dress.txt b/world/map/news.d/05-new-dress.txt new file mode 100644 index 00000000..cd3302dd --- /dev/null +++ b/world/map/news.d/05-new-dress.txt @@ -0,0 +1,13 @@ +{title:New Dress} +{date:September 2012} + +Agostine is well known for his magnificent winter clothes, +but he always dreamed of creating something truly exquisite, +something noble... + +An old veteran has set up camp in the caves below Hurnscald +after a life full of hardship and battle. +He may be old now, but he surely didn't lose his interest +in the art of combat! + +{author:TMW Development Team} diff --git a/world/map/news.d/06-east-expansion.txt b/world/map/news.d/06-east-expansion.txt new file mode 100644 index 00000000..015acdf2 --- /dev/null +++ b/world/map/news.d/06-east-expansion.txt @@ -0,0 +1,13 @@ +{title:East Expansion} +{date:October 2012} + +The roadblock to the north east in Argaes was finally lifted +and parts of the road were reconstructed. +But there is still some work left until the connection to Port City is done. +In the Woods you can find a guy who lives alone, seeking seclusion. +Be careful not to disturb him. He is very vicious. + +The smith's apprentice Peter does good progress in mastering his +handcraft and learned some new techniques. + +{author:TMW Development Team} diff --git a/world/map/news.d/07-halloween2012.txt b/world/map/news.d/07-halloween2012.txt new file mode 100644 index 00000000..86689de1 --- /dev/null +++ b/world/map/news.d/07-halloween2012.txt @@ -0,0 +1,9 @@ +{title:Halloween 2012} +{date:November 2012} + +Halloween has passed and several cities celebrated this event. +It seems the farmer Oscar just came back from a long journey +in one of these cities. +Probably he will have exciting things to tell. + +{author:TMW Development Team} diff --git a/world/map/news.d/08-christmas2012.txt b/world/map/news.d/08-christmas2012.txt new file mode 100644 index 00000000..6bba8a14 --- /dev/null +++ b/world/map/news.d/08-christmas2012.txt @@ -0,0 +1,12 @@ +{title:Christmas 2012} +{date:December 2012} + +Santa and his helpers have returned to Santa's residence +near Nivalis to prepare for Christmas. +Among the helpers, the preparations are moving smoothly +as they should. +The reinboos are excited this year since there will be a change +within their team! +But not everything is working out as planned. + +{author:TMW Development Team} diff --git a/world/map/news.d/09-winter2012.txt b/world/map/news.d/09-winter2012.txt new file mode 100644 index 00000000..52b9fb1f --- /dev/null +++ b/world/map/news.d/09-winter2012.txt @@ -0,0 +1,12 @@ +{title:Illia first appearance} +{date:December 2012 again} + +A new peninsula has magically raised from the depths, +south of Hurnscald. A witch seems to be the source of +this strange phenomenon. +Why is she here, and what does she want? + +Further on the west, Lora Tay is willing to accept +new challenges to prove once more her skills. + +{author:TMW Development Team} diff --git a/world/map/news.d/10-news-news.txt b/world/map/news.d/10-news-news.txt new file mode 100644 index 00000000..b4ab0817 --- /dev/null +++ b/world/map/news.d/10-news-news.txt @@ -0,0 +1,7 @@ +{title:Updating News generation} +{date:2013-01-23} + +News feed is finally generated from the same +source for both the game and the website. + +{author:o11c} diff --git a/world/map/news.d/11-CR-Jan13.txt b/world/map/news.d/11-CR-Jan13.txt new file mode 100644 index 00000000..2e6b177d --- /dev/null +++ b/world/map/news.d/11-CR-Jan13.txt @@ -0,0 +1,15 @@ +{title:Content Release January 2013} +{date:2013-01-26} + +This release brings a huge amount of small fixes +and changes, including fixes of several spelling +and map errors, which were reported by players. +Thanks for that! + +There are a few new things nevertheless: +New characters won't have to start their +adventure in underpants anymore, +and Doug in Dimond's Cove discovered that the +lamps in his room wear off after a while. + +{author:Jenalya} diff --git a/world/map/news.d/12-manaplus.txt b/world/map/news.d/12-manaplus.txt new file mode 100644 index 00000000..7c8ef578 --- /dev/null +++ b/world/map/news.d/12-manaplus.txt @@ -0,0 +1,38 @@ +{title:ManaPlus - new official Client} +{date:2013-01-31} + +ManaPlus Support + +We have decided to support ManaPlus as an +official client alongside Mana. In fact, since +there will likely be no more releases of the +Mana client that supports TMWA (this server), +there will inevitably be a time when ManaPlus +becomes the only supported client. + +Mana 0.6.1 will continue to receive some +support until October 2013. We have no plans +to specifically break compatibility with Mana, +but new features may not be available. + +For older clients (whether Mana or ManaPlus), +there will be different levels of attempted +support, depending on exactly how old it is: + +* Less than 6 months old: will not crash or + behave erratically. +* Less than 2 months old: will behave + expectedly, but might not support all features. +* Last 2 releases: will do everything, + correctly, on the main server. +* Last release, or even git, may be required + on the test server. + +Of course, if a particular client release is +buggy, we may not be able to support it at all. + +For more details, see {link:http://forums.themanaworld.org/viewtopic.php?f=4&t=16867}. + +ManaPlus is available at {link:http://manaplus.evolonline.org/} + +{author:o11c} diff --git a/world/map/news.d/13-lpc.txt b/world/map/news.d/13-lpc.txt new file mode 100644 index 00000000..b4197b10 --- /dev/null +++ b/world/map/news.d/13-lpc.txt @@ -0,0 +1,40 @@ +{title:Source of Tales won the LPC} +{date:2013-02-18} + +This is a really exciting news entry! + +Congratulations to our sister project Mana ({link:http://manasource.org}) +on winning the Liberated Pixel Cup ({link:http://lpc.opengameart.org/content/code-judging-is-in}). + +The project can be found at {link:http://www.sourceoftales.org/news.html} +and the irc channel at {link:irc://chat.freenode.net#sourceoftales}. + +We will undoubtedly experience an influx of both +ordinary players and potential developers since we +were linked as a related project. + +As a developer, it is my goal and expectation that +new players can figure things out on their own. +After all, I once did - though there wasn't as +much content back then (I feel old ...). + +As for new contributors, they will necessarily need +to coordinary with us, the developers. We're always +in need of pixel artists, have great capacity for +quest writers, and currently have need for a bit of +web development and people crazy enough to touch +insides of the server code. + +Be aware that people have different time zones and +busy schedules, so it may be a while before anyone +responds. + +Now, the links: + +Server coding: {link:irc://chat.freenode.net#tmwa} + +Everything else: {link:irc://chat.freenode.net#themanaworld-dev} + +Forums: {link:http://forums.themanaworld.org/} + +{author:o11c and Jenalya} diff --git a/world/map/news.d/14-bugfix-killthegmevent.txt b/world/map/news.d/14-bugfix-killthegmevent.txt new file mode 100644 index 00000000..249d23a3 --- /dev/null +++ b/world/map/news.d/14-bugfix-killthegmevent.txt @@ -0,0 +1,13 @@ +{title:Kill the GM} +{date:2013-02-21} + +Today we'll have a small content release. + +Among code cleaning and bug fixes, the +Tulimshar quests can be done in any order now. +Their completion isn't necessary anymore +to start the Bandit quest. + +Also, GMs may have a surprise for you someday. + +{author:V0id} diff --git a/world/map/news.d/15-servermove.txt b/world/map/news.d/15-servermove.txt new file mode 100644 index 00000000..deeb91e9 --- /dev/null +++ b/world/map/news.d/15-servermove.txt @@ -0,0 +1,12 @@ +{title:Server move} +{date:2013-03-09} + +As of this Saturday, March 9, TMW moved to a new host. +This means there was some downtime, starting at 16:00 UTC. + +Most work was done in 1.5 hours, with a brief shutdown later. +DNS settings may take a while to propogate. + +For more information, see {link:http://forums.themanaworld.org/viewtopic.php?f=1&t=17126} + +{author:the TMWC} diff --git a/world/map/news.d/16-servermoveagain.txt b/world/map/news.d/16-servermoveagain.txt new file mode 100644 index 00000000..1c368ba7 --- /dev/null +++ b/world/map/news.d/16-servermoveagain.txt @@ -0,0 +1,10 @@ +{title:Server moved again} +{date:2013-03-17} + +After the initial server move, The Mana World was subjected +to a three day DoS attack. +In response, we have moved a final time to a server that has +better protection against such attacks. +All game related services have been moved and are back to normal. + +{author:the TMWC} diff --git a/world/map/npc/008-1/andra.txt b/world/map/npc/008-1/andra.txt index 68796fd7..4d643fc6 100644 --- a/world/map/npc/008-1/andra.txt +++ b/world/map/npc/008-1/andra.txt @@ -54,6 +54,7 @@ L_Next4: mes "\"Great! Thank you for you help. If you have more items and want to help again, feel free to talk to me. We just have to be careful to not oversoak the soil with water.. but you don't need to worry, I will know when it is the right time to stop planting."; next; delitem "BottleOfWater", @water_amount; + getitem "EmptyBottle", @water_amount; // simply falls out if inv full. delitem "GrassSeed", @seeds_amount; set FLAGS, FLAGS | FLAG_ANDRA_HELPED; mes "Andra pours some water in a lot of different places and then throws some seeds to the sky. The wind carries some of them really far from her."; @@ -118,6 +119,7 @@ L_Next5: if ($@spawned_plants >= $@MAX_GLOBAL_PLANTS) goto L_Gather; if (countitem("BottleOfWater") < @water_amount || countitem("GrassSeed") < @seeds_amount) goto L_NotEnough; delitem "BottleOfWater", @water_amount; + getitem "EmptyBottle", @water_amount; // simply falls out if inv full. delitem "GrassSeed", @seeds_amount; mes "Andra pours some water in a lot of different places and then throws the seeds to the sky. The wind carries some of them really far from her."; close2; diff --git a/world/map/npc/014-1/goop.txt b/world/map/npc/014-1/goop.txt index 09f27626..e9de3a43 100644 --- a/world/map/npc/014-1/goop.txt +++ b/world/map/npc/014-1/goop.txt @@ -1 +1 @@ -014-1,90,101,0|shop|Gwyneth|188,GrassFedTofu:*100,Honey:*100,ActivatedSulphur:*100,VeganWater:*100,FairTradeSoil:*100,LactoseFreeAcorn:*100,RawAir:*1000,FreeRangeMoss:*100,JadeEgg:*300 +014-1,90,101,0|shop|Gwyneth|188,GrassFedTofu:*100,GlutenFreeHoney:*100,ActivatedSulphur:*100,VeganWater:*100,FairTradeSoil:*100,LactoseFreeAcorn:*100,RawAir:*1000,FreeRangeMoss:*100,JadeEgg:*300 diff --git a/world/map/npc/018-2/caul.txt b/world/map/npc/018-2/caul.txt index 66f99a6e..f8134105 100644 --- a/world/map/npc/018-2/caul.txt +++ b/world/map/npc/018-2/caul.txt @@ -784,6 +784,7 @@ L_brew_dempo_init: delitem "BottleOfWater", 1; delitem "Bone", 1; delitem "Lifestone", 1; + getitem "EmptyBottle", 1; set @finish_dempo, 0; // color can be either black or white at the beginning. diff --git a/world/map/npc/029-1/hasan.txt b/world/map/npc/029-1/hasan.txt index b87794dc..1310cb47 100644 --- a/world/map/npc/029-1/hasan.txt +++ b/world/map/npc/029-1/hasan.txt @@ -50,7 +50,7 @@ L_Main: mes "\"Thats why the price is so high.\""; mes "\"Because I'm the toughest person in all of Candor\""; mes "[Scared Man]"; - mes "\"No, your just a mean bully. Wait till I tell the guards about this!\""; + mes "\"No, you're just a mean bully. Wait till I tell the guards about this!\""; mes "[Unfriendly Guy]"; mes "\"You do that and the next swimming lesson will be sleeping with the fishes.\""; mes "[Scared Man]"; diff --git a/world/map/npc/030-2/wrapping_paper_helper.txt b/world/map/npc/030-2/wrapping_paper_helper.txt index 3ac10b12..4571d5e6 100644 --- a/world/map/npc/030-2/wrapping_paper_helper.txt +++ b/world/map/npc/030-2/wrapping_paper_helper.txt @@ -48,7 +48,7 @@ L_Again: L_White: getinventorylist; - if (@inventorylist_count == 100 || (checkweight("WhiteWrap", $@xmas_wrap_reward) == 0)) + if (@inventorylist_count > (100-2) || (checkweight("WhiteWrap", $@xmas_wrap_reward) == 0)) goto L_FullInv; if ((countitem("ReedBundle") < $@xmas_reed_amount) || (countitem("BottleOfWater") < $@xmas_water_amount) || (countitem("PileOfAsh") < $@xmas_poa_amount)) goto L_NoItems; @@ -56,13 +56,14 @@ getinventorylist; delitem "BottleOfWater", $@xmas_water_amount; delitem "PileOfAsh", $@xmas_poa_amount; getitem "WhiteWrap", $@xmas_wrap_reward; + getitem "EmptyBottle", $@xmas_water_amount; mes "[Reino]"; mes "\"This one is classical.\""; goto L_MadePaper; L_Yellow: getinventorylist; - if (@inventorylist_count == 100 || (checkweight("YellowWrap", $@xmas_wrap_reward) == 0)) + if (@inventorylist_count > (100-2) || (checkweight("YellowWrap", $@xmas_wrap_reward) == 0)) goto L_FullInv; if ((countitem("ReedBundle") < $@xmas_reed_amount) || (countitem("BottleOfWater") < $@xmas_water_amount) || (countitem("YellowDye") < $@xmas_wrap_yellow_amount)) goto L_NoItems; @@ -70,13 +71,14 @@ L_Yellow: delitem "BottleOfWater", $@xmas_water_amount; delitem "YellowDye", $@xmas_wrap_yellow_amount; getitem "YellowWrap", $@xmas_wrap_reward; + getitem "EmptyBottle", $@xmas_water_amount; mes "[Reino]"; mes "\"Right, bright paper brings good vibes.\""; goto L_MadePaper; L_Blue: getinventorylist; - if (@inventorylist_count == 100 || (checkweight("BlueWrap", $@xmas_wrap_reward) == 0)) + if (@inventorylist_count > (100-2) || (checkweight("BlueWrap", $@xmas_wrap_reward) == 0)) goto L_FullInv; if ((countitem("ReedBundle") < $@xmas_reed_amount) || (countitem("BottleOfWater") < $@xmas_water_amount) || (countitem("LightBlueDye") < $@xmas_wrap_ltblue_amount)) goto L_NoItems; @@ -84,13 +86,14 @@ L_Blue: delitem "BottleOfWater", $@xmas_water_amount; delitem "LightBlueDye", $@xmas_wrap_ltblue_amount; getitem "BlueWrap", $@xmas_wrap_reward; + getitem "EmptyBottle", $@xmas_water_amount; mes "[Reino]"; mes "\"Plain and simple. Here.\""; goto L_MadePaper; L_Purple: getinventorylist; - if (@inventorylist_count == 100 || (checkweight("PurpleWrap", $@xmas_wrap_reward) == 0)) + if (@inventorylist_count > (100-2) || (checkweight("PurpleWrap", $@xmas_wrap_reward) == 0)) goto L_FullInv; if ((countitem("ReedBundle") < $@xmas_reed_amount) || (countitem("BottleOfWater") < $@xmas_water_amount) || (countitem("PurpleDye") < $@xmas_wrap_purple_amount)) goto L_NoItems; @@ -98,13 +101,14 @@ L_Purple: delitem "BottleOfWater", $@xmas_water_amount; delitem "PurpleDye", $@xmas_wrap_purple_amount; getitem "PurpleWrap", $@xmas_wrap_reward; + getitem "EmptyBottle", $@xmas_water_amount; mes "[Reino]"; mes "\"Mh, personally I don't like it that much, but here you go.\""; goto L_MadePaper; L_Green: getinventorylist; - if (@inventorylist_count == 100 || (checkweight("GreenWrap", $@xmas_wrap_reward) == 0)) + if (@inventorylist_count > (100-2) || (checkweight("GreenWrap", $@xmas_wrap_reward) == 0)) goto L_FullInv; if ((countitem("ReedBundle") < $@xmas_reed_amount) || (countitem("BottleOfWater") < $@xmas_water_amount) || (countitem("GreenDye") < $@xmas_wrap_green_amount)) goto L_NoItems; @@ -112,6 +116,7 @@ L_Green: delitem "BottleOfWater", $@xmas_water_amount; delitem "GreenDye", $@xmas_wrap_green_amount; getitem "GreenWrap", $@xmas_wrap_reward; + getitem "EmptyBottle", $@xmas_water_amount; mes "[Reino]"; mes "\"Yeah, this is really Christmas-styled.\""; goto L_MadePaper; diff --git a/world/map/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt index 915423e8..b1c5917e 100644 --- a/world/map/npc/functions/global_event_handler.txt +++ b/world/map/npc/functions/global_event_handler.txt @@ -19,6 +19,7 @@ OnPCLoginEvent: callfunc "ConvertChristmas21"; // Christmas 2021 callfunc "VaultLogin"; // Mirror Lake Protocol biddings callfunc "VaultLogout"; // Clean some stuff, to be safe + if (WEIGHT_LIMIT) set MaxWeightOverride, WEIGHT_LIMIT; // If this char var set, override max weight (tradebots, etc) // add more here set @login_event, 2; end; @@ -37,6 +38,7 @@ OnMobKillEvent: OnPCDieEvent: set @necromancer, 0; addtimer 0, "Magic Timer::OnClear"; // reset magic block on death + addtimer 0, "::OnDischarge"; // seeks OnDischarge in ALL npcs (discharge chargeable spells on PC death) callfunc "SpawnGhost"; callfunc "MiriamExpire"; // force the speed skill quest to expire set @killerrid, 0; // reset killer rid @@ -44,7 +46,7 @@ OnPCDieEvent: end; OnPCLogoutEvent: -// if (getnpcid("#Upmarmu#" + getcharid(3)) >= 1) addnpctimer 0, "#Upmarmu#" + getcharid(3) + "::OnDestroy"; // @upmarmu_spell_npc_name$ is already lost at this point so it must be done like this + if (getnpcid("#Upmarmu#" + getcharid(3)) >= 1) addnpctimer 0, "#Upmarmu#" + getcharid(3) + "::OnDestroy"; // @upmarmu_spell_npc_name$ is already lost at this point so it must be done like this callfunc "VaultLogout"; end; diff --git a/world/map/npc/items/anchor_stone.txt b/world/map/npc/items/anchor_stone.txt new file mode 100644 index 00000000..c1ea722b --- /dev/null +++ b/world/map/npc/items/anchor_stone.txt @@ -0,0 +1,56 @@ +function|script|useAnchorStone +{ + addtimer 0, "AS_Core::OnUse"; + return; +} + +-|script|AS_Core|32767 +{ + end; + +OnUse: + if ( @StoneName$ == "AnchorStone" ) goto L_AnchorStone; + if ( @StoneName$ == "AnchoredAnchorStone" ) goto L_AnchoredAnchorStone; + goto L_Close; + +L_AnchorStone: + mes "\"You really want to bind the [@@" + AnchorStone + "|@@] to this place?\""; + menu + "No", L_Close, + "Yes", L_AS_Yes; + +L_AS_Yes: + set AnchorStoneDest, getmaphash(getmap()); // since a hash could be negative I take a separate variable for that since shifting would destroy the sign bit and create a different hash + set AnchorStoneDestCoord, gety() << AS_Y_SHIFT | getx() << AS_X_SHIFT; + + delitem AnchorStone, 1; + getitem AnchoredAnchorStone, 1; + close; + +L_AnchoredAnchorStone: + if ((AnchorStoneDest < 1) && (AnchorStoneDest > -1)) goto L_AAS_Error; + mes "\"You want to recall to the place the [@@" + AnchoredAnchorStone + "|@@] is bound to?\""; + menu + "No", L_Close, + "Yes", L_AAS_Yes; + +L_AAS_Yes: + warp getmapnamefromhash(AnchorStoneDest), (AnchorStoneDestCoord & AS_X_MASK >> AS_X_SHIFT), (AnchorStoneDestCoord & AS_Y_MASK >> AS_Y_SHIFT); + + goto L_AAStoAS; + +L_AAS_Error: + mes "\"Something went wrong the [@@" + AnchoredAnchorStone + "|@@] lost its destination and turns back to normal.\""; + goto L_AAStoAS; + +L_AAStoAS: + set AnchorStoneDest, 0; + set AnchorStoneDestCoord, 0; + + delitem AnchoredAnchorStone, 1; + getitem AnchorStone, 1; + close; + +L_Close: + close; +} diff --git a/world/map/npc/items/maps.txt b/world/map/npc/items/maps.txt new file mode 100644 index 00000000..29d54e7d --- /dev/null +++ b/world/map/npc/items/maps.txt @@ -0,0 +1,9 @@ +function|script|readMap +{ + message strcharinfo(0), "You have no clue how to use this item yet."; + goto L_Return; + +L_Return: + set @MapName$, ""; + return; +} diff --git a/world/map/npc/items/rubber_bat.txt b/world/map/npc/items/rubber_bat.txt index 0bf80ede..ea569a22 100644 --- a/world/map/npc/items/rubber_bat.txt +++ b/world/map/npc/items/rubber_bat.txt @@ -1,12 +1,11 @@ function|script|rubberBat { - if (gettimetick(2) - @lastbat < 2) goto L_Return; + if (gettimetick(2) - @lastsound < 2) goto L_Return; misceffect 403; - set @lastbat, gettimetick(2); + set @lastsound, gettimetick(2); goto L_Return; L_Return: - getitem "RubberBat", 1; // debugmes "Check"; if ($DOOMSDAY == 3) addtimer 10, "#TMWFinalExam::OnRubberBat"; diff --git a/world/map/npc/items/rubber_duck.txt b/world/map/npc/items/rubber_duck.txt index 3f591c15..8a822752 100644 --- a/world/map/npc/items/rubber_duck.txt +++ b/world/map/npc/items/rubber_duck.txt @@ -1,11 +1,10 @@ function|script|rubberDuck { - if (gettimetick(2) - @lastbat < 2) goto L_Return; + if (gettimetick(2) - @lastsound < 2) goto L_Return; misceffect 406; - set @lastbat, gettimetick(2); + set @lastsound, gettimetick(2); goto L_Return; L_Return: - getitem "RubberDucky", 1; return; } diff --git a/world/map/npc/items/scissors.txt b/world/map/npc/items/scissors.txt index fbf3b344..2e12c6b1 100644 --- a/world/map/npc/items/scissors.txt +++ b/world/map/npc/items/scissors.txt @@ -1,6 +1,5 @@ function|script|useScissors { - getitem "Scissors", 1; if (rand(3)) goto L_Change; message strcharinfo(0), "Whoops!"; diff --git a/world/map/npc/items/shovel.txt b/world/map/npc/items/shovel.txt new file mode 100644 index 00000000..b706f1fe --- /dev/null +++ b/world/map/npc/items/shovel.txt @@ -0,0 +1,5 @@ +function|script|useShovel +{ + message strcharinfo(0), "You have no clue how to use this item yet."; + return; +} diff --git a/world/map/npc/items/silver_bell.txt b/world/map/npc/items/silver_bell.txt index 8a791bff..07623426 100644 --- a/world/map/npc/items/silver_bell.txt +++ b/world/map/npc/items/silver_bell.txt @@ -1,12 +1,10 @@ function|script|SilverBellSound { - if (gettimetick(2) - @lastsilverbell < 20) goto L_Return; + if (gettimetick(2) - @lastsound < 2) goto L_Return; misceffect 404; - set @lastsilverbell, gettimetick(2); + set @lastsound, gettimetick(2); goto L_Return; L_Return: - getitem "SilverBell", 1; -// debugmes "Check"; return; } diff --git a/world/map/npc/items/warpTowels.txt b/world/map/npc/items/warpTowels.txt index 77a405b5..7ea7ec17 100644 --- a/world/map/npc/items/warpTowels.txt +++ b/world/map/npc/items/warpTowels.txt @@ -117,26 +117,25 @@ L_WarpPlayer: goto L_BreakChance; L_BreakChance: - if (rand(15)) - goto L_Keep; - getitem "HitchhikersTowel", 1; + if (@warpTowelName$ != "HitchhikersTowel" && rand(15) < 1) + goto L_Break; goto L_End; L_Forbid: message strcharinfo(0), "Towel : This area is protected by a force that doesn't tolerate the power of the Towel."; - goto L_Keep; + goto L_End; L_Prison: message strcharinfo(0), "Towel : You must be warped by a GM to leave the botcheck area."; - goto L_Keep; + goto L_End; L_DontPanic: callfunc "HumanTime"; message strcharinfo(0), "Towel : Your towel is still too low on power to jump again. Try again in ##B"+ @time$ + "##b."; - goto L_Keep; + goto L_End; -L_Keep: - getitem @warpTowelName$, 1; +L_Break: + delitem @warpTowelName$, 1; goto L_End; L_End: diff --git a/world/map/npc/magic/event-summon-managuardian.txt b/world/map/npc/magic/event-summon-managuardian.txt index e66c3eb7..1aa172ad 100644 --- a/world/map/npc/magic/event-summon-managuardian.txt +++ b/world/map/npc/magic/event-summon-managuardian.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; // FIXME: Incomplete check, should still work during sieges - if (getmapflag(getmap(), MF_TOWN)) end; if (Sp < 100) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (countitem("TinyManaElixir") < 1) end; diff --git a/world/map/npc/magic/event-summon-manatyrant.txt b/world/map/npc/magic/event-summon-manatyrant.txt index bf2634c5..ff082930 100644 --- a/world/map/npc/magic/event-summon-manatyrant.txt +++ b/world/map/npc/magic/event-summon-manatyrant.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; if ($DOOMSDAY_SUMMON < 2) end; - if (getmapflag(getmap(), MF_TOWN)) end; if (Sp < 100) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (countitem("LargeManaElixir") < 1) end; diff --git a/world/map/npc/magic/level1-summon-maggots.txt b/world/map/npc/magic/level1-summon-maggots.txt index 05cadbc8..ce95422c 100644 --- a/world/map/npc/magic/level1-summon-maggots.txt +++ b/world/map/npc/magic/level1-summon-maggots.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; if (Sp < 21) end; - if (getmapflag(getmap(), MF_TOWN)) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (countitem("InsectSlime") < 1 || countitem("Root") < 1) end; if (getmap() == "033-1") goto L_SpecialRules6; diff --git a/world/map/npc/magic/level2-lightning-strike.txt b/world/map/npc/magic/level2-lightning-strike.txt index bdd311a6..0a97dc63 100644 --- a/world/map/npc/magic/level2-lightning-strike.txt +++ b/world/map/npc/magic/level2-lightning-strike.txt @@ -30,12 +30,11 @@ OnAttack: if (target(BL_ID, @target_id, 0x36) != 0x36) goto L_FreeRecast; // 0x10 | 0x02 | 0x04 | 0x20 - set .@p, get(.max_radius, "rain") + 1; set @ingravspell[5], @target_id; // store it because foreach overwrites it foreach 1, getmap(), POS_X-.@p, POS_Y-.@p, POS_X+.@p, POS_Y+.@p, strnpcinfo(0)+"::OnNpc"; set @target_id, @ingravspell[5]; // now restore it - + if (@ingravspell[2] <= 0) overrideattack; // workaround for caster in rain death case set @ingravspell[2], @ingravspell[2] - 1; if (@ingravspell[4] & 1) goto L_InRain; void call("elt_damage", @ingravspell[0], (@ingravspell[0]/2)+1, ELT_EARTH, ELT_WIND, FX_LIGHTNING1 + rand(3)); @@ -49,6 +48,7 @@ L_FreeRecast: OnDischarge: if (@ingravspell[2] < 1) end; set @ingravspell[2], 0; + set @ingravspell[4], 0; // Clean up "in rain" flag, it caused funny bugs. misceffect FX_MAGIC_DISCHARGE, strcharinfo(0); overrideattack; end; diff --git a/world/map/npc/magic/level2-magic-knuckles.txt b/world/map/npc/magic/level2-magic-knuckles.txt index 0674f689..cd86ba28 100644 --- a/world/map/npc/magic/level2-magic-knuckles.txt +++ b/world/map/npc/magic/level2-magic-knuckles.txt @@ -1,7 +1,7 @@ -|script|magic-knuckles|32767 { if @_U_BLOCK >= 1 goto L_Still_Exhausted; -/* + set @upmarmu_spell_npc_name$, "#Upmarmu#" + getcharid(3); // make a unique puppet name for every player set .upmarmu_spell_npc, getnpcid(@upmarmu_spell_npc_name$); if ( .upmarmu_spell_npc >= 1 ) goto L_NPC_Exists; // if this npc already exist reuse it so that idle recovery timer does not get destroyed @@ -12,7 +12,6 @@ goto L_NPC_Exists; L_NPC_Exists: -*/ if (call("magic_checks")) end; if (Sp < 20) end; if (getskilllv(SKILL_MAGIC) < .level) end; @@ -49,35 +48,29 @@ OnAttack: if (target(BL_ID, @target_id, 22) != 22) goto L_FreeRecast; // 0x10 | 0x02 | 0x04 void call("elt_damage", @upmarmuspell[0], (@upmarmuspell[3] + @upmarmuspell[4]), ELT_WATER, ELT_FIRE, FX_NONE); -// addtimer 0, @upmarmu_spell_npc_name$ + "::OnResetTimer"; + addtimer 0, @upmarmu_spell_npc_name$ + "::OnResetTimer"; set @upmarmuspell[1], @upmarmuspell[1] - 1; + + if @num_upmarmu_hits >= UPMARMU_HITS_TILL_EXHAUST goto L_FreeRecast; set @num_upmarmu_hits, @num_upmarmu_hits + 1; + if @num_upmarmu_hits >= UPMARMU_HITS_TILL_EXHAUST set .exhausted, 1, .upmarmu_spell_npc; - if @num_upmarmu_hits >= UPMARMU_HITS_TILL_EXHAUST goto L_Exhausted; goto L_FreeRecast; L_FreeRecast: if (@upmarmuspell[1] > 0) addtimer 0, strnpcinfo(0) + "::OnSetRecast"; + else + addtimer 0, @upmarmu_spell_npc_name$ + "::OnExhausted"; end; -L_Exhausted: - set @_U_BLOCK, 1; - set @upmarmuspell[1], 0; - misceffect FX_MAGIC_DISCHARGE, strcharinfo(0); - overrideattack; - addtimer UPMARMU_EXHAUST_DURATION, "Upmarmu Exhaust Timer::OnClear"; // set the exhaustion time - sc_start SC_COOLDOWN_UPMARMU, UPMARMU_EXHAUST_DURATION, 0, BL_ID; - smsg SMSG_FAILURE, "Magic: You are too exhausted to use this spell for a while!"; - goto L_StopTimer; - L_Still_Exhausted: smsg SMSG_FAILURE, "Magic: You are still too exhausted to use this spell for a while!"; end; L_StopTimer: -// addtimer 0, @upmarmu_spell_npc_name$ + "::OnStopTimer"; + addtimer 0, @upmarmu_spell_npc_name$ + "::OnStopTimer"; end; OnDischarge: @@ -91,7 +84,6 @@ OnSetRecast: overrideattack (@upmarmuspell[2] * @upmarmuspell[2]), 1, ATTACK_ICON_GENERIC, OVERRIDE_KNUCKLES, strnpcinfo(0)+"::OnAttack", @upmarmuspell[1]; // delay needs to be squared end; -/* OnResetTimer: // This timer is if you stopped somewhere below max hits then after 25sec you recover fully and start at 0 hits again stopnpctimer; @@ -117,9 +109,20 @@ OnTimer25000: setnpctimer 0; end; +OnExhausted: + if (.exhausted < 1) end; + + set @_U_BLOCK, 1; + set @upmarmuspell[1], 0; + set @num_upmarmu_hits, 0; + set .exhausted, 0; + addtimer UPMARMU_EXHAUST_DURATION, "Upmarmu Exhaust Timer::OnClear"; // set the exhaustion time + sc_start SC_COOLDOWN_UPMARMU, UPMARMU_EXHAUST_DURATION, 0, BL_ID; + smsg SMSG_FAILURE, "Magic: You are too exhausted to use this spell for a while!"; + goto L_StopTimer; + OnDestroy: destroy; -*/ OnInit: set .school, SKILL_MAGIC_WAR; @@ -136,6 +139,5 @@ OnInit: OnClear: set @_U_BLOCK, 0; - set @num_upmarmu_hits, 0; end; } diff --git a/world/map/npc/magic/level2-make-bones.txt b/world/map/npc/magic/level2-make-bones.txt index bc9bc6e5..b84cae6c 100644 --- a/world/map/npc/magic/level2-make-bones.txt +++ b/world/map/npc/magic/level2-make-bones.txt @@ -25,7 +25,7 @@ L_Resume: set CASTS, CASTS + 1; if (CASTS < 0) set CASTS, 1; // overflow misceffect FX_MAGIC_ARROW_CAST, strcharinfo(0); - setarray @create_params[0], (@spellpower/32)+1+(rand(max(1,(800-@spellpower)))/80), 500; + setarray @create_params[0], (@spellpower/6)+1+(rand(max(1,(800-@spellpower)))/80), 500; setarray @create_items$[0], "BoneArrows", "IronArrow"; callfunc "magic_create_item"; callfunc "magic_exp"; diff --git a/world/map/npc/magic/level2-protect.txt b/world/map/npc/magic/level2-protect.txt index 7abc9a1a..87d010f8 100644 --- a/world/map/npc/magic/level2-protect.txt +++ b/world/map/npc/magic/level2-protect.txt @@ -1,5 +1,6 @@ -|script|protect|32767 { + if (sc_check(SC_PHYS_SHIELD_ITEM)) goto L_Itsanc; // itsanc has top priority and cant be overwritten by betsanc if(call("magic_checks")) end; if (Sp < 14) end; set .@level, getskilllv(.school); @@ -44,6 +45,10 @@ OnEnd: misceffect FX_MAGIC_SHIELD_ENDS, strcharinfo(0); end; +L_Itsanc: + message strcharinfo(0), "Shield : You are still itsanced, This blocks your spell."; + end; + L_SpecialRules6: if ($@KIMARR_EVENT < 1) goto L_Pay; if (@target_id == BL_ID) goto L_Pay; diff --git a/world/map/npc/magic/level2-rain.txt b/world/map/npc/magic/level2-rain.txt index 6a7f288b..291af009 100644 --- a/world/map/npc/magic/level2-rain.txt +++ b/world/map/npc/magic/level2-rain.txt @@ -102,9 +102,18 @@ OnHit: if(get(Hp, .caster) < 1) destroy; // destroy if caster is missing if(getmap(.caster) != strnpcinfo(3)) destroy; // destroy if caster left the map if(target(.caster, @target_id, 16) != 16 && .caster != @target_id) end; - if((get(BL_TYPE, @target_id) & 1) == 0) end; // either mob or pc + if((get(BL_TYPE, @target_id) & 1) == 0) end; // either mob or pc if(get(ELTTYPE, @target_id) == ELT_FIRE) injure .caster, @target_id, ((rand((@spellpower/15)+5)+2) * (100 - get(MDEF1, @target_id))) / 100; + if ($NO_RAIN_SPAWNS) end; // server-wide killswitch for rain pranks if spawns logic would backfire. + if (mobcount(getmap(), "rain::OnRainSpawnDeath") > 30) end; // Abort if too crowded. + if(get(Class, @target_id) == EntAbomination) // Rain hit Ent? This scores little perk! + monster getmap(), getnpcx(), getnpcy(), "", LogHead, 1+rand(1+(.max/150)), "rain::OnRainSpawnDeath"; + if((get(Class, @target_id) == LogHead) && (rand(5) == 3)) // Rain hit LogHead? Little perk as well (plants) + monster getmap(), getnpcx(), getnpcy(), "", MauvePlant+rand(5), 1, "rain::OnRainSpawnDeath"; + end; + +OnRainSpawnDeath: end; OnDestroy: diff --git a/world/map/npc/magic/level2-summon-fluffies.txt b/world/map/npc/magic/level2-summon-fluffies.txt index f10a86b5..fef40a17 100644 --- a/world/map/npc/magic/level2-summon-fluffies.txt +++ b/world/map/npc/magic/level2-summon-fluffies.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; if (Sp < 39) end; - if (getmapflag(getmap(), MF_TOWN)) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("WhiteFur") < 1 || countitem("Root") < 1) end; diff --git a/world/map/npc/magic/level2-summon-mouboo.txt b/world/map/npc/magic/level2-summon-mouboo.txt index c692e9cf..8a8603c6 100644 --- a/world/map/npc/magic/level2-summon-mouboo.txt +++ b/world/map/npc/magic/level2-summon-mouboo.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; if (Sp < 35) end; - if (getmapflag(getmap(), MF_TOWN)) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("MoubooFigurine") < 1 || countitem("Root") < 1) end; diff --git a/world/map/npc/magic/level2-summon-pinkie.txt b/world/map/npc/magic/level2-summon-pinkie.txt index 61af9eed..b4774584 100644 --- a/world/map/npc/magic/level2-summon-pinkie.txt +++ b/world/map/npc/magic/level2-summon-pinkie.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; if (Sp < 35) end; - if (getmapflag(getmap(), MF_TOWN)) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("PinkAntenna") < 1 || countitem("Root") < 1) end; diff --git a/world/map/npc/magic/level2-summon-snakes.txt b/world/map/npc/magic/level2-summon-snakes.txt index 0723961b..5815cef5 100644 --- a/world/map/npc/magic/level2-summon-snakes.txt +++ b/world/map/npc/magic/level2-summon-snakes.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; if (Sp < 40) end; - if (getmapflag(getmap(), MF_TOWN)) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("DarkCrystal") < 1 || countitem("SnakeEgg") < 1) end; diff --git a/world/map/npc/magic/level2-summon-spiky-mushroom.txt b/world/map/npc/magic/level2-summon-spiky-mushroom.txt index 701648d5..0f884185 100644 --- a/world/map/npc/magic/level2-summon-spiky-mushroom.txt +++ b/world/map/npc/magic/level2-summon-spiky-mushroom.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; if (Sp < 33) end; - if (getmapflag(getmap(), MF_TOWN)) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("HardSpike") < 1 || countitem("Root") < 1) end; diff --git a/world/map/npc/magic/level2-summon-wickedmushroom.txt b/world/map/npc/magic/level2-summon-wickedmushroom.txt index 014a5d80..7d0e93c1 100644 --- a/world/map/npc/magic/level2-summon-wickedmushroom.txt +++ b/world/map/npc/magic/level2-summon-wickedmushroom.txt @@ -5,7 +5,6 @@ OnCast: if(call("magic_checks")) end; if (Sp < 42) end; - if (getmapflag(getmap(), MF_TOWN)) end; if (getskilllv(SKILL_MAGIC) < .level) end; if (getskilllv(.school) < .level) end; if (countitem("DarkCrystal") < 1 || countitem("SmallMushroom") < 1) end; diff --git a/world/map/npc/mobs/miner_mania.txt b/world/map/npc/mobs/miner_mania.txt index 445c82e0..a496697d 100644 --- a/world/map/npc/mobs/miner_mania.txt +++ b/world/map/npc/mobs/miner_mania.txt @@ -53,7 +53,7 @@ Note: setarray $@slime_mine_maps_y0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 23, -1; setarray $@slime_mine_maps_x1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, -1; setarray $@slime_mine_maps_y1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 170, -1; - setarray $@slimes, CopperSlime, SilverSlime, BromenalSlime, GoldSlime, IronSlime, CoalSlime; + setarray $@slimes, CopperSlime, SilverSlime, BromenalSlime, GoldSlime, IronSlime, CoalSlime, StoneSlime; // Bifs ----------------------------- diff --git a/world/map/npc/mobs/mob_points.txt b/world/map/npc/mobs/mob_points.txt index d0ede2f1..2589f1eb 100644 --- a/world/map/npc/mobs/mob_points.txt +++ b/world/map/npc/mobs/mob_points.txt @@ -232,7 +232,9 @@ function|script|MobPoints 1, // 1221 SmallRubyBif 1, // 1222 SmallSapphireBif 1, // 1223 SmallTopazBif - 200 // 1224 CoalGolem + 200, // 1224 CoalGolem + 25, // 1225 StoneSlime + 200 // 1226 StoneGolem ; // END // the following mobs where replaced by other mobs: diff --git a/world/map/npc/scripts.conf b/world/map/npc/scripts.conf index 512c8d48..b0a5f0c2 100644 --- a/world/map/npc/scripts.conf +++ b/world/map/npc/scripts.conf @@ -62,6 +62,9 @@ npc: npc/items/love_potion.txt npc: npc/items/manapearl_item.txt npc: npc/items/underworld_troll.txt npc: npc/items/silver_bell.txt +npc: npc/items/shovel.txt +npc: npc/items/maps.txt +npc: npc/items/anchor_stone.txt // Mob Functions npc: npc/mobs/miner_mania.txt |