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.c32
1 files changed, 22 insertions, 10 deletions
diff --git a/src/map/status.c b/src/map/status.c
index 595bccee1..eae8805e4 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -6026,11 +6026,11 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
opt_flag = 0;
break;
//0x100 missing?
-// TODO:
-// case SC_MOONLIT:
-// sc->opt3 |= 0x200;
-// opt_flag = 0;
-// break;
+ case SC_DANCING:
+ if ((val1&0xFFFF) == CG_MOONLIT)
+ sc->opt3 |= 0x200;
+ opt_flag = 0;
+ break;
case SC_MARIONETTE:
case SC_MARIONETTE2:
sc->opt3 |= 0x400;
@@ -6056,11 +6056,10 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val
sc->opt3 |= 0x8000;
opt_flag = 0;
break;
-// TODO:
-// case SC_BIOLABAURA:
-// sc->opt3 |= 0x10000;
-// opt_flag = 0;
-// break;
+ case SC_CHANGEUNDEAD:
+ sc->opt3 |= 0x10000;
+ opt_flag = 0;
+ break;
//OPTION
case SC_HIDING:
sc->option |= OPTION_HIDE;
@@ -6613,6 +6612,11 @@ int status_change_end(struct block_list* bl, enum sc_type type, int tid)
sc->opt3 &= ~0x80;
opt_flag = 0;
break;
+ case SC_DANCING:
+ if ((sce->val1&0xFFFF) == CG_MOONLIT)
+ sc->opt3 &= ~0x200;
+ opt_flag = 0;
+ break;
case SC_MARIONETTE:
case SC_MARIONETTE2:
sc->opt3 &= ~0x400;
@@ -6630,6 +6634,14 @@ int status_change_end(struct block_list* bl, enum sc_type type, int tid)
sc->opt3 &= ~0x2000;
opt_flag = 0;
break;
+ case SC_SPIRIT:
+ sc->opt3 &= ~0x8000;
+ opt_flag = 0;
+ break;
+ case SC_CHANGEUNDEAD:
+ sc->opt3 &= ~0x10000;
+ opt_flag = 0;
+ break;
default:
opt_flag = 0;
}