From ef482f992da69694409e38eef45c02a741d12014 Mon Sep 17 00:00:00 2001 From: HoraK-FDF Date: Wed, 14 Apr 2021 04:31:23 +0200 Subject: Assassin set and Mana Pearl item db and function (#580) Add a few new items for brawling --- world/map/db/item_db_chest.txt | 2 +- world/map/db/item_db_foot.txt | 2 +- world/map/db/item_db_hand.txt | 2 +- world/map/db/item_db_head.txt | 1 + world/map/db/item_db_leg.txt | 2 +- world/map/db/item_db_trinket.txt | 9 ++++++--- world/map/npc/items/manapearl_item.txt | 29 +++++++++++++++++++++++++++++ world/map/npc/scripts.conf | 1 + 8 files changed, 41 insertions(+), 7 deletions(-) create mode 100644 world/map/npc/items/manapearl_item.txt diff --git a/world/map/db/item_db_chest.txt b/world/map/db/item_db_chest.txt index 5383dc34..c9c75f54 100644 --- a/world/map/db/item_db_chest.txt +++ b/world/map/db/item_db_chest.txt @@ -19,7 +19,7 @@ 689, ShortTankTop, 5, 600, 300, 8, 0, 2, 0, -4, 0, 2, 512, 0, 0, 0, {}, {} 720, SilkRobe, 5, 8000, 4000, 5, 0, 5, 0, 0, 0, 2, 512, 0, 0, 0, {}, {} 726, GMRobe, 5, 8000, 4000, 40, 0, 5, 0, 0, 0, 2, 512, 0, 0, 0, {}, {callfunc "RestrictedItem";} -755, AssassinShirt, 5, 10000, 3000, 15, 0, 15, 0, -5, 0, 2, 512, 0, 90, 0, {}, {callfunc "BrawlingItem"; bonus bAgi, 15;bonus bSpeedAddRate, 10;bonus bFlee, 20;bonus bHit, 20;bonus bMaxHP, 200;} +755, AssassinShirt, 5, 10000, 3000, 15, 0, 20, 0, -5, 0, 2, 512, 0, 90, 0, {}, {callfunc "BrawlingItem"; bonus bAgi, 15; bonus bSpeedAddRate, 10; bonus bFlee, 20; bonus bHit, 20; bonus bMaxHP, 200;} 767, TerraniteChestArmor, 5, 100000, 3000, 800, 0, 20, 0, -70, 0, 2, 512, 0, 0, 0, {}, {bonus bDex, 1;bonus bMdef, 10;} 782, ForestArmor, 5, 3000, 1500, 40, 0, 10, 0, -20, 0, 2, 512, 0, 0, 0, {}, {bonus bDex, 3;} 783, PlatynaRedDress, 5, 100000, 50000, 35, 0, 15, 0, 3, 0, 2, 512, 0, 0, 0, {}, {} diff --git a/world/map/db/item_db_foot.txt b/world/map/db/item_db_foot.txt index 2b744c3b..b65b6335 100644 --- a/world/map/db/item_db_foot.txt +++ b/world/map/db/item_db_foot.txt @@ -4,7 +4,7 @@ 655, FurBoots, 5, 5000, 600, 50, 0, 3, 0, -3, 0, 2, 64, 0, 0, 0, {}, {} 734, BlackBoots, 5, 20000, 3000, 25, 0, 3, 0, -10, 0, 2, 64, 0, 0, 0, {}, {} 735, CottonBoots, 5, 2000, 500, 10, 0, 1, 0, 1, 0, 2, 64, 0, 0, 0, {}, {} -757, AssassinBoots, 5, 7000, 2000, 10, 0, 3, 0, -3, 0, 2, 64, 0, 0, 0, {}, {callfunc "BrawlingItem";bonus bAgi, 4;} +757, AssassinBoots, 5, 7000, 2000, 10, 0, 4, 0, -3, 0, 2, 64, 0, 0, 0, {}, {callfunc "BrawlingItem"; bonus bAgi, 4; bonus bSpeedAddRate, 5; bonus bFlee, 5;} 792, BromenalBoots, 5, 8000, 500, 30, 0, 1, 0, -2, 0, 2, 64, 0, 0, 0, {}, {} 876, WarlordBoots, 5, 19000, 2000, 550, 0, 5, 0, -22, 0, 2, 64, 0, 0, 0, {}, {} 2150, RedCottonBoots, 5, 2000, 500, 30, 0, 1, 0, 1, 0, 2, 64, 0, 0, 0, {}, {} diff --git a/world/map/db/item_db_hand.txt b/world/map/db/item_db_hand.txt index 8765af1e..3e98da26 100644 --- a/world/map/db/item_db_hand.txt +++ b/world/map/db/item_db_hand.txt @@ -4,7 +4,7 @@ 532, LeatherGloves, 5, 6000, 2000, 20, 0, 4, 0, -20, 0, 2, 4, 0, 0, 0, {}, {} 563, WinterGloves, 5, 6000, 3000, 20, 0, 3, 0, -15, 0, 2, 4, 0, 0, 0, {}, {} 741, CottonGloves, 5, 2000, 500, 10, 0, 1, 0, -10, 0, 2, 4, 0, 0, 0, {}, {} -756, AssassinGloves, 5, 7000, 2000, 9, 0, 3, 0, -3, 0, 2, 4, 0, 0, 0, {}, {callfunc "BrawlingItem";bonus bAgi, 4;} +756, AssassinGloves, 5, 7000, 2000, 9, 15, 4, 0, -3, 0, 2, 4, 0, 0, 0, {}, {callfunc "BrawlingItem"; bonus bAgi, 4; bonus bCritical, 5; bonus bAspdRate, 5;} 794, BromenalGloves, 5, 6000, 2000, 40, 0, 4, 0, -20, 0, 2, 4, 0, 0, 0, {}, {} 868, SilkGloves, 5, 5000, 2500, 4, 0, 1, 0, 0, 0, 2, 4, 0, 0, 0, {}, {} 2160, RedCottonGloves, 5, 2000, 500, 20, 0, 1, 0, -10, 0, 2, 4, 0, 0, 0, {}, {} diff --git a/world/map/db/item_db_head.txt b/world/map/db/item_db_head.txt index 798adefe..c6ffe993 100644 --- a/world/map/db/item_db_head.txt +++ b/world/map/db/item_db_head.txt @@ -226,3 +226,4 @@ 5264, BlueWolfHelmet, 5, 1000, 500, 50, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, {}, {} 5266, CloverHat, 5, 1000, 500, 50, 0, 3, 0, 0, 0, 2, 256, 0, 0, 0, {}, {bonus bLuk, 1;} //ID, Name___________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript} +5267, AssassinMask, 5, 30000, 3000, 10, 0, 6, 0, -5, 0, 2, 256, 0, 0, 0, {}, {callfunc "BrawlingItem"; bonus bMdef, 5; bonus bAgi, 9; bonus bDex, 1; bonus bMaxHP, 70; bonus bDoubleAddRate, 15; bonus bCritical, 15; bonus bAspdRate, 15;} diff --git a/world/map/db/item_db_leg.txt b/world/map/db/item_db_leg.txt index 455550f7..5ff86274 100644 --- a/world/map/db/item_db_leg.txt +++ b/world/map/db/item_db_leg.txt @@ -5,7 +5,7 @@ 632, CottonSkirt, 5, 1000, 500, 10, 0, 4, 0, -8, 0, 2, 1, 0, 1, 0, {}, {} 642, JeansChaps, 5, 2000, 1000, 60, 0, 6, 0, -12, 0, 2, 1, 0, 0, 0, {}, {} 648, CottonTrousers, 5, 1500, 750, 25, 0, 4, 0, -6, 0, 2, 1, 0, 1, 0, {}, {} -731, AssassinPants, 5, 10000, 3000, 20, 0, 4, 0, -5, 0, 2, 1, 0, 0, 0, {}, {callfunc "BrawlingItem";bonus bAgi, 5;} +731, AssassinPants, 5, 10000, 3000, 20, 0, 5, 0, -5, 0, 2, 1, 0, 0, 0, {}, {callfunc "BrawlingItem"; bonus bAgi, 5; bonus bSpeedAddRate, 5; bonus bFlee, 5;} 768, TerraniteLegs, 5, 10000, 3000, 30, 0, 5, 0, -8, 0, 2, 1, 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, {}, {} 796, BromenalLegs, 5, 2000, 1000, 150, 0, 6, 0, -12, 0, 2, 1, 0, 0, 0, {}, {} diff --git a/world/map/db/item_db_trinket.txt b/world/map/db/item_db_trinket.txt index 1ce7db96..f230466d 100644 --- a/world/map/db/item_db_trinket.txt +++ b/world/map/db/item_db_trinket.txt @@ -9,7 +9,7 @@ 832, GoldenFourLeafAmulet, 5, 40000, 4000, 10, 0, 0, 0, 0, 0, 2, 8, 0, 0, 0, {}, {bonus bLuk, 4;} 865, Grimoire, 5, 5000, 2500, 100, 0, 0, 0, 5, 0, 2, 8, 0, 0, 0, {}, {bonus bMaxSP, 30;} 879, HeartOfIsis, 5, 70000, 35000, 40, 0, 0, 0, 0, 0, 2, 8, 0, 85, 0, {}, {bonus bMaxHPrate, 15; bonus bHPrecovRate, 65;} -1227, EnchantersAmulet, 5, 1000, 1, 1, 0, 0, 0, 0, 0, 2, 16, 0, 0, 0, {}, {bonus bHit, 22;} +1227, EnchantersAmulet, 5, 0, 0, 1, 0, 0, 0, 0, 0, 2, 16, 0, 0, 0, {}, {bonus bHit, 22;} 1244, DarkTalisman, 5, 0, 0, 0, 0, 0, 0, 100, 0, 2, 8, 0, 0, 0, {}, {bonus bMdef, 30;} 4008, DiamondRing, 5, 5000, 2500, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {bonus bVit, 1;} 4009, RubyRing, 5, 5000, 2500, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {bonus bStr, 1;} @@ -19,5 +19,8 @@ 4013, AmethystRing, 5, 5000, 2500, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {bonus bDex, 1;} 4014, SimpleRing, 5, 100000, 2500, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {} 677, HeartNecklace, 5, 2500, 0, 10, 0, 0, 0, 0, 0, 2, 8, 0, 0, 0, {}, {} -5252, GuardianWings, 5, 0, 0, 1, 0, 0, 0, 0, 0, 2, 16, 0, 0, 0, {}, {} -5253, MageRing, 5, 0, 0, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {bonus bInt, 1;} +5252, GuardianWings, 5, 0, 0, 1, 0, 0, 0, 0, 0, 2, 16, 0, 0, 0, {}, {} +5253, MageRing, 5, 0, 0, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {bonus bInt, 1;} +5268, AssassinRing, 5, 0, 0, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {callfunc "BrawlingItem"; bonus bAgi, 1; bonus bCritical, 5; bonus bAspdRate, 5;} +5269, AssassinAmulet, 5, 0, 0, 1, 0, 0, 0, 0, 0, 2, 16, 0, 0, 0, {}, {callfunc "BrawlingItem"; bonus bAgi, 1; bonus bDoubleAddRate, 5; bonus bHit, 25;} +5270, ManaPearl, 5, 0, 0, 0, 0, 0, 0, 11, 0, 2, 16, 0, 0, 0, {}, {callfunc "ManaPearlItem"; bonus bInt, 1; bonus bMdef, 11; bonus bMaxSP, 55;} diff --git a/world/map/npc/items/manapearl_item.txt b/world/map/npc/items/manapearl_item.txt new file mode 100644 index 00000000..9c1f1c04 --- /dev/null +++ b/world/map/npc/items/manapearl_item.txt @@ -0,0 +1,29 @@ +// The Mana Pearl can only be used when player has a natural mana flow: +// "Magic flows naturally from you, readily and with ease. Your understanding of what you can currently control at present is flawless, far beyond your requirements to cast magic at this level."; +// Variables passed to this script: +// @slotId The slot in which the item would have been equipped in. This is passed automagically when called in an equip script. + +function|script|ManaPearlItem +{ + + set @debug_mask, 65535; + set @debug_shift, 0; + set @mexp, ((MAGIC_EXPERIENCE & @debug_mask) >> @debug_shift); + + set @manapearl_mexp_needed, 5404; + + if ( @mexp >= @manapearl_mexp_needed ) + goto L_Return; + + message strcharinfo(0), "You are not expirienced enough to keep up the mana flow that is needed to stay in resonance with the Mana Pearl."; + + // This is for debug + if (debug) + goto L_Return; + + callfunc "UnequipLater"; + goto L_Return; + +L_Return: + return; +} diff --git a/world/map/npc/scripts.conf b/world/map/npc/scripts.conf index de85f8b4..114cc924 100644 --- a/world/map/npc/scripts.conf +++ b/world/map/npc/scripts.conf @@ -54,6 +54,7 @@ npc: npc/items/drugs.txt npc: npc/items/max_stat.txt npc: npc/items/nobow_item.txt npc: npc/items/love_potion.txt +npc: npc/items/manapearl_item.txt import: npc/_import.txt // magic -- cgit v1.2.3-60-g2f50