summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
authorJedzkie <jedzkie13@rocketmail.com>2017-04-19 23:25:53 +0800
committerJedzkie <jedzkie13@rocketmail.com>2017-04-19 23:37:08 +0800
commitc22bc45868e8ea2b7ef904848d178caeaa6b379c (patch)
tree32edebf9506cd0dad0612cef0ebcf8a2007a4e1d /src/map/status.c
parent5802b22439441be1914ae9024d6ce06d51c0210f (diff)
downloadhercules-c22bc45868e8ea2b7ef904848d178caeaa6b379c.tar.gz
hercules-c22bc45868e8ea2b7ef904848d178caeaa6b379c.tar.bz2
hercules-c22bc45868e8ea2b7ef904848d178caeaa6b379c.tar.xz
hercules-c22bc45868e8ea2b7ef904848d178caeaa6b379c.zip
Implemented Official Summer 2 Costume
Added summer2_ignorepalette configuration
Diffstat (limited to 'src/map/status.c')
-rw-r--r--src/map/status.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/map/status.c b/src/map/status.c
index d8fb9a350..529ab1c02 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -1000,6 +1000,7 @@ void initChangeTables(void)
status->dbs->IconChangeTable[SC_MONSTER_TRANSFORM] = SI_MONSTER_TRANSFORM;
// Costumes
+ status->dbs->IconChangeTable[SC_DRESS_UP] = SI_DRESS_UP;
status->dbs->IconChangeTable[SC_MOONSTAR] = SI_MOONSTAR;
status->dbs->IconChangeTable[SC_SUPER_STAR] = SI_SUPER_STAR;
status->dbs->IconChangeTable[SC_STRANGELIGHTS] = SI_STRANGELIGHTS;
@@ -1178,6 +1179,7 @@ void initChangeTables(void)
status->dbs->ChangeFlagTable[SC_MVPCARD_ORCLORD] |= SCB_ALL;
// Costumes
+ status->dbs->ChangeFlagTable[SC_DRESS_UP] |= SCB_NONE;
status->dbs->ChangeFlagTable[SC_MOONSTAR] |= SCB_NONE;
status->dbs->ChangeFlagTable[SC_SUPER_STAR] |= SCB_NONE;
status->dbs->ChangeFlagTable[SC_STRANGELIGHTS] |= SCB_NONE;
@@ -6883,13 +6885,16 @@ void status_set_viewdata(struct block_list *bl, int class_)
sd->vd.cloth_color = 0;
if (sd->sc.option&OPTION_OKTOBERFEST /* TODO: config? */)
sd->vd.cloth_color = 0;
+ if (sd->sc.option&OPTION_SUMMER2 && battle_config.summer2_ignorepalette)
+ sd->vd.cloth_color = 0;
}
if (sd->vd.body_style
&& (sd->sc.option&OPTION_WEDDING
|| sd->sc.option&OPTION_XMAS
|| sd->sc.option&OPTION_SUMMER
|| sd->sc.option&OPTION_HANBOK
- || sd->sc.option&OPTION_OKTOBERFEST))
+ || sd->sc.option&OPTION_OKTOBERFEST
+ || sd->sc.option&OPTION_SUMMER2))
sd->vd.body_style = 0;
} else if (vd != NULL) {
memcpy(&sd->vd, vd, sizeof(struct view_data));
@@ -8493,6 +8498,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
case SC_SUMMER:
case SC_HANBOK:
case SC_OKTOBERFEST:
+ case SC_DRESS_UP:
if (!vd) return 0;
//Store previous values as they could be removed.
unit->stop_attack(bl);
@@ -9896,6 +9902,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
case SC_SUMMER:
case SC_HANBOK:
case SC_OKTOBERFEST:
+ case SC_DRESS_UP:
if( !vd ) break;
clif->changelook(bl, LOOK_BASE, vd->class);
clif->changelook(bl,LOOK_WEAPON,0);
@@ -10284,6 +10291,10 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
sc->option |= OPTION_OKTOBERFEST;
opt_flag |= 0x4;
break;
+ case SC_DRESS_UP:
+ sc->option |= OPTION_SUMMER2;
+ opt_flag |= 0x4;
+ break;
case SC__FEINTBOMB_MASTER:
sc->option |= OPTION_INVISIBLE;
opt_flag |= 0x4;
@@ -11092,6 +11103,10 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const
sc->option &= ~OPTION_OKTOBERFEST;
opt_flag |= 0x4;
break;
+ case SC_DRESS_UP:
+ sc->option &= ~OPTION_SUMMER2;
+ opt_flag |= 0x4;
+ break;
case SC__FEINTBOMB_MASTER:
sc->option &= ~OPTION_INVISIBLE;
opt_flag |= 0x4;