From 5d24944d2b8d0a06f85bd440614f3c12bf37143f Mon Sep 17 00:00:00 2001 From: Michieru Date: Fri, 31 Oct 2014 16:40:09 +0100 Subject: - Monster chase range updates (bugreport:7637) * Updated monster_chase_range in monster.conf from 1 to 3; I originally thought official value is 1, but doing some in-depth tests myself I realized it's 3 for the most important situations * When a monster cannot issue new "move" commands because it was affected by a status change, but is still moving due to knockback immunity, it will no longer unlock its target and stop * Fixed a bug that always caused the chase path monsters calculated to be 1 cell too short causing them to recalculate their path one cell before their goal every single time - Fixed the direction calculation once again and optimized it at the same time (bugreport:9373) * Now the calculated direction is 100% official, really truly, checked it myself with every single cell and various skills * Added a new function map_calc_dir_xy that allows to check for a direction between two cells without the need of a block_list * map_calc_dir will now just use map_calc_dir_xy to avoid duplicate code * Improved Icewall walk block implementation - Moved the configuration setting "icewall_walk_block" to monster.conf - Split the configuration into mob_icewall_walk_block and boss_icewall_walk_block so it can be configured for bosses separately - Expanded the configuration * If the value is set to 1, monsters on an ice wall cell will behave like trapped monsters, that means they won't be able to move at all, they will use idle skills and if they are attacked while nobody is in their attack range, they will use their rudeattacked skills; this is equal to official behavior of bosses * If the value is set to 2-255, it will behave as before but monsters in the AI loop now use both idle and chase skills, but will no longer use their rudeattacked skills even if attacked from range; this is equal to official behavior of normal monsters * Official values would be "220" for normal monsters (loop until Icewall expiration) and "1" for bosses (behave like trapped monster) on most official servers, but as some official servers have a less exploitable implementation (from looping AI only a limited amount of times up to outright blocking Icewall on all maps with bosses) - Cleaned up the rudeattacked code a little so it's easier to read - Fire Pillar is no longer a trap and can no longer be hit or knocked back in renewal Thanks to Playtester (rathena b43b855d2, 902c920b734cd) --- conf/battle/monster.conf | 22 +++++++++++++++++++--- conf/battle/skill.conf | 11 +---------- 2 files changed, 20 insertions(+), 13 deletions(-) (limited to 'conf') diff --git a/conf/battle/monster.conf b/conf/battle/monster.conf index 9ca8df825..6f63f55be 100644 --- a/conf/battle/monster.conf +++ b/conf/battle/monster.conf @@ -52,14 +52,14 @@ monster_ai: 0 // How often should a monster rethink its chase? // 0: Every 100ms (MIN_MOBTHINKTIME) -// 1: Every cell moved (official) +// 1: Every cell moved // 2: Every 2 cells moved -// 3: Every 3 cells moved (previous setting) +// 3: Every 3 cells moved (official) // x: Every x cells moved // Regardless of this setting, a monster will always rethink its chase if it has // reached its target. Increase this value if you want to make monsters continue // moving after they lost their target (hide, loot picked, etc.). -monster_chase_refresh: 1 +monster_chase_refresh: 3 // Should mobs be able to be warped (add as needed)? // 0: Disable. @@ -216,3 +216,19 @@ mvp_tomb_enabled: yes // This is only invoked under the 'monster' command, @monsterbig, and @monstersmall. (Note 1) // Default: no mob_size_influence: no + +// How should a monster be trapped by an icewall casted directly on it? +// On official servers, monsters can only leave an icewall to the west and south. If their target is north or east of +// them they will continously try to chase it but fail doing so. This brings them into a loop during which they will use +// idle and chase skills. Boss monsters on the other hand will behave like a trapped monster, do not move and will use +// idle and rudeattacked skills (when attacked). +// 0: Monster won't be stuck in icewall at all. +// 1: Monster will behave like a trapped monster. +// 2-255: Number of loops a monster will go through the behavior described above before it frees itself from icewall. +// NOTE: On some servers, normal monsters can free themselves after 15-35 second depending on their speed. On other +// servers, they will be stuck inside icewall until it expires. Also, many official servers (e.g. iRO) have casting +// icewall completely blocked on all maps that have boss monsters on them. +// Default (least exploitable): mob - 75, boss - 0 +// Default (most official): mob - 220, boss - 1 +mob_icewall_walk_block: 220 +boss_icewall_walk_block: 1 \ No newline at end of file diff --git a/conf/battle/skill.conf b/conf/battle/skill.conf index 1bb58211a..e6828749b 100644 --- a/conf/battle/skill.conf +++ b/conf/battle/skill.conf @@ -293,13 +293,4 @@ mob_max_skilllvl: 100 // 1: Gutter line system without demi gutter bug // 2-20: Area around caster (2 = 5x5, 3 = 7x7, 4 = 9x9, ..., 20 = 41x41) // Note: If you knock the target out of the area it will only be hit once and won't do splash damage -bowling_bash_area: 0 - -// How many attempts should a monster need until it can escape from an icewall casted directly on it? -// On official servers, monsters can only leave an icewall to the west and south. If their target is north or east of them -// they will continously try to chase it but fail doing so. This brings them into a loop during which they will cast idle -// and rudeattacked skills (if attacked). Official servers have a safety system that eventually allows monsters to escape -// when their walk routine failed many times in row so they won't stay on the loop endlessly. The time for this seems to be -// around 15 seconds for fast monsters and 35 seconds for slow monsters, this equals about 75 attempts. -// Set this to 0 if you don't want monsters to be stuck in icewalls at all. -icewall_walk_block: 75 \ No newline at end of file +bowling_bash_area: 0 \ No newline at end of file -- cgit v1.2.3-70-g09d2