8088 Commits

Author SHA1 Message Date
aleos89
cb703c5bfa Expanded instance_db to include idle time
* Follow up to c97be60.
* Adjusted the instance_db to allow instance idle time to be adjustable.
2016-05-14 12:06:04 -04:00
aleos89
c97be60bbf Expanded the instance system to support new modes
* New modes include: No player attached, single player, and guild.
* Expanded script command instance_create to take in an owner ID and an optional mode.
* Added a new script command instance_check_guild (works the same as instance_check_party).
* Refactored all instance_id to unsigned short.
2016-05-14 11:57:54 -04:00
aleos89
4c617bcd59 Corrected Graffiti removing all units (fixes #1263)
* Graffiti will no longer remove all units of the Rogue class.
* Graffiti will now fail to cast again if a Graffiti already exists on the map.
* Graffiti should only be removed on map changes, but Remover/Cleaner still removes it (custom) since the skill was never officially implemented.
2016-05-14 09:39:40 -04:00
aleos89
ca049a66f4 Resolved a compile error for CentOS (fixes #1190)
* Send a 0 instead of NULL to the va_list when freeing item groups.
2016-05-13 13:59:27 -04:00
aleos89
9cd7e595cf Updated 16th Night effect (fixes #1164)
* No longer drains 1 SP every second.
- Description states it does but tests show it does not.
2016-05-12 14:18:51 -04:00
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
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