13553 Commits

Author SHA1 Message Date
aleos89
c6ba347a54 Increased MAX_RACE2_MOBS for future use 2016-05-07 13:44:49 -04:00
Aleos
0da7136ae7 Merge pull request #1241 from wilkemeyer/optimize/pathsearch-memallocations
Optimized path_search() by reducing amount of allocations per call.
Thanks to @wilkemeyer!
2016-05-07 13:00:36 -04:00
aleos89
0c09928dd3 Fixed the Monster Transform status icon (fixes #1215)
* Resolved the timer getting removed from the icon on map changes.
* The status is not infinite so it should not be sent to the client as infinite.
2016-05-06 08:59:23 -04:00
Lemongrass3110
2b61f45a94 Fixed readparam behaviour for variables
Readparam now works correctly with variables.
This is a follow up to e112fc1 which addressed #647.

Fixes #1213, thanks to @Everade.
2016-05-06 01:14:12 +02:00
aleos89
55165ac0bf Fixed a map crash from the mob mode update (fixes #1235 and fixes #1238)
* Follow up to 55e4df1.
* Added an extra check to make sure block list is not null on skill use.
Thanks to @Vomaito, @keitenai, @spinzaku, @Playtester, and @Tokeiburu!
2016-05-05 12:36:33 -04:00
Lemongrass3110
09974e8ded Merge pull request #1243 from wilkemeyer/fix/skillidx-can-become-out-of-bounds
map-server: increased size of skilldb_id2idx[] array, to fix crash caused by array oob access.
2016-05-05 00:06:00 +02:00
Florian Wilkemeyer
f7bc696335 map-server: increased size of skilldb_id2idx[] array, to prevent out-of-bounds access.
Bug:
It was Initially declared as size of UINT16_MAX (0xffff) but as the skill-id itself which will be used
as offset can reach this value, it's too small.
2016-05-04 21:57:10 +02:00
aleos89
d83559cb7f Added missing Summoner constants
* Added JOB_SUMMONER and EAJ_SUMMONER constants.
* Updated eA Job System documentation.
2016-05-04 12:58:09 -04:00
Florian Wilkemeyer
ce97b9ae0f corrected some typos in descriptive comments 2016-05-04 14:46:29 +02:00
Florian Wilkemeyer
99cb385f34 map-server: optimized path_search(), by removing dynamic memory allocation for each call.
Pathfinding uses BHEAP_* (vector) operations from db.h, before this optimization each pathsearch resulted in an call to aMalloc() / aFree()  which is quite costly as it fragments memory over time & may cause software stalls when the application's heap must be resized.

Now it allocates the Heap once (& may grow it accordingly) and re-uses the allocated memory every time/call.

This makes also tons of monsters less cpu-time intensive.
2016-05-04 14:00:37 +02:00
Playtester
8a37f1b2a9 Marionette Control, Mechanic Back/Front Slide
- Marionette Control now has a range of 7 (fixes #1239)
- Mechanic Back/Front Slide skills are no longer blocked by gear that makes you knock-back immune (fixes #1227)
2016-05-03 22:04:43 +02:00
Lemongrass3110
2170cfc01b Fixed a cashshop crash after reloaditemdb
Fixes #1234, thanks to @julia40124009.

Please note that it is currently not supported to resend the cashshop data to the players. It is only transmitted once during login as per request from the client.
2016-05-03 19:33:23 +02:00
Lemongrass3110
6a43804f98 Fixed airship combo
It now gives the correct HP bonus.
Fixes #1237, thanks to @Asheraf.
2016-05-03 18:00:30 +02:00
rAthenaAPI
7cac060fad SQL synchronization
[ci skip]
2016-05-03 17:46:20 +02:00
aleos89
79ba46c9a0 Fixed Champion Monster modes (fixes #1226)
* The monster modes were stored in decimal format so the converter created invalid hexadecimal modes.
* Resolved a few issues with the Monster Converter tool.
-- Fixed some run time errors.
-- Added support to check for decimal format when converting.
2016-05-03 10:48:51 -04:00
Lemongrass3110
b14b3e2888 Used weapon type constants where possible
This commit makes those item scripts a little more readable and decreases the chance of mistakenly using an incorrect weapon type id.

Follow up to c6187fa.
2016-05-02 23:30:04 +02:00
Playtester
89f86b2533 Lunatic Carrot Beat, Catnip Meteor, Grand Cross (fixes #1219)
- Lunatic Carrot Beat and Catnip Meteor now deal 300% to 700% damage which is calculated once and split between multiple hits rather than calculating damage per hit; despite this, they can still hit plants
- Reduced cast time of Lunatic Carrot Beat from 3000ms to 1500ms and cooldown from 8000ms to 6000ms according to latest tests on kRO
- Fixed Catnip Meteor still having a fixed cast time
- Increased stun chance of Lunatic Carrot Beat from 10% to 20%
- Increased curse chance of Catnip Meteor from 10% to 20%
- Increased cast time of Grand Cross in pre-re to 3000ms (see #1140)
- Fixed Grand Cross sometimes having 4 intervals instead of 3 (see #1140)
2016-05-02 23:27:08 +02:00
Lemongrass3110
c6187fa5c1 Corrected weapon types for Daehyon Card
Fixes #1230.
Thanks to @joelolopez
2016-05-02 23:17:42 +02:00
aleos89
cb52138eaa Corrected Tiger Cannon combo bonus (fixes #1233)
* Tiger Cannon combo bonus should not be applied when used through Flash Combo.
* Follow up to e30df46.
2016-05-02 13:01:18 -04:00
Lemongrass3110
1967fab1ce Merge pull request #1232 from wilkemeyer/fix/pc_setpos-return-enum
fix return values in pc_setpos
2016-05-02 15:42:38 +02:00
Florian Wilkemeyer
7ff50e46a7 fix return values in pc_setpos (use enum constants instead of INT-values for return return value) 2016-05-02 15:19:37 +02:00
aleos89
abaed18016 Corrected Tension Relax HP regeneration while overweight (fixes #1177)
* When Tension Relax ends so should the HP regeneration bonus.
2016-05-01 09:51:19 -04:00
aleos89
d36610d605 Fixed a compile error on pre-renewal
* Follow up to 44cf0d0.
2016-04-30 12:04:25 -04:00
aleos89
44cf0d0e93 Corrected Enchant Blade damage formula (fixes #975)
* Enchant Blade now factors in target's DEF/MDEF and source's MATK.
2016-04-30 10:09:49 -04:00
aleos89
ba1c45c45d Fixed an issue with Chorus skill range (fixes #1162)
* Follow up to 497cca1.
* Resolves some Chorus skills not activating properly.
2016-04-29 16:21:11 -04:00
aleos89
703b1ec6ed Fixed NPC_SUMMONMONSTER switching monster mode to the slave mode (fixes #1221)
* NPC_SUMMONMONSTER should not call status_calc_slave_mode as it should be spawned like a normal monster.
2016-04-28 13:44:47 -04:00
aleos89
b02115e163 Updated Fresh Shrimp heal rate (fixes #1220)
* Fresh Shrimp now heals 4% of max HP.
2016-04-28 12:29:34 -04:00
Aleos
7a3b3e5a8c Merge pull request #1216 from rathena/hotfix/issue1214
Updated stack logic in atcommand item2
* Resolves shadow equipment stacking.
* Cleaned up how pet eggs are created.
Thanks to @julia40124009 and @Lemongrass3110!
2016-04-27 13:05:25 -04:00
Lemongrass3110
16f2d54248 Updated the logic in atcommand item2
Now shadow equipments will not stack anymore.
Pet eggs are created as in normal item atcommand.

Fixes #1214
Thanks to @julia40124009 for reporting.
2016-04-27 10:22:00 +02:00
aleos89
9fd08ef540 Corrected a comment to match the config value
* Follow up to 6227135.
2016-04-26 10:06:45 -04:00
Aleos
62271358da Merge pull request #1203 from rathena/hotfix/issue1198
Small refactor of pc_setpos
* pc_setpos now delivers an enum for the error that happened.
* Additionally it now returns a different return value when the targeted player is in autotrade state.
* Added usage of this new return value to all recall commands.
* Cleaned up some outdated conf translations.
Thanks to @Lemongrass3110!
2016-04-25 12:26:30 -04:00
aleos89
f0b093f0fd Follow up to 6ab9fd0
* Adjusted the message returned.
2016-04-25 11:10:53 -04:00
Lemongrass3110
6688089192 Follow up to 6ab9fd0
Fixed a typo.
2016-04-24 20:41:01 +02:00
Lemongrass3110
6ab9fd0eea Small refactor of pc_setpos
pc_setpos now delivers an enum for the error that happened.
Additionallly it now returns a different return value when the targeted player is in autotrade state.
Added usage of this new return value to all recall commands.
2016-04-24 20:32:05 +02:00
Aleos
e5af11309b Merge pull request #1201 from rathena/cleanup/recallall-redundant-deathcheck
Removed a redundant death check in atcommand recallall.
* This check is also done in pc_setpos.
-- It additionally corrects recallall ignoring a configuration by doing the check in the atcommand.
2016-04-24 11:26:43 -04:00
Lemongrass3110
0a92487d19 Removed a redundant death check in recallall
This check is also done in pc_setpos. It additionally ignores one of the configurations by doing this here.
2016-04-24 12:07:24 +02:00
Aleos
de8c0b78c0 Merge pull request #1200 from wilkemeyer/fwi/map_skill_cleanup_id2idx_ansi-c
* Cleaned up and optimized skill index lookup.
Thanks to @wilkemeyer!
2016-04-23 12:32:11 -04:00
Florian Wilkemeyer
2a60f56a7a map-server: skill-subsystem: removed yet another useless DBMap (skilldb_id2idx).
As a skill ID is UINT16 && our skill index is also UINT16 - there is absolutly NO need for a B-Tree.
The lookup id2idx is done really often. so a tree-traversal is a bit too costly here.

The new -array based- implementation will consume 256 KiB on 32 Bit && 512 KiB memory to provide
a static lookup table.
2016-04-23 16:45:45 +02:00
Florian Wilkemeyer
80d4474bc7 map-server: cleanup: skilldb_name2id declared in header not in source-file. 2016-04-23 16:24:07 +02:00
Cydh Ramdh
94840b1734 Follow up e8f2fc166fd61aa1f32d18d7cce4cdccaae9696d
* Fixed compilation warning, incompatible types for timer.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2016-04-23 17:59:36 +07:00
aleos89
10bac969ee Added DIR_* to script constants
* Adjusted a few location in source to use the constants.
Thanks to @Lemongrass3110!
2016-04-22 23:12:47 -04:00
aleos89
e8f2fc166f Added comments to rental functions
* Follow up to 074bdde.
* Changed pc_inventory_rental_end to a bool type.
2016-04-21 12:13:45 -04:00
aleos89
eff0dca005 Updated bone_drop configuration description
* Added a note to state the default item's trade restrictions.
2016-04-20 14:59:17 -04:00
aleos89
ef779946fa Resolved a compile warning
* Removed an unused variable from 55e4df1.
2016-04-19 08:49:34 -04:00
rAthenaAPI
a010531159 SQL synchronization
[ci skip]
2016-04-18 22:06:54 +02:00
aleos89
55e4df14c2 Overhaul of the mob mode system
* This rewrite allows for better adaptation from the Aegis Class and Attribute fields.
* Refactored the renewal level penalty function.
* Slaves are now properly assigned an official slave mode of CanWalk, CanAttack, and NoRandomWalk.
* Removed extra Boss checks and adjusted others to use their proper functions.
* Properly implemented Skill Immunity mode to match Aegis.
* Separated MVP and Boss modes.
-- MVP mode defines when mobs should give MEXP, MVP Drops, and show the MVP sign.
-- MVP now have their own item drop configurations.
* Updated the mob_db and mob_skill_db to match the new mode structure.
-- Included a Perl tool (tools/convert_monstermode.pl) to allow people to convert their custom mobs to the new mode structure.
Thanks to @Playtester and @Lemongrass3110 for help with debugging and information!
2016-04-18 14:49:27 -04:00
Atemo
6649d2e98d Merge pull request #1175 from rathena/followup_eqi
Correct docs and script follow up the refactor of EQI
2016-04-18 16:54:27 +02:00
Atemo
1a87f90aa9 Structure change of F_getpositionname 2016-04-18 16:48:54 +02:00
Atemo
7d6be7e21e Add F_getpositionname to return the EQI_* name 2016-04-18 15:50:28 +02:00
Lemongrass3110
31652610cc Added Visual Studio 2015 Update 2 files to gitignore
Merged pull request #1186.
Thanks to @secretdataz
2016-04-18 12:35:10 +02:00