From 314c3a15af2ca26fc5b14dc969da93e6c896da18 Mon Sep 17 00:00:00 2001 From: skotlex Date: Sat, 16 Sep 2006 23:41:07 +0000 Subject: - 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. - Added NPC_CHANGEUNDEAD to the skill_cast_db, fixes it apparently doing "nothing". git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@8778 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 3 +++ conf-tmpl/battle/monster.conf | 2 ++ db/Changelog.txt | 4 ++++ db/skill_cast_db.txt | 2 ++ 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; -- cgit v1.2.3-70-g09d2