summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-03-29 14:53:22 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-03-29 14:53:22 +0000
commit5498a520d7b5bc65d8b8c2ab949cf2986848c104 (patch)
tree344e3e2fc87dc5bc3a515730da90423ee3074dc1 /src/map/skill.c
parent008f7c84a7220474b1c6a8a0463dc72d3e3364d5 (diff)
downloadhercules-5498a520d7b5bc65d8b8c2ab949cf2986848c104.tar.gz
hercules-5498a520d7b5bc65d8b8c2ab949cf2986848c104.tar.bz2
hercules-5498a520d7b5bc65d8b8c2ab949cf2986848c104.tar.xz
hercules-5498a520d7b5bc65d8b8c2ab949cf2986848c104.zip
- Some cleaning of the mob_ai. Mobs should stop chasing once you are beyond their min_chase range. Improved rude-attacked checking when mobs can't move.
- range3 is now used as min-chase value of mobs. - Added a debug message when status_change_timer fails. - Fixed tick direct modifications increasing duration instead of decreasing it. - Fixed inf2 of Jump-Kick to make it a "combo-skill" so that it may do a BCT_ENEMY check. - When sd->state.skill_flag is set, auto-targetting through combo-skills is disabled. - You can't SG_FEEL maps already memorized. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5796 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c29
1 files changed, 22 insertions, 7 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index aa93b5d1b..dbeee7879 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -737,22 +737,32 @@ int skill_get_range2(struct block_list *bl, int id, int lv) {
return status_get_range(bl);
range *=-1;
}
- //TODO: Find a way better than hardcoding the list of skills affected by AC_VULTURE.
- if (id == AC_SHOWER || id == AC_DOUBLE || id == HT_BLITZBEAT || id == AC_CHARGEARROW
- || id == SN_FALCONASSAULT || id == SN_SHARPSHOOTING || id == HT_POWER) {
+ //TODO: Find a way better than hardcoding the list of skills affected by AC_VULTURE
+ switch (id) {
+ case AC_SHOWER:
+ case AC_DOUBLE:
+ case HT_BLITZBEAT:
+ case AC_CHARGEARROW:
+ case SN_FALCONASSAULT:
+ case SN_SHARPSHOOTING:
+ case HT_POWER:
if (bl->type == BL_PC)
range += pc_checkskill((struct map_session_data *)bl, AC_VULTURE);
else
range += 10; //Assume level 10?
- }
-
+ break;
// added to allow GS skills to be effected by the range of Snake Eyes [Reddozen]
- if (id == GS_RAPIDSHOWER || id == GS_TRACKING || id == GS_PIERCINGSHOT || id == GS_FULLBUSTER
- || id == GS_SPREADATTACK || id == GS_GROUNDDRIFT) {
+ case GS_RAPIDSHOWER:
+ case GS_TRACKING:
+ case GS_PIERCINGSHOT:
+ case GS_FULLBUSTER:
+ case GS_SPREADATTACK:
+ case GS_GROUNDDRIFT:
if (bl->type == BL_PC)
range += pc_checkskill((struct map_session_data *)bl, GS_SNAKEEYE);
else
range += 10; //Assume level 10?
+ break;
}
return range;
@@ -5483,6 +5493,11 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
case SG_FEEL:
if (sd) {
if(!sd->feel_map[skilllv-1].index) {
+ for (i = 0; i<3 && sd->feel_map[i].index != sd->mapindex; i++);
+ if (i < 3) { //Avoid memorizing already known maps. [Skotlex]
+ clif_skill_fail(sd, skillid, 0, 0);
+ break;
+ }
clif_skill_nodamage(src,bl,skillid,skilllv,1);
clif_parse_ReqFeel(sd->fd,sd, skilllv);
}