summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-10-06 15:53:40 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-10-06 15:53:40 +0000
commit10e194b9dad274ca749b2470b24e487968935304 (patch)
tree2e88a1a109d9ce45056377288f4d18f315e1843e /src
parentcf10605ca4f989fdffaf12c06006a8f8fa14c383 (diff)
downloadhercules-10e194b9dad274ca749b2470b24e487968935304.tar.gz
hercules-10e194b9dad274ca749b2470b24e487968935304.tar.bz2
hercules-10e194b9dad274ca749b2470b24e487968935304.tar.xz
hercules-10e194b9dad274ca749b2470b24e487968935304.zip
- Disabling status abnormalities will now reset a mob's target.
- Mob morphing also resets their target now. - Monk combos no longer can ignore skill delay (delay skill for all their combo-related skills is ASPD) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8945 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r--src/map/clif.c10
-rw-r--r--src/map/mob.c6
2 files changed, 7 insertions, 9 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index 35ade7ce3..10b15c23d 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -9736,15 +9736,7 @@ void clif_parse_UseSkillToId(int fd, struct map_session_data *sd) {
if (sd->ud.skilltimer != -1) {
if (skillnum != SA_CASTCANCEL)
return;
- } else if (DIFF_TICK(tick, sd->ud.canact_tick) < 0 &&
- // allow monk combos to ignore this delay [celest]
- !(sd->sc.count && sd->sc.data[SC_COMBO].timer!=-1 &&
- (skillnum == MO_EXTREMITYFIST ||
- skillnum == MO_CHAINCOMBO ||
- skillnum == MO_COMBOFINISH ||
- skillnum == CH_PALMSTRIKE ||
- skillnum == CH_TIGERFIST ||
- skillnum == CH_CHAINCRUSH))) {
+ } else if (DIFF_TICK(tick, sd->ud.canact_tick) < 0) {
clif_skill_fail(sd, skillnum, 4, 0);
return;
}
diff --git a/src/map/mob.c b/src/map/mob.c
index da0e28ea5..cc6a59cb1 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -1076,7 +1076,10 @@ static int mob_ai_sub_hard(struct block_list *bl,va_list ap)
// Abnormalities
if((md->sc.opt1 > 0 && md->sc.opt1 != OPT1_STONEWAIT) || md->sc.data[SC_BLADESTOP].timer != -1)
+ { //Should reset targets.
+ md->target_id = md->attacked_id = 0;
return 0;
+ }
if (md->sc.count && md->sc.data[SC_BLIND].timer != -1)
view_range = 3;
@@ -2331,6 +2334,9 @@ int mob_class_change (struct mob_data *md, int class_)
if(md->lootitem == NULL && md->db->status.mode&MD_LOOTER)
md->lootitem=(struct item *)aCalloc(LOOTITEM_SIZE,sizeof(struct item));
+ //Targets should be cleared no morph
+ md->target_id = md->attacked_id = 0;
+
//Need to update name display.
clif_charnameack(0, &md->bl);