8488 Commits

Author SHA1 Message Date
aleos89
952b072468 Implemented item bonuses bWeaponAtkRate and bWeaponMatkRate (fixes #1161)
* Increases an equipped weapon's ATK/MATK by given rate.
* bWeaponMatkRate does not work in pre-renewal as there is no MATK for weapons in pre-renewal.
* Renamed 'bonus2 bWeaponAtkRate' to 'bonus2 bWeaponDamageRate'.
- Seems to be unused in the current item database.
- Damage fits the bonus name better as it increased the final damage, not the weapon's attack specifically.
2016-05-11 13:36:59 -04:00
aleos89
af8524aa7d Follow up to 10bac96
* Adjusted the directional check for script command pushpc.
2016-05-11 08:42:11 -04:00
Aleos
cdb626c628 Merge pull request #1252 from wilkemeyer/fix/clif-emblem-validate
Refactored part of guild emblem validation
* Corrected clif_validate_emblem returning incorrect value types.
* Created readable constants.
Thanks to @wilkemeyer!
2016-05-10 08:15:56 -04:00
Lemongrass3110
2e770337ea Removed a disturbing whitespace
Fixes #1256
2016-05-10 13:04:18 +02:00
Aleos
440c6ef5bb Corrected some packet structure issues* Resolves
Corrected some packet structure issues
* Resolves a chatting issue while using fake names.
* Resolves an incorrect packet header size for requesting player registries.
Thanks to @wilkemeyer!
2016-05-09 09:24:48 -04:00
Lemongrass3110
c4390e58d5 Fixed compilation with visual studio
Follow up to 0da7136.
Fixes # 1254.
2016-05-08 17:18:30 +02:00
Aleos
62d9a9b040 Add Requiem weapon set
Added Requiem weapons
* Implemented two item bonuses bMagicAddRace2 and bIgnoreMdefRace2Rate.
Thanks to @secretdataz!
2016-05-08 08:53:03 -04:00
Florian Wilkemeyer
d2ded889cb map-server: return-type-fix clif_validate_emblem was declared to return bool but actually returned int-value 2016-05-07 22:17:25 +02:00
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
Florian Wilkemeyer
6104db8d1e map-server: clif: fixed missing wfifo allocation in global-message-parser 2016-05-07 16:46:19 +02:00
Florian Wilkemeyer
b414faef45 map-server: intif fixed too small wfifo allocation 2016-05-07 16:46:13 +02:00
Jittapan Pluemsumran
7ec06ca1a8
Follow up to dc74119 2016-05-07 10:29:24 +07: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
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
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
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
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
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
Jittapan Pluemsumran
0f1b1af928
Implemented additional item bonus bMagicAddRace2 and bIGnoreMdefRace2Rate 2016-04-26 00:31:24 +07:00
Florian Wilkemeyer
1f34a8cd10 Re-Added PostBuild Step to map-server VCProject which copies the corresponding conf/import-tmpl to conf/import if they do'nt exist.
Note:
this build-step has been taken from the old VCProject file.
A cleaner way would be a separate POST_BUILD Dummy-Project which executes a batch file which would perform these actions. (So it's subject-to-change :))
2016-04-25 12:56:44 +02:00
Florian Wilkemeyer
4f47f1fab0 Added Visual Studio 2013 Solution && Clean Project Files with proper dependencies
- x64/AMD64 Support prepared (will be added in a followup commit, it needs some changes in 3rdpary libs)
2016-04-25 12:49:35 +02: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
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
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
ef779946fa Resolved a compile warning
* Removed an unused variable from 55e4df1.
2016-04-19 08:49:34 -04: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
Lemongrass3110
5070855f0a Reverted f0aa0e5
This commit fixed one problem, but actually broke a lot of other things.
2016-04-17 23:47:09 +02:00
Lemongrass3110
f0aa0e5b60 Fixed the unknown packets on clients from october 2015 onwards
Sorry guys, we actually created this issue ourselves, because we overwrote the data of the next incoming packet eventually.
Maybe this will make 2015-10-29 also useable again.

Fixes #1049.
2016-04-17 22:31:19 +02:00
Aleos
76922d87a3 Adjusted some characters in a comment
* Corrected a comment to use UTF-8 characters.
2016-04-17 12:47:00 -04:00
aleos89
e30df46797 Fixed Tiger Cannon and Sky Net Blow splash damage (fixes #1025)
* Tiger Cannon and Sky Net Blow will now properly give Combo State bonus damage to splash targets.
* Corrected Flash Combo not delaying attacks, acting, and item usage for the entire cast time.
2016-04-17 10:51:16 -04:00