- When a monster is killed, its first item will now always drop at the exact cell the monster was on
- When a monster drops more than one item, the items will be deployed on 3 cells around the monster (looping): SE, W and N
- Fixed drop position of looted items (similar to regular drops but independent to it and starts north)
- Fixed item drop order (script-granted -> regular drops -> looted drops)
- Fixed looted items showing special drop effects
- Searching for a free cell to drop an item on now uses the official algorithm
- When a monster drops an item, it will no longer drop on cells that are occupied by characters or pets
- When a player drops an item, it will now drop in a 5x5 area around the player
- Items dropped by players can now stack on the same cell unless the new "item_stacking" config is disabled
- When an MVP drop drops to the floor because the player's inventory was full, it will now always drop on that player's cell
- Fixes#8345
- When searching for a map-wide free cell, the tiles 15 cells from the edge are no longer considered
* Added a configuration to change the edge size to any value between 1 and 40
- When searching for a free cell, the tiles 4-5 cells from the edge are now considered invalid and trigger a retry
* If you make the edge size smaller than this, it will use edge size instead
- Searching for a free cell now defaults to 50 tries, but if the "no spawn on player" option is active, those failed attempts are not counted towards the limit anymore
- When a monster spawns in a defined area there will now be 8 attempts to spawn it on a valid cell within the area and then one attempt on the center cell; if all 9 attempts fail, there will now be 50 tries to spawn it map-wide before it gives up
- When a monster has fixed spawn coordinates, but those coordinates are a wall, it will now spawn in a random location map-wide instead
* This also applies to icewall blocking the cell unless the boss_monster command was used
- Each monster in an area spawn will now receive its own spawn center within the spawn area on server start
* This results in the spawn area being larger but having a bias towards the center
* Added a configuration to disable this behavior
- Fixed slave monsters always being active and constantly calling the "search freecell" function even though neither them nor their master have been spotted yet
- Fixed map server crash when setting no_spawn_on_player to 100 (follow-up to 33b2b02)
- Updated prontera field spawns to official episode 18+
- Updated all champion mob respawn times to 3 minutes and sorted them by map name
- Fixes#8300
* When pk_mode and pk_mode_mes is enabled, the player gets notified joining a pk-zone map.
* It's now possible to specify the target in showscript.
Default is still AREA.
* pk_mode_mes is now using showscript to SELF.
* Thanks to @Atemo, @RadianFord, @Lemongrass3110, @aleos89
Adds basic support for the new mail UI RODEX.
Fixes#1567
Thanks to @RagnarokNova, @Atemo, @aleos89 and everyone else that helped me with this.
Additionally I would like to thank @jezznar and @hazimjauhari90 for their good testing in the pull request.
- Move requests one cell west will now be ignored if the target cell is occupied
- You can now set official_cell_stack_limit to 0 to completely disable it including the limitation above
- 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
- Split config cell_stack_limit into custom_cell_stack_limit (previous feature) and official_cell_stack_limit (see below)
- Expanded map_count_oncell by a flag parameter, currently only one flag is supported: only count standing units (needed for official cell stack feature)
- Added a new function map_closest_freecell that will return the closest free cell using the same order that official servers use
- Monsters will now actively search for a free cell when starting to walk randomly and when unlocking target
- When any unit finishes walking (regularly) and is not on a free cell, it will now actively search for a free cell
- Step actions will be delayed until a suitable cell was found, they will even be executed when the player walked slightly out of attack range
* Follow up 171e2f2, added battle config 'at_monsterignore' at conf/battle/misc.conf to makes autotrader cannot be attacked. Thank @Lemongrass3110
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>
* Added 'vip_disp_rate' at player.conf to set the message of rate information is displayed or not by default.
* Added 'disp_serverbank_msg' at misc.conf to hide "login-serv has been asked to %s the player '%.*s'." message.
* Updated map_msg.conf and map_msg_idn.conf
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
-> Applied follow-up for using monster IDs with the commands (ead2a83)
Merged revert of r15787 where character must face north (5188b69)
Merged bug fix for visual effects on relog (f304c36)
-> This fixes the Warlock Sphere issue on relog as well as many other visual effects
Applied a possible map crash fix - Credits ivanyan
http://rathena.org/board/tracker/issue-8212-server-crash-guild-retrieveitembound/
Started working on some source code documentation
Renamed bank update SQL file to upgrade_20131105.sql
* Cleaned up spelling and extra spaces in documentation. (credits: Akkarin)
* Sending whisper to a player from an admin account (group 99) will also display the message as a self-announce to the player. (Hercules 8568f17)
* Reins of Mount (12622) can now be used when sitting and will ignore delay when it fails. (Hercules 2316772)
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17370 54d463be-8e91-2dee-dedb-b68131a5f0ec