diff options
author | Jedzkie <jedzkie13@rocketmail.com> | 2017-04-19 23:25:53 +0800 |
---|---|---|
committer | Jedzkie <jedzkie13@rocketmail.com> | 2017-04-19 23:37:08 +0800 |
commit | c22bc45868e8ea2b7ef904848d178caeaa6b379c (patch) | |
tree | 32edebf9506cd0dad0612cef0ebcf8a2007a4e1d /src/map/status.c | |
parent | 5802b22439441be1914ae9024d6ce06d51c0210f (diff) | |
download | hercules-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.c | 17 |
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; |