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.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/map/status.c b/src/map/status.c
index ea78c57bf..ccb017c08 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -6039,9 +6039,12 @@ int status_change_end( struct block_list* bl , int type,int tid )
case SC_WEDDING:
case SC_XMAS:
if (!vd) return 0;
- if (sd) //Load data from sd->status.* as the stored values could have changed.
+ if (sd)
+ { //Load data from sd->status.* as the stored values could have changed.
+ //Must remove OPTION to prevent class being rechanged.
+ sc->option &= type==SC_WEDDING?~OPTION_WEDDING:~OPTION_XMAS;
status_set_viewdata(bl, sd->status.class_);
- else {
+ } else {
vd->class_ = sc->data[type].val1;
vd->weapon = sc->data[type].val2;
vd->shield = sc->data[type].val3;