328 Commits

Author SHA1 Message Date
Playtester
b4ae40d401
Synchronize Damage Feature (#8305)
- Added a new monster stat "ClientAttackMotion" to mob_db.yml which is the time from when a monster attacks until which the damage shows on the client at 1x speed
- Added a new config synchronize_damage; when set to "yes", the client will display the damage of normal monster attacks at the exact time it is applied on the server, removing position lag (fixes #259)

Special thanks to all people who worked together to make this possible.

Co-authored-by: aleos, Lemongrass3110, Atemo
2024-05-25 18:59:22 +02:00
Lemongrass3110
023263df7d Fixed another crash in clif_wis_message
Follow up to 7ddd035 and a44d954

Fixes #8359

Thanks to @gmragnarok
2024-05-25 15:31:30 +02:00
Atemo
361530a1b6
Converted some packets to structs (#8351) 2024-05-21 21:28:01 +02:00
Atemo
d1cf6f4ac7
Converted some packets to structs (#8332) 2024-05-20 21:13:59 +02:00
Lemongrass3110
fe9f617f97
Fixed clif_sendfakenpc (#8330)
Fixes #8321
Fixes #8328

Thanks to @kaninhot004
2024-05-13 11:45:00 +02:00
Lemongrass3110
580511c0bb Fixed a warning
Fixes #8325

Thanks to @Beginerxx
2024-05-13 07:44:36 +02:00
Lemongrass3110
04386a8ebc Follow up to d445497 2024-05-10 00:12:10 +02:00
Jittapan Pluemsumran
d445497870
Converted a bunch of packets to structs (#8295)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-05-09 23:06:32 +02:00
Lemongrass3110
a44d9540fb
Fixed clif_wis_message (#8308)
Fixes #8307

Thanks to @mrpond
2024-05-06 02:04:51 +02:00
Singe Horizontal
fd36fc04b2
Fixes clif_viewequip_ack packet length (#8304) 2024-05-05 15:13:06 +02:00
Lemongrass3110
b48948822a
Replaced NULL with nullptr (#8298) 2024-05-03 19:38:13 +02:00
Lemongrass3110
3ada0c11be
Converted some banking packets to struct (#8297) 2024-05-03 13:35:20 +02:00
Kanin Temsrisuk
90b2b9cbbf
Fix auto spell list on renewal (#8299)
Follow up to 9440869
2024-05-03 10:12:31 +02:00
Daegaladh
7ddd035442
Fixed clif type conversion warnings (#8294)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-05-03 09:26:02 +02:00
Lemongrass3110
827517f8cf
Cleaned up a few TODOs from #7963 (#8254) 2024-05-02 22:44:31 +02:00
Atemo
2ebdd50e08
Fixed warning about favorite item (#8290) 2024-05-02 15:35:00 +02:00
Atemo
5df7de2b15
Added missing sd check for clif_skill_fail (#7963)
Fixes #8239 

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-04-15 22:38:46 +02:00
Lemongrass3110
cb42dceb87
Switched most C headers to C++ (#8225) 2024-04-07 22:14:51 +02:00
Lemongrass3110
8745391ad4
Cleaned up ZC_INVENTORY_TAB (#8217)
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
2024-04-04 08:42:19 +02:00
Lemongrass3110
9440869743
Cleaned up ZC_AUTOSPELLLIST (#8216)
Cleaned up code.
Fixed invalid allocations from the old code.
Changed to struct.
Use correct packet id.
Fixed invalid RENEWAL check instead of PACKETVER.

Thanks to @aleos89
2024-04-02 16:06:56 +02:00
Lemongrass3110
349b04bf28
Cleaned up CZ_PARTY_CONFIG (#8204)
Thanks to @aleos89
2024-04-02 09:53:11 +02:00
Playtester
1a004f0164
Mercenary, Regen and Frenzy Improvements (#8185)
- When a Mercenary gains a bonus, there will now be an animation
- Mercenary bonuses now last for 5 minutes instead of 10 minutes
- Fixed HP/SP recovery values of Mercenaries (and Elementals)
- Mercenaries now recover HP when walking
- Homunculi no longer recover SP when walking
- Mercenary natural recovery interval is 8s for HP and 6s for SP
- Homunculus natural recovery interval is 2s for HP and 4s for SP
- MER_CRASH now only deals 1 hit and can be cast-cancelled
- Frenzy now drains HP every 10 seconds instead of every 15 in pre-renewal
- Fixed SP cost Mercenary Frenzy (100 -> 200 SP)
- Killing monsters exactly 2 times below you base level now still counts as mercenary kill
- Fixes #8184 
- Fixes #7663
2024-03-27 11:48:05 +01:00
Vincent Stumpf
d4ec7eb241
Fix inventory expansion packet versions (#8148)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-02-28 01:03:07 +01:00
Pokye
eb308dcad2
Implemented Dialog Types (#8110)
Fixes #8109

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2024-02-26 22:08:52 +01:00
Lemongrass3110
644a22c5bb
Fixed convex mirror (#8084)
When the "NoSave" of SC_BOSSMAPINFO is removed, this could lead to issues after a character logs back in.

Fixes #8083

Thanks to @Gyakushinn
2024-01-05 21:50:59 +01:00
Lemongrass3110
7999ccb215
Refactored login-server clif to structs (#8058)
Communication between the login-server and the client is now done with structs.
Moved the definition of the global reusable packet buffer to socket.hpp
2023-12-29 22:04:42 +01:00
Lemongrass3110
e4ec88c666
Added support for CZ_RESET_SKILL (#8062)
Fixes #7961
Added a dummy implementation to prevent players from disconnecting, until we know what that command should do.

Thanks to @jamesandrewww
2023-12-29 10:40:55 +01:00
Vincent Stumpf
61c2480d89
Add explicit [[fallthrough]] attributes (#8054)
Fixes #7918
2023-12-29 01:08:24 +01:00
Lemongrass3110
b6f17692e9
Updated Hercules packets (#8056) 2023-12-29 00:20:09 +01:00
Lemongrass3110
82b36dc847
Fixed some compiler warnings (#8053)
Fixes #8044

Thanks to @Pokye
2023-12-27 10:58:14 +01:00
Lemongrass3110
ac85d44197
Refactored CZ_REQ_MERGE_ITEM (#8039)
Thanks to @secretdataz!
2023-12-20 13:39:11 +01:00
Lemon
7c153416bc
Improved randomness (part 1) (#7882)
Faster and with no module bias

Removed rnd_init, rnd_uint32 and rnd_uniform
From now on we will only use rnd_value(min, max) for values in range [min, max] and rnd_chance(chance, base) for chances

Fixes #7881
Fixes #7883
Fixes #7884
Fixes #7885

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-12-20 00:12:15 +01:00
Lemongrass3110
f5889b08ea
Implemented the new unequip all button (#7955)
With this button you can also unequip all costumes now.
Also the button will now unequip your arrows.

Thanks to @Dia and @Pokye
2023-10-05 01:12:49 +02:00
eppc0330
5b2f4e63a7
Fix temp skill not removed (#7939)
Fixes #5382
2023-10-03 16:18:02 +02:00
eppc0330
a7f05bf696
Fixed marketshop not sending empty stocks (#7932)
Fix sold out item removed on sale list of marketshop.
Now the item icon still exist in marketshop as gray icon.

Fixes #7931
2023-10-02 23:39:29 +02:00
Jittapan Pluemsumran
b6d6f09fd7
Fixed wrong index check in clif_parse_laphine_synthesis (#7832) 2023-06-28 16:14:47 +02:00
Vincent Stumpf
833966f47b
Convert guild_db to unordered_map (#7612)
* Refactor guild db to STL container

* Split up struct guild and MapGuild/CharGuild
2023-06-16 19:42:55 -07:00
Lemongrass3110
6f5706a945
Added support for really big cashshops (#7763)
Added some malloc reporting
Forward socket allocation information
Forward WFIFOHEAD allocation information
Cleanup to clif_cashshop_show
Cleanup to clif_cashshop_result
Cleanup to clif_cashshop_list

Fixes #7757

Thanks to @ChiesaV
2023-06-04 21:36:48 +02:00
Vincent Stumpf
08a1c41d1b
Refactor MapFlag accessors (#7783)
Use methods instead of direct member access.
2023-06-03 17:38:29 -07:00
Pokye
9907721a69
Added a mapflag to block BANK (#7773) 2023-05-22 12:23:46 -04:00
Jittapan Pluemsumran
d3b99e6dc1
Fixed market response packet when purchase fails (#7751)
The item list was still sent to the client even when the purchase failed because p->result is no longer 0 in PACKETVER >= 20190807.
2023-05-10 20:44:08 +07:00
Vincent Stumpf
579dea8fad
Add debug logs for debugging client connections (#7701) 2023-04-16 22:47:06 -07:00
munkrej
22aca36d35
Adds enchantgrade chance per refine (#7608)
Fixes #7607

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-04-14 23:43:33 +02:00
Atemo
801c3c782e
Updated disablenpc/enablenpc (#7671)
* Updated disablenpc/enablenpc script commands using OPTION_HIDE instead of OPTION_INVISIBLE, to correctly display the effects when the npcs are disabled/enabled. The other behaviors are kept.
2023-04-10 23:06:55 +02:00
Atemo
6673e1a786
Fixed an issue where normal NPC had no sprite when walking (#7652)
* Fixed an issue where normal NPC had no sprite when walking
* Added a note

Thannks to @vstumpf
2023-03-24 15:28:50 +01:00
Vincent Stumpf
819b7cb361
Fix ASAN crashes and LSAN leaks (#7649) 2023-03-20 09:32:41 -07:00
Vincent Stumpf
7dd6eb5182
Add other player in mail transactions (#7568)
* Add other player's char_id in mail transactions

Thanks to @tokeiburu

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-03-14 02:30:23 -07:00
Vincent Stumpf
1c35482ecf
Change copied bl type to BL_NUL for delayed clif_clearunit (#7640)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-03-12 12:38:47 -07:00
Aleos
240f71cbce
Converts Homunculus Database to YAML (#4659)
* Converts the Homunculus Database and Homunculus Skill Tree Database into one YAML flat file.
* General cleanups and optimizations.
* Includes CSV2YAML converter.
Thanks to @Lemongrass3110 and @Atemo!
Co-authored-by: Atemo <capucrath@gmail.com>
2023-02-15 14:42:51 -05:00
Vincent Stumpf
e235c9cab4
Change common and config includes to use <> (#7596) 2023-02-12 12:46:06 -08:00