diff options
-rw-r--r-- | Changelog-Trunk.txt | 4 | ||||
-rw-r--r-- | src/map/clif.c | 10 | ||||
-rw-r--r-- | src/map/mob.c | 6 |
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); |