diff options
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/map/status.c b/src/map/status.c index 7fc090dd1..7e7cadfb6 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -3712,6 +3712,12 @@ void status_set_viewdata(struct block_list *bl, int class_) { TBL_PC* sd = (TBL_PC*)bl; if (pcdb_checkid(class_)) { + if (sd->sc.option&OPTION_WEDDING) + class_ = JOB_WEDDING; + else + if (sd->sc.option&OPTION_XMAS) + class_ = JOB_XMAS; + else if (sd->sc.option&OPTION_RIDING) switch (class_) { //Adapt class to a Mounted one. @@ -3734,10 +3740,6 @@ void status_set_viewdata(struct block_list *bl, int class_) class_ = JOB_BABY_CRUSADER2; break; } - if (class_ == JOB_WEDDING) - sd->sc.option|=OPTION_WEDDING; - else if (sd->sc.option&OPTION_WEDDING) - sd->sc.option&=~OPTION_WEDDING; //If not going to display it, then remove the option. sd->vd.class_ = class_; clif_get_weapon_view(sd, &sd->vd.weapon, &sd->vd.shield); sd->vd.head_top = sd->status.head_top; @@ -5264,6 +5266,9 @@ int status_change_start(struct block_list *bl,int type,int rate,int val1,int val case SC_WEDDING: sc->option |= OPTION_WEDDING; break; + case SC_XMAS: + sc->option |= OPTION_XMAS; + break; case SC_ORCISH: sc->option |= OPTION_ORCISH; break; @@ -5661,6 +5666,9 @@ int status_change_end( struct block_list* bl , int type,int tid ) case SC_WEDDING: sc->option &= ~OPTION_WEDDING; break; + case SC_XMAS: + sc->option &= ~OPTION_XMAS; + break; case SC_ORCISH: sc->option &= ~OPTION_ORCISH; break; |