From 9606f847878ad2bdc4fba4349a34ee78cc212af8 Mon Sep 17 00:00:00 2001 From: shennetsind Date: Sat, 11 Feb 2012 19:43:24 +0000 Subject: [PATCH] Fixed bug with abracadabra self skills not working, bugreport:5310 Also fixed magnificat's non-mado condition git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15566 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/skill.c | 3 ++- src/map/status.c | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/map/skill.c b/src/map/skill.c index 97b4a50fbc..2fef37baf8 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -446,7 +446,8 @@ int skillnotok (int skillid, struct map_session_data *sd) // This code will compare the player's attack motion value which is influenced by ASPD before // allowing a skill to be cast. This is to prevent no-delay ACT files from spamming skills such as // AC_DOUBLE which do not have a skill delay and are not regarded in terms of attack motion. - if( sd->canskill_tick && DIFF_TICK(gettick(), sd->canskill_tick) < (sd->battle_status.amotion * (100 + battle_config.skill_amotion_leniency) / 100) ) + if( sd->skillitem != skillid && sd->canskill_tick && + DIFF_TICK(gettick(), sd->canskill_tick) < (sd->battle_status.amotion * (100 + battle_config.skill_amotion_leniency) / 100) ) {// attempted to cast a skill before the attack motion has finished return 1; } diff --git a/src/map/status.c b/src/map/status.c index 5fe0154506..a65de486b8 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -5568,6 +5568,7 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val break; case SC_MAGNIFICAT: if( sc->option&OPTION_MADOGEAR ) //Mado is immune to magnificat + return 0; break; case SC_ONEHAND: case SC_MERC_QUICKEN: