diff options
Diffstat (limited to 'world/map')
24 files changed, 347 insertions, 71 deletions
diff --git a/world/map/db/const-aegis.txt b/world/map/db/const-aegis.txt index 3676decc..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 @@ -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/item_db.conf b/world/map/db/item_db.conf index 277b033e..5b72b8d7 100644 --- a/world/map/db/item_db.conf +++ b/world/map/db/item_db.conf @@ -5860,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 @@ -16670,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 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_use.txt b/world/map/db/item_db_use.txt index e4783e41..2e7c33ca 100644 --- a/world/map/db/item_db_use.txt +++ b/world/map/db/item_db_use.txt @@ -147,3 +147,6 @@ 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/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/npc/functions/global_event_handler.txt b/world/map/npc/functions/global_event_handler.txt index d169f3c7..5274fa05 100644 --- a/world/map/npc/functions/global_event_handler.txt +++ b/world/map/npc/functions/global_event_handler.txt @@ -45,7 +45,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/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-magic-knuckles.txt b/world/map/npc/magic/level2-magic-knuckles.txt index a67941cf..92ee07a5 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-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 17045566..b0a5f0c2 100644 --- a/world/map/npc/scripts.conf +++ b/world/map/npc/scripts.conf @@ -64,6 +64,7 @@ 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 |