* 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)
* Changed skill_db array to better memory allocation.
* Reduced MAX_SKILL_LEVEL from 100 to 10 (part of Hercules 0f4a50d135), also has changes on skill_get checks for skill level that more than 10.
* Reduced MAX_SKILL from 5020 to 1200 (actually only 1109 skills are used).
* Added macros for checking Homunculus, Guild, Mercenary, & Elemental skill ranges.
* Added skill check & index validation when player logged in and when @reloadskilldb.
* Corrected `enum e_skill_flag` order for SKILL_FLAG_REPLACED_LV_0's sake.
* Merged 'addtoskill' script command just as alias of 'skill' script command.
* Fixed#277
* Changed 'skill' script command flag to constant value
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
NOTE:
* Decreased memory usage by map-server reduced up to 50 MB.
* Decreased memory for each player because of mmo_charstatus::skill[] only has 1200 array, before is 5020.
* Please use skill_get_index() for accessing sd->status.skill[] or skill_db[], don't reckless use skill_id as array index.
* Please import upgrade_20150211_skillset.sql
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
* 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.
* Changed skill_db array to better memory allocation.
* Reduced MAX_SKILL_LEVEL from 100 to 10 (part of Hercules 0f4a50d135), also has changes on skill_get checks for skill level that more than 10.
* Reduced MAX_SKILL from 5020 to 1200 (actually only 1109 skills are used).
* Added macros for checking Homunculus, Guild, Mercenary, & Elemental skill ranges.
* Added skill check & index validation when player logged in and when @reloadskilldb.
* Corrected `enum e_skill_flag` order for SKILL_FLAG_REPLACED_LV_0's sake.
* Merged 'addtoskill' script command just as alias of 'skill' script command.
Summary:
* Decreased memory usage by map-server reduced up to 50 MB.
* Decreased memory for each player because of mmo_charstatus::skill[] only has 1200 array, before is 5020.
* Please use skill_get_index() for accessing sd->status.skill[] or skill_db[], don't reckless use skill_id as array index.
NOTE:
* Please import upgrade_20150131_skillset.sql
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
* Implemented ALL_REVERSEORCISH as follow up 01ae1ae6126dc8aa91f967eea7d145e10dfb29e3.
* Clean up `rand()` script usage in Fools_Day_Box (12396) and Fools_Day_Box2 (12397).
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
* Max level to equip item now works for Pre-Renewal too, since the field is optional. 0 means no max level limit.
* Fixed fail message on clif_equipitemack when item cannot be equipped because level limitation
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
* Separated pet_db for Renewal & Pre-Renewal to avoid non-existant monster in different mode.
* Cleaned script command in pet_db.txt file, just point it to doc/script_commands.txt. Read them there!
* Separated damage value for petskillattack2 to its own var 'damage', that previously use 'lv' var to store the value.
* Added config 'pet_ignore_infinite_def' in conf/battle/pet.conf,
- If disabled (val:"no"), fixed damage from pet script 'petskillattack2' will be adjusted to 1. Example, just like player attacks Shining Plant.
- Enabled by default. Previously, fixed damage ignore the infinite defense, that's why it's enabled by default.
- TODO: Correcting the logic and maybe also confirm the correct behavior!
* Added validation for pet script commands,
- Skill for petskillattack, petskillattack2, & petskillsupport
- SC range for petrecovery.
* Cleaned up some source documentation.
* Added item flag value: 8 to init default item with BindOnEquip. Item with this flag will be character bound item once equipped.
* Added optional config 'default_bind_on_equip' in conf/battle/items.conf to set default bind type. By default the type is character bound.
* Hercules merge 1f5161a2bd
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
* Separated pet_db for Renewal & Pre-Renewal to avoid non-existant monster in different mode.
* Cleaned script command in pet_db.txt file, just point it to doc/script_commands.txt. Read them there!
* Separated damage value for petskillattack2 to its own var 'damage', that previously use 'lv' var to store the value.
* Added config 'pet_ignore_infinite_def' in conf/battle/pet.conf,
* If disabled (val:"no"), fixed damage from pet script 'petskillattack2' will be adjusted to 1. Example, just like player attacks Shining Plant.
* Enabled by default. Previously, fixed damage ignore the infinite defense, that's why it's enabled by default.
* TODO: Correcting the logic and maybe also confirm the correct behavior!
* Added validation for pet script commands,
* Skill for petskillattack, petskillattack2, & petskillsupport
* SC range for petrecovery.
* Cleaned up some source documentation.
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
- Gravitational Field will now work as official servers (bugreport:4897)
* Fixed range of Ganbantein (16->14) and Gravitational Field (9->14)
* Gravitational Field never misses and can hit hidden targets
* Similar to Pressure the damage can not be increased or decreased by any means, it even hits GTB users and users protected by Devotion/Sacrifice
* Renewal damage is now 400+100*level every 500ms (200+200*level every 1000ms in pre-renewal)
* You can no longer do normal attacks while the skill is active
* You now can use skills while the skill is active, however, other skills are unable to deal any damage as long as Gravitational Field is active
* Added the possibility to link different skill unit groups together; if a skill unit group gets deleted, the linked skill unit groups are deleted as well; this was needed because when being hit, all Gravitational Fields of the person being hit need to be removed
* Gravitational Field can no longer overlap with itself
* Pressure and Gravitational Field will now be considered "physical normal attacks" and can consequently trigger Autospells; unlike manually cast spells, Autospells can deal damage while Gravitational Field is active
- Fixed that in renewal, weapons with a range of 2 and 3 did depend on DEX instead of STR (fixed#129)
* Special thanks to NovaRagnarok for the fix
* GUID
- `guid` field in official PackageItem.lua supposed to make item will be separated even item is stackable item.
- Currently `guid` usage is using item Unique ID that generated when item with GUID flag is appear from package.
- Some item containers in official PackageItem.lua are also separated, not stacked when player obtain it. Example when using atcommand "@item Xmas_Bless". For current implementation, the items are flagged in item_flag.txt (db folder) with flag 4.
- `isNamed` field in item group is replaced by `GUID` and move the `isNamed` as new additional field. See doc/item_group.txt or db/re/item_package.txt.
* NPC:
- Enabled npc/re/other/item_merge.txt and it's now usable.
* Script Command:
- Added `mergeitem` to merge separated items in player's inventory. See doc/script_commands.txt.
* Misc:
- Changed how to broadcast the item that obtained from package with flag `isAnnounced` to intif_broadcast, so it will be announced to all connected map-servers.
- Added some items that flagged as 'item group container' in db/re/item_flag.txt
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
- Autobonus3 will now also trigger when using ground skills (bugreport:6434)
- Fixed trigger chance of the Angelic Ring auto-bonuses (5% -> 10%) and that they didn't display any effect
- Fire Pillar can no longer hit plants (follow-up to 04a1173f7d)
- Acid Bomb will now hit every 500ms instead of every 1000ms on renewal (related to bugreport:6338)
- Land Protector now behaves like on official servers (bugreport:5237)
* Land Protector now protects from units being placed on it, no matter if they have splash range or not
* Land Protector no longer protects from damage from units not outside Land Protector that splash inside
* Meteor Storm no longer shows meteors falling if they would land on Land Protector
* Pneuma can no longer be placed next to Land Protector
* Also cleaned up the code a bit, so the checks are done where they should be done
- Ground skill splash ranges updated to their official values (bugreport:5237)
* Lord of Vermilion places units in a 11x11 area with 3x3 splash range each
* Storm Gust places units in a 9x9 area with 3x3 splash range each
* Heaven's Drive places units in a 5x5 area with no splash range
* Venom Dust now has a splash range of 3x3 and is consequently larger than before
- Storm Gust's knock-back behavior updated to official (bugreport:5237)
* Each of Storm Gust's units will knock back "Away from center"
* As units in the south-west are processed first, the knock-back direction will usually be north-east
* At the edges the knock-back direction will be "to the outside"
* Land Protector and Ganbantein will influence the knock-back behavior strongly, e.g. if Storm Gust has a hole in the middle, it will have a "suck in" effect
* Added a config option for those who want the old "random direction" behavior from eAthena
- Fixed warning for infinite warp where count_rewarp increased when the player was warped near a warp
Special thanks to Radian
Signed-off-by: Capuche <capucrath@gmail.com>
- Reduced the timer interval from 50ms to 20ms (official value)
* For a long time it is well known that the Aegis interval is 20ms, but devs have been hesitant to set it to that out of performance reasons; these days however, machines are better and there aren't really many 2000+ player servers anymore, so a 20ms interval is actually quite viable now.
* Setting the interval to 20ms makes the server perfectly in sync with the client that expects the server to have a delay of no longer than 20ms.
* All skills that are "chain-able" on official servers will now also be 100% chain-able here (previously it just worked to 40%), assuming there is no lag
* Skills with cast time will no longer go off 30ms later than officially
* Several others improvements in regards of client-server sync (timers are used almost everywhere)
* This might increase the CPU usage by up to ~50%, if you have trouble running your server with this, you can increase it again in timer.c (TIMER_MIN_INTERVAL)
- Strongly improved the Waterball implementation (bugreport:9382)
* The interval between Waterballs is now 150ms (previously 125ms); due to the timer interval it will alternate between 140ms and 160ms (yes, this is official)
* While the Waterball effect is active, players and non-boss monsters can no longer walk
* Added a server-sided canact delay each time a Waterball is shot, which is equal to the one the client gives; this is to prevent hackers from being able to mass-cast Waterball; you can still multi-cast Waterball if your aMotion is shorter than the Waterball interval (i.e. 186 ASPD or higher)
* The Waterball effect is no longer canceled when the target hides behind an obstacle, but no waterballs will fly and no damage will be applied; walkdelay will remain, but there won't be any canact delay for the caster (meaning he can cast another spell); if the target comes out of its cover during the duration, it will be hit again (this also fixes an exploit against MVPs)
* Waterball now has a max duration of 10 seconds, even if more water cells are available, the effect will stop; this means that level 10 monster water ball will now only hit up to 67 times
- Fixed Crimson Fire Formation having a knock-back effect although it shouldn't (bugreport:6949)
* It will hit once every 20ms with no knock-back, regardless of whether the target is undead, non-undead or a player
* If you want to it to display more "fluently" you would need to set the SKILLUNITTIMER_INTERVAL in skill.c to 20ms, but the performance loss is pretty big for something only this skill and Firewall would benefit from
- Bosses are now able to ignore skill-induced walk delay (#100)
* They can for example walk after casting Sonic Blow and Waterball (see above)
- Minor description improvements
- 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
* Changed `mr` values to use constantan value
* Added check for IT_SHADOWGEAR's script restriction before executing it
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
- 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
* Fixed Decoration of Music status when equipping the headgear. (bugreport:9342)
* Fixed Warg Dash giving Endure when it shouldn't. (bugreport:9337)
* Fixed Mado Gear skill item requirements. (bugreport:9335)
* Fixed Super Novice Spirit being able to be casted by all classes. (bugreport:9344)
* Fixed Masquerade - Ignorance to work on monsters. (bugreport:8099)
* Fixed Voice of Siren duration depending on level of character. (bugreport:9289)
* Fixed Spirit Sympathy SP requirement reduction when summoning an Element. (bugreport:9329)
* Wizard/Warlock Skill
* Moved Sightrasher (WZ_SIGHTRASHER) requirement to check Sight (SC_SIGHT) is active or not to skill_check_condition_castend section.
* Fixed Sightrasher (WZ_SIGHTRASHER) splash area to 3x3. (bugreport:9298)
* Now Comet (WL_COMET) cannot hits Hiding target (The mistake is not at flag 0x10000 in skill_db.txt, the flash should be added by SD_ANIMATION). (bugreport:8909).
* Now Reading Spell Book (WL_READING_SB) checking the number of available spell books in Spell Book DB first to prevent infinite loop.
* Sage Skill
* Now Abracadabra (SA_ABRACADABRA) checking the number of available skills in Abra DB first to prevent infinite loop.
* Reduced MAX_SKILL_ABRA_DB from 350 to 160.
* Shadow Chaser Skill
* Fixed Chaos Panic (SC_CHAOSPANIC) effect. (bugreport:9321).
* Genetic Skill
* Now Wall of Thorn (GN_WALLOFTHORN) can be knocked back but not a whole skill group and durability (HP & max hit) for each skill unit.
* Guillotine Cross Skill
* Now Magic Mushroom (SC_MAGICMUSHROOM) effect checks the number of available skills in Magic Mushroom DB first to prevent infinite loop.
* Changed 'RemoveFlag' in db/magicmushroom_db.txt value to 1 to remove skill by importing. (bugreport:9322).
* Wanderer/Minstrel Skill
* Now Randomize Spell (WM_RANDOMIZESPELL) checks the number of available skills in Improvise DB first to prevent infinite loop.
* Reduced MAX_SKILL_IMPROVISE_DB from 50 to 30.
* Rebellion Skill
* Cleaned up, added, corrected some (missing) sequences & DB values.
* Fixed Hammer of God (RL_HAMMER_OF_GOD) splash damage.
* Fixed Shaterred Strom (RL_S_STORM) push back & force to sit effect (for player, or stun for monsters) (first implementation leftover).
* Fixed Slug Shot (RL_SLUGSHOT) hitrate-distance penalty (first implementation leftover).
* Fixed Howling Mine (RL_H_MINE) damage ratios (first implementation leftover).
* Now Bind Trap (RL_B_TRAP) only can be placed 1 at same time.
* Fixed Bind Trap (RL_B_TRAP) damage calculation by using Caster's DEX, Target's Current HP, & Skill Level. FIXME: Exact formula still unknown (refers to idAthena formula).
* Now Dragon Tail (RL_D_TAIL) doesn't split damage among targets anymore.
* Now Crimson Marker (RL_C_MARKER) will fails to cast if no slot available.
* Implemented official packet `ZC_C_MARKERINFO` of Crimson Marker (RL_C_MARKER) mini-map marker (first implementation leftover). !TODO: Confirm the packet for older or newer clients (idAthena partial merge r1497)
* References: http://forums.irowiki.org/showpost.php?p=1387992&postcount=968, follow up 507f047, dd67f9d
Misc:
* Fixed some skills that should work only in shoot range (map_foreachinshootange, by default), and added check for respecting *skill_wall_check* (map_foreachinrange).
* Fixed item stackable check for `/item` command, follow up 9b4d922.
* Fixed npc source file isn't removed properly by @unloadnpcfile. (bugreport:9311).
* Added constantan for status_change_start() and sc_start() scripts as well
* SCSTART_NONE = 0x0
* SCSTART_NOAVOID = 0x1
* SCSTART_NOTICKDEF = 0x2
* SCSTART_LOADED = 0x4
* SCSTART_NORATEDEF = 0x8
* SCSTART_NOICON = 0x10
* Moved and changed itemdb_unique_id() to pc_generate_unique_id().
* Seperated check for skill SC requirement to skill_check_condition_sc_required().
* Added skill unit flag `UF_KNOCKBACK_GROUP`, just an option to make skill unit can be knocked back a whole group.
* Typos and other minor changes!
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
* Switching arrows no longer stops attacks. (bugreport:9270)
* Looter monsters will now randomly pick items rather than going for the closest one. (bugreport:9268)
* Follow up to 0fed97c. Moved pc_setsit before skill_sit to not break skills that count players who are sitting. (bugreport:8966)
* Follow up to 2d2991a. Cleaned up some compile warnings.
* Updated the inf3 descriptions in the skill_db.
* Follow up 2d2991a, remove trailing spaces in inter_athena.conf
* Added `bound` field on `picklog` table (bugreport:9240) Thank @icxbb-xx (Napster)
* Fixed Randomize Spell infinite loop. Failure of skill improvise db reading. (bugreport:9288)
* Added **max_extended_aspd** for caping max ASPD for KO/Rebellion, default is 193. Pointed by @raynra & Ziu
* Mail attachment
* Added `bound` field on `mail` table, since group with PC_PERM_TRADE_BOUNDED can put bound item into attachment
* Fixed wrong data type causing wrong zeny amount (bugreport:9291)
* Fixed item color issue for bound item (bugreport:9238)
* Stackable item shouldn't be displayed as yellow color
* Equip doesn't shown as yellow after relog or item is moved
* Silence status immunity for Renewal (bugreport:9227)
* Bleeding (SC_BLEEDING): Vit -> Agi
* Silence (SC_SILENCE): Vit -> Int
* Sleep (SC_SLEEP): Int -> Agi
* Thank @Playtester, @Lilith-, partial merge of Hercules:6f26451
* Fixed status check when cast a skill to hidden target
* Stone Curse shouldn't be casted to hidden enemy when the caster has intravision (bugreport:9266)
* Added **INF3_HIT_HIDING** for skills that *maybe* have effect to/can hit the hidden target. Previously, every Earth Element skills *always* had it, doesn't matter ground skill or single-target skill
* **!TODO: Confirm other skills that have ability for this!**
* **!FIXME: For now, I rely as the previous check did, I put some Earth Element skills (and) with area/ground effect**
* Correcting Devotion behavior (Hercules:e7be725, 41f28c0)
* Failing to cast Devotion to the 6th player
* Only player who devotes other that 'shout' Auto Guard when it active also with the walk delay
* Status icon that inherited from devoter won't be displayed at devoted player
* Reflect Damage on devoted player won't reflect normal attack, only melee skill attack
* Added config **devotion_rdamage_skill_only** for backward compability, ignore the behavior above
**IMPORTANT**
* Please import sql-files/upgrades/upgrade_20140915_log.sql
* Please import sql-files/upgrades/upgrade_20140915.sql
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
- Fixed map-server crashed caused by Wall of Thorn when atatcked by Fire element (with wide range skill unit, bugreport9102). Also reverted some changes in c046668
- Added config conf/battle/skill.conf 'arrow_shower_knockback', as follow up 453b6d0. Direction of Arrow Shower knockback depends on Arrow Shower location
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
- Added base level modifier for Great Echo. (bugreport:9179).
- Fixed Max HP/SP rate reduction, should be limited to -100% if the value less than it. (bugreport:9195).
- Fixed Knuckle Arrow (SR_KNUCKLEARROW, Sura) knockback damage bonus behavior. (bugreport:9096).
- Fixed Knuckle Arrow (SR_KNUCKLEARROW, Sura) knockback direction by saving last direction before attacker slides to target first.
- Fixed Overbrand (LG_OVERBRAND_BRANDISH, Royal Guard) knockback damage bonus behavior. (bugreport:9096).
- Fixed knockback direction for Arrow Shower (AC_SHOWER, Archer), now using target to attacker direction. (bugreport:1709).
* Misc:
- Added new flags for Skill Unit to remove hardcoded checks:
--- UF_NOKNOCKBACK: Cannot be knocked back (only unit that can be damaged).
--- UF_REM_CRAZYWEED: Removed if be overlapped by GN_CRAZYWEED.
--- UF_REM_FIRERAIN: Removed if be overlapped by RL_FIRE_RAIN.
- Implemented knockback damage bonus for Round Trip (RL_R_TRIP, Rebellion).
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
* Fixed the stun effect from Berkana Rune. (bugreport:9057)
* Adjusted Thorn Wall to be a placeable skill and to ignore caster's % damage cards.
* Field Manuals (SC_EXPBOOST and SC_JEXPBOOST) now increase EXP gained from NPC quests (through the getexp script command). (bugreport:9091)
* Lif's Mental Change no longer fully restores her HP and SP upon activation.
* Fixed fakename atcommand not working while disguised. (bugreport:8896) (Hercules 1e492e3)
* Fixed speed atcommand resetting when swapping equipment/changing maps. (bugreport:8915) (Hercules 37fdcba)
* Cleaned up some compile warnings.
- Changed Monster, Mercenary, & Elemental defense element check, from %10 to %20, to support 10 custom elements. Thank @Atemo
- Updated some arrays in ACMD_FUNC(mobinfo)
- Removed element number limit for each level in db/[pre-]re/attr_fix.txt
- Allowing 'getitembound' and 'getitembound2' to put bound type 0 (no bound) for scripting easier
- Updated doc/mob_db.txt, follow up ca4a0ea
- Updated map_msg_idn.conf
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
* Corrected some battle calculations for status changes to be applied during skill calculations. (bugreport:9109)
* Fixed Fire Expansion hitting players in all maps. (bugreport:9056)
* Fixed skill duration for Elemental Shield. (bugreport:9078)
* Fixed bSetDefRace and bSetMDefRace not zeroing out values. (bugreport:9108)
* Corrected Inspiration checking for the wrong damage formula. (bugreport:9098)
* Fixed combo type skills causing issues with usable items. (bugreport:9090) (Hercules 0100bae)
* Updated usable skills while riding a Warg. (Hercules cc4c87c)
* Updated the display message for using items that have a delay. (bugreport:9107)
* Fixed an issue when players couldn't attack they also couldn't talk to NPC with mob view IDs. (Hercules 9dd6ee6)
* Reverted 7a9aa7f so that the prompt script command will return 255 on cancel. (bugreport:9104)
- Kunai Splash (KO_HAPPOKUNAI) ammo check failure crashing map-server (bugreport:9112)
- Fear Breeze status (SC_FEARBREEZE) makes impossible to critical for single hit (bugreport:8197)
- Missing item avail check at NPC Cashshop causing item with item_avail cannot be bought (bugreport:9106)
- Swapped value between 'nk' and 'inf' for MH_LIGHT_OF_REGENE & MH_OVERED_BOOST
- Multi-hit by SC_FEARBREEZE that possibly causing map-server crashed if no ammo equipped
- Thank to all bug reporters
Misc:
- Add enum for clif_damage type, e_damage_type
- Add check for Autotrade Persistency, make sure to kick player who fail open vending/buyingstore
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
-- 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>
* Fixed Concentration ending when Frenzy is used. (bugreport:8942)
* Fixed Hells Plant hitting Ghost element enemies. (bugreport:8799)
* Forced guild notice changes to save immediately. (bugreport:8961)
* Fixed Cart Tornado damage formula. (bugreport:9065)
* Adjust Amistr's Castling to now switch to any target type. Still needs skill switching support. (bugreport:1784)
* Removed hard coded 1 second skill duration reduction for Spore Explosion.
* Fixed the party window not displaying the correct map name when in an instance. (bugreport:7949)
* Fixed hatching a pet causing client disconnections. (bugreport:9059) (Hercules 533ff4f)
* Updated Kagerou/Oboro skill cast times. (bugreport:9035)
* Removed deprecated negative nameid value for getitem/getitem2.
* Renamed incuvate to incubate throughout source and SQL.
* Added skill ID to the error display for battle_calc_attack to help resolve issues. (bugreport:8876)
* Cleaned and corrected some Sorcerer Elemental skills. (bugreport:9058)
* Cleaned up some more compile warnings.
* Fixed characters moving to unavailable slots using Character Moving System. Thanks to Napster. (bugreport:8987)
* Implemented MD_RANDOMTARGET. (bugreport:8781) (Hercules 10e6f1a)
* Implemented a new define for renewal status point calculation to separate from default renewal define. Thanks to @cydh. (bugreport:8784)
* Follow up to f511107 to fix a compile warning.
* Forcefully save characters before opening a Vending Shop to prevent invalid data from saving. (bugreport:8955)
* Fixed 2013-12-23 client from disconnecting after executing /limitedsale command. Thanks to Napster. (bugreport:9011)
* Fixed Elemental Shield displaying a warning to the console. (bugreport:9016)
* Elemental Shield requires a Blue Gemstone to cast.
* Adjusted Flash Combo to only consume 65 SP.
* Added missing skill_require_db defines for Episode 14.3 Part 2 skills in the pre-renewal database.
* Fixed Spider Web and other trap skills not working correctly on GvG maps. (bugreport:8982)
* Fixed Cloaking Exceed not hiding players from demon and insect monsters. (bugreport:9001)
* Bloody Lust no longer affects monsters. (bugreport:8991)
* Ruwach will no longer damage players in Invisibility. (bugreport:8950)
* Fixed Shield Spell not casting correctly. (bugreport:8948, bugreport:8999)
* Fixed Exceed Break attack increase not being applied. (bugreport:8993)
* Fixed Gentle Touch - Energy Gain not adding spirit spheres. (bugreport:9004)
* Updated Magnetic Field SP drain value.
-- Map crashed because empty item_combo script (bugreport:8959)
-- Wrong MATK calculation of Distort Crescent/Zangetsu effect (SC_ZANGETSU) (bugreport:8998)
-- Wrong damage reduction of Sera's Pain Killer effect (SC_PAIN_KILLER) (bugreport:8994)
-- Fixed Shape Shift (NC_SHAPESHIFT) wrong requirement (bugreport:9002)
-- @itembound, getitembound usage. Not, now allowed for unspecified bound_type (thank Ceejay Abne! http://rathena.org/board/index.php?showtopic=94726)
-- Change check behavior for skill requirement level-dependent check.
-- Removed NC_REPAIR hardcoded requirement.
-- Moved the required equipped item to 'RequiredEquipment' on skill_require_db.txt.
-- Missing "Option_Ruwach" as contantan.
-- Corrected Chasewalk STR bonus, it's SC_CHASEWALK2, different with SC_INCSTR.
-- Corrected some Rebellion skill's effects.
-- USESKILL_FAIL_MADOGEAR message for failed skill that needs player has Madogear.
-- Changed skill name and description length to 31 chars.
-- Some documentation updates.
-- Follow up 0f2dd7f. (Well, using empty password in import file, won't works, if you want, empty the original conf file. Fix this later, related on 'sscanf' for those files)
-- Follow up 28c90bb, thank @julia40124009
-- Misc. :P
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
* Added 'bonus2 bAddItemGroupHealRate' to replace 'bonus2 bAddItemHealRate' for Item Group ID usage. Since MAX_ITEMGROUP is removed, there is no identifier which entry that Item ID or Item Group. Previous check using 'if (type2 < MAX_ITEMGROUP)' (2d53a782fa (diff-08420bab8271f3965304fee42cf4b865L3220))
* bonus2 bAddItemHealRate,iid,n;
* bonus2 bAddItemGroupHealRate,ig,n;
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>