Correctly fix bug:8225 gentle touch revitalize now reduce damage correctly
HPM Hooks Update

Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
Some Quality of Life Changes

checkquest deprecated; Use questprogress instead for a more logical
quest log checking command.
getbrokencount command added to get amount of broken equipment.
setdragon and setmadogear deprecated; use setriding instead.
setriding now handles all combat mounts.
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)
HPM Hooks Update

Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
Revert "Some Quality of Life Changes"

- This reverts commit 4ac673941714032ada6d26fb60936ec510bbe496.
- The commit breaks some legacy code. It'll be pushed again once some
  things are fixed.

Signed-off-by: Haru <haru@dotalux.com>
Renamed DeprecationWarning to DeprecationCaseWarning, since that's what it is about.

Signed-off-by: Haru <haru@dotalux.com>
As per request by Ind
 Small Icewall implementation improvement

- Now monsters will walk into an icewall from the south and west if they already started moving to that cell
  * This will make it slightly easier to trap a monster in an icewall (this is official as can be seen in the videos I linked in the main commit)
  * This only applies if the icewall_walk_block configuration setting was not set to 0 (disabled)

Special thanks to Playtester (rathena 753f4c5b314910)
Merge branch 'master' into xa4.0.0

* master:
  Small Icewall implementation improvement
  As per request by Ind
  Renamed DeprecationWarning to DeprecationCaseWarning, since that's what it is about.
  Revert "Some Quality of Life Changes"
  HPM Hooks Update
  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
  Some Quality of Life Changes
  HPM Hooks Update
  Correctly fix bug:8225 gentle touch revitalize now reduce damage correctly