summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
authorRidley <ridley8819@gmail.com>2016-03-26 13:21:08 +0100
committerHaru <haru@dotalux.com>2016-07-10 15:50:14 +0200
commit468ceee02b8c4a0468be577463ee6ef9dc60086b (patch)
tree663ea51f185e5096e56e09aebbd5f03c634f4aaa /src/map/status.c
parent66618b60c096f98f2c849ff5f8ce02a3af580996 (diff)
downloadhercules-468ceee02b8c4a0468be577463ee6ef9dc60086b.tar.gz
hercules-468ceee02b8c4a0468be577463ee6ef9dc60086b.tar.bz2
hercules-468ceee02b8c4a0468be577463ee6ef9dc60086b.tar.xz
hercules-468ceee02b8c4a0468be577463ee6ef9dc60086b.zip
Fixed SC_OFFERTORIUM and SC_MAGNIFICAT
They should cancel each other, not prevent the usage (like Kyrie and Assumptio) Closes #1222 as merged Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'src/map/status.c')
-rw-r--r--src/map/status.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/map/status.c b/src/map/status.c
index 83d8943c9..39915705d 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -7434,7 +7434,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
return 0;
break;
case SC_MAGNIFICAT:
- if (sc->data[SC_OFFERTORIUM] || sc->option&OPTION_MADOGEAR) // Mado is immune to magnificat
+ if (sc->option&OPTION_MADOGEAR) // Mado is immune to magnificat
return 0;
break;
case SC_ONEHANDQUICKEN:
@@ -7637,10 +7637,6 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
if(sc->data[SC_HOVERING])
return 0;
break;
- case SC_OFFERTORIUM:
- if (sc->data[SC_MAGNIFICAT])
- return 0;
- break;
}
//Check for BOSS resistances
@@ -7748,6 +7744,14 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
//Cancels Assumptio
status_change_end(bl, SC_ASSUMPTIO, INVALID_TIMER);
break;
+ case SC_MAGNIFICAT:
+ //Cancels Offertorium
+ status_change_end(bl, SC_OFFERTORIUM, INVALID_TIMER);
+ break;
+ case SC_OFFERTORIUM:
+ //Cancels Magnificat
+ status_change_end(bl, SC_MAGNIFICAT, INVALID_TIMER);
+ break;
case SC_DELUGE:
if (sc->data[SC_FOGWALL] && sc->data[SC_BLIND])
status_change_end(bl, SC_BLIND, INVALID_TIMER);