summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/status.c')
-rw-r--r--src/map/status.c16
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;