summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 230b35e55..3e92d7357 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -7053,7 +7053,7 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
// GXは重なっていたら3HITしない
if ((skillid==CR_GRANDCROSS || skillid==NPC_GRANDDARKNESS) && !battle_config.gx_allhit)
- ts->tick += sg->interval*(map_count_oncell(bl->m,bl->x,bl->y,0)-1);
+ ts->tick += sg->interval*(map_count_oncell(bl->m,bl->x,bl->y,BL_CHAR)-1);
}
//Temporarily set magic power to have it take effect. [Skotlex]
if (sg->state.magic_power && sc && sc->data[SC_MAGICPOWER].timer == -1)
@@ -8582,14 +8582,16 @@ int skill_castfix_sc (struct block_list *bl, int time)
{
struct status_change *sc = status_get_sc(bl);
-// if (time <= 0) return 0; //Reports say that Suffragium should be consumed even on instant cast skills [Skotlex]
-
if (sc && sc->count) {
if (sc->data[SC_SUFFRAGIUM].timer != -1) {
time -= time * (sc->data[SC_SUFFRAGIUM].val1 * 15) / 100;
status_change_end(bl, SC_SUFFRAGIUM, -1);
}
- if (sc->data[SC_MEMORIZE].timer != -1) {
+
+ if (time <= 0)
+ return 0; //Only Suffragium gets consumed even if time is 0
+
+ if (sc->data[SC_MEMORIZE].timer != -1 && time > 0) {
time>>=1;
if ((--sc->data[SC_MEMORIZE].val2) <= 0)
status_change_end(bl, SC_MEMORIZE, -1);