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.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 25063712a..ba4c51cc0 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -2047,14 +2047,6 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
case KN_AUTOCOUNTER:
case NPC_CRITICALSLASH:
- case NPC_WATERATTACK:
- case NPC_GROUNDATTACK:
- case NPC_FIREATTACK:
- case NPC_WINDATTACK:
- case NPC_POISONATTACK:
- case NPC_HOLYATTACK:
- case NPC_DARKNESSATTACK:
- case NPC_TELEKINESISATTACK:
case NPC_SPLASHATTACK:
case TF_DOUBLE:
case GS_CHAINACTION:
@@ -5641,7 +5633,9 @@ int skill_castend_id (int tid, unsigned int tick, int id, int data)
if(md) {
if(tid != -1) //Set afterskill delay.
- md->last_thinktime=tick + md->status.amotion;
+ md->last_thinktime=tick +md->status.amotion;
+ else
+ md->last_thinktime=tick +md->status.adelay;
if(battle_config.mob_ai&0x200) { //pass on delay to same skill.
int i;
for (i = 0; i < md->db->maxskill; i++)
@@ -5832,6 +5826,8 @@ int skill_castend_pos (int tid, unsigned int tick, int id, int data)
if(md) {
if (tid != -1)
md->last_thinktime=tick +md->status.amotion;
+ else
+ md->last_thinktime=tick +md->status.adelay;
if(battle_config.mob_ai&0x200) { //pass on delay to same skill.
int i;
for (i = 0; i < md->db->maxskill; i++)
@@ -8537,7 +8533,8 @@ int skill_check_condition (struct map_session_data *sd, int skill, int lv, int t
clif_skill_fail(sd,skill,0,0);
return 0;
}
- if(itemid[i] >= 715 && itemid[i] <= 717 && sc && sc->data[SC_SPIRIT].timer != -1 && sc->data[SC_SPIRIT].val2 == SL_WIZARD)
+ if(itemid[i] >= 715 && itemid[i] <= 717 && skill != HW_GANBANTEIN &&
+ sc && sc->data[SC_SPIRIT].timer != -1 && sc->data[SC_SPIRIT].val2 == SL_WIZARD)
index[i] = -1; //Gemstones are checked, but not substracted from inventory.
}
}