* 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.
* Fixed#980.
* Job Quest EXP always be shown in yellow color.
* Miracle Tonic (12259) and Leap of Fantasy (12261) give fixed EXP through `pc_setparam` that ignore EXP item bonuses and exp rates. Not as Quest EXP from `getexp` script.
* If given EXP is 0 by `getexp`, it won't be notified in client EXP log.
* If given EXP for base/job that reach max level, client will be notified as 0 EXP gained.
* Follow up 20588abcd83fab53f9e52deafc08bfcddfe1658a
* Some clean up on `pc_gainexp`.
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* 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
This was broken on 20588ab because the function pc_thisbaseexp was misinterpreted.
Now you get the required exp for the level you just mastered -1 again. Fixes#1013
Thanks to @Sweet520 for reporting.
* You can now target walls with ground skills
* Updated path check to not check the last cell
* Unit skills will now place units depending on line of sight to the caster rather than the cast center
* Implemented a new algorithm that retrieves all units in an area that are in line of sight with the area center
* Arrow Shower, Dragon Breath, Cold Slower, Wind Cutter and Arms Cannon now use the new algorithm (Arrow Shower is no longer a unit skill)
* Nodamage skills will no longer fail when the target walked around a corner
* The following damage skills will no longer damage through walls: Raging Thrust, Tornado Kick, Splash Attack, Venom Splasher, Fireball, Meteor Assault, Desperado, Spread Attack, Pulse Strike, Hell's Judgment, Vampire Gift, Magnum Break, Sightrasher, Frost Nova, Explosion, Self Destruction, Firing Trap, Icebound Trap, Cluster Bomb, Claymore, Fire Pillar
Fixed chat message that already have zero termination being misinterpreted as corrupted packets.
This issue was reported on #1000 by @secretdataz and was on clients from 2015-10-01 onwards and was mainly caused by Frost Joke.
Thanks to @secretdataz for additionally providing a fix for it in this pull request too.
* When provoked, monsters will now only switch targets when they would also change targets on damage
* Added a new option to the mob_ai setting to restore the old behavior (monsters always go after the one casting provoke)
* When casting provoke on an angry mode monster before it was attacked, it will now go for the one casting provoke and not switch back to the closest target
* Angry mode will now always be reset when the monster switches to idle
* 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)
* Small follow up to a16fb7c.
* Updated/corrected miscellaneous comments for NPC shops.
* Added enum values for Cash Shop failure client messages.
* Re-ordered some functions be with other related functions.
EXP on Max Level
* Fixed#942
* 'Last' EXP for max base level is 99,999,999 and 999,999,999 for Job EXP on max job level.
* Player still obtains EXP on max level (of course until both base & job reach 100%).
* This behavior is used for Base EXP check for:
* Super Novice's Explosion Spirit.
* Royal Guard's Inspiration.
* High Priest's Redemptio.
* Added config `death_penalty_maxlv`, default is set to 0. Player on max level, never loss EXP by death penalty.
* On EXP lost by death penalty. EXP will be shown as negative value.
* Fixed check for EXP value on packet `0x07f6`. EXP is limited to INT_MIN until INT_MAX by client (so don't expect client to displays value more than this!)
* Added EXP gained/lost message by `@showexp` on death penalty too.
* Fixed PR_REDEMPTIO and LG_INSPIRATION requirement …
* Only charge the Base EXP.
* Lost EXP will be displayed
* Follow up to 994b406.
* Fixes new characters initial spawn locations getting set to maps that aren't defined in the config.
* Fixes issues with reading maps from import not resetting the array of maps read from the char_config.
* Cleaned up the Start Item parser to follow the Start Point parser.
Thanks to @LiamKarlMitchell!
* The renewal default duration for Silence is now 20s (30s in pre-re)
* Items, NPC_SILENCEATTACK and NPC_WIDESILENCE and monster Lex Divina use the default silence duration
* Incubation time for Stone is now subtracted from the Stone duration
* Incubation time is now 100ms for all Stone skills except Stone Curse (5 seconds)
* The Stone timer is now more exact and now deal 1% HP damage exactly every 5 seconds, even if it's on the last tick
* Fixed Sienna Execrate missing its skill animation
* 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
* All skills have a chance of failing at 25%, not just Shield Reflect and Reflect Damage.
* Kaite, Magic Mirror, and Shield Spell - Defense are not nullified by Kyomu.
* Item-based and Magic Mirror reflection damage Boss monsters, Kaite does not.
* The HP/SP bonus will now be applied to the base HP/SP similar to the 25% HP/SP bonus for Trans classes
* HP/SP rate increase items it will now give the full HP/SP percent bonus rather than just a third
* Fixed HP/SP increase items will no longer give triple the amount they should