The EQI constants of the constants database did not match the ones used in the source up to now.
For whatever reason long long ago an array was created which mapped the const_db EQI constants to the source's EQP constant(aegis bitmasks).
With this commit we now use the already existing array from pc.h(which was moved from pc.c to be accessible).
This merges and closes#1147 due to follow up changes with 1cd3741.
* Added support for this client to replace the 2015-10-29aRagEXERE which had issues with unknown packets causing random disconnects.
Thanks to @icxbb-xx and @renniw!
* 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
Implemented Official Long Range Critical Bonus
* Fixed#1098
* Added bonus `bonus bCriticalLong,n;`.
* Add critical rate for normal long range attack.
* Bonus value won't be showed in status window.
* Updated item script following official (Aegis) script for:
* Sharp Arrow (1764/Incisive_Arrow)
* Drosera Card (4421/Drosera_Card)
* Upd Bow Guardian Card (4550/Upd_Bow_Guardian_Card)
* Fixed a problem that many of the exp requirements were 1 level off
* Removed custom level requirements from the default pre-re/re rAthena files
* Optimized the structure of these files; no more redundant data
* Added a few custom exp rows to import-tmpl/job_exp.txt that can optionally be used
* Updated 1st and 2nd trans job exp requirements to the new official values from 2015
* Fixed a bug that caused monsters to still give 1 base/job exp even though their exp in the db is 0
* Updated Summoner EXP requirements according to latest test results; as Summoner has exactly the same base exp requirements as 3rd classes starting at level 99, it will now use the same row
* Added bonus `bonus bCriticalLong,n;`.
* Add critical rate for normal long range attack.
* Bonus value won't be showed in status window.
* Updated item script following official (Aegis) script for:
* Sharp Arrow (1764/Incisive_Arrow)
* Drosera Card (4421/Drosera_Card)
* Upd Bow Guardian Card (4550/Upd_Bow_Guardian_Card)
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
* Adjusted the last 15 levels of summoner class to reflect a very steep curve as this is closer to our kRO test results
* Note: Right now only base level 1-59 and job level 1-29 could be fully verified
* Resolves an issue with skill normalizations.
* Resolves an issue with becoming a High Novice automatically giving players the Basic Skill fully leveled.
* Updated the Job EXP table for Doram to match official. Still missing Base EXP table.
* Implemented official behavior when attacking icewalls and traps with skills (fixes#1056)
-- Skills hitting icewalls and traps: Arrow Shower, Cold Slower, Tornado Kick, Sightless Mind, Meteor Assault, Spread Attack, Throw Huuma, Sightrasher, Sight Blaster, Earth Shaker, Rampage Blaster, Feint Bomb, Magnum Break, Fire Trap, Ice Trap, Cart Revolution, Napalm Vulcan, Triple Attack, Occult Impaction, Throw Spirit Sphere, Asura Strike, Spear Stab, Spiral Pierce, Holy Cross
-- Can target icewalls and traps but have strange behavior: Bowling Bash, Focused Arrow Strike, First Wind
-- Can hit icewalls and traps, but not target traps: Grimtooth, Raging Thrust, Blitz Beat, Napalm Beat, Fireball, Vulcan Arm, Tiger Cannon
-- Can hit icewalls and traps ONLY in PVP: Dragon Breath, Suicidal Destruction, Axe Tornado, Sky Blow
-- Can hit icewalls only: All other single target skills, Counter Slash
-- Can target icewalls but have strange behavior: Brandish Spear, Wind Cutter, Cannon Spear, Flame Launcher
-- Can not hit icewalls and traps: All unit skills, Frost Nova, Comet, Arms Cannon, Fatal Menace, Lion Howling
-- Can destroy traps but not hit icewalls: Claymore Trap
* When monsters use skills, they hit icewalls and traps and the damage displays, but they will no longer deal actual damage to the icewall or trap
-- Added an option to skill.conf with which you can define which types can damage icewalls and traps, by default it's 1 (player only), if you want to revert to previous behavior, set it to 31 (all)
* Fixed an issue where traps could not hit icewalls and other traps in PVP
* Taekwon combos can now trigger on traps
* Fixed an issue that caused damage to be displayed twice when attacking a trap with certain skills
* Fixed Feint Bomb causing knock-back to the target (see #1070)
* Fixed Talkie Box being triggered by monsters (fixes#1074)
* Requires client 2015-10-01 and newer.
* All skills are usable from from the base list to all 3 branch types.
-- Some skills still need their official activation chance and durations.
* Adjusted the char-server start point and start item split functions to be more dynamic.
Thanks to Rytech and @NovaRagnarok for their information!
* 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
* Epiclesis will now properly check for hidden players every 5 seconds.
* Adjusted the skill unit interval to check every second rather than every 3 seconds.
Trap Invisibility, Fixes#892
* Changed `traps_setting` config values.
* 0 = Always visible (default)
* 1 = Enable invisibility in versus maps (GVG/PVP/BG)
* 2 = Enable invisibility in all maps
* Added skill unit flag `UF_HIDDEN_TRAP = 0x20000` for trap invisibility. By default, there are (renewal) Hunter traps with this flag:
* HT_SKIDTRAP
* HT_LANDMINE
* HT_ANKLESNARE
* HT_SHOCKWAVE
* HT_SANDMAN
* HT_FLASHER
* HT_FREEZINGTRAP
* HT_TALKIEBOX
* Added some skills and effects that can reveal hidden traps. By default, Detect, Sight, Ruwach, and Improve Concentration can reveal hidden traps.
* Boarding Halter will now properly be removed on expiration when a player is logged out. (fixes#1035)
* Removed hard coded checks for other official rental items.
* Rental items now call the OnUnequip Script of the item which can be used to remove player states.
* Updated various items in the database to match the new format.
* Snap now has a server-sided range of 14
* Snap, Ganbantein and Gravitational Field will no longer cause you to move if you target a cell out of range
* Snap and Flying Kick will now check for obstacles on a linear path rather than on the normal walkpath
* Range specified in skill_db is now equal to the client-sided range
* Some range code cleanup
* 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>