diff options
-rw-r--r-- | Changelog-Trunk.txt | 4 | ||||
-rw-r--r-- | src/map/mob.c | 1 | ||||
-rw-r--r-- | src/map/mob.h | 2 | ||||
-rw-r--r-- | src/map/skill.c | 10 |
4 files changed, 8 insertions, 9 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 221f05537..ff30ec946 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. 2007/04/25 + * Modified the mob ai think time update after using skills from + adelay/amotion to 100ms since the previous method adds a large delay before + the AI activates again (which screws up with the timing of idle/walk + skills) * NPC_MAGICALATTACK now starts a state similar to Sacrificial Ritual, in the sense that every normal attack afterwards becomes a Magical Attack. The skill duration is 15 secs. [Skotlex] diff --git a/src/map/mob.c b/src/map/mob.c index 9ed6f99f3..f2c400581 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -35,7 +35,6 @@ #include "date.h" #include "irc.h" -#define MIN_MOBTHINKTIME 100 #define IDLE_SKILL_INTERVAL 10 //Active idle skills should be triggered every 1 second (1000/MIN_MOBTHINKTIME) #define MOB_LAZYSKILLPERC 10 // Probability for mobs far from players from doing their IDLE skill. (rate of 1000 minute) diff --git a/src/map/mob.h b/src/map/mob.h index 61f0d6345..6acc282fc 100644 --- a/src/map/mob.h +++ b/src/map/mob.h @@ -19,6 +19,8 @@ #define MAX_MOB_DROP 10 #define MAX_STEAL_DROP 7 +//Min time between AI executions +#define MIN_MOBTHINKTIME 100 //Min time before mobs do a check to call nearby friends for help (or for slaves to support their master) #define MIN_MOBLINKTIME 1000 diff --git a/src/map/skill.c b/src/map/skill.c index bb895c68d..b3a5d432b 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -5739,10 +5739,7 @@ int skill_castend_id (int tid, unsigned int tick, int id, int data) break; if(md) { - if(tid != -1) //Set afterskill delay. - md->last_thinktime=tick +md->status.amotion; - else - md->last_thinktime=tick +md->status.adelay; + md->last_thinktime=tick +MIN_MOBTHINKTIME; if(md->skillidx >= 0 && md->db->skill[md->skillidx].emotion >= 0) clif_emotion(src, md->db->skill[md->skillidx].emotion); } @@ -5927,10 +5924,7 @@ int skill_castend_pos (int tid, unsigned int tick, int id, int data) break; if(md) { - if (tid != -1) - md->last_thinktime=tick +md->status.amotion; - else - md->last_thinktime=tick +md->status.adelay; + md->last_thinktime=tick +MIN_MOBTHINKTIME; if(md->skillidx >= 0 && md->db->skill[md->skillidx].emotion >= 0) clif_emotion(src, md->db->skill[md->skillidx].emotion); } |