summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-01-15 21:45:19 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-01-15 21:45:19 +0000
commite2d3ae9dc682afc1ac34a536006ef79370040b04 (patch)
tree44e74037c0f5645b1e8d56ae6b2c9fdb602e9e05 /src/map/skill.c
parent065f2203b8aa2140e55c0ef62ad0ad2e5ea4d088 (diff)
downloadhercules-e2d3ae9dc682afc1ac34a536006ef79370040b04.tar.gz
hercules-e2d3ae9dc682afc1ac34a536006ef79370040b04.tar.bz2
hercules-e2d3ae9dc682afc1ac34a536006ef79370040b04.tar.xz
hercules-e2d3ae9dc682afc1ac34a536006ef79370040b04.zip
- The NPC elemental attacks will display a skill animation again.
- Mob instant cast skills will use their adelay now. - Spirit of Wizard won't work on Ganbantein - The pc normalize job function will consider you as novice if you don't have maxed out basic skill. - Cleaned up pc_calc_skilltree and related functions so that the id is left as 0 when you can't raise the skill even if you meet the prerequisites. This is to prevent raising quest/soul/marriage skills through packets. - Slaves should lock unto their master's target even if they are not attacking yet (eg: in chase mode) - Updated the Summon Slave skill to use the slave distance define as valid distance to spawn from master. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9656 54d463be-8e91-2dee-dedb-b68131a5f0ec
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.
}
}