summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt4
-rw-r--r--src/map/clif.c10
-rw-r--r--src/map/mob.c6
3 files changed, 11 insertions, 9 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index 4593d8195..c88a491b0 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -4,6 +4,10 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
2006/10/06
+ * Disabling status abnormalities will now reset a mob's target. [Skotlex]
+ * Mob morphing also resets their target now. [Skotlex]
+ * Monk combos no longer can ignore skill delay (delay skill for all their
+ combo-related skills is ASPD) [Skotlex]
* Now you can trade while in a chatroom. [Skotlex]
* Fixed homun-txt reading when the file has DOS line-type delimiters (\r\n)
[Skotlex]
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);