* Fixes#2163, fixes#2720, and fixes#2761.
* Feint Bomb now closer mimics official behavior.
* Monsters now properly target the clone and refrain from attacking the Shadow Chaser.
* Shadow Chasers are now able to cast skills while in Feint Bomb hiding state.
* Removed extra skill cast value that wasn't used.
* Removed extra mob target release function as one already existed.
* Corrected Zanzou and Genwaku target release behavior as well.
Thanks to @ilovelemon, @redlightliu, and @MrAntares!
* Initial release of Horror Toy Factory instance.
Thanks to @aleos89, @secretdataz, @Lemongrass3110
Took some part from 52f6420abc
Credit @exneval
Todo : implement NPC_HELLBURNING skill
* Freeze from monster level 10 Frost Diver will now last 30s in pre-re and 32.5s in re
* Fixed monster level 10 Decrease Agi in renewal lasting way too
* NPC_HELLPOWER is now a "no damage" skill and works similar to NPC_HALLUCINATION
* NPC_HALLUCINATION now has a fixed duration
* Both skills have a max level of 5 (for activation chance)
* Fixed Gospel's activation chance being 1% higher than it should be
* Fixed a compiler warning (see #1816)
* Official Gospel chances, effects and duration (fixes#1812)
-- Chance of Gospel to trigger increased from 10%*skill_lv to 50%+5%*skill_lv
-- Gospel's Heal effect now heals 1000-9999 HP instead of 1-9999 HP
-- Blessing and Increase Agi effects now last for 4 minutes instead of 60 seconds
-- Increase Defense now only lasts 10 seconds instead of 60 seconds
-- Gospel's damage is now twice likely to trigger with one of two different effects
-- Fixed Gospel's damage not showing the Holy Cross effect
-- Gospel's first damage effect deals 3000-7999 damage which is reduced by DEF (percentual in pre-re)
-- Gospel's second damage effect deals 1500-5499 damage which cannot be reduced by DEF
-- Curse, Blind and Poison effect now last 30 minutes instead of 60 seconds
-- Provoke lasts infinite, but is removed when changing maps or logging out
-- Fixed Provoke's icon from disappearing whenever a status changes
-- DEF, ATK, Flee and Speed super debuffs now only last 20 seconds instead of 60 seconds
* Official status change base duration for curse (fixes#1811)
-- Curse base duration is 30 seconds in pre-re and 20 seconds in renewal
-- Napalm Vulcan, Tarot Card of Fate, NPC_HELLJUDGEMENT, NPC_WIDECURSE use this duration
-- NPC_CURSEATTACK has a fixed 30 seconds duration
* Official status change base duration for poison (fixes#1811)
-- Poison base duration is 60 seconds in pre-re and 20 seconds in renewal
-- Duration is no longer halved for monsters in pre-re
-- Envenom, Venom Dust, Venom Splasher, Tarot Card of Fate, NPC_POISON, NPC_ACIDBREATH use this duration
* NPC_STOP now has a duration of 15 seconds instead of 10 seconds
* NPC_HELLPOWER and NPC_WIDEHELLDIGNITY now have a duration of 180 seconds instead of 300 seconds
* Tarot Card of Fate uses base duration for Curse, Poison, Stone, Freeze and Stun
-- For Confusion and Stop the duration remains fixed to 30 seconds
* All NPC status skills now have a 20%*skill_lv chance to trigger instead of 50%+10%*skill_lv
-- NPC_HALLUCINATION and NPC_HELLPOWER now only affect you to 20% instead of 100%/60%
* Damage shown by Hallucination is now completely random instead of being multiplied by 6
* The animation is now shown when trying to resurrect someone affected by Hell Power
Special thanks to @mrjnumber1 and Luke for providing various information on these.
* Fiber Lock's duration now depends on the map and how many fiber locks have been stacked
-- PVM: 1st - 8s, 2nd - 16s (default - 8s)
-- PVP: 1st - 4s, 2nd - 8s, 3rd - 12s (default - 4s)
* Fiber Lock now always doubles fire damage, even in renewal
* When a unit affected by Fiber Lock takes fire damage, the Fiber Lock that lasts shortest is now removed
* A unit can now only move when all Fiber Locks on it were removed or have expired
* When a unit with multiple Fiber Locks on it dies, not all Fiber Locks are removed
* A unit can no longer be affected by more than 3 Fiber Locks at the same time
* Moved the healing effect to status change timer.
* Warmer's effect will now last the entire life of the unit.
* Warmer's effect will now be removed when a player leaves the unit.
* Corrected Cloud Kill unit flag not being applied.
- Lunatic Carrot Beat and Catnip Meteor now deal 300% to 700% damage which is calculated once and split between multiple hits rather than calculating damage per hit; despite this, they can still hit plants
- Reduced cast time of Lunatic Carrot Beat from 3000ms to 1500ms and cooldown from 8000ms to 6000ms according to latest tests on kRO
- Fixed Catnip Meteor still having a fixed cast time
- Increased stun chance of Lunatic Carrot Beat from 10% to 20%
- Increased curse chance of Catnip Meteor from 10% to 20%
- Increased cast time of Grand Cross in pre-re to 3000ms (see #1140)
- Fixed Grand Cross sometimes having 4 intervals instead of 3 (see #1140)
* Official implementation of Meteor Storm behavior
-- It deploys all units directly at castend
-- Each unit has a different expiration time
-- On the last interval of a unit the meteor will appear
-- When the unit expires, it will deal damage
-- If the unit gets removed at any time, no meteor will appear and no damage will be dealt
* It is now easily possible to configure Meteor Storm behavior via database files, no more extra coding required
* Fixed Meteor Storm sometimes dealing damage even though no meteor appeared
* Fixed Meteor Storm being able to hit through walls when the caster has moved in the meantime
* Catnip Meteor will now create 3-7 meteors depending on level
* Catnip Meteor now has an interval of 500ms instead of 1000ms
* Catnip Meteor now has a curse duration of 20s instead of 5s
* The chance of Decrease Agi and Adoramus is now reduced by a fixed 1% per MDEF
* Decrease Agi can now overwrite itself with a lower level
* The base chance to cause blind when Adoramus activates is now 1000%
* Adoramus now has a blind duration of 7s+1s*level and an Adoramus duration of 10s+5s*level for both players and monsters
* Adoramus and Decrease Agi cancel each other out
* Adoramus no longer reduces speed (only AGI reduction and blind)
* Adoramus no longer cancels ASPD/Speed increasing buffs
* Adoramus can no longer be blocked/canceled by ASPD/Speed increasing buffs
* When Adoramus ends, it will no longer automatically end blind at the same time
* Created a better structure for status changes with intervals and integrated the status changes Stone, Poison, Deadly Poison, Bleeding, Magic Mushroom, Burning, Pyrexia, Leech's End and Toxin into the new structure
-- The exact remaining duration of these status changes will now be stored
-- The correct duration is reloaded when logging back in, you can't avoid a single tick be re-logging
-- It will now show the correct duration on the icon of the status change after re-logging, no longer negative values
-- The durations are now accurately transferred when using Deadly Infect
-- These status changes now use unified code, which makes it much easier to integrate more status changes into this structure with low risk of breaking something
* Removed all the status change specific logging of damage and integrated it into the normal logging behavior
-- The following skills deal "No source" damage: Stone, Poison, Deadly Poison, Bleeding, Coma, Magic Mushroom
-- The following skills deal "Self" damage: Burning, Pyrexia, Leech's End, Toxin
-- "No source" will neither be logged nor contribute to the total damage, your exp share doesn't increase from the damage, but it also won't cause the monster to give less EXP, it won't break freeze or similar status changes, it won't make you stand up, it won't make you stop moving, it won't prevent you from logging out
-- "Self" damage will now be logged and contribute to the total damage, it makes monster give the exp tap bonus, but also makes monsters give less exp the more "self damage" they've taken, it will break freeze and similar status changes, it will make you stand up properly now, it will make you flinch and stop moving, it will prevent you from logging out, but angry type monsters will not lose their aggressive bit from it and it will not cause monsters to use their rude-attack skill
-- Monsters will now use their rude-attack skill on the first rude-attack as long as the damage does not come from self
-- When a monster takes damage from a status change, its HP meter will now be updated
* Burning now has an interval of 3s and a minimum duration of 10s
* Pyrexia now causes blind for Pyrexia's duration instead of just 30s
* Ground Drift's poison base duration is now 60s in pre-re (follow-up to e7150ee)
* Fixed a bug where the minimum duration failed to apply when the received duration was below 1ms
* map_foreachindir and map_foreachinshootarea will now properly print their function names in case of an error
* Updated documentation (transferring source ID is no longer required, remaining tick should now always be in val4)
If this breaks anything, please report asap.
* NPC_LICK now has a base chance of 20%*level and a base duration of 5s
* Excruciating Palm now has a base duration 5s
* Shield Press now has a base duration of 5s+0.5s*level
* Earth Shaker now has a base duration of 2s (level 2-3) and 3s (level 4-5)
* Blind follow-up: Sightless Mind now has a base duration of 30s in pre-re and 20s in renewal
* Fixed knock back being 6 tiles instead of 3
* Stun duration is now 5 seconds
* Blind / Silence durations are now 30 seconds (pre-re) or 20 seconds (re)
* The damage is now delayed by aMotion; as the status effect kicks in immediately, damage will break Freeze
* The base chance for a status change is now 50% instead of 5%
* It is now a weapon skill, damage% increase/reductions are now considered, in renewal the skill can completely miss
* Damage in pre-renewal is 100% + fixed damage of 50*level
* Damage in renewal is 200%+20%*level
* Fixed sphere attack not being considered in the damage formula
* The ground effect disappears immediately after activation now
* Fixed status base chances of Jack Frost and Status Traps (fixes#997)
-- Jack Frost: 200% freeze chance instead of 100%
-- Land Mine: 10% stun chance instead of 35%-55%
-- Flasher: 100% blind chance instead of 40%-80%
-- Freezing Trap: 100% freeze chance of instead 38%-50%
* Sandman Sleep and Throw Stone Blind base duration is now 30s in pre-re and 20s in renewal
* Leap now has a shorter distance when used diagonally (fixes#1007)
* Cannon Spear now shows the skill animation even if it doesn't hit anything (fixes#1004)
* Snowflake Draft now has a skill-specific duration of 5s*level
* All freeze durations (default and skill-specific) are increased by 2.5s in renewal
* The renewal default duration is now 27.5s (+2.5s)
* Items, Storm Gust, Frost Joke, NPC_ICEBREATH and NPC_WIDEFREEZE use the default freeze duration
* All items and skills that cause blind now have a base duration of 30s in pre-re and 20s in renewal
* Fixed NPC_DARKCROSS and NPC_GRANDDARKNESS not giving the blind status change
* The freeze duration of Frost Joke is now 12s in pre-renewal
Note: Each status change has a default duration on official servers and most skills use it. The standard duration for Freeze in pre-renewal is 12s, but it was increased to 30s in renewal. Both Storm Gust and Frost Joke could be proven to use the standard duration, whereas Frost Diver and Snowflake Draft have a custom duration per level set.
* Thunder Storm, Exploding Dragon, Lightning Jolt and Snowflake Draft can now damage more than just once every 500ms
* Fixed a problem with negative aftercast delay
* Exploding Dragon, Lightning Jolt and Snowflake Draft are now unit skills
-- They no longer can deal damage on Land Protector
-- They will deal damage instantly, regardless of your ASPD
* Exploding Dragon now deals 150%+150%*level damage divided by number of hits, it can no longer damage plants
* Snowflake Draft's freeze base duration is now 2500ms+5000ms*level
* Renewal: Lightning Jolt's AoE is now 3x3 on level 1-2, 5x5 on level 3-4 and 7x7 on level 5
* Pre-Renewal: Cast time of Wind Blade level 8-10 is now 500ms shorter
* Watery Evasion now makes non-Ninja enemies stop when they walk on it and are not knock-back immune
* The following monster level 10 skills now have their official effect
-- Two-Hand Quicken: Increases ASPD by 70%. Duration 300s.
-- Lord of Vermilion: Deploys units in a 15x15 area that splash 1 cell into LP each. 520% damage per wave.
-- Thunderstorm: 20 Hits, 7x7 AoE. Splashes 3 cells into LP.
-- Decrease Agility: Reduces Agi by 50. Duration 130s.
-- Hammer Fall: 25x25 AoE. 100% base stun chance.
* Added a document that will contain all information on these special level 10 monsters skills
* Implemented official damage formula for renewal Lord of Vermilion; it only applies to LoV cast by players
* Scream and Frost Joke (fixes#945)
-- The delay until the status change kicks in was increased from 2s to 3s
-- Aftercast delay in pre-renewal was increased from 3s to 4s (already 4s in renewal)
-- Duration of Freeze from Frost Joke increased from 10-14s to 30s
* Hammer Fall, Lex Divina and offensive Status Recovery (fixes#945)
-- A delay of 1 second until the status change kicks in was added
-- Hammer Fall will hit the targets that are in the AoE before the delay (so you can't dodge)
-- Offensive Status Recovery's base duration reduced from 30s to 20s and base chance increased to 100%
-- Increased the maximum number of skill timers from 15 to 40 as they are needed for delayed status changes
* Stone and Freeze now remove Lex Aeterna (fixes#947)
-- For stone this refers to the second phase
* Scream, Frost Joke and Hammer Fall no longer make a target stop (fixes#948)
-- Similar behavior to e.g. Ankle Snare against bosses or in WoE
-- If the target was singing/dancing, it will still stop and the song/dance will be canceled
-- Fixed a bug that caused position lag when targets that are still moving but can't move anymore are hit
* Fixes#830 and fixes#918.
* All players within the skills range (depending on level) are effected by Stasis.
-- Resolves issue with players behind walls not being effected.
* Duration is now 10 + (10 * skill_lv) seconds with a minimum of 10 seconds after being reduced by VIT + DEX.
* Status Recovery now removes Stasis and White Imprison.
* All players effected by Stasis are unable to cast any skill except Status Recovery, Dispell, Clearance, and Banishing Buster.
* Pneuma / Arrow Shower / Ranges (fixes#915)
-- Pneuma now also protects against knockback from ranged skills
-- Arrow Shower cast by monsters is now always a melee skill and cannot be blocked by Pneuma, but can always be blocked by Safety Wall
-- When monsters cast a skill that has no specific rule, it will be considered melee when the target is within a 7x7 area around the monster, rather than a 11x11 area
* Charge Attack (fixes#417)
-- Damage: 0-3 cells 100%, 4-6 cells 200%, 7-9 cells 300%, 10-12 cells 400%, 13 cells 500%
-- Cast time pre-Renewal: 0-3 cells 500ms, 4-6 cells 1000ms, 7+ cells 1500ms
-- Cast time renewal: 500ms (250ms fixed)
-- The caster will now move to the cell next to the target rather than right on it
-- When the attack misses, there won't be knockback (but the caster will still move)
* Waterball/Jupitel (follow up to 6ebcb67, fixes#907)
-- Waterball/Jupitel now can hit through shootable walls
-- Waterball cells now can overlap
* NPC_EVILLAND now has 3+level intervals, a target range of 7 and ignores flee,
* NPC_EVILLAND's area of effect per unit is now 11x11 on level 1-9 and 27x27 on level 10
* NPC_EVILLAND now ignores Devotion
* Sanctuary now has exactly 1+3*level heal intervals, regardless of number of players healed
* Sanctuary will end early when 3+level targets have been hit, targets currently on Sanctuary might still be hit when it expires
- Implemented Waterball and Jupitel Thunder double cast (fixes#907)
* Waterball and Jupitel now won't apply a delay after they have been cast and won't notify the client about the spell until 150ms later, if another skill request is received, it will actually be cast as well
* To prevent exploits this behavior can only be used every 2 seconds
* This allows you to cast a spell after Jupitel that would not have enough range to be cast after knockback
- Finally implemented the official waterball unit behavior
* When casting Waterball, water, deluge and suiton units will be turned into waterball units
* These waterball units are then turned into waterballs one-by-one
* All unit behavior now also applies to waterball, special handling is now solved via db files
* If there are multiple waterball timers active at the same time, they will actually compete for the waterball units
* When waterball does not deal damage (100% resist), it will now cancel, allowing you to act and move again
* If this breaks anything, please notify me
- Mystical Amplification improved (fixes#908)
* Mystical Amplification will now toggle at cast begin rather than cast end
* When Mystical Amplification ends, spell damage will be immediately lower even for ongoing spells
* Fixes#447 - Added script command 'unitblockmove' to be used with OnTouch and Unit Commands.
* Fixes#448 - Leech End will no longer get a player stuck in stand/sit modes.
* Fixes#503 - Added script command 'ignoretimeout' which disables the SECURE_NPCTIMEOUT of a specific script.
* Fixes#521 - Pre-renewal Shield Chain should always be Neutral damage.
* Fixes#532 - Fixed an issue with the 'item_check' config not saving the unique ID when enabled.
* Fixes#537 - Arms Cannon is now a single unit target skill.
* Fixes#541 - Cleaned up Ignition Break damage formula.
* Fixes#543 and Fixes#552 - Cleaned up Reverberation to match official. Now splits damage among targets.
* Fixes#546 - Updated Randomize Spell to the latest official skill list and rates.
* Fixes#547 - Escape is now a self skill and can use normal Traps if no Alloy Traps are available.
* Fixes#551 - Great Echo and Sound of Destruction can now blocked by Pneuma.
* Fixes#556 - Adjusted Arrullo, Deep Sleep Lullaby, Netherworld, and Voice of Siren duration formulas to properly account base/job levels.
* Fixes#561 - Pre-renewal Tiger Cannon now properly removes HP when casting skill.
* Fixes#576 - Shield Spell, Exceed Break, Overbrand, Moon Slasher, Piety, Earth Drive, and Hesperuslit no longer have fixed cast time.
* Cleaned up Shadow Formation SP Drain formula to be 11-skill_lv per second.
* Sound of Destruction is now a placement skill type.
* Updated variable cast time for Windmill Rush from 2 seconds to 1 second.
* Translated the Kagerou/Oboro skill names in the skill_db.
* Added Critical Food type for newer items.
* Water Barrier should only reduce Weapon ATK and Flee.
* Illusion - Bewitch should not be able to move MVPs.
* Spider Web will no longer be deleted when the target escapes from it. (bugreport:1358)
* Adjusted Absorb Spirits to work in duels. (bugreport:4085)
* Clementia, Canto Candidus, and Praefatio will now cast on the party even if someone is wearing a Holy-type armor. (bugreport:6835)
* Masquerade - Gloomy will now remove a Homunculus who have less than 80% HP. (bugreport:8886)
* Players under the effect of Illusion - Shock will now be able to move and attack. (bugreport:8903)
* Deadly Infection should only pass Guillotine Cross poisons through the Shadow Chaser's attacks only. (bugreport:8968)
* Unlimit now gives the proper statuses when reducing DEF and MDEF. (bugreport:9181)
* Water Screen will now heal 1,000 HP every 10 seconds. (bugreport:9184)
* Tinder Breaker will now properly lock targets. (bugreport:9202)
* Corrected Weapon Blocking SP drain timer from every 3 seconds to 5 seconds. Moved Combo timer to skill_cast_db. (bugreport:9203)
* Players under the influence of Kaite will receive a flat 400% more damage from melee attacks (renewal only). (bugreport:9231)
* Release will now check the preserved skill's SP requirement before releasing. (bugreport:9333)
* Fixes#417 - Charge Attack has a range of 14 cells and can do up to 500% damage.
* Fixes#419 - Magnum Break should not hit hidden targets.
* Fixes#421 - Tension Relax should only increase healing at 1x rate when overweight and 3x when not overweight. Also corrected icon getting removed after a few seconds while sitting.
* Fixes#427 - Auto Guard will force a player to stand when being targeted to avoid client desync.
* Fixes#436 - Corrected Super Novice Spirit not allowing any headgear to be equipped.
* Fixes#438 - Soul Linker's Rebirth Spirit should have a fixed cast of 1 second.
* Fixed#119 - Corrected Flash Combo weapon ATK and to cancel skill cast when target is more than 2 cells away.
* Fixed#148 - Corrected Kings Grace to only cast on guild members in versus type maps and added missing effects. Updated cooldown from 60 to 90 seconds.
* Fixed#341 - Offertorium and Magnificat now cancel each other out (Mimics Kyrie Eleison and Assumptio).
* Follow up to 5a0f8dc. Added missing monster transformation bonuses.
* Updated the Status Icon list with newer icons.
* Fixed#167 - Dragon Breath burning chance is now 15% for all levels. Also corrected damage calculation. Thanks to @exneval.
* Fixed#270 - Cleaned up Reverberation and how it's triggered.
* Fixed#321 - Follow up to 1b6be4e. Fixed MATK calculation for for all player, monster, homunculus, mercenary, etc.
* Fixed#332 - Camouflage now hides player from targeting skills. Added missing DEF/DEF2 bonus.
* Fixed#335 - Check to make sure script has data before trying to free null values.
* Fixed Full Throttle SP drain amount and movement speed increase value. Updated cooldown value to 30 minutes.
* Fixed Bloody Lust skill type from magic to none.
* Fixed Mix Cooking, Make Bomb, Special Pharmacy, Change Material, and Rune Mastery success and fail animations.
* Cleaned up some more compile warnings.
- Removed Kaahi timer system (fixes#320)
* Kaahi will now heal BEFORE the damage is dealt
* Heals will no longer get lost due to timer system
* Decreased Kaahi duration 1800->350 seconds
- Implemented recent Arrow Shower Renewal updates (fixes#310)
* Arrow Shower now has 3x3 AoE on level 1~5 and 5x5 AoE on level 6~10
* Arrow Shower now has a fixed after cast delay of 500ms
* Note: The bug that causes the skill to hit twice is still present (couldn't fix it)
* Fixed Severe Rainstorm not being able to be copied by Reproduce. (bugreport:9361)
* Fixed#137 - Updated Homunculus S Race and Element values to official.
* Fixed#163 - Proper renewal calculations for Homunculus. Merge from HerculesWS/Hercules@8faef4f
* Fixed#254 - Corrected King's Grace cooldown to be 60 seconds.
* +20 Foods cannot be dispelled or removed by death.
- Fixed up the damage code in regards of damage against plants (bugreport:9380)
* Rewrote DAMAGE_DIV_FIX so that it rounds damage down when number of hits is negative (damage split on hits)
* Created a function battle_apply_div_fix that does not only call DAMAGE_DIV_FIX but also makes sure that damage can only become 0 when the custom config setting skill_min_damage is not set for the current skill type
* skill_min_damage is now 0 by default (official: all types can fail against plants as long as skills have negative number of hits), if set, all skills will deal as much damage as hits
* Restructured and renamed function now known as "is_infinite_defense" that will work for all 3 damage types and returns if damage is infinite for the current situation, it will now also properly consider all "MD_IGNORE" modes
* Fixed the order of processing of all 3 skill types in regards of plant damage: first all calculations are done, then plant damage is applied and then DAMAGE_DIV_FIX is applied
* Sonic Blow and Rapid Shower are now skills with negative number of hits (i.e. they can't hit plants officially)
* Traps can no longer ignore plant mode (only way to damage plant more is via status changes)
* Final Strike is now able to hit plants (deals 1 HP damage)
* When left-hand-wielding, you will now always deal 2 damage to plants per attack, regardless of whether double attack triggers or you don't even have a weapon in the right hand
* There will no longer be backhand damage to plants (Katar)
- Land Mine is now a single target skill, the trap still triggers in a 3x3 area, but will only hit the first target that touches it (issue:99)
- Changed the "Don't return reflect damage" flag from 0x1000 to 0x1000000 as apparently the other flag was already used; updated function description so it's easier to see
- Improved SC_SIGHTBLASTER structure slightly
- Typo fixes and description improvements
- Created a new function unit_blown_immune that will now serve as the central function to determine if an object can be knocked back or stopped (bugreport:7637)
* Moved the check code from skill_blown to unit_blown_immune
* Several stopping effects and traps will now use unit_blown_immune to check if the object can be stopped, if not, the object will always move to its target cell before stopping
* Bosses and monsters immune to knockback will now no longer be stopped by such traps
* Expanded the configuration skill_trap_type and moved its checks into unit_blown_immune, so it's possible to switch the "no stop" behavior off for GVG/BG and monsters individually
* Long-term we should make all skills use this function to check for knockback immunity, it will make the checks a lot cleaner and more centralized
- 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
- Implemented Skid Trap properly (bugreport:9373)
* The direction of the knockback will now be "away from position of the caster during cast" rather than "away from trap"
* Skid Trap will now stop the target for 3 seconds; this works even in GVG/BG and on bosses, even though the actual knockback doesn't happen
- Cleaned up skill_combo so it's easier to understand and update
- Monk updates (bugreport:9364, bugreport:4534)
* Default combo delay is now (1000 - 4*AGI - 2*DEX) milliseconds, it will be used when none is specified in the skill_cast_db.txt
* Fixed DEX increasing combo delay rather than decreasing it
* Fixed "Triple Attack" not giving any "can act" delay so you were able to use a skill right when it triggered
* Fixed combo delays of all combo skills (turns out they all use the default in both pre-re and re!)
* Fixed "Palm Strike" in renewal having cast time rather than cast delay
* Monk Spirit now reduces the SP cost of all Monk/Champion combo skills to 2 SP
- Taekwon updates (bugreport:9364)
* Stances will no longer give you walk delay when they trigger
* You can still use the Kick after moving as long as it's still within the combo delay
- Hunter updates (bugreport:9082)
* Beast Strafing is now a target skill, you can target any brute or insect monster with it regardless of your previous target
* You no longer need to target a brute or insect monster with Double Strafe for the combo to trigger
* If the combo triggers you no longer get walk and attack delay (that means you can still use DS continuously)
* You can still use Beast Strafe after moving as long as it's still within the combo delay
- Fixed cast time of Sightrasher in pre-renewal (700ms -> 500ms)
- Official Sight Blaster behavior (bugreport:6945, partially bugreport:144)
* Sight Blaster's AoE is now 3x3 even in pre-renewal (it was originally larger so it hits traps before they trigger)
* Sight Blaster will now prevent traps from triggering as long as they are knocked back
* Fixed a bug that caused Sight Blaster to not work on traps and ice walls at all
* Sight Blaster will no longer expire when the attack was reflected
* Sight Blaster will now expire when hitting an ice wall
* Sight Blaster will now properly protect you from being attacked from its AoE range
- Sight, Ruwach and Sight Blaster will now check for a target every 20ms (previously every 250ms)
- Step action will now be canceled when being knocked back (skills won't be executed anymore when knocked out of range)
- When knock back magic is reflected it will no longer lead to the caster being knocked back (related to bugreport:6945)
- Activated traps can no longer be hit
- Fixed a problem that left "trap ghosts" forever on the screen when a trap was knocked out of the screen
- Fixed three more potential map server crashes
- Monster behavior fixes
* Monsters will no longer be able to do normal attacks when hiding
* If out of any reason a monster on "attack" state can't move and can't do normal attacks, it will now use "attack" state skills
* The order of monster thought processing is now equal to official servers
-- Added itemstack check when init autotrader (bugreport:9077)
-- 'getitem' issue, gave unidentified item (bugreport:9075), follow up 62a2813
-- Invalid Def & Mdef reduction of SC_ARMORCHANGE & duration (NPC_STONESKIN & NPC_ANTIMAGIC), should be percentage (bugreport:9076)
-- Invalid Effect duration & Reflect chance of SC_MAGICMIRROR (NPC_MAGICMIRROR)
-- Wrong usage of script_isstring() for script commands: addspiritball, delspiritball, & countspiritball
* Misc:
-- Moved mail send progress to mail.c mail_send() from clif.c clif_parse_Mail_send()
-- Moved hardcoded flood protection when send a mail to 'mail_delay' in misc.conf
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>