summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2018-07-28 04:57:54 +0200
committerGitHub <noreply@github.com>2018-07-28 04:57:54 +0200
commitb30f62468a5e923bf5d9533adec064ada1716459 (patch)
treea3af80ed5dce5a951b0d2b99838c3b25c313ad7c
parent75c6eb16f8660eacd5d12e69237bea342c9c8352 (diff)
parent4113c65100f39250b2255c8b57e3607cf40e3fdc (diff)
downloadhercules-b30f62468a5e923bf5d9533adec064ada1716459.tar.gz
hercules-b30f62468a5e923bf5d9533adec064ada1716459.tar.bz2
hercules-b30f62468a5e923bf5d9533adec064ada1716459.tar.xz
hercules-b30f62468a5e923bf5d9533adec064ada1716459.zip
Merge pull request #2155 from Asheraf/stydoram
Add support for doram restriction in stylist shop
-rw-r--r--db/stylist_db.conf41
-rw-r--r--src/map/clif.c6
-rw-r--r--src/map/clif.h1
3 files changed, 47 insertions, 1 deletions
diff --git a/db/stylist_db.conf b/db/stylist_db.conf
index 70d7162f5..fde32a7da 100644
--- a/db/stylist_db.conf
+++ b/db/stylist_db.conf
@@ -40,77 +40,92 @@ stylist_db: (
Zeny: zeny (int, defaults to 0)
ItemID: ItemID (int, defaults to 0)
BoxItemID: BoxItemID (int, defaults to 0)
+ AllowDoram: true/false (boolean, defaults to false)
},
**************************************************************************/
{
Type: "LOOK_HAIR_COLOR"
Id: 1
Zeny: 100000
+ AllowDoram: true
},
{
Type: "LOOK_HAIR_COLOR"
Id: 2
Zeny: 100000
+ AllowDoram: true
},
{
Type: "LOOK_HAIR_COLOR"
Id: 3
Zeny: 100000
+ AllowDoram: true
},
{
Type: "LOOK_HAIR_COLOR"
Id: 4
Zeny: 100000
+ AllowDoram: true
},
{
Type: "LOOK_HAIR_COLOR"
Id: 5
Zeny: 100000
+ AllowDoram: true
},
{
Type: "LOOK_HAIR_COLOR"
Id: 6
Zeny: 100000
+ AllowDoram: true
},
{
Type: "LOOK_HAIR_COLOR"
Id: 7
Zeny: 100000
+ AllowDoram: true
},
{
Type: "LOOK_HAIR_COLOR"
Id: 8
Zeny: 100000
+ AllowDoram: true
},
{
Type: "LOOK_HAIR"
Id: 1
Zeny: 100000
+ AllowDoram: true
},
{
Type: "LOOK_HAIR"
Id: 2
Zeny: 100000
+ AllowDoram: true
},
{
Type: "LOOK_HAIR"
Id: 3
Zeny: 100000
+ AllowDoram: true
},
{
Type: "LOOK_HAIR"
Id: 4
Zeny: 100000
+ AllowDoram: true
},
{
Type: "LOOK_HAIR"
Id: 5
Zeny: 100000
+ AllowDoram: true
},
{
Type: "LOOK_HAIR"
Id: 6
Zeny: 100000
+ AllowDoram: true
},
{
Type: "LOOK_HAIR"
@@ -234,77 +249,101 @@ stylist_db: (
BoxItemID: "Jeremy_Beauty_Coupon_Box"
},
{
+ Type: "LOOK_HAIR"
+ Id: 30
+ Zeny: 100000
+},
+{
+ Type: "LOOK_HAIR"
+ Id: 31
+ Zeny: 100000
+},
+{
Type: "LOOK_CLOTHES_COLOR"
- Id: 1
+ Id: 0
ItemID: "Clothing_Dye_Coupon2"
BoxItemID: "Clothing_Dye_Orig_Box"
+ AllowDoram: true
},
{
Type: "LOOK_CLOTHES_COLOR"
Id: 2
ItemID: "Clothing_Dye_Coupon"
BoxItemID: "Clothing_Dye_Box"
+ AllowDoram: true
},
{
Type: "LOOK_CLOTHES_COLOR"
Id: 3
ItemID: "Clothing_Dye_Coupon"
BoxItemID: "Clothing_Dye_Box"
+ AllowDoram: true
},
{
Type: "LOOK_HEAD_TOP"
Id: "Hat"
Zeny: 1000
+ AllowDoram: true
},
{
Type: "LOOK_HEAD_TOP"
Id: "Ribbon"
Zeny: 800
+ AllowDoram: true
},
{
Type: "LOOK_HEAD_TOP"
Id: "Bandana"
Zeny: 400
+ AllowDoram: true
},
{
Type: "LOOK_HEAD_MID"
Id: "One_Eyed_Glass"
Zeny: 10000
+ AllowDoram: true
},
{
Type: "LOOK_HEAD_MID"
Id: "Sunglasses"
Zeny: 5000
+ AllowDoram: true
},
{
Type: "LOOK_HEAD_MID"
Id: "Luxury_Sunglasses"
Zeny: 24000
+ AllowDoram: true
},
{
Type: "LOOK_HEAD_MID"
Id: "Spinning_Eyes"
Zeny: 20000
+ AllowDoram: true
},
{
Type: "LOOK_HEAD_MID"
Id: "Divers_Goggles"
Zeny: 3500
+ AllowDoram: true
},
{
Type: "LOOK_HEAD_MID"
Id: "Glasses"
Zeny: 4000
+ AllowDoram: true
},
{
Type: "LOOK_HEAD_MID"
Id: "Eye_Bandage"
Zeny: 1000
+ AllowDoram: true
},
{
Type: "LOOK_HEAD_BOTTOM"
Id: "Granpa_Beard"
Zeny: 5000
+ AllowDoram: true
},
{
Type: "LOOK_BODY2"
diff --git a/src/map/clif.c b/src/map/clif.c
index 50d6e00a7..cfbc3d252 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -21467,6 +21467,9 @@ static bool clif_stylist_read_db_libconfig_sub(struct config_setting_t *it, int
if (itemdb->lookup_const(it, "BoxItemID", &i32))
entry.boxid = i32;
+ if (libconfig->setting_lookup_bool(it, "AllowDoram", &i32))
+ entry.allow_doram = (i32 == 0) ? false : true;
+
VECTOR_ENSURE(stylist_data[type], 1, 1);
VECTOR_PUSH(stylist_data[type], entry);
return true;
@@ -21483,6 +21486,9 @@ static bool clif_style_change_validate_requirements(struct map_session_data *sd,
entry = &VECTOR_INDEX(stylist_data[type], idx);
+ if (sd->status.class == JOB_SUMMONER && (entry->allow_doram == false))
+ return false;
+
if (entry->id >= 0) {
if (entry->zeny != 0) {
if (sd->status.zeny < entry->zeny)
diff --git a/src/map/clif.h b/src/map/clif.h
index 4467eb690..3ed9b96ae 100644
--- a/src/map/clif.h
+++ b/src/map/clif.h
@@ -646,6 +646,7 @@ struct stylist_data_entry {
int32 zeny;
int itemid;
int boxid;
+ bool allow_doram;
};
VECTOR_DECL(struct stylist_data_entry) stylist_data[MAX_STYLIST_TYPE];