From 6a6e3bb8e69890ee69981467f1e5e3591c0f9356 Mon Sep 17 00:00:00 2001 From: Michieru Date: Sat, 18 Oct 2014 17:52:17 +0200 Subject: Fix bug:7454 * Official Icewall implementation and other fixes - Reverted all the icewall-related changes done in SVN r15777 and following as testing shows they aren't official and are actually pretty exploitable (bugreport:7412) - Instead implemented the official icewall characteristic that monsters can only leave an icewall cell to the west or south, the changes include: * The "sight" path check no longer checks for the current cell so standing on an icewall allows you to see/attack into any direction * The path finding will still ignore the current cell as before but the walk routine will not allow to walk east or north while standing on an icewall cell * This leads monsters in the situation where they go through an AI loop not allowing them to escape the icewall (if their target is north or east of them) * Monster in this situation will use idle skills and if they get attacked will use their rudeattacked skills if available, similar to traps like Spiderweb * Added a configuration icewall_walk_block that allows to configure how long a monster should go through the AI loop before the server allows it any movement, this "safety" system is official and seems to equal about 75 AI loops; if you want to disable the whole icewall system so that monsters don't get stuck in icewall at all, just set this to 0 * Here are videos from jRO showing how this system works: http://ragdo.blog56.fc2.com/blog-entry-763.html - Implemented the official calculation for "direction"; now you will be considered horizontal/vertical/diagonally aligned with a target cell in the exact same way as on official servers, this is for example used to determine whether an icewall or a firewall should be horizontal, vertical or diagonal; the only thing that is still unofficial is the default direction (officially always "west"); effectively now there are more situations considered diagonal than before - Further cleanups on the idle skill use code for immobile monsters and monsters near a player but without a target (now skill using will always go via mob_unlocktarget) * This also fixes that monsters switched to idle mode and start to use idle skills one second too late Mega thanks to Playtester (rathena 5540d89cb0e) --- conf/battle/skill.conf | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'conf/battle/skill.conf') diff --git a/conf/battle/skill.conf b/conf/battle/skill.conf index 10cca4af7..1bb58211a 100644 --- a/conf/battle/skill.conf +++ b/conf/battle/skill.conf @@ -69,9 +69,9 @@ skill_out_range_consume: no skillrange_by_distance: 14 // Should the equipped weapon's range override the skill's range defined in the skill_db for most weapon-based skills? (Note 3) -// NOTE: Skills affected by this option are those whose range in the skill_db are negative. Note that unless monster_ai&0x400 is -// set, the range of all skills is 9 for monsters. -skillrange_from_weapon: 30 +// NOTE: Skills affected by this option are those whose range in the skill_db are negative. By default always the skill range is used. +// Note that if you want all monster skills to have a range of 9 you need to set monster_ai&0x400. +skillrange_from_weapon: 0 // Should a check on the caster's status be performed in all skill attacks? // When set to yes, meteors, storm gust and any other ground skills will have @@ -293,4 +293,13 @@ 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 \ No newline at end of file +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 -- cgit v1.2.3-60-g2f50