From d1e184e46c21a8a95ff4ca170e460c3e91a59ee4 Mon Sep 17 00:00:00 2001 From: Lemongrass3110 Date: Sun, 18 Dec 2022 00:39:50 +0100 Subject: [PATCH] Initial version of cashmall (#7450) Introduces the cashmall Added Cachua_Coupon exchange NPC Enabled Devil Enchant Master and moved to Cash Mall Moved Mergician Added Basta, Mighty Hammer and Brock Moved Shadow Blacksmith Added Cash Hair Stylist Added a feature switch for Stylist UI Updated Hair Stylist Thanks to @aleos89, @Atemo and @eppc0330! Co-authored-by: aleos Co-authored-by: Atemo --- conf/battle/feature.conf | 4 + db/re/item_db_usable.yml | 1620 ++++++++++++++++++++++++- db/re/item_group_db.yml | 733 +++++++++++ db/re/laphine_synthesis.yml | 20 +- npc/merchants/cash_hair.txt | 125 -- npc/re/mapflag/nobranch.txt | 5 + npc/re/mapflag/nomemo.txt | 5 + npc/re/mapflag/nopenalty.txt | 5 + npc/re/mapflag/nopvp.txt | 5 + npc/re/mapflag/noteleport.txt | 6 + npc/re/merchants/barters.yml | 1 + npc/re/merchants/barters/cashmall.yml | 1039 ++++++++++++++++ npc/re/merchants/cashmall.txt | 331 +++++ npc/re/merchants/enchan_upg.txt | 3 +- npc/re/merchants/shadow_refiner.txt | 4 +- npc/re/other/item_merge.txt | 10 +- npc/re/scripts_athena.conf | 3 +- npc/scripts_athena.conf | 1 - sql-files/item_db_re_equip.sql | 20 +- src/map/atcommand.cpp | 4 + src/map/battle.cpp | 9 + src/map/battle.hpp | 2 + src/map/itemdb.hpp | 95 ++ src/map/script.cpp | 5 + src/map/script_constants.hpp | 95 ++ 25 files changed, 3995 insertions(+), 155 deletions(-) delete mode 100644 npc/merchants/cash_hair.txt create mode 100644 npc/re/merchants/barters/cashmall.yml create mode 100644 npc/re/merchants/cashmall.txt diff --git a/conf/battle/feature.conf b/conf/battle/feature.conf index 64f7f4fa2e..6565a3f994 100644 --- a/conf/battle/feature.conf +++ b/conf/battle/feature.conf @@ -142,3 +142,7 @@ feature.dynamicnpc_direction: no // like from SHIFT+Click from player's inventory/cart/equipment window. // Requires: 2010-00-00RagexeRE or later feature.itemlink: on + +// Stylist UI (Note 1) +// Requires: 2015-11-04 or later +feature.stylist: on diff --git a/db/re/item_db_usable.yml b/db/re/item_db_usable.yml index 6f8d5d2c47..4c1d879002 100644 --- a/db/re/item_db_usable.yml +++ b/db/re/item_db_usable.yml @@ -62862,8 +62862,9 @@ Body: getgroupitem(IG_SEASON_EVT_REWARD_9); - Id: 100951 AegisName: S_Ignition_Cube - Name: Ignition Shadow Cube # !todo check english name + Name: Ignition Shadow Cube Type: Usable + Weight: 0 Flags: Container: true Trade: @@ -62875,7 +62876,1622 @@ Body: NoMail: true NoAuction: true Script: | - getgroupitem(IG_S_IGNITION_CUBE); + getgroupitem(IG_S_Ignition_Cube); + - Id: 100952 + AegisName: S_W_Breath_Cube + Name: Cold Breath Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_W_Breath_Cube); + - Id: 100954 + AegisName: S_F_Breath_Cube + Name: Fire Breath Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_F_Breath_Cube); + - Id: 100955 + AegisName: S_Sonic_Cube + Name: Sonic Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Sonic_Cube); + - Id: 100956 + AegisName: S_Banish_Cannon_Cube + Name: Vanishing Cannon Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Banish_Cannon_Cube); + - Id: 100957 + AegisName: S_Brand_Cube + Name: Brand Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Brand_Cube); + - Id: 100958 + AegisName: S_Genesis_Cube + Name: Genesis Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Genesis_Cube); + - Id: 100959 + AegisName: S_Chain_Press_Cube + Name: Chain Press Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Chain_Press_Cube); + - Id: 100960 + AegisName: S_Strain_Cube + Name: Strain Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Strain_Cube); + - Id: 100961 + AegisName: S_Jack_Cube + Name: Jack Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Jack_Cube); + - Id: 100962 + AegisName: S_Chain_Cube + Name: Chain Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Chain_Cube); + - Id: 100963 + AegisName: S_Crimson_Cube + Name: Crimson Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Crimson_Cube); + - Id: 100964 + AegisName: S_Grave_Cube + Name: Grave Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Grave_Cube); + - Id: 100965 + AegisName: S_Dust_Cube + Name: Dust Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Dust_Cube); + - Id: 100966 + AegisName: S_Varetyr_Cube + Name: Varetyr Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Varetyr_Cube); + - Id: 100967 + AegisName: S_Psychic_Cube + Name: Psychic Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Psychic_Cube); + - Id: 100968 + AegisName: S_Vulcan_Cube + Name: Vulcan Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Vulcan_Cube); + - Id: 100969 + AegisName: S_Boomerang_Cube + Name: Boomerang Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Boomerang_Cube); + - Id: 100970 + AegisName: S_Arms_Cube + Name: Arm Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Arms_Cube); + - Id: 100971 + AegisName: S_Tornado_Cube + Name: Tornado Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Tornado_Cube); + - Id: 100972 + AegisName: S_Spore_Bomb_Cube + Name: Spore Bomb Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Spore_Bomb_Cube); + - Id: 100973 + AegisName: S_Cannon_Cart_Cube + Name: Cannon Cart Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Cannon_Cart_Cube); + - Id: 100974 + AegisName: S_Crazy_Cube + Name: Crazy Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Crazy_Cube); + - Id: 100975 + AegisName: S_Cart_Tornado_Cube + Name: Tornado Cart Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Cart_Tornado_Cube); + - Id: 100976 + AegisName: S_Duplelight_Cube + Name: Duple Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Duplelight_Cube); + - Id: 100977 + AegisName: S_Magnus_Cube + Name: Magnus Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Magnus_Cube); + - Id: 100978 + AegisName: S_Adoramus_Cube + Name: Adora Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Adoramus_Cube); + - Id: 100979 + AegisName: S_Judex_Cube + Name: Judex Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Judex_Cube); + - Id: 100980 + AegisName: S_Knucklearrow_Cube + Name: Knuckle Arrow Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Knucklearrow_Cube); + - Id: 100981 + AegisName: S_Skynetblow_Cube + Name: Sky Blow Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Skynetblow_Cube); + - Id: 100982 + AegisName: S_Rampage_Cube + Name: Rampage Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Rampage_Cube); + - Id: 100983 + AegisName: S_TigerCannon_Cube + Name: Tiger Cannon Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_TigerCannon_Cube); + - Id: 100984 + AegisName: S_Rolling_Cube + Name: Rolling Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Rolling_Cube); + - Id: 100985 + AegisName: S_Ripper_Cube + Name: Ripper Slasher Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Ripper_Cube); + - Id: 100986 + AegisName: S_Slash_Cube + Name: Slash Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Slash_Cube); + - Id: 100987 + AegisName: S_Katar_Cube + Name: Katar Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Katar_Cube); + - Id: 100988 + AegisName: S_Menace_Cube + Name: Menace Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Menace_Cube); + - Id: 100989 + AegisName: S_Shadowspell_Cube + Name: Shadow Spell Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Shadowspell_Cube); + - Id: 100990 + AegisName: S_Triangle_Cube + Name: Triangle Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Triangle_Cube); + - Id: 100991 + AegisName: S_Paint_Cube + Name: Feint Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Paint_Cube); + - Id: 100992 + AegisName: S_Shooting_Cube + Name: Katar Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Shooting_Cube); + - Id: 100994 + AegisName: S_Arrow_Cube + Name: Arrow Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Arrow_Cube); + - Id: 100995 + AegisName: S_Aimed_Cube + Name: Aimed Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Aimed_Cube); + - Id: 100996 + AegisName: S_Cluster_Cube + Name: Cluster Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Cluster_Cube); + - Id: 100997 + AegisName: S_Rainstorm_Cube + Name: Rainstorm Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Rainstorm_Cube); + - Id: 100998 + AegisName: S_Metalic_Cube + Name: Metallic Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Metalic_Cube); + - Id: 100999 + AegisName: S_Arrowvulcan_Cube + Name: Arrow Vulcan Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Arrowvulcan_Cube); + - Id: 101000 + AegisName: S_Reverberation_Cube + Name: Reverberation Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Reverberation_Cube); + - Id: 101001 + AegisName: S_Moonlight_Cube + Name: Moonlight Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Moonlight_Cube); + - Id: 101002 + AegisName: S_Sunshine_Cube + Name: Sunshine Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Sunshine_Cube); + - Id: 101003 + AegisName: S_Stardust_Cube + Name: Stardust Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Stardust_Cube); + - Id: 101004 + AegisName: S_S_Cube + Name: Es Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_S_Cube); + - Id: 101005 + AegisName: S_Evilcurse_Cube + Name: Evil Curse Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Evilcurse_Cube); + - Id: 101006 + AegisName: S_Syuriken_Cube + Name: Cross Shuriken Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Syuriken_Cube); + - Id: 101007 + AegisName: S_Kunai_Cube + Name: Kunai Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Kunai_Cube); + - Id: 101008 + AegisName: S_Huusouka_Cube + Name: Wind Spear Petal Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Huusouka_Cube); + - Id: 101009 + AegisName: S_Kamaenraku_Cube + Name: First Exploding Draft Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Kamaenraku_Cube); + - Id: 101010 + AegisName: S_God_Hammer_Cube + Name: God Hammer Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_God_Hammer_Cube); + - Id: 101011 + AegisName: S_Shatter_Buster_Cube + Name: Shatter Buster Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Shatter_Buster_Cube); + - Id: 101012 + AegisName: S_Tail_Dragon_Cube + Name: Tail Dragon Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Tail_Dragon_Cube); + - Id: 101013 + AegisName: S_Trip_Cube + Name: Trip Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Trip_Cube); + - Id: 101014 + AegisName: S_Flare_Dance_Cube + Name: Flare Dance Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Flare_Dance_Cube); + - Id: 101015 + AegisName: S_Super_Magic_Cube + Name: Super Magic Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Super_Magic_Cube); + - Id: 101016 + AegisName: S_Super_Power_Cube + Name: Super Power Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Super_Power_Cube); + - Id: 101017 + AegisName: S_Silvervine_Cube + Name: Silvervine Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Silvervine_Cube); + - Id: 101018 + AegisName: S_Catnip_Cube + Name: Catnip Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Catnip_Cube); + - Id: 101019 + AegisName: S_SavageRabbit_Cube + Name: Savage Rabbit Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_SavageRabbit_Cube); + - Id: 101020 + AegisName: S_Pickyrush_Cube + Name: Picky Rush Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Pickyrush_Cube); + - Id: 101021 + AegisName: S_RuneKnight_Cube + Name: Rune Knight Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_RuneKnight_Cube); + - Id: 101022 + AegisName: S_RoyalGuard_Cube + Name: Royal Guard Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_RoyalGuard_Cube); + - Id: 101023 + AegisName: S_Warlock_Cube + Name: Warlock Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Warlock_Cube); + - Id: 101024 + AegisName: S_Sorcerer_Cube + Name: Sorcerer Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Sorcerer_Cube); + - Id: 101025 + AegisName: S_Mechanic_Cube + Name: Mechanic Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Mechanic_Cube); + - Id: 101026 + AegisName: S_Generic_Cube + Name: Genetic Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Generic_Cube); + - Id: 101027 + AegisName: S_ArchBishop_Cube + Name: Arch Bishop Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_ArchBishop_Cube); + - Id: 101028 + AegisName: S_Sura_Cube + Name: Sura Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Sura_Cube); + - Id: 101029 + AegisName: S_GuillotineCross_Cube + Name: Guillotine Cross Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_GuillotineCross_Cube); + - Id: 101030 + AegisName: S_ShadowChaser_Cube + Name: Shadow Chaser Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_ShadowChaser_Cube); + - Id: 101031 + AegisName: S_Ranger_Cube + Name: Ranger Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Ranger_Cube); + - Id: 101032 + AegisName: S_Wanderer_Cube + Name: Wanderer Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Wanderer_Cube); + - Id: 101033 + AegisName: S_Minstrel_Cube + Name: Minstrel Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Minstrel_Cube); + - Id: 101034 + AegisName: S_Star_Emperor_Cube + Name: Star Emperor Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Star_Emperor_Cube); + - Id: 101035 + AegisName: S_Soul_Reaper_Cube + Name: Soul Reaper Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Soul_Reaper_Cube); + - Id: 101036 + AegisName: S_Kagerou_Cube + Name: Kagerou Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Kagerou_Cube); + - Id: 101037 + AegisName: S_Oboro_Cube + Name: Oboro Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Oboro_Cube); + - Id: 101038 + AegisName: S_Rebellion_Cube + Name: Rebellion Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Rebellion_Cube); + - Id: 101039 + AegisName: S_SuperNovice_Cube + Name: Super Novice Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_SuperNovice_Cube); + - Id: 101040 + AegisName: S_Doram_Cube + Name: Doram Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Doram_Cube); + - Id: 101041 + AegisName: S_Mammoth_Cube + Name: Mammoth Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Mammoth_Cube); + - Id: 101042 + AegisName: S_Gemstone_Cube + Name: Gemstone Shadow Cube + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Gemstone_Cube); + - Id: 101043 + AegisName: S_Pene1_Cube + Name: Penetration Shadow Cube I + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Pene1_Cube); + - Id: 101044 + AegisName: S_Pene2_Cube + Name: Penetration Shadow Cube II + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Pene2_Cube); + - Id: 101045 + AegisName: S_Temp1_Cube + Name: Tempest Shadow Cube I + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Temp1_Cube); + - Id: 101046 + AegisName: S_Temp2_Cube + Name: Tempest Shadow Cube II + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_S_Temp2_Cube); + - Id: 101047 + AegisName: Blacksmith_Bless_Box_3 + Name: Blacksmith Blessing Box 3 + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_Blacksmith_Bless_Box_3); + - Id: 101048 + AegisName: Shadow_Hammer_Box_3 + Name: Holgren's Shadow Smelting Hammer Box 3 + Type: Usable + Weight: 0 + Flags: + Container: true + Trade: + NoDrop: true + NoTrade: true + NoSell: true + NoCart: true + NoGuildStorage: true + NoMail: true + NoAuction: true + Script: | + getgroupitem(IG_Shadow_Hammer_Box_3); - Id: 101060 AegisName: Select_Example1 Name: TestA diff --git a/db/re/item_group_db.yml b/db/re/item_group_db.yml index 1f00d9cf5b..e91c55b8f9 100644 --- a/db/re/item_group_db.yml +++ b/db/re/item_group_db.yml @@ -48211,3 +48211,736 @@ Body: - Item: Trans_Scroll_Gazeti - Item: Trans_Scroll_Kobold_Archer - Item: Trans_Scroll_Necromancer + - Group: S_W_BREATH_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_W_Breath_Armor + - Item: S_W_Breath_Shield + - Item: S_W_Breath_Shoes + - Group: S_F_BREATH_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_F_Breath_Weapon + - Item: S_F_Breath_Pendant + - Item: S_F_Breath_Earing + - Group: S_SONIC_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Sonic_Armor + - Item: S_Sonic_Shield + - Item: S_Sonic_Shoes + - Group: S_STRAIN_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Strain_Weapon + - Item: S_Strain_Pendant + - Item: S_Strain_Earing + - Group: S_JACK_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Jack_Armor + - Item: S_Jack_Shield + - Item: S_Jack_Shoes + - Group: S_CHAIN_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Chain_Weapon + - Item: S_Chain_Pendant + - Item: S_Chain_Earing + - Group: S_CRIMSON_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Crimson_Armor + - Item: S_Crimson_Shield + - Item: S_Crimson_Shoes + - Group: S_VULCAN_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Vulcan_Armor + - Item: S_Vulcan_Shield + - Item: S_Vulcan_Shoes + - Group: S_BOOMERANG_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Boomerang_Weapon + - Item: S_Boomerang_Pendant + - Item: S_Boomerang_Earing + - Group: S_ARMS_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Arms_Weapon + - Item: S_Arms_Pendant + - Item: S_Arms_Earing + - Group: S_TORNADO_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Tornado_Armor + - Item: S_Tornado_Shield + - Item: S_Tornado_Shoes + - Group: S_DUPLELIGHT_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Duplelight_Armor + - Item: S_Duplelight_Shield + - Item: S_Duplelight_Shoes + - Group: S_MAGNUS_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Magnus_Weapon + - Item: S_Magnus_Pendant + - Item: S_Magnus_Earing + - Group: S_ADORAMUS_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Adoramus_Weapon + - Item: S_Adoramus_Pendant + - Item: S_Adoramus_Earing + - Group: S_JUDEX_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Judex_Armor + - Item: S_Judex_Shield + - Item: S_Judex_Shoes + - Group: S_ROLLING_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Rolling_Armor + - Item: S_Rolling_Shield + - Item: S_Rolling_Shoes + - Group: S_RIPPER_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Ripper_Weapon + - Item: S_Ripper_Pendant + - Item: S_Ripper_Earing + - Group: S_SLASH_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Slash_Armor + - Item: S_Slash_Shield + - Item: S_Slash_Shoes + - Group: S_KATAR_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Slash_Armor + - Item: S_Slash_Shield + - Item: S_Slash_Shoes + - Group: S_SHOOTING_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Shooting_Weapon + - Item: S_Shooting_Pendant + - Item: S_Shooting_Earing + - Group: S_ARROW_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Arrow_Armor + - Item: S_Arrow_Shield + - Item: S_Arrow_Shoes + - Group: S_AIMED_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Aimed_Weapon + - Item: S_Aimed_Pendant + - Item: S_Aimed_Earing + - Group: S_CLUSTER_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Aimed_Weapon + - Item: S_Aimed_Pendant + - Item: S_Aimed_Earing + - Group: S_BANISH_CANNON_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Banish_Cannon_Armor + - Item: S_Banish_Cannon_Shield + - Item: S_Banish_Cannon_Shoes + - Group: S_BRAND_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Brand_Armor + - Item: S_Brand_Shield + - Item: S_Brand_Shoes + - Group: S_GENESIS_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Genesis_Weapon + - Item: S_Genesis_Pendant + - Item: S_Genesis_Earing + - Group: S_CHAIN_PRESS_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Chain_Press_Weapon + - Item: S_Chain_Press_Pendant + - Item: S_Chain_Press_Earing + - Group: S_GRAVE_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Grave_Weapon + - Item: S_Grave_Pendant + - Item: S_Grave_Earing + - Group: S_DUST_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Dust_Armor + - Item: S_Dust_Shield + - Item: S_Dust_Shoes + - Group: S_VARETYR_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Varetyr_Weapon + - Item: S_Varetyr_Pendant + - Item: S_Varetyr_Earing + - Group: S_PSYCHIC_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Psychic_Armor + - Item: S_Psychic_Shield + - Item: S_Psychic_Shoes + - Group: S_SPORE_BOMB_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Spore_Bomb_Armor + - Item: S_Spore_Bomb_Shield + - Item: S_Spore_Bomb_Shoes + - Group: S_CANNON_CART_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Cannon_Cart_Weapon + - Item: S_Cannon_Cart_Pendant + - Item: S_Cannon_Cart_Earing + - Group: S_CRAZY_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Crazy_Weapon + - Item: S_Crazy_Pendant + - Item: S_Crazy_Earing + - Group: S_CART_TORNADO_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Cart_Tornado_Armor + - Item: S_Cart_Tornado_Shield + - Item: S_Cart_Tornado_Shoes + - Group: S_KNUCKLEARROW_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Knucklearrow_Armor + - Item: S_Knucklearrow_Shield + - Item: S_Knucklearrow_Shoes + - Group: S_SKYNETBLOW_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Skynetblow_Weapon + - Item: S_Skynetblow_Pendant + - Item: S_Skynetblow_Earing + - Group: S_RAMPAGE_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Rampage_Armor + - Item: S_Rampage_Shield + - Item: S_Rampage_Shoes + - Group: S_TIGERCANNON_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_TigerCannon_Weapon + - Item: S_Tigercannon_Pendant + - Item: S_Tigercannon_Earing + - Group: S_MENACE_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Menace_Armor + - Item: S_Menace_Shield + - Item: S_Menace_Shoes + - Group: S_SHADOWSPELL_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Shadowspell_Weapon + - Item: S_Shadowspell_Pendant + - Item: S_Shadowspell_Earing + - Group: S_TRIANGLE_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Triangle_Armor + - Item: S_Triangle_Shield + - Item: S_Triangle_Shoes + - Group: S_PAINT_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Paint_Weapon + - Item: S_Paint_Pendant + - Item: S_Paint_Earing + - Group: S_RAINSTORM_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Rainstorm_Armor + - Item: S_Rainstorm_Shield + - Item: S_Rainstorm_Shoes + - Group: S_METALIC_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Metalic_Armor + - Item: S_Metalic_Shield + - Item: S_Metalic_Shoes + - Group: S_ARROWVULCAN_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Arrowvulcan_Weapon + - Item: S_Arrowvulcan_Pendant + - Item: S_Arrowvulcan_Earing + - Group: S_REVERBERATION_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Reverberation_Weapon + - Item: S_Reverberation_Pendant + - Item: S_Reverberation_Earing + - Group: S_MOONLIGHT_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Moonlight_Earring + - Item: S_Moonlight_Pendant + - Item: S_Moonlight_Shoes + - Group: S_SUNSHINE_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Sunshine_Weapon + - Item: S_Sunshine_Shield + - Item: S_Sunshine_Armor + - Group: S_STARDUST_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Stardust_Weapon + - Item: S_Stardust_Shield + - Item: S_Stardust_Armor + - Group: S_S_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_S_Weapon + - Item: S_S_Shield + - Item: S_S_Armor + - Group: S_EVILCURSE_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Evilcurse_Earring + - Item: S_Evilcurse_Pendant + - Item: S_Evilcurse_Shoes + - Group: S_SYURIKEN_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Syuriken_Earing + - Item: S_Syuriken_Pendant + - Item: S_Syuriken_Shoes + - Group: S_KUNAI_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Kunai_Weapon + - Item: S_Kunai_Shield + - Item: S_Kunai_Armor + - Group: S_HUUSOUKA_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Huusouka_Earing + - Item: S_Huusouka_Pendant + - Item: S_Huusouka_Shoes + - Group: S_KAMAENRAKU_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Kamaenraku_Weapon + - Item: S_Kamaenraku_Shield + - Item: S_Kamaenraku_Armor + - Group: S_GOD_HAMMER_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_God_Hammer_Weapon + - Item: S_God_Hammer_Shield + - Item: S_God_Hammer_Armor + - Group: S_SHATTER_BUSTER_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Shatter_Buster_Earing + - Item: S_Shatter_B_Pendant + - Item: S_Shatter_Buster_Shoes + - Group: S_TAIL_DRAGON_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Tail_Dragon_Weapon + - Item: S_Tail_Dragon_Shield + - Item: S_Tail_Dragon_Armor + - Group: S_TRIP_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Trip_Weapon + - Item: S_Trip_Shield + - Item: S_Trip_Armor + - Group: S_FLARE_DANCE_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Flare_Dance_Earing + - Item: S_Flare_Dance_Pendant + - Item: S_Flare_Dance_Shoes + - Group: S_SUPER_MAGIC_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Super_Magic_Shield + - Item: S_Super_Magic_Armor + - Item: S_Super_Magic_Shoes + - Group: S_SUPER_POWER_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Super_Power_Weapon + - Item: S_Super_Power_Pendant + - Item: S_Super_Power_Earing + - Group: S_SILVERVINE_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Silvervine_Earing + - Item: S_Silvervine_Pendant + - Item: S_Silvervine_Shoes + - Group: S_CATNIP_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Catnip_Weapon + - Item: S_Catnip_Shield + - Item: S_Catnip_Armor + - Group: S_SAVAGERABBIT_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_SavageRabbit_Earing + - Item: S_SavageRabbit_Pendant + - Item: S_SavageRabbit_Shoes + - Group: S_PICKYRUSH_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Pickyrush_Weapon + - Item: S_Pickyrush_Shield + - Item: S_Pickyrush_Armor + - Group: S_RUNEKNIGHT_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Swordman_earring + - Item: S_Swordman_Pendant + - Item: S_Knight_Shoes + - Item: S_Knight_Armor + - Item: S_Runeknight_Weapon + - Item: S_Runeknight_Shield + - Group: S_ROYALGUARD_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Swordman_earring + - Item: S_Swordman_Pendant + - Item: S_Crusader_Shoes + - Item: S_Crusader_Armor + - Item: S_Royalguard_Weapon + - Item: S_Royalguard_Shield + - Group: S_WARLOCK_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Magician_earring + - Item: S_Magician_Pendant + - Item: S_Wizard_Shoes + - Item: S_Wizard_Armor + - Item: S_Warlock_Weapon + - Item: S_Warlock_Shield + - Group: S_SORCERER_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Magician_earring + - Item: S_Magician_Pendant + - Item: S_Sage_Shoes + - Item: S_Sage_Armor + - Item: S_Sorcerer_Weapon + - Item: S_Sorcerer_Shield + - Group: S_MECHANIC_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Merchant_earring + - Item: S_Merchant_Pendant + - Item: S_Blacksmith_Shoes + - Item: S_Blacksmith_Armor + - Item: S_Mechanic_weapon + - Item: S_Mechanic_Shield + - Group: S_GENERIC_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Merchant_earring + - Item: S_Merchant_Pendant + - Item: S_Alchemist_Shoes + - Item: S_Alchemist_Armor + - Item: S_Genetic_Weapon + - Item: S_Genetic_Shield + - Group: S_ARCHBISHOP_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Acolyte_earring + - Item: S_Acolyte_Pendant + - Item: S_Priest_Shoes + - Item: S_Priest_Armor + - Item: S_Archbishop_Weapon + - Item: S_Archbishop_Shield + - Group: S_SURA_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Acolyte_earring + - Item: S_Acolyte_Pendant + - Item: S_Monk_Shoes + - Item: S_Monk_Armor + - Item: S_Sura_weapon + - Item: S_Sura_Shield + - Group: S_GUILLOTINECROSS_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Thief_Pendant + - Item: S_Assassin_Shoes + - Item: S_Assassin_Armor + - Item: S_Guillotine_Weapon + - Item: S_Guillotine_Shield + - Item: S_Thief_earring + - Group: S_SHADOWCHASER_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Thief_Pendant + - Item: S_Rogue_Shoes + - Item: S_Rogue_Armor + - Item: S_Shadowchaser_Weapon + - Item: S_Shadowchaser_Shield + - Item: S_Thief_earring + - Group: S_RANGER_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Archer_Pendant + - Item: S_Hunter_Shoes + - Item: S_Hunter_Armor + - Item: S_Ranger_Weapon + - Item: S_Ranger_Shield + - Item: S_Archer_earring + - Group: S_WANDERER_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Archer_Pendant + - Item: S_Dancer_Shoes + - Item: S_Dancer_Armor + - Item: S_Wanderer_Weapon + - Item: S_Wanderer_Shield + - Item: S_Archer_earring + - Group: S_MINSTREL_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Archer_Pendant + - Item: S_Bard_Shoes + - Item: S_Bard_Armor + - Item: S_Minstrel_Weapon + - Item: S_Minstrel_Shield + - Item: S_Archer_earring + - Group: S_STAR_EMPEROR_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Taekwon_Weapon + - Item: S_Taekwon_Shield + - Item: S_Star_Emperor_Armor + - Item: S_Star_Emperor_Shoes + - Group: S_SOUL_REAPER_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Taekwon_Weapon + - Item: S_Taekwon_Shield + - Item: S_Soul_Reaper_Armor + - Item: S_Soul_Reaper_Shoes + - Group: S_KAGEROU_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Ninja_Weapon + - Item: S_Ninja_Shield + - Item: S_Kagerou_Armor + - Item: S_Kagerou_Shoes + - Group: S_OBORO_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Ninja_Weapon + - Item: S_Ninja_Shield + - Item: S_Oboro_Armor + - Item: S_Oboro_Shoes + - Group: S_REBELLION_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Gunslinger_Weapon + - Item: S_Gunslinger_Shield + - Item: S_Rebellion_Armor + - Item: S_Rebellion_Shoes + - Group: S_SUPERNOVICE_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_SuperNovice_Weapon + - Item: S_SuperNovice_Shield + - Group: S_DORAM_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_DoramMagical_Weapon + - Item: S_DoramPhysical_Weapon + - Item: S_DoramPhysical_Shield + - Item: S_DoramMagical_Shield + - Item: S_DoramPhysical_Armor + - Item: S_DoramPhysical_Shoes + - Item: S_DoramMagical_Armor + - Item: S_DoramMagical_Shoes + - Group: S_MAMMOTH_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Mammoth_Armor + - Item: S_Mammoth_Shoes + - Item: S_Mammoth_Pendant + - Item: S_Mammoth_Earring + - Item: S_Mammoth_Weapon + - Item: S_Mammoth_Shield + - Group: S_GEMSTONE_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Gemstone_Armor + - Item: S_Gemstone_Shoes + - Item: S_Gemstone_Shield + - Item: S_Gemstone_Weapon + - Item: S_Gemstone_Earring + - Item: S_Gemstone_Pendent + - Group: S_PENE1_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Penetration_Earring + - Item: S_Penetration_Pendent + - Item: S_Exe_Ho_Weapon + - Item: S_Fis_In_Weapon + - Item: S_Sci_Hu_Weapon + - Item: S_Viv_Dr_Weapon + - Item: S_Exo_Co_Weapon + - Group: S_PENE2_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Penetration_Shoes + - Item: S_Penetration_Shield + - Item: S_ExeHoly_Armor + - Item: S_ExoCorrupt_Armor + - Item: S_DragonVib_Armor + - Item: S_SciHunting_Armor + - Item: S_FishInsect_Armor + - Group: S_TEMP1_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Tempest_Earring + - Item: S_Tempest_Pendent + - Item: S_M_Exo_Co_Weapon + - Item: S_M_Viv_Dr_Weapon + - Item: S_M_Sci_Hu_Weapon + - Item: S_M_Fis_In_Weapon + - Item: S_M_Exe_Ho_Weapon + - Group: S_TEMP2_CUBE + SubGroups: + - SubGroup: 0 + List: + - Item: S_Tempest_Shield + - Item: S_Tempest_Shoes + - Item: S_M_ExeHoly_Armor + - Item: S_M_ExoCorrupt_Armor + - Item: S_M_DragonVib_Armor + - Item: S_M_SciHunting_Armor + - Item: S_M_FishInsect_Armor + - Group: BLACKSMITH_BLESS_BOX_3 + SubGroups: + - SubGroup: 0 + List: + - Item: Blacksmith_Blessing + Amount: 3 + - Group: SHADOW_HAMMER_BOX_3 + SubGroups: + - SubGroup: 0 + List: + - Item: Shadow_Refine_Hammer + Amount: 3 diff --git a/db/re/laphine_synthesis.yml b/db/re/laphine_synthesis.yml index dd23ba4ef8..e8037dea0d 100644 --- a/db/re/laphine_synthesis.yml +++ b/db/re/laphine_synthesis.yml @@ -3700,11 +3700,11 @@ Body: # - Item: S_AllMighty_Pendant # - Item: S_Tempest_Shield # - Item: S_Tempest_Shoes -# - Item: S_Magic_Executioner_Holy_Water_Armor -# - Item: S_Magic_Exorcist_Corrupted_Armor -# - Item: S_Magic_Vibration_Dragon_Killer_Armor -# - Item: S_Magic_Scissor_Hunting_Armor -# - Item: S_Magic_Fishing_Insect_Net_Armor +# - Item: S_M_ExeHoly_Armor +# - Item: S_M_ExoCorrupt_Armor +# - Item: S_M_DragonVib_Armor +# - Item: S_M_SciHunting_Armor +# - Item: S_M_FishInsect_Armor # - Item: S_Plasterer's_Armor_II # - Item: S_Insomniac_Shoes_II # - Item: S_Peerless_Armor_II @@ -3728,11 +3728,11 @@ Body: # - Item: S_Mortal_Blow_Pendant # - Item: S_Penetration_Shoes # - Item: S_Penetration_Shield -# - Item: S_Executioner_Holy_Water_Armor -# - Item: S_Exorcist_Corrupted_Armor -# - Item: S_Vibration_Dragon_Killer_Armor -# - Item: S_Scissor_Hunting_Armor -# - Item: S_Fishing_Insect_Net_Armor +# - Item: S_ExeHoly_Armor +# - Item: S_ExoCorrupt_Armor +# - Item: S_DragonVib_Armor +# - Item: S_SciHunting_Armor +# - Item: S_FishInsect_Armor # - Item: Sentimental_Weapone_S # - Item: Sentimental_Earring_S # - Item: Sentimental_Pendant_S diff --git a/npc/merchants/cash_hair.txt b/npc/merchants/cash_hair.txt deleted file mode 100644 index 94f528d4c5..0000000000 --- a/npc/merchants/cash_hair.txt +++ /dev/null @@ -1,125 +0,0 @@ -//===== rAthena Script ======================================= -//= Cash Hair Stylist -//===== By: ================================================== -//= Kisuka -//===== Current Version: ===================================== -//= 1.0 -//===== Compatible With: ===================================== -//= rAthena Project -//===== Description: ========================================= -//= Exchange cash item, New_Style_Coupon, for new hair styles. -//===== Additional Comments: ================================= -//= 1.0 First Version. [Kisuka] -//============================================================ - -itemmall,19,74,5 script Stylist#cash 91,{ - mes "[Stylist]"; - mes "Hey, I'm Kaniki."; - mes "I'm here to start a new"; - mes "trend by introducing my"; - mes "special new hairstyles!"; - mes "Give me a ^FF0000New Style Coupon^000000,"; - mes "and I'll change your hair~"; - next; - if (Sex == SEX_MALE) { - mes "[Kaniki]"; - mes "I have two special"; - mes "hairstyles for men, the"; - mes "Emergency Heal Perm"; - mes "and the Aura Blade Cut."; - mes "and aura blade cut."; - next; - cutin "hair_m_24.bmp",4; - mes "[Kaniki]"; - mes "This is the Emergency"; - mes "Heal Perm. It's a brand"; - mes "new style I invented recently."; - mes "What do you think? Cool, huh?"; - next; - cutin "",255; - cutin "hair_m_25.bmp",4; - mes "[Kaniki]"; - mes "Now this is the Aura"; - mes "Blade Cut. You haven't"; - mes "seen anything like it"; - mes "before, haven't you?"; - next; - cutin "",255; - }else{ - mes "[Kaniki]"; - mes "I have two new hairstyles for"; - mes "women, the Assumptio Perm"; - mes "and the Soul Changer Cut."; - mes "Do you want to see how"; - mes "these styles look?"; - next; - cutin "hair_f_24.bmp",4; - mes "[Kaniki]"; - mes "This is the Assumptio"; - mes "Perm. It'd really good"; - mes "on you, wouldn't it?"; - next; - cutin "",255; - cutin "hair_f_25.bmp",4; - mes "[Kaniki]"; - mes "Next is the Soul"; - mes "Changer Cut. What do"; - mes "you think? Isn't it nice?"; - next; - cutin "",255; - } - mes "[Kaniki]"; - mes "Have you decided"; - mes "if you'd like me to"; - mes "change your hairstyle?"; - next; - if(select("Change Hairstyle:Don't Change") == 1) { - if (countitem(7622) > 0) { - mes "[Kaniki]"; - mes "Great, you brought"; - mes "a New Style Coupon!"; - mes "Alright, which hairstyle"; - mes "did you want to have?"; - next; - if (Sex == SEX_MALE) { - if(select("Emergency Heal Perm:Aura Blade Cut") == 1) { - delitem 7622,1; // New_Style_Coupon - setlook 1,24; - }else{ - delitem 7622,1; // New_Style_Coupon - setlook 1,25; - } - }else{ - if(select("Assumptio Perm:Soul Changer Cut") == 1) { - delitem 7622,1; // New_Style_Coupon - setlook 1,24; - }else{ - delitem 7622,1; // New_Style_Coupon - setlook 1,25; - } - } - mes "[Kaniki]"; - mes "There--! It's done!"; - mes "How do you like your"; - mes "new hair? Well, I hope"; - mes "to see you again. Take care!"; - close; - }else{ - mes "[Kaniki]"; - mes "I'm sorry, but I can"; - mes "only provide my hairstyling"; - mes "service if you bring a New"; - mes "Style Coupon. Please come"; - mes "back to me after you manage to"; - mes "get one of those coupons, okay?"; - close; - } - } - mes "[Kaniki]"; - mes "Really? Oh, that's too bad."; - mes "Well, if you ever change your"; - mes "mind about updating your"; - mes "hairstyle, come back"; - mes "and let me know, okay?"; - close; -} diff --git a/npc/re/mapflag/nobranch.txt b/npc/re/mapflag/nobranch.txt index b746980ec0..82d8cb0d8c 100644 --- a/npc/re/mapflag/nobranch.txt +++ b/npc/re/mapflag/nobranch.txt @@ -391,3 +391,8 @@ que_thr mapflag nobranch // Sunken Tower //============================================================ 1@ch_u mapflag nobranch + +//============================================================ +// Cash Mall +//============================================================ +itemmall mapflag nobranch diff --git a/npc/re/mapflag/nomemo.txt b/npc/re/mapflag/nomemo.txt index 09f1d8165a..74b43a9f96 100644 --- a/npc/re/mapflag/nomemo.txt +++ b/npc/re/mapflag/nomemo.txt @@ -486,3 +486,8 @@ wolfvill mapflag nomemo // Illusion of Twins //============================================================ ant_d02_i mapflag nomemo + +//============================================================ +// Cash Mall +//============================================================ +itemmall mapflag nomemo diff --git a/npc/re/mapflag/nopenalty.txt b/npc/re/mapflag/nopenalty.txt index b446e894e0..93de46400b 100644 --- a/npc/re/mapflag/nopenalty.txt +++ b/npc/re/mapflag/nopenalty.txt @@ -107,3 +107,8 @@ lasa_in01 mapflag nopenalty conch_in mapflag nopenalty wolfvill mapflag nopenalty + +//============================================================ +// Cash Mall +//============================================================ +itemmall mapflag nopenalty diff --git a/npc/re/mapflag/nopvp.txt b/npc/re/mapflag/nopvp.txt index 60fd5fb902..44959e1728 100644 --- a/npc/re/mapflag/nopvp.txt +++ b/npc/re/mapflag/nopvp.txt @@ -122,3 +122,8 @@ ecl_hub01 mapflag pvp off que_avan01 mapflag pvp off dali mapflag pvp off wolfvill mapflag pvp off + +//============================================================ +// Cash Mall +//============================================================ +itemmall mapflag pvp off diff --git a/npc/re/mapflag/noteleport.txt b/npc/re/mapflag/noteleport.txt index 80b2b38ed5..194eb8ae8f 100644 --- a/npc/re/mapflag/noteleport.txt +++ b/npc/re/mapflag/noteleport.txt @@ -446,3 +446,9 @@ que_thr mapflag noteleport 1@ch_u mapflag noteleport 1@ch_u mapflag monster_noteleport 1@ch_u mapflag monster_noteleport + +//============================================================ +// Cash Mall +//============================================================ +itemmall mapflag noteleport +itemmall mapflag monster_noteleport diff --git a/npc/re/merchants/barters.yml b/npc/re/merchants/barters.yml index 781aeaba42..acfbc73036 100644 --- a/npc/re/merchants/barters.yml +++ b/npc/re/merchants/barters.yml @@ -54,3 +54,4 @@ Footer: - Path: npc/re/merchants/barters/quests_17_1.yml - Path: npc/re/merchants/barters/refine.yml - Path: npc/re/merchants/barters/enchantgrade.yml + - Path: npc/re/merchants/barters/cashmall.yml diff --git a/npc/re/merchants/barters/cashmall.yml b/npc/re/merchants/barters/cashmall.yml new file mode 100644 index 0000000000..e9d3bf982c --- /dev/null +++ b/npc/re/merchants/barters/cashmall.yml @@ -0,0 +1,1039 @@ +# This file is a part of rAthena. +# Copyright(C) 2022 rAthena Development Team +# https://rathena.org - https://github.com/rathena +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# +########################################################################### +# Barter Database +########################################################################### +# +# Barter Settings +# +########################################################################### +# - Name NPC name. +# Map Map name. (Default: not on a map) +# X Map x coordinate. (Default: 0) +# Y Map y coordinate. (Default: 0) +# Direction Direction the NPC is looking. (Default: North) +# Sprite Sprite name of the NPC. (Default: FakeNpc) +# Items: List of sold items. +# - Index Index of the item inside the shop. (0-...) +# Maximum index depends on client. +# Item Aegis name of the item. +# Stock Amount of item in stock. 0 means unlimited. (Default: 0) +# Zeny Cost of them item in Zeny. (Default: 0) +# RequiredItems: List of required items (Optional) +# - Index Index of the required item. (0-4) +# Item Aegis name of required item. +# Amount Amount of required item. (Default: 1) +# Refine Refine level of required item. (Default: 0) +########################################################################### + +Header: + Type: BARTER_DB + Version: 1 + +Body: +########################################################################### +##= Cachua Coupon Exchanges +########################################################################### + - Name: CachuaCoupon01 + Items: + - Index: 0 + Item: S_Ignition_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 1 + Item: S_W_Breath_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 2 + Item: S_F_Breath_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 3 + Item: S_Sonic_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 4 + Item: S_Strain_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 5 + Item: S_Jack_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 6 + Item: S_Chain_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 7 + Item: S_Crimson_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 8 + Item: S_Vulcan_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 9 + Item: S_Boomerang_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 10 + Item: S_Arms_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 11 + Item: S_Tornado_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 12 + Item: S_Duplelight_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 13 + Item: S_Magnus_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 14 + Item: S_Adoramus_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 15 + Item: S_Judex_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 16 + Item: S_Rolling_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 17 + Item: S_Ripper_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 18 + Item: S_Slash_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 19 + Item: S_Katar_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 20 + Item: S_Shooting_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 21 + Item: S_Arrow_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 22 + Item: S_Aimed_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 23 + Item: S_Cluster_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Name: CachuaCoupon02 + Items: + - Index: 0 + Item: S_Banish_Cannon_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 1 + Item: S_Brand_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 2 + Item: S_Genesis_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 3 + Item: S_Chain_Press_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 4 + Item: S_Grave_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 5 + Item: S_Dust_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 6 + Item: S_Varetyr_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 7 + Item: S_Psychic_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 8 + Item: S_Spore_Bomb_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 9 + Item: S_Cannon_Cart_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 10 + Item: S_Crazy_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 11 + Item: S_Cart_Tornado_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 12 + Item: S_Knucklearrow_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 13 + Item: S_Skynetblow_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 14 + Item: S_Rampage_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 15 + Item: S_TigerCannon_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 16 + Item: S_Menace_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 17 + Item: S_Shadowspell_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 18 + Item: S_Triangle_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 19 + Item: S_Paint_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 20 + Item: S_Rainstorm_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 21 + Item: S_Metalic_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 22 + Item: S_Arrowvulcan_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 23 + Item: S_Reverberation_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Name: CachuaCoupon03 + Items: + - Index: 0 + Item: S_Moonlight_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 1 + Item: S_Sunshine_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 2 + Item: S_Stardust_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 3 + Item: S_S_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 4 + Item: S_Evilcurse_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 5 + Item: S_Syuriken_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 6 + Item: S_Kunai_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 7 + Item: S_Huusouka_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 8 + Item: S_Kamaenraku_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 9 + Item: S_God_Hammer_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 10 + Item: S_Shatter_Buster_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 11 + Item: S_Tail_Dragon_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 12 + Item: S_Trip_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 13 + Item: S_Flare_Dance_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 14 + Item: S_Super_Magic_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 15 + Item: S_Super_Power_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 16 + Item: S_Silvervine_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 17 + Item: S_Catnip_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 18 + Item: S_SavageRabbit_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Index: 19 + Item: S_Pickyrush_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 15 + - Name: CachuaCoupon04 + Items: + - Index: 0 + Item: S_RuneKnight_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 30 + - Index: 1 + Item: S_RoyalGuard_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 30 + - Index: 2 + Item: S_Warlock_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 30 + - Index: 3 + Item: S_Sorcerer_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 30 + - Index: 4 + Item: S_Mechanic_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 30 + - Index: 5 + Item: S_Generic_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 30 + - Index: 6 + Item: S_ArchBishop_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 30 + - Index: 7 + Item: S_Sura_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 30 + - Index: 8 + Item: S_GuillotineCross_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 30 + - Index: 9 + Item: S_ShadowChaser_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 30 + - Index: 10 + Item: S_Ranger_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 30 + - Index: 11 + Item: S_Wanderer_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 30 + - Index: 12 + Item: S_Minstrel_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 30 + - Index: 13 + Item: S_Star_Emperor_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 20 + - Index: 14 + Item: S_Soul_Reaper_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 20 + - Index: 15 + Item: S_Kagerou_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 20 + - Index: 16 + Item: S_Oboro_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 20 + - Index: 17 + Item: S_Rebellion_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 20 + - Index: 18 + Item: S_SuperNovice_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 + - Index: 19 + Item: S_Doram_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 40 + - Name: CachuaCoupon05 + Items: + - Index: 0 + Item: S_Mammoth_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 40 + - Index: 1 + Item: S_Gemstone_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 40 + - Index: 2 + Item: S_Pene1_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 35 + - Index: 3 + Item: S_Pene2_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 35 + - Index: 4 + Item: S_Temp1_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 35 + - Index: 5 + Item: S_Temp2_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 35 + - Name: CachuaCoupon06 + Items: + - Index: 0 + Item: Thanos_Refine_Hammer + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 20 + - Index: 1 + Item: Thanos_Upgrade_Box + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 30 + - Index: 2 + Item: Hero_Weapon_Up_Box_1 + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 100 + - Index: 3 + Item: Hero_Weapon_Up_Box_2 + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 100 + - Index: 4 + Item: Hero_Weapon_Up_Box_3 + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 100 + - Index: 5 + Item: Hero_Weapon_Up_Box_4 + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 100 + - Index: 6 + Item: Hero_Weapon_Up_Box_5 + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 100 + - Index: 7 + Item: Hero_Weapon_Up_Box_6 + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 100 + - Index: 8 + Item: Adulter_Weapon_Up_Box + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 100 + - Index: 9 + Item: Hero_Weapon_Hammer_1 + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 50 + - Index: 10 + Item: Hero_Weapon_Hammer_2 + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 50 + - Index: 11 + Item: Hero_Weapon_Hammer_3 + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 50 + - Index: 12 + Item: Hero_Weapon_Hammer_4 + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 50 + - Index: 13 + Item: Hero_Weapon_Hammer_5 + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 50 + - Index: 14 + Item: Hero_Weapon_Hammer_6 + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 50 + # - Index: 15 + # Item: OS_Helm_Hammer + # RequiredItems: + # - Index: 0 + # Item: Cachua_Coupon + # Amount: 50 + # - Index: 16 + # Item: OS_Weapon_Hammer + # RequiredItems: + # - Index: 0 + # Item: Cachua_Coupon + # Amount: 50 + - Index: 17 + Item: Poenitentia_Hammer + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 50 + - Index: 18 + Item: Barmund_Hammer + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 50 + - Index: 19 + Item: Special_Hat_Hammer + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 50 + - Index: 20 + Item: Vivatus_Weapon_Hammer + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 50 + - Index: 21 + Item: Bio_Helm_Refine_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 22 + Item: Circlet_Refine_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 23 + Item: Bio_Weapon_Refine_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 24 + Item: Auto_Armor_Refine_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 25 + Item: Old_Refine_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 26 + Item: Geffen_Refine_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 27 + Item: Temporal_Refine_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 28 + Item: OS_Weapon_Refine_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 29 + Item: Racecap_Refine_Cube + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 30 + Item: Blacksmith_Bless_Box_3 + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 20 + - Index: 31 + Item: Shadow_Hammer_Box_3 + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 20 + - Index: 32 + Item: Sillit_Pong_Box + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 200 + - Index: 33 + Item: Shadow_Exchange_Ticket + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 50 + # - Index: 34 + # Item: aegis_101399 + # RequiredItems: + # - Index: 0 + # Item: Cachua_Coupon + # Amount: 100 + - Name: CachuaCoupon07 + Items: + - Index: 0 + Item: SLD_Card_Recipe + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 50 + - Index: 1 + Item: FullPeneShadow_Mix + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 2 + Item: FullTempShadow_Mix + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 3 + Item: Mammoth_Mix + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 4 + Item: True_GemShadow_Mix + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 5 + Item: MajorAutoSpell_Mix + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 6 + Item: Hasty_Mix + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 7 + Item: PhysicalShadow_Mix + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 8 + Item: PerfectSize_Mix + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 9 + Item: EXPShadow_Mix + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 10 + Item: MagicalShadow_Mix + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 11 + Item: InfinityShadow_Mix + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 12 + Item: R_BearersShadow_Mix + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 13 + Item: M_BlitzShadow_Mix + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 14 + Item: AbsorbShadow_Mix + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 15 + Item: ReloadShadow_Mix + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Index: 16 + Item: SpellCasterShadow_Mix + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 75 + - Name: CachuaCoupon08 + Items: + - Index: 0 + Item: MajorAutoSpell_Up + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 + - Index: 1 + Item: Hasty_Up + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 + - Index: 2 + Item: PhysicalShadow_Up + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 + - Index: 3 + Item: PerfectSize_Up + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 + - Index: 4 + Item: True_GemShadow_Up + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 + - Index: 5 + Item: EXPShadow_Up + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 + - Index: 6 + Item: MagicalShadow_Up + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 + - Index: 7 + Item: InfinityShadow_Up + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 + - Index: 8 + Item: R_Bearers_Shadow_Up + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 + - Index: 9 + Item: M_Blitz_Shadow_Up + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 + - Index: 10 + Item: Absorb_Shadow_Up + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 + - Index: 11 + Item: Mammoth_Shadow_Up + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 + - Index: 12 + Item: FullPenest_Shadow_Up + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 + - Index: 13 + Item: Reload_Shadow_Up + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 + - Index: 14 + Item: SpellCaster_Shadow_Up + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 + - Index: 15 + Item: Ex_Status_Shadow_Up + RequiredItems: + - Index: 0 + Item: Cachua_Coupon + Amount: 10 diff --git a/npc/re/merchants/cashmall.txt b/npc/re/merchants/cashmall.txt new file mode 100644 index 0000000000..6e934dbe65 --- /dev/null +++ b/npc/re/merchants/cashmall.txt @@ -0,0 +1,331 @@ +//===== rAthena Script ======================================= +//= Cash Mall +//===== Changelogs: ========================================== +//= 1.0 Initial version from replays. [Lemongrass] +//= 1.1 Cash Hair Stylist [Kisuka] +//= 1.2 Updated Hair Stylist [Lemongrass] +//============================================================ + +prontera,137,125,4 script Cash Sales Guide#prontera::cashmall_warper 4_M_HUMAN_02,{ + mes "[Guide]"; + mes "Hello~"; + mes "This guide wants to be the one to take you to a special place."; + mes "What kind of place is that?"; + next; + mes "[Guide]"; + mes "It's a place full of mysterious items to collect and sell."; + mes "To buy stuff there you need special money."; + next; + mes "[Guide]"; + mes "So, are you ready to go there?"; + next; + if (select( "Yes", "No" ) == 2) { + mes "[Guide]"; + mes "Okay~"; + mes "But don't get frustrated."; + mes "There's always more chances~"; + close; + } + mes "[Guide]"; + mes "Yeah~ You're really ready."; + mes "Well then, get some good stuff~"; + mes "Oops, I forgot. When you come out be sure to come back here."; + mes "Rember this~"; + close2; + setarray .@maparray$[0], "prontera", "morocc", "moc_ruins", "geffen", "payon", "lighthalzen", "rachel"; + .@return = inarray(.@maparray$[0], strcharinfo(3)); + + if (.@return > 0) + cashmall_return = .@return; + else // Default to Prontera if not found + cashmall_return = 0; + + warp "itemmall",22,43; + end; +} +morocc,164,39,4 duplicate(cashmall_warper) Cash Sales Guide#morocc 4_M_HUMAN_02 +moc_ruins,115,143,4 duplicate(cashmall_warper) Cash Sales Guide#moc_ruins 4_M_HUMAN_02 +geffen,115,168,4 duplicate(cashmall_warper) Cash Sales Guide#geffen 4_M_HUMAN_02 +payon,164,157,4 duplicate(cashmall_warper) Cash Sales Guide#payon 4_M_HUMAN_02 +lighthalzen,206,144,4 duplicate(cashmall_warper) Cash Sales Guide#lighthalzen 4_M_HUMAN_02 +rachel,128,144,4 duplicate(cashmall_warper) Cash Sales Guide#rachel 4_M_HUMAN_02 + +itemmall,21,45,4 script Exit Guide#cashmall_exit 4_M_HUMAN_02,{ + mes "[Guide]"; + mes "Have you had a good time?"; + mes "Thank you very much for using our item mall."; + mes "We will continue to bring you valuable items."; + next; + mes "[Guide]"; + mes "Would you like to return from where you came from?"; + next; + if (select( "Yes", "No" ) == 2) { + mes "[Guide]"; + mes "There are still more things to see."; + mes "Have a good time."; + close; + } + mes "[Guide]"; + mes "Thank you for coming."; + mes "I'll send you back from where you came from."; + close2; + switch(cashmall_return) { + default: + case 0: + .@returnmap$ = "prontera"; + setarray .@xy[0],116,72; + break; + case 1: + .@returnmap$ = "morocc"; + setarray .@xy[0],159,46; + break; + case 2: + .@returnmap$ = "moc_ruins"; + setarray .@xy[0],109,137; + break; + case 3: + .@returnmap$ = "geffen"; + setarray .@xy[0],120,38; + break; + case 4: + .@returnmap$ = "payon"; + setarray .@xy[0],161,58; + break; + case 5: + .@returnmap$ = "lighthalzen"; + setarray .@xy[0],159,95; + break; + case 6: + .@returnmap$ = "rachel"; + setarray .@xy[0],115,125; + break; + } + cashmall_return = 0; + warp .@returnmap$,.@xy[0],.@xy[1]; + end; +} + +itemmall,41,53,3 script Cat Hand Salesman Macaroon#cashmall 4_M_MERCAT1,{ + mes "[Macaroon]"; + mes "Welcome!"; + mes "Today doesn't come every day!"; + mes "Things to see today~ Voila!"; + mes "You can only exchange with [[Kachua] Mileage Coupon]1000274!"; + mes "Feel free to choose!"; + next; + switch( select( "3-1st Job Group Skill Shadow", "3-2nd Job Group Skill Shadow", "Extended Job Group Skill Shadow", "General Shadow by Occupation", "Shadow Cube", "Smelting, Modification, Useful Items", "Drop Box", "Spellbook" ) ){ + case 1: + mes "[Macaroon]"; + mes "^FF00663-1st Job Group Skill Shadow^000000 you say!"; + mes "Here they are!"; + close2; + callshop "CachuaCoupon01"; + end; + + case 2: + mes "[Macaroon]"; + mes "^FF00663-2nd Job Group Skill Shadow^000000 you say!"; + mes "Here they are!"; + close2; + callshop "CachuaCoupon02"; + end; + + case 3: + mes "[Macaroon]"; + mes "^FF0066Extended Job Group Skill Shadow^000000 you say!"; + mes "Here they are!"; + close2; + callshop "CachuaCoupon03"; + end; + + case 4: + mes "[Macaroon]"; + mes "^FF0066General Shadow by Occupation^000000 you say!"; + mes "Here they are!"; + close2; + callshop "CachuaCoupon04"; + end; + + case 5: + mes "[Macaroon]"; + mes "^FF0066Shadow Cube^000000 you say!"; + mes "Here they are!"; + close2; + callshop "CachuaCoupon05"; + end; + + case 6: + mes "[Macaroon]"; + mes "^FF0066Smelting, Modification, Useful Items^000000 you say!"; + mes "Here they are!"; + close2; + callshop "CachuaCoupon06"; + end; + + case 7: + mes "[Macaroon]"; + mes "^FF0066Drop Box^000000 you say!"; + mes "Here they are!"; + close2; + callshop "CachuaCoupon07"; + end; + + case 8: + mes "[Macaroon]"; + mes "^FF0066Spellbook^000000 you say!"; + mes "Here they are!"; + close2; + callshop "CachuaCoupon08"; + end; + } +} + +itemmall,24,77,4 script Blacksmith Basta#pr 4_M_DWARF,{ + if( !getbattleflag( "feature.refineui" ) ){ + end; + } + + mes "[Blacksmith Basta]"; + mes "I have taken over the work of Mighty Hammer, Brock and the Shadow Blacksmith. I will be busy from now on."; + close2; + refineui(); + end; +} + +itemmall,27,77,4 script Mighty Hammer#im 4_M_DWARF,{ + mes "[Blacksmith Mighty Hammer]"; + mes "If it is about refining, ask Basta. I am retired."; + close; +} + +itemmall,24,74,5 script Blacksmith Brock#im 4_M_HUMAN_01,{ + mes "[Blacksmith Brock]"; + mes "I am retired now. If it is about refining, make a request to Basta over there."; + close; +} + +itemmall,19,74,5 script Stylist#cash 91,{ + if( getbattleflag( "feature.stylist" ) ){ + mes "[Jeremy]"; + mes "Hello cutie~"; + mes "I would like you to call me Head Stylist Jeremy."; + next; + if( select( "Change style:End conversation" ) == 2 ){ + mes "[Jeremy]"; + mes "My shop is always open, so please come back anytime."; + close; + } + close2; + openstylist(); + end; + } + + mes "[Stylist]"; + mes "Hey, I'm Kaniki."; + mes "I'm here to start a new"; + mes "trend by introducing my"; + mes "special new hairstyles!"; + mes "Give me a ^FF0000New Style Coupon^000000,"; + mes "and I'll change your hair~"; + next; + if (Sex == SEX_MALE) { + mes "[Kaniki]"; + mes "I have two special"; + mes "hairstyles for men, the"; + mes "Emergency Heal Perm"; + mes "and the Aura Blade Cut."; + mes "and aura blade cut."; + next; + cutin "hair_m_24.bmp",4; + mes "[Kaniki]"; + mes "This is the Emergency"; + mes "Heal Perm. It's a brand"; + mes "new style I invented recently."; + mes "What do you think? Cool, huh?"; + next; + cutin "",255; + cutin "hair_m_25.bmp",4; + mes "[Kaniki]"; + mes "Now this is the Aura"; + mes "Blade Cut. You haven't"; + mes "seen anything like it"; + mes "before, haven't you?"; + next; + cutin "",255; + }else{ + mes "[Kaniki]"; + mes "I have two new hairstyles for"; + mes "women, the Assumptio Perm"; + mes "and the Soul Changer Cut."; + mes "Do you want to see how"; + mes "these styles look?"; + next; + cutin "hair_f_24.bmp",4; + mes "[Kaniki]"; + mes "This is the Assumptio"; + mes "Perm. It'd really good"; + mes "on you, wouldn't it?"; + next; + cutin "",255; + cutin "hair_f_25.bmp",4; + mes "[Kaniki]"; + mes "Next is the Soul"; + mes "Changer Cut. What do"; + mes "you think? Isn't it nice?"; + next; + cutin "",255; + } + mes "[Kaniki]"; + mes "Have you decided"; + mes "if you'd like me to"; + mes "change your hairstyle?"; + next; + if (select( "Change Hairstyle", "Don't Change" ) == 2) { + mes "[Kaniki]"; + mes "Really? Oh, that's too bad."; + mes "Well, if you ever change your"; + mes "mind about updating your"; + mes "hairstyle, come back"; + mes "and let me know, okay?"; + close; + } + if (countitem(7622) < 1) { + mes "[Kaniki]"; + mes "I'm sorry, but I can"; + mes "only provide my hairstyling"; + mes "service if you bring a New"; + mes "Style Coupon. Please come"; + mes "back to me after you manage to"; + mes "get one of those coupons, okay?"; + close; + } + mes "[Kaniki]"; + mes "Great, you brought"; + mes "a New Style Coupon!"; + mes "Alright, which hairstyle"; + mes "did you want to have?"; + next; + if (Sex == SEX_MALE) { + if(select("Emergency Heal Perm", "Aura Blade Cut") == 1) { + delitem 7622,1; // New_Style_Coupon + setlook 1,24; + }else{ + delitem 7622,1; // New_Style_Coupon + setlook 1,25; + } + }else{ + if(select("Assumptio Perm", "Soul Changer Cut") == 1) { + delitem 7622,1; // New_Style_Coupon + setlook 1,24; + }else{ + delitem 7622,1; // New_Style_Coupon + setlook 1,25; + } + } + mes "[Kaniki]"; + mes "There--! It's done!"; + mes "How do you like your"; + mes "new hair? Well, I hope"; + mes "to see you again. Take care!"; + close; +} diff --git a/npc/re/merchants/enchan_upg.txt b/npc/re/merchants/enchan_upg.txt index 648e9c3e9c..d2df7d5fb7 100644 --- a/npc/re/merchants/enchan_upg.txt +++ b/npc/re/merchants/enchan_upg.txt @@ -12,11 +12,12 @@ //===== Additional Comments: ================================= //= 1.0 First version. //= 1.1 Standardizing, grammar and bug fixes. [Euphy] +//= 1.2 Moved to Cash Mall [Lemongrass] //============================================================ // Main NPC :: 201105_luk_enc //============================================================ -prt_in,28,73,3 script Devil Enchant Master#prq 63,{ +itemmall,29,71,3 script Devil Enchant Master#prq 63,{ disable_items; if (checkweight(1201,1) == 0) { mes "You are carrying too many items, please reduce it and come back again!"; diff --git a/npc/re/merchants/shadow_refiner.txt b/npc/re/merchants/shadow_refiner.txt index fd39a59a1a..eb745f015e 100644 --- a/npc/re/merchants/shadow_refiner.txt +++ b/npc/re/merchants/shadow_refiner.txt @@ -8,6 +8,7 @@ //= 1.1 Removed re-roll behavior and fetch materials from db //= [Secret] //= 1.2 Added Refine UI [Atemo, Lemongrass] +//= 1.3 Moved to Cash Mall [Lemongrass] //============================================================ - script ::ShadowBlacksmith -1,{ if( getbattleflag( "feature.refineui" ) ){ @@ -163,4 +164,5 @@ } //moc_paraup,45,185,5 duplicate(ShadowBlacksmith) Shadow Blacksmith#eden1 4_F_JOB_BLACKSMITH // Commented out until it's added to the map index -prt_in,61,54,3 duplicate(ShadowBlacksmith) Shadow Blacksmith#itemmall 4_F_JOB_BLACKSMITH +//prt_in,61,54,3 duplicate(ShadowBlacksmith) Shadow Blacksmith#itemmall 4_F_JOB_BLACKSMITH +itemmall,31,76,3 duplicate(ShadowBlacksmith) Shadow Blacksmith#itemmall 4_F_JOB_BLACKSMITH diff --git a/npc/re/other/item_merge.txt b/npc/re/other/item_merge.txt index 1d1e41d12e..65500f7880 100644 --- a/npc/re/other/item_merge.txt +++ b/npc/re/other/item_merge.txt @@ -13,9 +13,11 @@ //===== Additional Comments: ================================= //= 1.0 First version, currently useless/disabled. //= 1.1 Implemented the 'mergeitem' script command. [Cydh] +//= 1.2 Updated and moved to Cash Mall [Lemongrass] //============================================================ -prontera,146,95,3 script Mergician#pron 64,{ +//prontera,146,95,3 script Mergician#pron 1_M_WIZARD,{ +itemmall,35,75,3 script Mergician#mall 1_M_WIZARD,{ if (checkweight(1301,1) == 0) { mes "- Wait a second !! -"; mes "- You are carrying too many items -"; @@ -28,8 +30,8 @@ prontera,146,95,3 script Mergician#pron 64,{ mes "Do you believe in the miracle of Merge god?? If so, repeat my spell loudly as I pronounce it!!!"; mes "Merge Merge, Merrrrge!!!"; next; - switch(select("What is the miracle of Merge?:Merrrrge!!!!:Abandon...")) { - case 1: + switch(select("Merrrrge!!!!:What is the miracle of Merge?:Abandon...")) { + case 2: mes "[Mergician]"; mes "There is an order which rules the world and keeps the world to go well."; next; @@ -47,7 +49,7 @@ prontera,146,95,3 script Mergician#pron 64,{ mes "Believe in Mergism. That is the truth."; mes "Then I can help you be happy and content."; close; - case 2: + case 1: mes "[Mergician]"; mes "This is the total holy ritual to pray to the Great God, Merge! and I am borrowing the power for a while!!"; next; diff --git a/npc/re/scripts_athena.conf b/npc/re/scripts_athena.conf index 73d4735f6d..74705e02d5 100644 --- a/npc/re/scripts_athena.conf +++ b/npc/re/scripts_athena.conf @@ -115,6 +115,7 @@ npc: npc/re/merchants/bio4_reward.txt //npc: npc/re/merchants/blessed_refiner.txt //npc: npc/re/merchants/card_exchange.txt npc: npc/re/merchants/card_separation.txt +npc: npc/re/merchants/cashmall.txt npc: npc/re/merchants/catalog.txt npc: npc/re/merchants/clothing_buff_removal.txt npc: npc/re/merchants/coin_exchange.txt @@ -154,7 +155,7 @@ npc: npc/re/merchants/shops.txt npc: npc/re/merchants/Slot_Move_Card_Sales.txt npc: npc/re/merchants/socket_enchant2.txt //npc: npc/re/merchants/ticket_refiner.txt -//npc: npc/re/merchants/enchan_upg.txt +npc: npc/re/merchants/enchan_upg.txt //npc: npc/re/merchants/cash_trader-idRO.txt npc: npc/re/merchants/te_merchant.txt npc: npc/re/merchants/shadow_refiner.txt diff --git a/npc/scripts_athena.conf b/npc/scripts_athena.conf index c16cf9ab55..ff8f2e7a25 100644 --- a/npc/scripts_athena.conf +++ b/npc/scripts_athena.conf @@ -155,7 +155,6 @@ npc: npc/merchants/wander_pet_food.txt // - Cash Shop // See file before enabling, as you may wish to change the // point value of items to suit your own needs. -//npc: npc/merchants/cash_hair.txt //npc: npc/merchants/cash_trader.txt npc: npc/merchants/cashheadgear_dye.txt diff --git a/sql-files/item_db_re_equip.sql b/sql-files/item_db_re_equip.sql index 4f2b96ca28..cafe40286f 100644 --- a/sql-files/item_db_re_equip.sql +++ b/sql-files/item_db_re_equip.sql @@ -5641,11 +5641,11 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_sha REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24344,'S_Blitz_Armor','Blitz Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bDef,25+5*(.@r/2);\nif (.@r >= 7) {\n bonus bAspd,1;\n if (.@r >= 9) {\n bonus bDelayrate,-1;\n }\n}'); REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_shield`,`equip_level_min`,`refineable`,`script`) VALUES (24345,'S_Tempest_Shield','Tempest Shadow Shield','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus2 bIgnoreMdefClassRate,Class_Normal,5+(.@r/2);'); REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_shoes`,`equip_level_min`,`refineable`,`script`) VALUES (24346,'S_Tempest_Shoes','Tempest Shadow Shoes','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus2 bIgnoreMdefClassRate,Class_Normal,5+(.@r/2);'); -REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24347,'S_Magic_Executioner_Holy_Water_Armor','Magic Executioner Holy Water Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreMdefRaceRate,RC_DemiHuman,.@val;\nbonus2 bIgnoreMdefRaceRate,RC_Undead,.@val;'); -REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24348,'S_Magic_Exorcist_Corrupted_Armor','Magic Exorcist Corrupted Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreMdefRaceRate,RC_Demon,.@val;\nbonus2 bIgnoreMdefRaceRate,RC_Angel,.@val;'); -REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24349,'S_Magic_Vibration_Dragon_Killer_Armor','Magic Vibration Dragon Killer Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreMdefRaceRate,RC_Formless,.@val;\nbonus2 bIgnoreMdefRaceRate,RC_Dragon,.@val;'); -REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24350,'S_Magic_Scissor_Hunting_Armor','Magic Scissor Hunting Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreMdefRaceRate,RC_Plant,.@val;\nbonus2 bIgnoreMdefRaceRate,RC_Brute,.@val;\nbonus2 bIgnoreMdefRaceRate,RC_Player_Doram,.@val;'); -REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24351,'S_Magic_Fishing_Insect_Net_Armor','Magic Fishing Insect Net Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreMdefRaceRate,RC_Fish,.@val;\nbonus2 bIgnoreMdefRaceRate,RC_Insect,.@val;'); +REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24347,'S_M_ExeHoly_Armor','Magic Executioner Holy Water Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreMdefRaceRate,RC_DemiHuman,.@val;\nbonus2 bIgnoreMdefRaceRate,RC_Undead,.@val;'); +REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24348,'S_M_ExoCorrupt_Armor','Magic Exorcist Corrupted Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreMdefRaceRate,RC_Demon,.@val;\nbonus2 bIgnoreMdefRaceRate,RC_Angel,.@val;'); +REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24349,'S_M_DragonVib_Armor','Magic Vibration Dragon Killer Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreMdefRaceRate,RC_Formless,.@val;\nbonus2 bIgnoreMdefRaceRate,RC_Dragon,.@val;'); +REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24350,'S_M_SciHunting_Armor','Magic Scissor Hunting Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreMdefRaceRate,RC_Plant,.@val;\nbonus2 bIgnoreMdefRaceRate,RC_Brute,.@val;\nbonus2 bIgnoreMdefRaceRate,RC_Player_Doram,.@val;'); +REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24351,'S_M_FishInsect_Armor','Magic Fishing Insect Net Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreMdefRaceRate,RC_Fish,.@val;\nbonus2 bIgnoreMdefRaceRate,RC_Insect,.@val;'); REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24352,'S_Plasterer\'s_Armor_II','Plasterer\'s Shadow Armor II','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bDef,1;\nbonus2 bResEff,Eff_Stone,100*.@r;'); REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_shoes`,`equip_level_min`,`refineable`,`script`) VALUES (24353,'S_Insomniac_Shoes_II','Insomniac Shadow Shoes II','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bDef,1;\nbonus2 bResEff,Eff_Sleep,100*.@r;'); REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24354,'S_Peerless_Armor_II','Peerless Shadow Armor II','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bDef,1;\nbonus2 bResEff,Eff_Silence,100*.@r;'); @@ -5669,11 +5669,11 @@ REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_sha REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_left_accessory`,`equip_level_min`,`refineable`,`script`) VALUES (24372,'S_Mortal_Blow_Pendant','Mortal Blow Shadow Pendant','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nif (.@r >= 9) {\n .@val = 3;\n} else if (.@r >= 7) {\n .@val = 2;\n}\nelse {\n .@val = 1;\n}\nbonus bCritAtkRate,.@val;'); REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_shoes`,`equip_level_min`,`refineable`,`script`) VALUES (24373,'S_Penetration_Shoes','Penetration Shadow Shoes','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus2 bIgnoreDefClassRate,Class_Normal,5+(.@r/2);'); REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_shield`,`equip_level_min`,`refineable`,`script`) VALUES (24374,'S_Penetration_Shield','Penetration Shadow Shield','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus2 bIgnoreDefClassRate,Class_Normal,5+(.@r/2);'); -REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24375,'S_Executioner_Holy_Water_Armor','Executioner Holy Water Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreDefRaceRate,RC_DemiHuman,.@val;\nbonus2 bIgnoreDefRaceRate,RC_Undead,.@val;'); -REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24376,'S_Exorcist_Corrupted_Armor','Exorcist Corrupted Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreDefRaceRate,RC_Demon,.@val;\nbonus2 bIgnoreDefRaceRate,RC_Angel,.@val;'); -REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24377,'S_Vibration_Dragon_Killer_Armor','Vibration Dragon Killer Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreDefRaceRate,RC_Formless,.@val;\nbonus2 bIgnoreDefRaceRate,RC_Dragon,.@val;'); -REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24378,'S_Scissor_Hunting_Armor','Scissor Hunting Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreDefRaceRate,RC_Plant,.@val;\nbonus2 bIgnoreDefRaceRate,RC_Brute,.@val;'); -REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24379,'S_Fishing_Insect_Net_Armor','Fishing Insect Net Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreDefRaceRate,RC_Fish,.@val;\nbonus2 bIgnoreDefRaceRate,RC_Insect,.@val;'); +REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24375,'S_ExeHoly_Armor','Executioner Holy Water Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreDefRaceRate,RC_DemiHuman,.@val;\nbonus2 bIgnoreDefRaceRate,RC_Undead,.@val;'); +REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24376,'S_ExoCorrupt_Armor','Exorcist Corrupted Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreDefRaceRate,RC_Demon,.@val;\nbonus2 bIgnoreDefRaceRate,RC_Angel,.@val;'); +REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24377,'S_DragonVib_Armor','Vibration Dragon Killer Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreDefRaceRate,RC_Formless,.@val;\nbonus2 bIgnoreDefRaceRate,RC_Dragon,.@val;'); +REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24378,'S_SciHunting_Armor','Scissor Hunting Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreDefRaceRate,RC_Plant,.@val;\nbonus2 bIgnoreDefRaceRate,RC_Brute,.@val;'); +REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_armor`,`equip_level_min`,`refineable`,`script`) VALUES (24379,'S_FishInsect_Armor','Fishing Insect Net Shadow Armor','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\n.@val = 5 + (.@r/2);\nbonus2 bIgnoreDefRaceRate,RC_Fish,.@val;\nbonus2 bIgnoreDefRaceRate,RC_Insect,.@val;'); REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_weapon`,`equip_level_min`,`refineable`,`script`) VALUES (24380,'Sentimental_Weapone_S','Sentimental Shadow Weapon','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bBaseAtk,.@r;\nbonus bMatk,.@r;\nbonus bMaxSP,10+((.@r/2)*15);'); REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_right_accessory`,`equip_level_min`,`refineable`,`script`) VALUES (24381,'Sentimental_Earring_S','Sentimental Shadow Earring','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bMaxSP,(.@r/2)*5;\nbonus bMaxSPrate,1;\nbonus bBaseAtk,5;'); REPLACE INTO `item_db_re` (`id`,`name_aegis`,`name_english`,`type`,`location_shadow_left_accessory`,`equip_level_min`,`refineable`,`script`) VALUES (24382,'Sentimental_Pendant_S','Sentimental Shadow Pendant','Shadowgear',true,1,true,'.@r = getrefine();\nbonus bMaxHP,.@r*10;\nbonus bSPrecovRate,2+.@r/3;\nbonus bBaseAtk,5;'); diff --git a/src/map/atcommand.cpp b/src/map/atcommand.cpp index defcef28d5..67cd376be6 100644 --- a/src/map/atcommand.cpp +++ b/src/map/atcommand.cpp @@ -10737,6 +10737,10 @@ ACMD_FUNC( stylist ){ clif_displaymessage( fd, msg_txt( sd, 798 ) ); // This command requires packet version 2015-11-04 or newer. return -1; #else + if( !battle_config.feature_stylist ){ + clif_displaymessage( fd, msg_txt( sd, 774 ) ); // This command is disabled via configuration. + return -1; + } if( sd->state.stylist_open ){ clif_displaymessage( fd, msg_txt( sd, 799 ) ); // You have already opened the stylist UI. diff --git a/src/map/battle.cpp b/src/map/battle.cpp index 0decc518b7..b12d7b34e2 100644 --- a/src/map/battle.cpp +++ b/src/map/battle.cpp @@ -10285,6 +10285,8 @@ static const struct _battle_data { { "mob_respawn_time", &battle_config.mob_respawn_time, 1000, 1000, INT_MAX, }, + { "feature.stylist", &battle_config.feature_stylist, 1, 0, 1, }, + #include "../custom/battle_config_init.inc" }; @@ -10422,6 +10424,13 @@ void battle_adjust_conf() } #endif +#if PACKETVER < 20151104 + if( battle_config.feature_stylist ){ + ShowWarning("conf/battle/feature.conf stylist is enabled but it requires PACKETVER 2015-11-04 or newer, disabling...\n"); + battle_config.feature_stylist = 0; + } +#endif + #if PACKETVER < 20141008 if (battle_config.feature_petevolution) { ShowWarning("conf/battle/feature.conf petevolution is enabled but it requires PACKETVER 2014-10-08 or newer, disabling...\n"); diff --git a/src/map/battle.hpp b/src/map/battle.hpp index 4fa61318a7..33a1243866 100644 --- a/src/map/battle.hpp +++ b/src/map/battle.hpp @@ -724,6 +724,8 @@ struct Battle_Config int mob_respawn_time; + int feature_stylist; + #include "../custom/battle_config_struct.inc" }; diff --git a/src/map/itemdb.hpp b/src/map/itemdb.hpp index 7cc04dc6b5..653013a959 100644 --- a/src/map/itemdb.hpp +++ b/src/map/itemdb.hpp @@ -1740,6 +1740,101 @@ enum e_random_item_group { IG_COSTUMEMILEAGE_PACKAGE3, IG_COMP_TRANS_SCROLL, IG_MINUS_STATUS_BOX, + IG_S_W_BREATH_CUBE, + IG_S_F_BREATH_CUBE, + IG_S_SONIC_CUBE, + IG_S_STRAIN_CUBE, + IG_S_JACK_CUBE, + IG_S_CHAIN_CUBE, + IG_S_CRIMSON_CUBE, + IG_S_VULCAN_CUBE, + IG_S_BOOMERANG_CUBE, + IG_S_ARMS_CUBE, + IG_S_TORNADO_CUBE, + IG_S_DUPLELIGHT_CUBE, + IG_S_MAGNUS_CUBE, + IG_S_ADORAMUS_CUBE, + IG_S_JUDEX_CUBE, + IG_S_ROLLING_CUBE, + IG_S_RIPPER_CUBE, + IG_S_SLASH_CUBE, + IG_S_KATAR_CUBE, + IG_S_SHOOTING_CUBE, + IG_S_ARROW_CUBE, + IG_S_AIMED_CUBE, + IG_S_CLUSTER_CUBE, + IG_S_BANISH_CANNON_CUBE, + IG_S_BRAND_CUBE, + IG_S_GENESIS_CUBE, + IG_S_CHAIN_PRESS_CUBE, + IG_S_GRAVE_CUBE, + IG_S_DUST_CUBE, + IG_S_VARETYR_CUBE, + IG_S_PSYCHIC_CUBE, + IG_S_SPORE_BOMB_CUBE, + IG_S_CANNON_CART_CUBE, + IG_S_CRAZY_CUBE, + IG_S_CART_TORNADO_CUBE, + IG_S_KNUCKLEARROW_CUBE, + IG_S_SKYNETBLOW_CUBE, + IG_S_RAMPAGE_CUBE, + IG_S_TIGERCANNON_CUBE, + IG_S_MENACE_CUBE, + IG_S_SHADOWSPELL_CUBE, + IG_S_TRIANGLE_CUBE, + IG_S_PAINT_CUBE, + IG_S_RAINSTORM_CUBE, + IG_S_METALIC_CUBE, + IG_S_ARROWVULCAN_CUBE, + IG_S_REVERBERATION_CUBE, + IG_S_MOONLIGHT_CUBE, + IG_S_SUNSHINE_CUBE, + IG_S_STARDUST_CUBE, + IG_S_S_CUBE, + IG_S_EVILCURSE_CUBE, + IG_S_SYURIKEN_CUBE, + IG_S_KUNAI_CUBE, + IG_S_HUUSOUKA_CUBE, + IG_S_KAMAENRAKU_CUBE, + IG_S_GOD_HAMMER_CUBE, + IG_S_SHATTER_BUSTER_CUBE, + IG_S_TAIL_DRAGON_CUBE, + IG_S_TRIP_CUBE, + IG_S_FLARE_DANCE_CUBE, + IG_S_SUPER_MAGIC_CUBE, + IG_S_SUPER_POWER_CUBE, + IG_S_SILVERVINE_CUBE, + IG_S_CATNIP_CUBE, + IG_S_SAVAGERABBIT_CUBE, + IG_S_PICKYRUSH_CUBE, + IG_S_RUNEKNIGHT_CUBE, + IG_S_ROYALGUARD_CUBE, + IG_S_WARLOCK_CUBE, + IG_S_SORCERER_CUBE, + IG_S_MECHANIC_CUBE, + IG_S_GENERIC_CUBE, + IG_S_ARCHBISHOP_CUBE, + IG_S_SURA_CUBE, + IG_S_GUILLOTINECROSS_CUBE, + IG_S_SHADOWCHASER_CUBE, + IG_S_RANGER_CUBE, + IG_S_WANDERER_CUBE, + IG_S_MINSTREL_CUBE, + IG_S_STAR_EMPEROR_CUBE, + IG_S_SOUL_REAPER_CUBE, + IG_S_KAGEROU_CUBE, + IG_S_OBORO_CUBE, + IG_S_REBELLION_CUBE, + IG_S_SUPERNOVICE_CUBE, + IG_S_DORAM_CUBE, + IG_S_MAMMOTH_CUBE, + IG_S_GEMSTONE_CUBE, + IG_S_PENE1_CUBE, + IG_S_PENE2_CUBE, + IG_S_TEMP1_CUBE, + IG_S_TEMP2_CUBE, + IG_BLACKSMITH_BLESS_BOX_3, + IG_SHADOW_HAMMER_BOX_3, IG_MAX, }; diff --git a/src/map/script.cpp b/src/map/script.cpp index 4a3dc26a8f..a0463fbb38 100644 --- a/src/map/script.cpp +++ b/src/map/script.cpp @@ -26269,6 +26269,11 @@ BUILDIN_FUNC(mob_setidleevent){ BUILDIN_FUNC( openstylist ){ #if PACKETVER >= 20151104 + if( !battle_config.feature_stylist ){ + ShowError( "buildin_openstylist: stylist is disabled.\n" ); + return SCRIPT_CMD_FAILURE; + } + map_session_data* sd; if( !script_charid2sd( 2, sd ) ){ diff --git a/src/map/script_constants.hpp b/src/map/script_constants.hpp index d048b48d78..393296d70c 100644 --- a/src/map/script_constants.hpp +++ b/src/map/script_constants.hpp @@ -6538,6 +6538,101 @@ export_constant(IG_COSTUMEMILEAGE_PACKAGE3); export_constant(IG_COMP_TRANS_SCROLL); export_constant(IG_MINUS_STATUS_BOX); + export_constant(IG_S_W_BREATH_CUBE); + export_constant(IG_S_F_BREATH_CUBE); + export_constant(IG_S_SONIC_CUBE); + export_constant(IG_S_STRAIN_CUBE); + export_constant(IG_S_JACK_CUBE); + export_constant(IG_S_CHAIN_CUBE); + export_constant(IG_S_CRIMSON_CUBE); + export_constant(IG_S_VULCAN_CUBE); + export_constant(IG_S_BOOMERANG_CUBE); + export_constant(IG_S_ARMS_CUBE); + export_constant(IG_S_TORNADO_CUBE); + export_constant(IG_S_DUPLELIGHT_CUBE); + export_constant(IG_S_MAGNUS_CUBE); + export_constant(IG_S_ADORAMUS_CUBE); + export_constant(IG_S_JUDEX_CUBE); + export_constant(IG_S_ROLLING_CUBE); + export_constant(IG_S_RIPPER_CUBE); + export_constant(IG_S_SLASH_CUBE); + export_constant(IG_S_KATAR_CUBE); + export_constant(IG_S_SHOOTING_CUBE); + export_constant(IG_S_ARROW_CUBE); + export_constant(IG_S_AIMED_CUBE); + export_constant(IG_S_CLUSTER_CUBE); + export_constant(IG_S_BANISH_CANNON_CUBE); + export_constant(IG_S_BRAND_CUBE); + export_constant(IG_S_GENESIS_CUBE); + export_constant(IG_S_CHAIN_PRESS_CUBE); + export_constant(IG_S_GRAVE_CUBE); + export_constant(IG_S_DUST_CUBE); + export_constant(IG_S_VARETYR_CUBE); + export_constant(IG_S_PSYCHIC_CUBE); + export_constant(IG_S_SPORE_BOMB_CUBE); + export_constant(IG_S_CANNON_CART_CUBE); + export_constant(IG_S_CRAZY_CUBE); + export_constant(IG_S_CART_TORNADO_CUBE); + export_constant(IG_S_KNUCKLEARROW_CUBE); + export_constant(IG_S_SKYNETBLOW_CUBE); + export_constant(IG_S_RAMPAGE_CUBE); + export_constant(IG_S_TIGERCANNON_CUBE); + export_constant(IG_S_MENACE_CUBE); + export_constant(IG_S_SHADOWSPELL_CUBE); + export_constant(IG_S_TRIANGLE_CUBE); + export_constant(IG_S_PAINT_CUBE); + export_constant(IG_S_RAINSTORM_CUBE); + export_constant(IG_S_METALIC_CUBE); + export_constant(IG_S_ARROWVULCAN_CUBE); + export_constant(IG_S_REVERBERATION_CUBE); + export_constant(IG_S_MOONLIGHT_CUBE); + export_constant(IG_S_SUNSHINE_CUBE); + export_constant(IG_S_STARDUST_CUBE); + export_constant(IG_S_S_CUBE); + export_constant(IG_S_EVILCURSE_CUBE); + export_constant(IG_S_SYURIKEN_CUBE); + export_constant(IG_S_KUNAI_CUBE); + export_constant(IG_S_HUUSOUKA_CUBE); + export_constant(IG_S_KAMAENRAKU_CUBE); + export_constant(IG_S_GOD_HAMMER_CUBE); + export_constant(IG_S_SHATTER_BUSTER_CUBE); + export_constant(IG_S_TAIL_DRAGON_CUBE); + export_constant(IG_S_TRIP_CUBE); + export_constant(IG_S_FLARE_DANCE_CUBE); + export_constant(IG_S_SUPER_MAGIC_CUBE); + export_constant(IG_S_SUPER_POWER_CUBE); + export_constant(IG_S_SILVERVINE_CUBE); + export_constant(IG_S_CATNIP_CUBE); + export_constant(IG_S_SAVAGERABBIT_CUBE); + export_constant(IG_S_PICKYRUSH_CUBE); + export_constant(IG_S_RUNEKNIGHT_CUBE); + export_constant(IG_S_ROYALGUARD_CUBE); + export_constant(IG_S_WARLOCK_CUBE); + export_constant(IG_S_SORCERER_CUBE); + export_constant(IG_S_MECHANIC_CUBE); + export_constant(IG_S_GENERIC_CUBE); + export_constant(IG_S_ARCHBISHOP_CUBE); + export_constant(IG_S_SURA_CUBE); + export_constant(IG_S_GUILLOTINECROSS_CUBE); + export_constant(IG_S_SHADOWCHASER_CUBE); + export_constant(IG_S_RANGER_CUBE); + export_constant(IG_S_WANDERER_CUBE); + export_constant(IG_S_MINSTREL_CUBE); + export_constant(IG_S_STAR_EMPEROR_CUBE); + export_constant(IG_S_SOUL_REAPER_CUBE); + export_constant(IG_S_KAGEROU_CUBE); + export_constant(IG_S_OBORO_CUBE); + export_constant(IG_S_REBELLION_CUBE); + export_constant(IG_S_SUPERNOVICE_CUBE); + export_constant(IG_S_DORAM_CUBE); + export_constant(IG_S_MAMMOTH_CUBE); + export_constant(IG_S_GEMSTONE_CUBE); + export_constant(IG_S_PENE1_CUBE); + export_constant(IG_S_PENE2_CUBE); + export_constant(IG_S_TEMP1_CUBE); + export_constant(IG_S_TEMP2_CUBE); + export_constant(IG_BLACKSMITH_BLESS_BOX_3); + export_constant(IG_SHADOW_HAMMER_BOX_3); /* unit stop walking */ export_constant(USW_NONE);