Commit Graph

  • 5e6b4a157f Warnings... Cydh Ramdh 2014-12-02 20:09:14 +07:00
  • 071cb76bc3 Fixed #141 & Changed regen rate value from 1 to 100 * 1 = 1%, 100 = 100%... previously 1 = 100% * Increase calculation accuracy. Example for previous calculation of Concentrated_White_Potion_Z (12428) bonus to add 20% HP recovery rate always be fail, since "1*20/100" always be round down to 0, didn't add 20%! * Vitata_500 (12436) has incomplete vals for SC Cydh Ramdh 2014-12-01 19:55:53 +07:00
  • b92b8ffefc Added core.h config ENABLE_ITEM_GUID * Enabled by default to take effect of guid function. * When it's disabled, guid function will be ignored as suggestion to disable this 'weird. official feature. * NOTE: If this feature is disabled "in the middle" of your game, the separated is still separated in inventory, storage, or guild storage until player move the item to/from storage/inventory to restack them. Cydh Ramdh 2014-11-30 18:44:20 +07:00
  • 5ce80555a7 Corrected guid implementation of item package in 51074a0 * 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 Cydh Ramdh 2014-11-30 13:52:52 +07:00
  • e4663e99e1 Follow up 700d1e9 & misc * Added newline at end of file * Removed extra parenthesis. Thank @julia40124009 * Added constantan value, IT_SHADOWGEAR 12 * Corrected some item type, 11 -> 2 * Removed set from item_combo_db.txt to direct assignment Cydh Ramdh 2014-11-29 23:15:30 +07:00
  • 700d1e9508 Merge pull request #132 from nanakiwurtz/master Cydh Ramdh 2014-11-29 22:56:40 +07:00
  • 5c6afd7ea3 Clean up something RENEWAL_CAST * Moved additive bonuses (reducing/increasing) to first calculation before the rate adjustment * Corrected bFixedCastrate, shouldn't be stacked. Example between Puente_Robe (15012) is -3% and +10 Rafini_Staff (1649) is -10%, only -10% will be used not -13%. * Reversed some value assignment, -= to += and other part that affected by this changes. * Also as follow up c3e488e & 4f4d8fe, fixed bonus2 bFixedCastrate,"sk",rate; * Corrected bFixedCastrate for Krieger_Knuckle2 (1827) only for skill MO_EXTREMITYFIST * Moved default the 20% of fixed cast rate to conf/battle/skill.conf default_fixed_castrate Cydh Ramdh 2014-11-29 01:54:56 +07:00
  • c366d98004 Follow up to 2839983 -- Changed Skill ID to it's corresponding skill constants nanakiwurtz 2014-11-28 14:30:29 +07:00
  • a88db39dd9 Follow up to 3be6f5a. Fixed compile warning for pre-renewal mode. aleos89 2014-11-27 22:46:14 -05:00
  • 3be6f5a4f3 * Adjusted new renewal changes and added missing bonus damage modifiers for several skills. (bugreport:9280) * Put Gloomy Shyness into INF3_*. aleos89 2014-11-27 22:37:25 -05:00
  • 2839983b64 Follow up to ca150c5 -- English names fixed nanakiwurtz 2014-11-28 00:35:04 +07:00
  • ca150c58c7 Item DB update: -- Up to kRO 2014-10-22 nanakiwurtz 2014-11-28 00:18:51 +07:00
  • 0877fed66c Fixed Homunculus crash potential when checking the skill (bugreport:9162) Cydh Ramdh 2014-11-25 19:36:57 +07:00
  • 4efbffca45 Merge pull request #120 from rathena/script/checkvending Cydh Ramdh 2014-11-25 19:04:40 +07:00
  • 76a30f3927 Hindsight, Song/Dance Effect fixes - Fixed Hindsight often casting level 0 of a skill when the selected auto-skill was of level 2 - Fixed song and dance effects staying forever on the screen if the bard / dancer walked out of sight (fixed #127) Playtester 2014-11-24 21:11:09 +01:00
  • a16701f33a Disabled @accinfo request in CZ_REQ_ACCOUNTNAME to avoid unnecessary request. Follow up c953236, bugreport:9186. Thank @anacondaqq Cydh Ramdh 2014-11-23 18:03:04 +07:00
  • 34ca457ab0 Follow up bbe733e, typos Cydh Ramdh 2014-11-23 14:33:28 +07:00
  • 91156ab3ee Fixed typo forgot next line icxbb-xx 2014-11-23 03:37:21 +07:00
  • 0359420f42 Follow-up to 0fd7ba72df - Fixed a compiler warning that showed when deactivating ACTIVEPATHSEARCH (special thanks to Napster for pointing it out) Playtester 2014-11-22 21:04:41 +01:00
  • e6caa9569b Skill menu and looter fixes - Fixed a bug that stopped characters server-sided and caused position lag when closing a skill menu (bugreport:9117) - Fixed behavior of looter monsters (#125=fixed) * They will now always target the oldest item in their view range (which makes it seemingly random), rather than always the most south-western item available * Their loot range is now "0" meaning they need to be on the same cell as the item to loot it * Their AI will no longer get stuck in an endless loop when someone drops an item around the corner Playtester 2014-11-22 20:36:06 +01:00
  • a212839665 Fixed #122 @accountinfo issue * Now inter-server always asking to login-server for account info instead using direct query to login table. Merged from HerculesWS/Hercules@da233d5 * Inter-server packet usage: HA 0x2720 & AH 0x2721 * Additional changes from inter-server to map-server to parse the account info result with type 1 by using packet 0x3808 for clif_account_name(). Just some changes from @lighta at his old diff * Moved some messages to char_msg.conf * Updated inter-server packet documentation Cydh Ramdh 2014-11-22 18:58:29 +07:00
  • 5386d2e157 Fixed #104, Wurg Dash hit "miss" when bumps monster Cydh Ramdh 2014-11-22 13:47:10 +07:00
  • f222779af3 Merge pull request #121 from emistry/patch-1 Cydh Ramdh 2014-11-22 12:23:49 +07:00
  • 69f08f7028 Wrong info in NPC message. Emistry 2014-11-22 01:04:02 +08:00
  • bbe733e236 Expand 'checkvending' script * Added returned values for buying store. * Made returned values as bitmask. &1 - Vending, &2 - Autotrading, &4 - Buyingstore Cydh Ramdh 2014-11-21 21:56:16 +07:00
  • 0fd7ba72df 1st Transcendent Spirit, monster position lag fixes - 1st Transcendent Spirit will now work as on official servers (#116) * The max total stat that is granted by the skill is now BaseLevel-10 with a maximum of 50 instead of always 50 * It will now work as Marionette Control and calculate the bonus at cast time rather than overwrite all existing bonuses * Agi Up and Blessing will now cancel the soul link - Fixed various problems that caused position lags on the client (#118) * Added a define ACTIVEPATHSEARCH in mob.c; if active (default and official), monsters will only grab targets if the walk path to the target is shorter or equal their search range; search range depends on whether the monster is moving or not (range2 for standing monsters and range3 for walking monsters); this requires a lot of CPU load, if it causes trouble, just comment the define for old behavior * Fixed a bug that made monsters display "irregular movement with position lag" continuously when a status change ended that changed their walk speed * OFFICIAL_WALKPATH now also applies to monsters * If the path search fails while a unit is already moving, we will now issue of fixpos packet so that the unit does not only stop moving on the server, but also on the client Playtester 2014-11-21 15:42:38 +01:00
  • 28601afa16 * Fixed map-server crash possibily by using @channel ban/unban for offline player * Fixed @channel ban/unban doesn't recognize player's name with space Cydh Ramdh 2014-11-21 18:13:57 +07:00
  • 9f8af95a88 Merge pull request #114 from rathena/hotfix/mail-cancel Akkarinage 2014-11-18 21:35:19 +00:00
  • 90f127012a Merge pull request #113 from rathena/hotfix/1024 Akkarinage 2014-11-18 21:20:40 +00:00
  • 3047292665 Just a little changes Cydh Ramdh 2014-11-19 03:16:59 +07:00
  • e3a96c8297 Follow up 9b4d922. * Fixed Zeny doesn't updated when player cancels to send a mail with attached Zeny. Thank a91323 Cydh Ramdh 2014-11-19 02:50:32 +07:00
  • d02bd5b016 Removed script command 'getusersname' (bugreport:1024) Akkarinage 2014-11-18 17:12:45 +00:00
  • 0ad6cdbb4f Just a follow up of a0bd016. Cydh Ramdh 2014-11-18 19:22:58 +07:00
  • d20ac845d1 Direction fixes - Updated the config setting attack_direction_change from 15 to 0 (official value); that means that a unit's direction will no longer change when it attacks; knock-back effects from e.g. Firewall will depend on the last direction the target walked into instead (bugreport:1322) - Ensured that the default direction of a monster is always "north", so that immobile monsters will now always be knocked back to the south by e.g. Firewall on default settings, unless a skill like e.g. Backstab changes their direction (bugreport:1322) Playtester 2014-11-18 12:03:57 +01:00
  • 13d1c2dcd9 Assassin Cross of Sunset updated - Improved formula of Assassin Cross of Sunset for both pre-renewal and renewal (#111) Playtester 2014-11-17 20:19:16 +01:00
  • a0bd0168cf Autobonus on ground skill and Angelic Ring fixed - 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 Playtester 2014-11-17 17:05:10 +01:00
  • 796b97455c * Fixed #109 - @charunban is fully usable now - Updated Inter-Server Packet documentation * Added misc battle config, 'disp_servervip_msg' (default: no) Cydh Ramdh 2014-11-17 20:19:30 +07:00
  • d9a9a024f6 Magnum Break damage fixed - The 20% fire damage bonus now only applies if the base damage is at least 1 (#108) (Note: The fix does not work for player damage in renewal.) - Targets two cells away will now only take 100%+10%*level damage (#108) Playtester 2014-11-16 18:06:53 +01:00
  • 08bf5112a1 Fire Pillar, Acid Bomb fixes - 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) Playtester 2014-11-15 21:48:44 +01:00
  • 0edb5c7ff8 Fixed dialog in quests/eden/eden_quests.txt Thanks to Phenex Capuche 2014-11-15 18:52:45 +01:00
  • e7e8b5454b Land Protector, Ground Skill Splash, Storm Gust Knock-back - 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 Playtester 2014-11-15 16:32:26 +01:00
  • ea6ba2dd3f - Fixed item bonus for vesper card in pre re - Fixed warning for infinite warp where count_rewarp increased when the player was warped near a warp Capuche 2014-11-13 21:19:15 +01:00
  • 525e8178c2 Timer interval, Waterball, Crimson Fire Formation and boss walk delay updates - 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 Playtester 2014-11-12 22:42:48 +01:00
  • b28e9dc9dd * Fixed #101 - Warg Dash not beginning run action when used. aleos89 2014-11-12 08:43:27 -05:00
  • ccebc42dc6 Follow-up to (43f25e3) - Revert skill cooldown list not support found problem map server crash. I will try check again. icxbb-xx 2014-11-09 23:10:37 +07:00
  • e7c4abb10c Follow-up to (d62d89d) Special Thank @Playtester icxbb-xx 2014-11-09 18:29:49 +07:00
  • 66df36b0b2 Fixed compile warning (follow-up to 04a1173) - Special Thank @tmav94 icxbb-xx 2014-11-09 10:37:46 +07:00
  • 1d2160758c Fixed Ticket Refiner refining above ticket level. http://rathena.org/board/topic/98997-safe-refine-ticket-refiner/ Euphy 2014-11-07 18:33:32 -05:00
  • 2ca6cd7760 Fixed typo in script command merge to dispbottom (follow-up to 4f09d08) - Special Thank @Euphy icxbb-xx 2014-11-08 05:46:26 +07:00
  • 04a1173f7d Plant damage, Land Mine, minor fixes and 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 Playtester 2014-11-07 23:28:54 +01:00
  • c10c05ab61 * Fixed typo in script for RWC2010_Indonesia (18509) * Changed mr values to use constantan value * Added check for IT_SHADOWGEAR's script restriction before executing it Cydh Ramdh 2014-11-06 20:17:49 +07:00
  • d62d89d59c Fixed Bug. - Snap dodge bug (bugreport:3510)(Hercules 76662cc) icxbb-xx 2014-11-05 00:10:15 +07:00
  • 4f09d08226 Follow-up to a4f2bdb icxbb-xx 2014-11-03 07:04:34 +07:00
  • 9d50c57e8a No cell stacking implemented (official version) (bugreport:9378) - 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 Playtester 2014-11-02 18:56:06 +01:00
  • a4f2bdb2c1 add new scriptcommand - dispcolor or displaymessage displaymessage("<message>"{,<color>{,<Account ID>}}) now you can send message with color to player Hex color see more : http://www.colorschemer.com/online.html icxbb-xx 2014-11-02 15:01:11 +07:00
  • 0d8a7c0313 Fixed NPC_STONESKIN, NPC_ANTIMAGIC, NPC_MAGICMIRROR and Autocast on magic hit - Fixed NPC_STONESKIN, NPC_ANTIMAGIC, NPC_MAGICMIRROR (bugreport:6118, bugreport:9375) * Using the skills will now be 100% successful (can't be resisted) * Fixed skills not working for players (e.g. Ulfhedinn, Mithril Magic Cape, Platinum Shield) * Fixed level 5 and 10 not working at all * NPC_STONESKIN and NPC_ANTIMAGIC will no longer change DEF/MDEF, instead they will increase/reduce physical/magical damage percentually, this IS official behavior - Fixed "Autocast on magic hit" having its chance halved (bugreport:9377) Playtester 2014-11-01 18:10:38 +01:00
  • c3e488ea5b Fixed Bug. - bonus2 bVariableCastrate, bonus2 bFixedCastrate not working (bugreport:9114)(Hercules c5173e0) - Safe check type cash disappear when overweight 90% icxbb-xx 2014-11-01 22:32:57 +07:00
  • b6b6b1366a Autobonus in combos and monster target drop - Fixed Autobonus not working in combos (bugreport:8300) * Combos will now have a "pos" variable that saves the combination of equipment slots used * Autobonus now works with combined positions rather than just a single position * Autobonus should now also work with all equipment slots instead of just the first 15 * This does NOT fix problems with multiple auto-bonuses activating at the same time - Monsters will now stop instantly if their target is completely non-existent * This is mainly for looters that had their loot taken * Hide and most other situations still use the configuration setting monster_chase_refresh Playtester 2014-11-01 12:16:41 +01:00
  • aab669b685 Follow-up to e403ede icxbb-xx 2014-11-01 07:15:28 +07:00
  • 43f25e3509 Fixed Bug. - Issue on packetver 20131223 or newer where skill-damage with type 6 would be considered by the client as endure-type, fixing by swapping with value 8 which presents no different graphical representation than it'd otherwise. (Hercules 1c1e10a) icxbb-xx 2014-11-01 05:38:57 +07:00
  • e403ede904 Update new param. - CharRename add for item Change_Name_Card (12790) - Font icxbb-xx 2014-11-01 04:17:07 +07:00
  • e72e4e2be8 Quick fixes - hom_setting problem 0x08 when use teleport skill (bugreport:9292) icxbb-xx 2014-11-01 03:13:26 +07:00
  • 6b8c297a91 default battleground icon on non-allies is now visible! (Hercules 4ad0766) icxbb-xx 2014-11-01 00:57:08 +07:00
  • 902c920b73 Knockback, stop effects and Skid Trap reworked, monster chase and direction updates, code optimizations - 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 Playtester 2014-10-30 20:12:18 +01:00
  • b735103505 Follow-up to 9cf01b2. Euphy 2014-10-29 12:05:04 -04:00
  • 9cf01b2812 Misc fixes. - Updated turn-in requirements for Tripatriate Union's Feud. (incl. bugreport:9339) http://rathena.org/board/tracker/issue-9339-the-tripartite-unions-feud/ - Moved "Voyage log" NPC coordinates. (bugreport:9225) http://rathena.org/board/tracker/issue-9225-turtle-island-quest-voyage-log/ - Updated "Immuned Shield" (2168) item script. (bugreport:9319) http://rathena.org/board/tracker/issue-9319-immuned-shield-is-using-the-pre-renewal-effect/ - Added Wolfchev's Laboratory warp to custom warper. Euphy 2014-10-29 12:01:00 -04:00
  • cb7b9267c7 MaxHP, MaxSP and Autotrade fixes - Percentual bonuses to MaxHP and MaxSP will now always be rounded down (Aegis style) - Added a security check when calculating MaxHP and MaxSP so there can't be a number underflow (bugreport:9369) - When an auto-vendor gets logged out because of at_timeout, his store will be deleted and no longer restored after server restart (bugreport:9370) Playtester 2014-10-29 13:50:42 +01:00
  • b43b855d21 Improved Icewall walk block implementation - Moved the configuration setting "icewall_walk_block" to monster.conf - Split the configuration into mob_icewall_walk_block and boss_icewall_walk_block so it can be configured for bosses separately - Expanded the configuration * If the value is set to 1, monsters on an ice wall cell will behave like trapped monsters, that means they won't be able to move at all, they will use idle skills and if they are attacked while nobody is in their attack range, they will use their rudeattacked skills; this is equal to official behavior of bosses * If the value is set to 2-255, it will behave as before but monsters in the AI loop now use both idle and chase skills, but will no longer use their rudeattacked skills even if attacked from range; this is equal to official behavior of normal monsters * Official values would be "220" for normal monsters (loop until Icewall expiration) and "1" for bosses (behave like trapped monster) on most official servers, but as some official servers have a less exploitable implementation (from looping AI only a limited amount of times up to outright blocking Icewall on all maps with bosses), we decided for less exploitable default values for now which are 75 for normal monsters (loop 15-35 seconds) and 0 for bosses (impossible to trap in Icewall) - Cleaned up the rudeattacked code a little so it's easier to read Playtester 2014-10-28 23:40:39 +01:00
  • 37faf6b9f6 Icewall stacking update - If you now cast Icewall on an existing ice wall cell, the duration (HP) will no longer be refreshed - If casting Icewall doesn't change any cell, there won't be a skill animation/sound anymore (SP will still be consumed) Playtester 2014-10-28 13:41:40 +01:00
  • 4311630e8f Quick fixes - Fire Pillar is no longer a trap and can no longer be hit or knocked back in renewal (bugreport:144) - Fixed Super Novice Spirit not working and giving compiler warnings (bugreport:9366, bugreport:9365) Playtester 2014-10-28 08:55:42 +01:00
  • b89b669325 Combo skill updates - 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 Playtester 2014-10-27 20:02:43 +01:00
  • 78908d701d Status change and crash fixes - Fixed a potential map server crash when attacking traps - Fixed a problem that sometimes randomly a status change was removed on logout although it shouldn't * Special thanks to icxbb-xx for pointing these two issues out - Sight Blaster will now always be removed on logout - Implemented official formula for Gypsy's Kiss / Service For You (bugreport:9359) Playtester 2014-10-26 13:00:19 +01:00
  • b88e95381d Sight Blaster and other skill fixes, magic reflect, crash, trap display and monster behavior fixes - 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 Playtester 2014-10-25 13:13:06 +02:00
  • 41ec18eae7 Map server crash fixes - Fixed two parts of the code that could lead to a map server crash Playtester 2014-10-22 21:23:38 +02:00
  • 8b755e5419 Bug Fixes * 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) aleos89 2014-10-21 14:04:05 -04:00
  • 5cfd3bd537 Corrected Ancient Gold Decoration description (bugreport 9154) Capuche 2014-10-20 22:25:14 +02:00
  • 93c6930f99 Weapon endow removal updated - Now weapon endow effects will no longer be removed when unequipping / changing a shield (bugreport:1490) - Now weapon endow effects will be removed when dual wielding and unequipping / changing one of the two weapons Playtester 2014-10-20 19:58:22 +02:00
  • 753f4c5b31 Small Icewall implementation improvement - Now monsters will walk into an icewall from the south and west if they already started moving to that cell * This will make it slightly easier to trap a monster in an icewall (this is official as can be seen in the videos I linked in the main commit) * This only applies if the icewall_walk_block configuration setting was not set to 0 (disabled) Playtester 2014-10-19 19:46:51 +02:00
  • 03dc02d4d6 * Fixed bonus_script doesn't remove Status Icon when timer is over (bugreport:9341) * Some little code stylization Cydh Ramdh 2014-10-19 20:59:44 +07:00
  • a52b010668 - Merged config option knockback_left from Hercules * Now the default direction is "east" and consequently the knockback direction is "west" when standing * This means if the source cell (ground target center or position of caster) is on the same cell as the target, it will be knocked back to the west * This also can effect other things like how an object is placed when cast on the cell you are currently standing on * If you disable the option it will use the old behavior and use the direction of the unit as default direction (and backwards as knock direction) * Special thanks to kisuka and Michieru for the original implementation: 2b8d5013ea - Optimized the knockback / instant movement code * clif_blown will now call both clif_slide and then clif_fixpos, this is what Aegis does when any instant movement effect occurs and ensures proper updating of the position * skill_blown will call clif_blown and ensures the correct client information already, so it's no longer necessary to manually call clif_slide and clif_fixpos after it * replaced all calls of clif_slide and then clif_fixpos in row with a single call of clif_blown, makes the code look a lot cleaner * I tested over 20 knockback situations including knockback of frozen target and it worked fine for me, please report if there is still anything wrong (was why fixpos commented in the first place?) Playtester 2014-10-19 11:58:57 +02:00
  • 5540d89cb0 Official Icewall implementation and other fixes - Reverted all the icewall-related changes done in SVN r15777 and following as testing shows they aren't official and are actually pretty exploitable (bugreport:7412) - Instead implemented the official icewall characteristic that monsters can only leave an icewall cell to the west or south, the changes include: * The "sight" path check no longer checks for the current cell so standing on an icewall allows you to see/attack into any direction * The path finding will still ignore the current cell as before but the walk routine will not allow to walk east or north while standing on an icewall cell * This leads monsters in the situation where they go through an AI loop not allowing them to escape the icewall (if their target is north or east of them) * Monster in this situation will use idle skills and if they get attacked will use their rudeattacked skills if available, similar to traps like Spiderweb * Added a configuration icewall_walk_block that allows to configure how long a monster should go through the AI loop before the server allows it any movement, this "safety" system is official and seems to equal about 75 AI loops; if you want to disable the whole icewall system so that monsters don't get stuck in icewall at all, just set this to 0 * Here are videos from jRO showing how this system works: http://ragdo.blog56.fc2.com/blog-entry-763.html - Implemented the official calculation for "direction"; now you will be considered horizontal/vertical/diagonally aligned with a target cell in the exact same way as on official servers, this is for example used to determine whether an icewall or a firewall should be horizontal, vertical or diagonal; the only thing that is still unofficial is the default direction (officially always "west"); effectively now there are more situations considered diagonal than before - Fixed a compiler warning (converting double to float) - Further cleanups on the idle skill use code for immobile monsters and monsters near a player but without a target (now skill using will always go via mob_unlocktarget) * This also fixes that monsters switched to idle mode and start to use idle skills one second too late Playtester 2014-10-18 16:52:55 +02:00
  • 5110ddbaf4 MVP item drop mode setting added - Added a new configuration setting "item_drop_mvp_mode" * By default "item_drop_mvp_mode" is set to official order (0) which is always starting at first, then going to the second if the first didn't drop and only checking the third if the second didn't drop either * @mobinfo will now properly consider this and display the effective chance, so if the MVP has 3 MVP item drops at 50%, the first item will display the chance 50%, the second 25% and the third 12.5%, this should help a lot against drop rate confusion (e.g. players wondering why always only the first item drops when all three are displayed at 100%); this only applies to official order (0) * When "item_drop_mvp_mode" is set to random order (1), MVP item drops are checked in random order, but if one MVP item drops, the process will be canceled, so you will never get more than one MVP item no matter how high the drop rate is * When "item_drop_mvp_mode" is set to all items (2), all MVP item drops are checked and have a chance to drop, regardless of other MVP items already being dropped or not (i.e. there is a chance that the player gets all 3 MVP items) Playtester 2014-10-13 21:11:16 +02:00
  • 464dd45863 Monster idle skills, chase, final cleanups - Spotted monsters will now use their idle skills even if no players are on the map * This is official behavior and allows them to metamorph and heal up even if nobody is on the map * I originally had concerns about the performance, but as the dynamic mobs option is enabled by default and set to 5 minutes, monsters will only stay "spotted" for 5 minutes when nobody is on the map anyway, this doesn't cost much extra performance - Increased chase range of monsters by 2 * Tested this thoroughly and the effective chase range is actually 2 cells larger than listed in the "Range3" column * Special thanks to ultramage and Michieru for helping me testing this - Some final cleanups in the unit_stop_attack and unit_stop_stepaction functions * Special thanks to icxbb-xx for pointing these out Playtester 2014-10-12 21:39:18 +02:00
  • c2377c8f54 Minor monster walk and skill use fixes - Fixed a bug that caused monsters to never use their idle skills even if the define MOB_LAZYSKILLPERC was set * The default value of the define is now 100% for spotted mobs and 0% for non-spotted mobs as on official servers * On officials, spotted monsters also use skills when nobody is on the map (healing up, metamorphing), but I decided to not implement this out of performance reasons for now; needs to be discussed as this would prevent the exploit of players leaving the map to heal up SP and then coming back to kill an MVP - Monsters now use complex path searching for their random walk, so they can also walk around corners now (OFFICIAL_WALKPATH still applies!) - Fixed spotted monsters using their "walk" skills even if nobody is on the map - Monsters will no longer stop when using "walk" skills (they are supposed to be used while walking) Playtester 2014-10-12 14:43:34 +02:00
  • b1330a4c63 Random walking, monster target dropping - Implemented official behavior for random walking of monsters (bugreport:9340) * Updated the interval between walks from 3-6 seconds to 4-5 seconds * Added a define MIN_RANDOMWALKTIME that is now used anywhere the interval is applied so it's easier to change * Monsters will no longer attempt to walk to the cell they are currently standing on (note: still requires a proper "no cell stacking" implementation) * Monsters will only target a cell within a 15x15 area around them - Moved the "mob_ai" 0x008 configuration setting to mob_unlocktarget, so it applies to all cases of monsters unlocking targets - Cleaned up the unit_stop_attack and unit_stop_stepaction functions * unit_stop_attack now makes sure that the target is always set to 0, even if no attack timer currently exists * replaced several calls of unit_set_target that set target to 0 with unit_stop_attack, this is important because the attack timer should always be deleted at the same time the target is set to 0 * this also fixes the problem that caused monsters to sometimes drop their target after an attack Playtester 2014-10-10 21:11:05 +02:00
  • f3916c1baf More code optimizations - Added a new function unit_stop_stepaction which completely cleans up a planned action - The new function will now be called when a new action request is received and when changing the map - Removed setting of "chaserange" as part of the step action system as it's no longer used - Changed check_distance functions to return "bool" rather than "int" - Special thanks to Cydh for pointing out possible optimizations Playtester 2014-10-07 20:22:23 +02:00
  • ebd3dc97bc Code optimization and bug fixes - Removed redundant code - Fixed two small bugs in the distance_client calculation - Improved the "step action" system added in the last commit * Added a "unit_step_timer" that is now used for all step actions; now even skills will always be executed at "full cell" (if you don't lag) * The "step action" system will no longer mess with anything and rather just call the normal attack/skill functions that are also called by the client; this removes a lot of unneeded code and also works a lot better since the existing functions have been bug-tested the most; this also fixes a problem with the "auto-follow if you can't reach target" system Playtester 2014-10-06 23:03:46 +02:00
  • 2c86ee4356 Monster skill use behavior, ranges, position lag fixes - Updated monster skill use behavior so monsters use skills the same way and at the same rhythm as official servers (bugreport:009326), the changes include: * Unified the "monster can't move by default" and the "monster trapped" code as it really should behave exactly the same * Fixed a bug that caused the "monster skill use" routine to be called 20 times more often than it should in some situations * When a monster attacks you and you run away from it, the monster will now check if it has a ranged skill on "attack" state before switching to chase state * Monsters will now always do a normal attack before using "attack" state skills * Fixed a bug that caused monsters to switch to idle mode and never use their chase skills when they get hit continuously * Changed default for skillrange_from_weapon from 30 (all but player) to 0 (none); monsters will now use all skills at the skill range and not at their own attack range, if they get tanked from farther away than skill range, they won't use these skills - Updated ranges to work as on official servers (bugreport:009326), the changes include: * Implemented new functions "check_distance_client" and "distance_client", that instead of the server-sided square range system use the circular one that the client uses; these functions should be used for units that send their commands via the client (players mostly) * Applied the new distance algorithm to some player-specific range checks, players will now have a circular attack range that reflects their attack range on the client; this makes it impossible to hack the client for more diagonal range * Removed the arbitrary +1 range bonus at range checks; as monsters now react fluently, they won't need it anymore, that means a monster with for example 4 attack range will now only attack targets within a 9x9 area around it, the moment you step out of this area, the attacks will stop (if the monster can move it will follow you); as for players, the extra cell attack range when on a linear line to the target now is integrated into the distance algorithm, that means a player with attack range 4 can attack from 5 cells away when directly on line with a monster, but no longer diagonally as range is circular for players now * Implemented a new "step action" feature to reflect official chase range behavior; when an attack or skill is used inside the attack range, it will act exactly as now, the skill is used once the signal from the client was received; however, if an attack or skill is used outside the attack range, the player should move into the chase area which is 1 cell inside the attack range border; the client actually sends us where to use the attack / skill from, but previously we just dropped that information the moment an attack request came; now instead of stopping the player instantly on an attack request, the player will continue moving to the target cell and then automatically use the command received earlier (it will be remembered); this change was absolutely necessary as the client sends the attack request slightly before attack range is reached, execution on official servers only takes place on every full cell moved; the new system copies this behavior - Implemented an improved hit-lock system (bugreport:007460), the changes include: * MVPs are no longer immune to being stopped by a hit unless they used Endure * When hitting any unit, it will stop for its "dMotion" interval, exactly at the end of "dMotion" it will continue walking (official behavior); this helps getting more "move" packets to be displayed * The unit that was hit will be immune to being stopped for another "dMotion" interval, this allows to slow down any units by hitting them frequently, but makes it almost impossible to completely stop them forever (depends a lot of ASPD and dMotion value); this does not affect special hit-lock properties (some skills and events should set delay anyway) * The unit that was hit will no longer be "pulled" to the next cell; this caused a lot of position lag, it should be much better now - Fixed Sightrasher missing its variable cast time in Renewal Playtester 2014-10-05 17:26:06 +02:00
  • 6c8dd18819 Merge branch 'master' into sc_config Cydh Ramdh 2014-10-05 16:04:50 +07:00
  • 9f36071782 * Follow up 0d2ed0a, removed unused files! (how come they were staged? I never did that ._.) Cydh Ramdh 2014-10-05 15:18:35 +07:00
  • 6b70ef90c6 Expand SC Config * Added SCF_FAILED_IMMUNITY flag: Failed to be applied if target has immunity by Golden Thief Bug Card's effect or Wand of Hermode * Added optional fields for sc_config_db.txt: * MinDuration: Minimum duration of SC should be applied after all SC status/bonus resistances. * MinRate: Minimum rate of SC should be applied after all SC status/bonus resistances * Removed some hardcodes related teh changes above Cydh Ramdh 2014-10-05 15:15:15 +07:00
  • 0d2ed0aff5 Merge branch 'master' into sc_config Cydh Ramdh 2014-10-05 14:46:37 +07:00
  • c009b3f4a4 Pathfinding now works exactly as on the client - This should solve most of the position lag problems, especially ones that caused monsters to suddenly appear next to you (happened especially often when using icewall) - Added a new heap implementation to db.h (POP2, PUSH2, SIFTUP, SIFTDOWN, UPDATE) that simulates the heap that the client uses, there was no other way to reproduce 100% exact behavior - I recommend using the old heap implementation for everything else - Updated path.c to use the new heap macros and also fixed the order in which the different possible directions are pushed into heap - Special thanks to rversteegen for helping me with various tests and the heap implementation - Special thanks to ultramage for providing info that helped us narrowing down the possible variables Playtester 2014-10-03 17:51:24 +02:00
  • 1fe4ad5af4 Item Updates: * Changed type of some box-type items, from '11' to '18' * Corrected some Aegis names * Uncommented some item packages * Updated item_db_re.sql file Cydh Ramdh 2014-10-03 16:42:01 +07:00
  • a39f9ac8a2 Various cleanups. * Updated comments for chat.c and pet.c files. * Cleaned up various other comments and stylization. aleos89 2014-10-02 12:49:04 -04:00
  • 2b870c24d5 Various cleanups. * Added and cleaned up comments. * Added checks to prevent map server crashes. * Cleaned up some reports from CPPCheck. * Other various stylization cleanups. aleos89 2014-10-02 09:16:52 -04:00
  • b48cdbf027 Merge 4832808787aa4be7f4347abaf6df88d08537bb32 into ce090ce916e567444f223894d47ecd3a39dd77ef Cydh Ramdh 2014-10-02 07:09:45 +00:00
  • ce090ce916 Skill Changes: * 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 Cydh Ramdh 2014-10-01 17:42:30 +07:00
  • c6ba813994 Bug Fixes: * Wrong calls, should be callfunc. Thank @raynra * Follow up 8256194, updated const.txt following new MAPID values for Super Novices * EAJL_SUPER_NOVICE 0x8000, for Super Novice masking * EAJ_SUPER_NOVICE 0x8100 * EAJ_SUPER_BABY 0xA100 * EAJ_SUPER_NOVICE_E 0xC100 * EAJ_SUPER_BABY_E 0xE100 Cydh Ramdh 2014-09-30 09:52:29 +07:00
  • b64ef9258d Merged Pathfinding code cleanup from Hercules (https://github.com/HerculesWS/Hercules/commit/78028c8) * This fixes a problem where units sometimes walk diagonally through a wall server-sided; there should be less client desync now (but it might not be perfect yet) * I kept the rAthena specific option path_blown_halt * Special thanks to piotrhalaczkiewicz for the original implementation and aleos for helping me with the merge Playtester 2014-09-29 21:14:58 +02:00