285 Commits

Author SHA1 Message Date
Atemo
0413d0e85c
Initial release of Illusion of Luanda (#7559)
* Implemented the main quest, daily quests and exchange npcs related to Illusion of Luanda.
Fixed #6462 

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-04-12 18:38:26 +02:00
Atemo
db5874d677
Updated unitskilluseid and unitskillusepos script commands (#7684)
* Added the parameter 'ignore_range' to ignore the skill range defined in skill_db.yml
2023-04-07 01:09:44 +02:00
Vincent Stumpf
f0e374ea23
Fixes getrefine failing in OnEquip/OnUnequip scripts (#7592) 2023-03-20 10:08:04 -07: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
8f4a1d2932
Remove relative includes for 3rdparty imports (#7609)
This also changes the imports for config, custom to use the src include path
2023-03-07 16:21:28 -08:00
Vincent Stumpf
1b1164f91d
Change memcpy for safestrncpy for char * (#7629) 2023-03-06 09:53:23 -08:00
Lemongrass3110
839d378680 Added missing breaks to instance_warpall 2023-02-26 22:37:07 +01:00
Vincent Stumpf
e235c9cab4
Change common and config includes to use <> (#7596) 2023-02-12 12:46:06 -08:00
Atemo
bc7b9cdd2e
Updated instance_warpall script command (#7591)
* Added a parameter to the instance_warpall script command to prevent dead players from being warped

Thanks to @aleos89, @Lemongrass3110 and @vstumpf for the reviews!
2023-02-12 16:09:20 +01:00
Lemongrass3110
f261307bbe
Added script command mesitemlink (#7565)
Adds a new script command for itemlink generation for usage inside NPC dialogs (mes "").
A few cleanups related to the normal itemlink feature.

Thanks to @Atemo and @aleos89 for their help!

Co-authored-by: Atemo <Atemo@users.noreply.github.com>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-02-07 10:47:36 +01:00
Lemongrass3110
ba32ccc928 Added two missing timer function names 2023-02-07 00:18:57 +01:00
Lemongrass3110
14cb61d598
Removed mapindex from char-server (#7533)
Converted last_point to mapname
Converted save_point to mapname
Converted memo to mapname
Converted start point to mapname
Removed default map
Converted party member to mapname
Converted maplists to mapname
Removed mapindex loading
Fixed instance loading with multiple map-servers
Fixed castle loading with multiple map-servers
Fixed battleground loading with multiple map-servers
Fixed warping between map-servers

Thanks to @aleos89 for his help!
2023-01-11 16:54:53 +01:00
Lemongrass3110
9dda166c0e
Converted cash shop database to YAML (#6299)
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-01-05 18:30:07 +01:00
Atemo
d0b51d91a0
Fixed an issue with mail (#7518)
* mail should accept card with ID 0 (no card) when the parameter card is provided
2022-12-29 23:36:55 +01:00
Singe Horizontal
9e476cce31
Fixed specialeffect with npc names (#7502)
Fixes #7501

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-12-20 17:27:59 +01:00
Atemo
0e948b5f9a
Fixed a potential issue with getmapxy (#7498) 2022-12-18 13:15:57 +01:00
Lemongrass3110
d1e184e46c
Initial version of cashmall (#7450)
Introduces the cashmall
Added Cachua_Coupon exchange NPC
Enabled Devil Enchant Master and moved to Cash Mall
Moved Mergician
Added Basta, Mighty Hammer and Brock
Moved Shadow Blacksmith
Added Cash Hair Stylist
Added a feature switch for Stylist UI
Updated Hair Stylist

Thanks to @aleos89, @Atemo and @eppc0330!

Co-authored-by: aleos <aleos89@users.noreply.github.com>
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
2022-12-18 00:39:50 +01:00
Lemongrass3110
165e0d668f
Fixed dynamic NPC timeout (#7497)
Fixes #7473
Updates the last interaction time on end; and close;
Additionally added the official dynamic NPC result packet.

Thanks to @eppc0330
2022-12-17 22:33:19 +01:00
Atemo
b862aed75c
Small correction for SHC_SAVAGE_IMPACT and SHC_DANCING_KNIFE skills (#7496)
* Small correction for SHC_SAVAGE_IMPACT and SHC_DANCING_KNIFE skills
* SHC_SAVAGE_IMPACT should move the player from 1 cell to the target, between the target and the player
* SHC_DANCING_KNIFE shouldn't force the player to stand
* The behaviour should be the same for GC_CROSSIMPACT than SHC_SAVAGE_IMPACT

Thanks to @aleos89 @Lemongrass3110 !
2022-12-17 14:08:09 +01:00
Lemongrass3110
ae686056a0
Added CodeQL analysis (#7208)
Adds CodeQL analysis because LGTM was disabled and removed.
2022-12-16 22:34:59 +01:00
Singe Horizontal
8eac71f57f
Cleaned struct tokens for map_session_data and status_change (#7490)
Fixes #7492
2022-12-16 19:16:29 +01:00
Vincent Stumpf
1f4c068c39
Refactor status change entries (#7356)
* Make map_session_data a class, call constructor/destructor on alloc/free

* add getSCE

* add create, delete, clear SCE

* Use getSCE, make data access private

* add a cache for last-fetched status
2022-12-13 23:47:53 -08:00
Aleos
ee2dcf816e
New macro detection features (#7359)
* Adds battle config macro_detection_punishment to ban or jail characters.
* Adds battle config macro_detection_punishment_time to adjust the duration of ban/jail for players who fail the captcha challenges.
* Adds script command macro_detector which invokes the captcha challenge.
* General cleanups to the jail functions to remove duplicate code.
* General cleanups to the macro punishment calls to remove duplicate code.
* Ending SC_JAILED will now properly remove the jail status rather than trying to reset the timer to 1 second resolving any possibility of players getting stuck.
Thanks to @Lemongrass3110!
2022-12-13 15:44:42 -05:00
Aleos
3024d08a39
Fixes a crash from script command searchitem (#7446) 2022-11-19 08:54:47 -05:00
Atemo
526a3fa048
Added close3 script command (#7439)
Thanks to @aleos89 @Lemongrass3110 @vstumpf !
2022-11-18 15:39:00 +01:00
Lemongrass3110
eb8587f5b5
Removed the strange ACK function concept (#7404)
Cleans up packet database a little more.
Turned some more packets into structs.

Co-authored-by: Vincent Stumpf <vincents.995@gmail.com>
2022-11-17 22:09:12 +01:00
Atemo
cc5770eda4
Removed deprecated script command "unitemote" (#7443) 2022-11-16 23:00:53 +01:00
Atemo
5d8e034868
Added HelpMeShorty dynamic npc and quest (#7415)
* Short quest to allow the player to summon, via an item, a dynamic NPC that gives basic game information.
* After level 30, the player can get a costume in exchange for the item.

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-11-16 14:42:53 +01:00
Atemo
c415b51b88
isdead script command (#7434)
* return true if a player is dead else false

Thanks to @aleos89 and @Lemongrass3110
2022-11-15 14:45:09 +01:00
SapitoSucio
55d3c1578c
Itemlink command and integration (#7291)
Co-authored-by: Akkarinage <mike.langford@industrial-illusions.net>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
Co-authored-by: cydh<cydh@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: secretdataz<secretdataz@users.noreply.github.com>
2022-11-11 18:04:41 +01:00
Lemongrass3110
a763ad0629
Implemented dynamic NPCs (#7402)
This is required for features like #6640
Added COLOR_LIGHT_YELLOW
Cleaned up color definitions, its useless to store them as string first.
Dynamic NPCs will stay when you switch map and come back in time.
Dynamic NPCs will be removed instantly when you log out.
You can only create one dynamic NPC at a time.

Thanks to @Atemo!
2022-11-07 00:41:10 +01:00
Joam
9c0d574787
Adds reputation script command (#7374) 2022-11-03 18:30:58 +01:00
HAO YAN
88d6d798c7
Minor fixes to plagiarize script commands (#7394)
* Fix plagiarizeskillreset unable to reset.
* Update plagiarizeskill documentation.
2022-11-02 13:50:18 -04:00
HAO YAN
9bf012d297
Update plagiarism script command name (#7377) 2022-10-22 15:11:17 -04:00
Atemo
53d5fc609a
Updated damagetaken (#7372)
Save damagetaken in mob_data for mob controller
2022-10-22 12:57:46 +02:00
HAO YAN
a001e1c6e3
Add Player Fame script commands (#7310)
* Add the ability to update and retrieve fame info of a character.
2022-10-20 13:05:39 -04:00
HAO YAN
07c18f248b
Add getrandmobid script command (#7309)
* Used to generate random monster ID in NPC scripts.
2022-10-20 12:25:49 -04:00
HAO YAN
c3a171da81
Add skill_plagiarism script commands (#6304)
* Allow players to copy skills with script command skill_plagiarism.
* Plagiarized skills can be cleared with script command skill_plagiarism_reset.
2022-10-20 11:16:46 -04:00
HAO YAN
7d19b4bbdd
Add cap_value script command (#7307)
* Supports int64.
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-10-20 10:33:20 -04:00
Atemo
bbc516a4d5
Deprecated itemdb_exists (#7353)
Deprecated itemdb_exists to use item_db.exists() or item_db.find() instead

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-10-13 16:39:40 +02:00
Sader Fawall
9c2576f47a
duplicate npc command script (#5960)
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-10-01 22:58:53 +02:00
Vincent Stumpf
47c9a36215
Refactor generator to support future features (#7214)
Co-authored-by: Akkarinage <mike.langford@industrial-illusions.net>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-09-25 00:37:21 -07:00
Lemongrass3110
fa4666d7af
Fixed some packets for 2022 clients (#7276)
Migrates a few packets from FIFO to structs.
Migrates friendlist to struct and fixed invalid version check.
Added a new guild related packet that does nothing for the time being.
Synced to latest Hercules' packet definitions.
Fixed name of ZC_SOULENERGY.

Thanks to @Dia and @Pokye.
2022-09-22 01:50:24 +02:00
Aleos
f8cd4aa8c7
Implements petautobonus script commands (#7053)
* Fixes #7038.
* Implements script commands: petautobonus, petautobonus2, and petautobonus3.
* This allows pets to utilize the same autobonus features that players can use without having to check for the equipped item position.
Thanks to @EditorFc's suggestion and @Lemongrass3110!
2022-09-16 12:46:53 -04:00
Lemongrass3110
38b8d5a994
Initial release of item package selection (#7239)
Thanks to @aleos89 and @Atemo

Co-authored-by: Atemo <capucrath@gmail.com>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-09-12 22:06:04 +02:00
Lemongrass3110
8629c6445a
Initial release of item enchant UI (#7186)
Thanks to @aleos89, @Atemo @idk-whoami
2022-09-05 00:52:37 +02:00
Lemongrass3110
df57b5b7d4
Added mob name support to some script commands (#7228)
Thanks to @Atemo for the idea.
2022-09-03 19:07:28 +02:00
Atemo
9be64f55dc
laphine_synthesis script command update (#7222)
* Added the item ID/name as parameter for laphine_synthesis script command

Thanks to @Lemongrass3110 !
2022-08-31 21:39:34 +02:00
Atemo
177d57ee68
getmonsterinfo update (#7227)
* Added the constant MOB_ID to getmonsterinfo script command
* Added the possibility to use the monster name as argument

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-08-31 21:35:01 +02:00