diff options
-rw-r--r-- | Changelog-Trunk.txt | 3 | ||||
-rw-r--r-- | conf-tmpl/battle/monster.conf | 2 | ||||
-rw-r--r-- | db/Changelog.txt | 4 | ||||
-rw-r--r-- | db/skill_cast_db.txt | 2 | ||||
-rw-r--r-- | src/map/mob.c | 4 |
5 files changed, 13 insertions, 2 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 470b1ff12..fa2e89c31 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,9 @@ 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/09/16 + * Added monster_ai&256. When set, a monster will pick a random starting + position to begin checking versus it's skills, otherwise, it will always + begin checking from the beginning. [Skotlex] * Fixed the status change duration reduction equation was was totally wrong, thanks to k3dt [Skotlex] 2006/09/15 diff --git a/conf-tmpl/battle/monster.conf b/conf-tmpl/battle/monster.conf index 097054991..4ed4c14e6 100644 --- a/conf-tmpl/battle/monster.conf +++ b/conf-tmpl/battle/monster.conf @@ -57,6 +57,8 @@ monster_max_aspd: 199 // players and will go after the closest target instead of always picking
// the homunculus
//
+//256: When set, a mob will pick a random skill from it's list and start from that instead of checking skills
+// in orders (when unset, if a mob has too many skills, the ones near the end will rarely get selected)
monster_ai: 0
// Should mobs be able to be warped (add as needed)?
diff --git a/db/Changelog.txt b/db/Changelog.txt index b16a587a8..20c92b29f 100644 --- a/db/Changelog.txt +++ b/db/Changelog.txt @@ -19,6 +19,10 @@ -----
=========================
+
+09/16
+ * Added NPC_CHANGEUNDEAD to the skill_cast_db, fixes it apparently doing
+ "nothing". [Skotlex]
09/15
* Added the remaining drop changes which I missed before [Playtester]
09/14
diff --git a/db/skill_cast_db.txt b/db/skill_cast_db.txt index 2e0ed04c7..fadc6e3ba 100644 --- a/db/skill_cast_db.txt +++ b/db/skill_cast_db.txt @@ -536,6 +536,8 @@ 339,2000,1500,900,900,10000:11000:12000:13000:14000:15000:16000:17000:18000:19000
//-- NPC_STOP
342,0,0,0,10000,0
+//-- NPC_CHANGEUNDEAD
+348,0,0,0,1800000,0
//-- NPC_POWERUP
349,0,0,0,60000:120000:180000:240000:300000,0
//-- NPC_AGIUP
diff --git a/src/map/mob.c b/src/map/mob.c index 930f01a9d..8ee1970b7 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -2619,8 +2619,8 @@ int mobskill_use(struct mob_data *md, unsigned int tick, int event) if (event < 0 && DIFF_TICK(md->ud.canact_tick, tick) > 0) return 0; //Skill act delay only affects non-event skills. - //Pick a random starting position and loop from that. - i = rand()%md->db->maxskill; + //Pick a starting position and loop from that. + i = battle_config.mob_ai&256?rand()%md->db->maxskill:0; for (n = 0; n < md->db->maxskill; i++, n++) { int c2, flag = 0; |