浏览代码

- 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://svn.code.sf.net/p/rathena/svn/trunk@8778 54d463be-8e91-2dee-dedb-b68131a5f0ec

skotlex 18 年之前
父节点
当前提交
fd7c6a36a2
共有 5 个文件被更改,包括 13 次插入2 次删除
  1. 3 0
      Changelog-Trunk.txt
  2. 2 0
      conf-tmpl/battle/monster.conf
  3. 4 0
      db/Changelog.txt
  4. 2 0
      db/skill_cast_db.txt
  5. 2 2
      src/map/mob.c

+ 3 - 0
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

+ 2 - 0
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)?

+ 4 - 0
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

+ 2 - 0
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

+ 2 - 2
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;