diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-01-15 21:45:19 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-01-15 21:45:19 +0000 |
commit | e2d3ae9dc682afc1ac34a536006ef79370040b04 (patch) | |
tree | 44e74037c0f5645b1e8d56ae6b2c9fdb602e9e05 /src/map/skill.c | |
parent | 065f2203b8aa2140e55c0ef62ad0ad2e5ea4d088 (diff) | |
download | hercules-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.c | 17 |
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. } } |