Compare commits

..

373 Commits

Author SHA1 Message Date
Atemo
d9ee37d5ec Removed extra script_reportdata 2023-05-25 17:36:58 +02:00
Atemo
0bcc1f66b3 Small correction 2023-05-25 17:08:21 +02:00
Atemo
b0456b0e73 Clean-up 2023-05-24 21:54:01 +02:00
Atemo
b5413b0997 Removed SCRIPT_CMD_END
Terminate the script when SCRIPT_CMD_FAILURE is returned
2023-05-16 17:13:26 +02:00
Atemo
9c21d3af04 Clean-up script.cpp
* Introduced SCRIPT_CMD_END which display an error and put the script state to end
2023-05-10 21:49:15 +02: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
mazvi
dfa7e5e084 Rename Upgrade SQL (#7742) 2023-05-03 21:15:53 -04:00
Atemo
84bf6b87f1 Fixed an issue for map_drops.yml (#7735)
The key for umap should be the index, to allow to define the same item in yaml file
2023-04-26 23:35:24 +02:00
Atemo
6308b4feaf Follow-up d7840cd265
Added missing delitem

Thanks to @tumemmac
2023-04-26 22:31:32 +02:00
Atemo
d7840cd265 Einbech dungeon 3 (#7209)
* Implemented dungeons, merchants and quests related to einbech 3

Thanks to @Pokye !
2023-04-26 18:39:24 +02:00
Singe Horizontal
4718d5e813 Added new status flag RequireNoWeapon (#7201)
* Fixes #7200.
* Added new status flag RequireNoWeapon.
2023-04-24 12:01:24 -04:00
Singe Horizontal
b4be3b059a Prevent an uint underflow and reformat array_size occurences in some commands (#7729)
Fixes #7728
2023-04-22 19:42:13 -07:00
Singe Horizontal
9051fc644d Corrected NPC_DARKBREATH formula (#7285)
* Corrected NPC_DARKBREATH formula
Fixes #7284

* Update src/map/battle.cpp

Co-authored-by: Pokye <98105181+Pokye@users.noreply.github.com>

* Update src/map/battle.cpp

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>

* Added renewal logic

* now uses only one formula for both modes

---------

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Pokye <98105181+Pokye@users.noreply.github.com>
2023-04-20 10:13:37 +02:00
Singe Horizontal
9df8f9f113 Corrects a short-circuit bug in status_change_clear_buffs (#7724)
Fixes #7723
2023-04-19 15:55:44 -07:00
idk-whoami
ea65c1b9ba ViewID correction of item IDs 20765 (#7720)
Fixed #7697 

Thanks to @llchrisll
2023-04-18 17:17:31 +02:00
Lemongrass3110
339adbbe2d Fixes the pincode system (#7719)
Fixes #7700

Thanks to @24msz6eo, @Melk3000 and @vstumpf
2023-04-17 18:20:15 +02:00
Vincent Stumpf
579dea8fad Add debug logs for debugging client connections (#7701) 2023-04-16 22:47:06 -07:00
Atemo
665eb969ed Corrected animation of the skill SHC_SAVAGE_IMPACT (#7717)
* Fixed an issue where the client did not update the position of the player
* Additionally fixed the player direction when the player casts the skill while being on the same cell of the target
2023-04-16 22:59:19 +02:00
Atemo
939567d361 Fixed an issue with cloak*npc (#7715)
* all the npcs saved in pc should be removed on map change
2023-04-16 14:58:47 +02:00
munkrej
635add84d7 4th Improvement - Troubadour & Trouvere (#7703) 2023-04-16 00:38:19 +02:00
munkrej
5385584f6f 4th Improvement - Wind Hawk (#7704) 2023-04-15 23:37:19 +02:00
munkrej
16195cea2a 4th Improvement - Inquisitor (#7705) 2023-04-15 23:36:30 +02:00
munkrej
a818232e77 4th Improvement - Cardinal (#7706) 2023-04-15 23:16:26 +02:00
munkrej
741dfe37ae 4th Improvement - Elemental Master (#7707) 2023-04-15 22:52:20 +02:00
munkrej
e4acd6e5dc 4th Improvement - Arch Mage (#7708) 2023-04-15 22:52:03 +02:00
munkrej
452238b523 4th Improvement - Abyss Chaser (#7709) 2023-04-15 18:45:51 +02:00
munkrej
6c8b29e91b 4th Improvement - Shadow Cross (#7710) 2023-04-15 17:46:18 +02:00
munkrej
287501d665 4th Improvement - Biolo (#7711) 2023-04-15 17:43:30 +02:00
munkrej
e1e19a6d06 4th Improvement - Meister (#7712) 2023-04-15 17:31:19 +02:00
munkrej
382d6bf54a 4th Improvement - Imperial Guard (#7713) 2023-04-15 16:53:39 +02:00
munkrej
e40c3edc31 4th Improvement - Dragon Knight (#7714) 2023-04-15 16:04:59 +02:00
Vincent Stumpf
a2f4f2bf8e Do not call pet_set_intimate twice (#7702) 2023-04-15 15:02:41 +02: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
Lemongrass3110
18ec884ba8 Removed a duplicate function call in erasequest
Thanks to @Pokye
2023-04-12 22:33:21 +02:00
Everade
7853e926c2 Episode 17.2 - Sage's Legacy (#6799)
* Episode 17.2 Initial Release of instances and quests
* Added warp portals and monster spawn scripts
* Added Episode 17.2 related database entries

Closed #6470 

Thanks to @Megelith @Pokye 

Co-authored-by: JohnnyPlayy <JohnnyPlayy@users.noreply.github.com>
Co-authored-by: Everade <privacy@gatheringro.com>
Co-authored-by: crazyarashi <26841779+crazy-arashi@users.noreply.github.com>
Co-authored-by: Atemo <capucrath@gmail.com>
2023-04-12 21:27:34 +02:00
Atemo
c7b464b91f Initial release of Illusion of underwater (#7521)
Implemented the main quest, daily quests and exchange npcs related to illusion of underwater.
Walkthrough Conversion.

Closed #6472 

Thanks to @secretdataz @OptimusM !

Co-authored-by: aleos <aleos89@users.noreply.github.com>
2023-04-12 20:20:23 +02:00
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
Everade
2a4a82315b Episode 16.2 - Friday Memorial Dungeon (#7300)
* Implementation of Episode 16.2 Friday Memorial Dungeon.

Fixed #6452

Co-authored-by: Atemo <Atemo@users.noreply.github.com>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-04-12 17:40:53 +02:00
Everade
36a2c9783f Episode 16.1 - Edda Half Moon In The Daylight (#7298)
* Implementation of the Episode 16.1 - Edda Half Moon In The Daylight - Memorial Dungeon (quests and exchange NPCs)

Thanks to @Pokye @OptimusM @idk-whoami !

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
2023-04-12 14:03:33 +02:00
Atemo
0fbe8c3ecd Fixed an issue with npc_enable_target (#7695)
Fixed #7694 

Thanks to @eppc0330
2023-04-12 01:50:03 +02:00
Atemo
806c89edb3 Updated the NPC structure (#6923)
* added the possibility to define the state (hidden, cloaked, disabled) of the npc/warp in the npc definition

Thanks to @Daegaladh
2023-04-10 23:53:16 +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
66c05937b5 Added mag_dun03 quests (#7207)
* Implemented mobs, quests
* Updated MAGMA_ESSENCE and added MAGMA3 option group

Thanks to @Pokye
2023-04-10 17:07:42 +02:00
Vincent Stumpf
ab6c5beaf8 Fix out-of-bounds in TypesafeCachedYamlDatabase (#7690)
Fixes #7664

Thanks to @jofvgaming
2023-04-09 21:49:30 +02:00
Vincent Stumpf
d2e972cfd1 Fix Undeclared HEADER_ZC_SEARCH_STORE_INFO_ACK 2010-08-03 (#7679) 2023-04-09 20:34:52 +02:00
Atemo
c12d5ed6b7 Initial release of Illusion of Turtle (#7465)
* Implemented the main quest, daily quests and exchange npcs related to illusion of turtle
* Implemented the random option groups of the items given in the dungeon

Thanks to :
@attackjom 
@idk-whoami 
@OptimusM 
@Pokye 

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-04-09 20:00:45 +02:00
Atemo
c2f44f5fcb Implemented new items up to april 05 2023 (#7682) 2023-04-08 17:32:49 +02:00
Atemo
74b2834502 Updates map_drops.yml (#7676)
* adjusted the rate in map_drops.yml to 1/100000 instead of 1/10000

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-04-08 16:48:01 +02:00
eppc0330
8a4b34ef6a Fix NPC_DAMAGE_HEAL heal calculation (#7660)
Fix NPC_DAMAGE_HEAL heal amount not being applied from some SC bonuses
2023-04-08 15:42:09 +02:00
Austin Wang
cf0264be45 Fix some items' names for Alberta stylish npc (#7666)
Co-authored-by: Jittapan Pluemsumran <nightsheep@outlook.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-04-08 14:39:26 +02:00
Atemo
370ee1e876 Added amicitia1 and amicitia2, dungeons level 200 (#7336)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>

Thanks to @OptimusM !
2023-04-07 15:42:55 +02:00
Atemo
b7807db42f Implemented NPC_GROUNDDRIVE (#7677) 2023-04-07 14:56:08 +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
Atemo
fff69b0cfd Added missing combo Phreeoni_Wing_Suits + Phreeoni_Egg (#7680)
Fixed #7393

Thanks to @eppc0330
2023-04-07 01:05:43 +02:00
Atemo
6136f7df35 Updated achievement_db.yml (#7681) 2023-04-06 15:46:20 +02:00
Atemo
1a5072c153 Added new maps up to April 05 2023 (#7683) 2023-04-06 14:54:07 +02:00
Aleos
65200eba50 Fixes an issue with clones receiving 1 damage (#7670)
* Fixes #7579.
* Adds an extra conditional check for reducing Green Aura type mobs to ignore cloned monsters.
Thanks to @vietlubu and @Lemongrass3110!
2023-04-03 18:47:53 -04:00
idk-whoami
70736c9b1d Corrected script for some item #18 (#7644)
Thanks to @Atemo
2023-04-03 14:40:52 +02:00
Atemo
d031afe364 Implemented the skill NPC_RAINOFMETEOR (#7675) 2023-04-02 21:30:08 +02:00
Atemo
81b62348b7 Implemented the skills NPC_RELIEVE_ON and NPC_RELIEVE_OFF (#7614)
* Implemented the skills NPC_RELIEVE_ON and NPC_RELIEVE_OFF as part of episode 17.2

Thanks to @aleos89 !
2023-03-31 19:52:35 +02:00
Atemo
eff3b2014b Removed NoForcedEnd for SC_MONSTER_TRANSFORM (#7655) 2023-03-31 15:12:06 +02:00
Atemo
c06fed6b56 DB update - Aegis item name (#7661)
* Updated several Aegis item names DB
2023-03-28 14:48:25 +02:00
Atemo
f8c5cd9552 Small correction on the attribute table (#7662)
Follow-up e4e8063ec3

* Defense Wind and Fire values have been reversed for Undead weapon element.
* There should be no negative defense according to the official tables.

Thanks to @vstumpf
2023-03-25 14:13:45 +01: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
Lemongrass3110
49ba072f3a Added returning to instances (#7622)
Fixes #5226

Thanks to @Forte22, @attackjom and @OptimusM

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-03-23 15:49:39 +01:00
Vincent Stumpf
8abf9960a0 Fix memory leak on map quit (#7657) 2023-03-23 12:11:15 +01: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
Lemongrass3110
4d9b1a0b83 Deduplicate strlib code (#7651)
Follow up to 4e64623
2023-03-19 21:07:16 +01:00
Atemo
1ccdc17df5 Added some entries in instance_db.yml (#7654)
* Added some entries in instance_db.yml
2023-03-19 20:24:00 +01:00
Lemongrass3110
b95daa3041 Fixed wrong node usage for instance loading
Noticed because of #7654
2023-03-19 19:10:42 +01:00
Atemo
36972bf9ea Corrected the english name of several items in item DB (#7653) 2023-03-19 17:51:31 +01:00
Vincent Stumpf
4e646235d2 Fix builds that don't use the memory manager (#7648) 2023-03-18 23:57:44 -07:00
Jittapan Pluemsumran
b4f740ce18 Added a config for banking state check (#7646)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-03-16 20:24:13 +07:00
Atemo
19bbd82c55 Initial release of nif_dun quests (#7349)
* Added mobs db, mobs spawn and quests related to nif_dun01 and nif_dun02
* Some data after rebalance is missing but the base is there

Thanks to @aleos89 @Lemongrass3110 @Pokye @OptimusM @Tokeiburu for the reviews !
2023-03-16 13:24:32 +01:00
eppc0330
067c21b647 Implement NPC_DAMAGE_HEAL and NPC_IMMUNE_PROPERTY (#7638)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-03-15 21:36:47 +01:00
Jittapan Pluemsumran
22abdf8dbe Added missing state checks in banking functions (#7645)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-03-14 17:34:05 +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
munkrej
cbb5380527 Adds skill NPC_KILLING_AURA (#7624) 2023-03-14 00:14:41 +01:00
Lemongrass3110
ae2ea3df10 Implemented NPC_WIDELEASH (#7643) 2023-03-13 22:46:23 +01:00
Lemongrass3110
6ff1ebfa98 Implemented NPC_LEASH (#7642) 2023-03-13 21:36:50 +01:00
Atemo
3f45df1025 Added news items - equipments up to 03022023 (#7625) 2023-03-13 13:50:21 +01:00
eppc0330
eb875d1af5 Implement NPC_MOVE_COORDINATE (#7636) 2023-03-13 06:55:50 +01:00
eppc0330
bee2c27d78 Implement NPC_ALL_STAT_DOWN (#7637) 2023-03-13 06:25:02 +01:00
eppc0330
b3881bd1fc Implement NPC_GRADUAL_GRAVITY (#7635) 2023-03-13 00:25:47 +01: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
idk-whoami
3998f7ed75 Corrected script for some item #17 (#7616)
Thanks to @Atemo
2023-03-08 15:10:50 +01: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
Vincent Stumpf
6a0b7afd88 Fix possible out of bounds (#7630) 2023-03-06 09:37:26 -08:00
aoshfan
bb8c4a03c8 Fix Fire Pillar skill to not consume Gemstone if VIP or use Mistress card (#7623) 2023-03-05 17:04:24 -08:00
userid0
b22e186e77 Cleanup homun txt in map-server-generator (#7627) 2023-03-04 18:44:18 +01:00
idk-whoami
b56f11207c Update warper npc (#7617) 2023-02-28 19:48:34 +01:00
Lemongrass3110
839d378680 Added missing breaks to instance_warpall 2023-02-26 22:37:07 +01:00
Jittapan Pluemsumran
1985662045 Made debug ShowStatus calls easier to disable (#7618)
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-02-21 11:34:52 +07:00
Atemo
08d3467faa Updated item names and fix an issue with ignore_res_by_race / ignore_mres_by_race (#7613) 2023-02-16 22:41:15 +01: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
Atemo
b2ceb30e30 Added missing items equipment up to 02/10/2023 (#7606)
* Added missing items equipment up to 02/10/2023
* Implemented the item bonuses bIgnoreResRaceRate and bIgnoreMResRaceRate

Thanks to @attackjom for the review!
2023-02-15 16:15:11 +01:00
Vincent Stumpf
a35063dfd6 Upgrade to c++14 (#7593) 2023-02-13 10:58:31 -08:00
Everade
56ae2174c0 Episode 16.2 - Weekend Memorial Dungeon (#7299)
* Implementation of Episode 16.2 Weekend Memorial Dungeon.

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-02-13 14:25:52 +01:00
munkrej
c6c9babb5e Homunculus updates as of 20220602 (#7586)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-02-12 23:55:13 +01:00
Lemongrass3110
42d8c163b7 Added missing columns for yaml2sql (#7603)
Fixes #7602

Thanks to @Triedge
2023-02-12 23:04:46 +01:00
Vincent Stumpf
9d2bcc7a70 Change npc_src_files linked list to vector (#7598) 2023-02-12 13:38:12 -08:00
Vincent Stumpf
e235c9cab4 Change common and config includes to use <> (#7596) 2023-02-12 12:46:06 -08:00
Vincent Stumpf
eff6131087 Speed up loading of npcs and maps (#7597) 2023-02-12 11:01:14 -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
idk-whoami
36bcfaecee Corrected script for some items #16 (#7583)
Thanks to @Atemo
2023-02-12 15:33:11 +01:00
Lemongrass3110
98b3f2af52 Removed some useless strlib functions (#7600)
* Removed jstrescape

* Removed jstrescapecpy

* Removed jmemescapecpy

* Removed J_MAX_MALLOC_SIZE

* Removed trim2
2023-02-12 13:08:24 +01:00
Vincent Stumpf
7629ff4032 Speed up loading CachedYamlDBs (#7599)
Instead of iterating from the end to find the last item in the cache, just store the highest key we've found.
Then, resize the cache to that
2023-02-12 00:20:54 -08:00
Vincent Stumpf
ce8f053359 Speed up YAML DB loading by removing ShowStatus (#7595) 2023-02-10 16:04:35 -08:00
idk-whoami
56af701ade Corrected script for some item #15 (#7566)
Thanks to @Atemo
2023-02-10 15:14:26 +01:00
Vincent Stumpf
08e9af48fe Add on-demand triggers for workflows (#7594) 2023-02-09 19:53:29 -08:00
Vincent Stumpf
6938722f02 Replace the bitshift optimizations for multiplication (#7590)
* These were originally bitshifts because it was 'faster', but now with modern compilers and hardware, the only thing it does now is confuse developers who have to read the code
2023-02-08 16:00:11 -08:00
Lemongrass3110
7313495185 Fixed MariaDB compilation
Follow up to da73084

Thanks to @SapitoSucio and @Singe-Horizontal
2023-02-09 00:27:15 +01:00
Lemongrass3110
da73084df5 Forcefully disable SSL for MySQL (#7588) 2023-02-08 21:13:09 +01:00
Aleos
46eaa8ddf0 Updates the readme badges (#7589)
* Removes old LGTM badges.
* Adds new badges for each of the different build types.
* Adds badge for commits per week.
2023-02-08 13:32:07 -05: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
59a722234d Fix compilation on Mac M1 (#7582)
Fixes #7557

Thanks to @vietlubu
2023-02-07 09:23:33 +01:00
Lemongrass3110
ba32ccc928 Added two missing timer function names 2023-02-07 00:18:57 +01:00
Lemongrass3110
115522e1fd Fixed some warnings related to dynamic NPCs
Fixes #7417

Thanks to @idk-whoami and everyone else who reported it.
2023-02-06 23:21:36 +01:00
idk-whoami
1fda953e62 Added missing mob AI IDs 3794 ILL_ICE_TITAN (#7580) 2023-02-06 21:05:51 +01:00
Vietlubu
913bcfe6fb Hero weapon LT enchant (#7576)
Add laphine upgrade for Patent and LT weapon
Correction ANCIENT_HERO_WISDOM enchant options

Fixes #7575
2023-02-06 20:14:37 +01:00
idk-whoami
96f0f77d42 Hat Effect Update (#7569) 2023-02-03 09:54:27 +01:00
Dominik Nussbaumer
e2ee5cbefb hide functions for yaml2sql (#7390)
yaml2sql uses some headers for constants from map-server.
In order to avoid linker errros, no functions from those headers
must be used.
However, some static functions are the status.hpp which cause
linker errors when creating a debug build.
The define `ONLY_CONSTANTS` hides those funcitons for yaml2sql.

refs #7389

Co-authored-by: Vincent Stumpf <vincents.995@gmail.com>
2023-02-02 23:51:46 -08:00
Henrybk
a1f9a6c1d1 Fix item 15906 Northern_Cross (#7573)
Adjust "Recovers 30 HP and 3 SP" to "Recovers 30 HP and 3 SP per refine rate".
2023-02-01 19:16:20 +01:00
Atemo
d93d4144eb Glast Heim Abyss dungeon (#7474)
* Added related quests
* Added monsters spawn
* Added related random option groups

Credit goes to @OptimusM !
Thanks to @aleos89 for the review !
2023-01-26 16:39:12 +01:00
Livia Medeiros
7c4b9fa179 Fix typos in Renewal scripts (#7567) 2023-01-26 07:43:26 -05:00
Atemo
39559c125b Implemented missing skills (#7552)
* Implemented NPC_BLEEDING2
  Copy from NPC_BLEEDING for now except
  * element always Neutral
  * differents rates

* Implemented NPC_HELLJUDGEMENT2
  Copy from NPC_HELLJUDGEMENT except
  * element neutral
  * skills inflicts a random status effect

* Implemented NPC_WIDEFREEZE2
  Copy from NPC_WIDEFREEZE

* Implemented NPC_ICEBREATH2
  Copy from NPC_ICEBREATH except
  * Chance 100% instead of 70%
  * Splash area 4 instead of 3

* Implemented NPC_WIDEBLEEDING2
  Copy from NPC_WIDEBLEEDING

* Implemented NPC_WIDECONFUSE2
  Copy from NPC_WIDECONFUSE

* Implemented NPC_WIDESILENCE2
  Copy from NPC_WIDESILENCE

* Implemented NPC_WIDESTUN2
  Copy from NPC_WIDESTUN

* Implemented NPC_WIDESILENCE2
  Copy from NPC_WIDESILENCE

* Implemented NPC_WIDESLEEP2
  Copy from NPC_WIDESLEEP

* Implemented NPC_WIDECURSE2
  Copy from NPC_WIDECURSE

* Implemented NPC_WIDESTONE2
  Copy from NPC_WIDESTONE

Thanks to @OptimusM, @Lemongrass3110, @aleos89 !
2023-01-24 15:06:38 +01:00
Lemon
7e62670882 Improved itemlink logic (#7532)
Fixed tags and separators for various packet versions.

If itemlink is disabled it will output the item name with the refine as prefix and the slots as suffix (if equipment)
It will also append [0] if the item is an equipment and has 0 slots (to make it easier to tell from non-equipment items)

Disabled feature on packet versions older than 2015-11-04 until proven otherwise

Fixes #7441

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-01-23 10:49:18 +01:00
Lemongrass3110
f4ad5045a5 Fixed autotrading re-login
Fixes #7556

Thanks to @datawulf, @mazvi, @attackjom and @zdurexz
2023-01-23 10:03:24 +01:00
Livia Medeiros
b6c7890763 Fix typos in Renewal scripts (#7563) 2023-01-23 09:34:02 +01:00
Jittapan Pluemsumran
b4a8fdce13 Fixed instances with infinite timeout getting destroyed instantly (#7554) 2023-01-20 20:47:23 +07:00
Atemo
b40469f881 Initial release of Illusion of Frozen (#7464)
* Implemented the main quest, daily quests and exchange npcs related to illusion of frozen (Walkthrough Conversion)
2023-01-19 16:54:22 +01:00
Atemo
7acdcd391c Corrected the logic for Juno quest in ve_fild04 (#7551)
Thanks to @eleriaqueen @mazvi @Lemongrass3110 @idk-whoami !
2023-01-19 15:04:57 +01:00
idk-whoami
d91f3b7a51 Updated the item database #14 (#7555)
* Corrected and implemented some item

Thanks to @Atemo
2023-01-18 23:14:43 +01:00
Pokye
8f1450b178 Updated item db (#7553)
* Added several items from bRO in item database
2023-01-18 21:14:36 +01:00
Atemo
65ebbdc992 Added NPCs in rgsr_in (#7488)
* Added missing NPCs in rgsr_in (used for item reform, enchant)
* Attempt to clean up some dialog
* Added Group_0 in item_randomopt_group.yml (apply no randomoption)

Thanks to @Dia !

Co-authored-by: aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-01-14 15:58:06 +01:00
fab10Carvalho
2bcd31b58b Fix NPC_EARTHQUAKE from R001_BESTIA (#7545) 2023-01-13 10:44:09 -05:00
Lemongrass3110
513a4db716 Fixes a critical issue with pointshop (#7549)
Fixes #7548

Thanks to @mazvi
2023-01-13 15:09:14 +01:00
Lemongrass3110
5044776eb7 Added support for map selection (#7546)
Fixes #6632

Thanks to @Xypr0, @Toshiro90, @alisonrag and @aleos89
2023-01-11 22:42:54 +01:00
Aleos
3464292a31 Fixes instances with infinite duration (#7547)
* Fixes #6230 and fixes #7472.
* Resolves an issue where instances that have infinite TimeLimit or IdleTimeOut would instantly become destroyed.
* Fixes an issue where do_final_instance() could end up on an invalid iterator value resulting in memleaks/crashes on map server closure.
* Add missing constructor parameters.
Thanks to @secretdataz, @Lemongrass3110, and @mazvi!
2023-01-11 14:25:11 -05: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
userid0
cbe2acb786 Fixs cash shop database import (#7544)
fix import vcxproj file name.
2023-01-11 11:24:35 +01:00
mazvi
6ae037bd17 Revert "Open Soda Market After Close Dialog NPC (#7541)" (#7543)
This reverts commit 8df1720f49.
2023-01-10 18:41:35 +01:00
mazvi
8df1720f49 Open Soda Market After Close Dialog NPC (#7541) 2023-01-10 19:07:31 +07:00
Lemongrass3110
913519ed50 Fixed online_char_db (#7539)
Added a missing map entry assignment from an invalid DBMap ensure conversion.

Fixes #7538

Thanks to @MaouDaiou and @zdurexz
2023-01-09 16:09:36 +01:00
Lemongrass3110
e64c5bce35 Fixed item restrictions for noreturn
Fixes #7537

Thanks to @mazvi
2023-01-09 15:12:31 +01:00
Lemongrass3110
4836d8e77a Added latest constants and names 2023-01-06 22:58:50 +01:00
Lemongrass3110
4fb6740ebf Replaced DBMap usage in char-server (#7514)
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2023-01-06 20:29:01 +01:00
Lemongrass3110
c9aaf540bf Added reloadbarterdb (#7530)
Fixes #7520

Thanks to @attackjom
2023-01-06 00:23:25 +01:00
Balfear
134bfbe986 Added new guild UI features (#6285)
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Null Ragnarok Relation <59070443+iberryRO@users.noreply.github.com>
2023-01-05 23:39:30 +01:00
Aleos
7323800838 Fixes shadowing for private variables (#7531)
* Fixes #7508.
* Follow C++ convention for private variable declaration.
Thanks to @Lemongrass3110 and @idk-whoami!
2023-01-05 12:30:39 -05: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
Aleos
503b57dbef Add extra validation checks for map coordinates (#7526)
* Add extra validation checks for map coordinates
* Adds some extra validation checks for map coordinates when parsed in YAML.
2023-01-04 14:30:29 -05:00
Atemo
ea3464598d Added support for new maps up to december 21 2022 (#7525) 2023-01-04 15:19:57 +01:00
Jittapan Pluemsumran
857a34832f Prevent opening vending UI multiple times (#6430)
Prevent opening vending UI multiple times in one vending session.
Discard cart modification packet when the player is in a 'can't act' state.

Fixes #3408

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-01-04 15:19:26 +01:00
Atemo
3958a96771 Added sp_rudus4, dungeon level 200 (#7334)
* Added mobs db, mobs spawn and quests related to sp_rudus4

Thanks to @Dieby, @secretdataz !

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2023-01-03 22:51:34 +01:00
Aleos
b867a2171f Adds char_server config for clearing parties (#7523)
* Adds a character server config to clear empty parties at start up.
* The commented code was hidden in the source and is pretty useless unless you are digging for it.
2023-01-03 16:22:30 -05:00
Atemo
936abe13eb Doc update (#7517)
* Updated the description of instance_id and getitemname script commands
2023-01-03 20:55:55 +01:00
Lemongrass3110
1361e9c1df Enabled conformance mode in MSVS (#7513) 2023-01-03 18:50:16 +01:00
Lemongrass3110
64228cd18f Fixed bAddMonsterDropItemGroup (#7516)
Fixes #7515

Thanks to @AcDczZ
2022-12-30 22:03:55 +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
Atemo
fa0253342a Added items etc, combo, equipment (#7507)
Added items Enchant
Added items reform
Small correction of a combo

Thanks to @fab10Carvalho for the review
2022-12-29 02:05:57 +01:00
idk-whoami
323a541074 Item db updated (#7485)
* Implementations + corrections of a bunch of items
2022-12-21 15:12:18 +01:00
Aleos
70d729ecf8 Fixes GitHub Workflow Concurrency flag (#7505)
* Do not cancel master workflow.
2022-12-20 19:53:39 -05:00
Lemongrass3110
39d5a02a31 Initial release of adventure agency (#7224)
Thanks to @Dia, @OptimusM, @Balferian and @ecdarreola
2022-12-21 01:17:42 +01:00
Atemo
3d5cd57c54 Added new etc/equipment/enchant up to december 2022 (#7489)
* Implemented new equipments and etc
* Updated item_enchant.yml

Thanks to @attackjom !
2022-12-21 00:47:23 +01:00
Lemongrass3110
2c4ee64b59 Start refactoring the core to C++ (#7303) 2022-12-20 23:37:31 +01:00
Aleos
ef4d52fd7b Adds official Wand of Hermode clear list (#7494)
* Wand of Hermode has a unique status clear list separate from the list other skills use.
* Adds RemoveOnHermode status flag to identify statuses that can be removed from Wand of Hermode.
Thanks to @mrjnumber1 and @Lemongrass3110!
2022-12-20 17:05:27 -05:00
Lemongrass3110
3bfead228e Additional safeguards for upgrade_20221218.sql
Thanks to @mazvi for his help.
2022-12-20 20:20:05 +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
Lemongrass3110
448d8febfa Follow up to 3b71f77
Thanks to @Atemo
2022-12-20 14:09:58 +01:00
Balfear
3b71f77c27 pc_isUseitem: update flywings list (#7487)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-12-20 14:03:59 +01:00
idk-whoami
5b8d0ee6a5 Update EDP requirements (#7463)
Fixes #7458

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-12-19 12:19:30 +01:00
Balfear
9b6a4de288 Roulette: Bonus item reward (#7427)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-12-19 00:15:02 +01:00
Balfear
817b86d5e1 Roulette: Bonus item reward (#7427)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-12-19 00:14:38 +01:00
Atemo
0e948b5f9a Fixed a potential issue with getmapxy (#7498) 2022-12-18 13:15:57 +01:00
Lemongrass3110
eda702ca2c Fixed gaps in random options (#7449)
Fixes #7447

Thanks to @Abszoluto
2022-12-18 02:52:18 +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
Pokye
ee91ab507a Item DB update (#7451)
* Added Missing Items
* Correction of several item names
* Added missing hateffects
2022-12-17 23:47:54 +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
idk-whoami
93cf18736a Update warper npc (#7413)
* Updated and added new warps entries up to episode 19
2022-12-17 14:15:02 +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
Lemongrass3110
4d734abc53 Cleaned up monster skill status checks (#7495)
Fixes 4 more warnings introduced in 1f4c068
2022-12-16 21:56:55 +01:00
Atemo
ef602d98cb Multiple dynamic npc (#7486)
* Vectorize npc_id_dynamic to support multiple dynamic npc with different ids

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>

Thanks to @dimasshotta and @eppc0330 !
2022-12-16 21:22:31 +01:00
idk-whoami
20dedc7918 Update items first aid starter pack (#7493) 2022-12-16 20:24:47 +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
Aleos
da375a04c1 Adds battle config mob_respawn_time (#7312)
* Adjusts the minimum respawn time of a monster to be 1 second as it is officially.
* Adds a battle config to allow for easy adjustment.
* Monsters that don't define a delay1 for permanent spawn scripts are defaulted to 5 seconds.
Thanks to @mrjnumber1, @vstumpf, @Lemongrass3110, and @Atemo!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-12-14 14:17:41 -05: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
Singe Horizontal
5a533a7a12 Fixes drop rate for size-moded mobs (#7482)
* Fixes #7481.
* Restores correct drop rate for spawned size-modified monsters so that they read the current memory instead of the database value if changed.
2022-12-13 08:23:00 -05:00
Aleos
3545a9c82f Minor corrections to SQL readme (#7484)
* Cleans up a bit of the SQL readme so it's less confusing.
Thanks to @emmamarshall451!
2022-12-12 15:09:24 -05:00
Takius
a1798f7094 Fix skill SO_VARETYR_SPEAR (#7425)
* Corrects the hit type resulting in a variance of damage.
2022-12-12 10:53:40 -05:00
Singe Horizontal
1f1b5fe4a0 Restores Dispell removing NPC_AGIUP (#7479)
Fixes #7478
2022-12-11 11:06:07 +07:00
lighta
f7dbe79c34 Fix wedding skill checks (#5579)
* Fixes #5576 and fixes #7475.
* Fix WE_CALLPARTNER, WE_CALLPARENT and WE_CALLBABY fallthrough check.
* Adds usage of packet struct.
* Add autotrade check for WE_CALLPARTNER.
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: aleos <aleos89@users.noreply.github.com>
2022-12-10 16:16:52 -05:00
Aleos
aa2bbaa31f Update GitHub workflows (#7477)
* Updates gcc to work on Ubuntu 22.04.
* Force clang to use Ubuntu 20.04 until some build errors are resolved in the environment.
* Adds a concurrency check to disable any active prior runs when pushing a new commit.
2022-12-09 14:53:25 -05:00
eppc0330
7bfae25c74 Fix grade upgrade fail announcement (#7189)
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-12-05 09:55:58 +01:00
rosald
5549ad2ac2 Update agit_start_se.txt (#7448) 2022-11-30 22:07:43 +01:00
Jittapan Pluemsumran
c9f23e691a Follow up to 4e638838de (#7468) 2022-11-30 15:11:25 +07:00
idk-whoami
795414de4f Removed duplicates list of menu items (#7459)
(from ghost palace exchange npc)
2022-11-29 14:24:24 +01:00
Jittapan Pluemsumran
4e638838de Corrected server response when adding an item to a trade session fails. (#7462)
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-11-29 13:24:34 +07:00
Vincent Stumpf
4661016445 Generate Reputation UI bson files (#7340) 2022-11-27 00:53:54 -08:00
Jittapan Pluemsumran
bc4934373d Implemented itemmoveinfov5.txt generator (#7457) 2022-11-26 17:33:27 +07:00
Atemo
9398f698fc Added missing etcs and equips items up to 22 11 2022 (#7453) 2022-11-24 18:35:21 +01:00
Atemo
4353ec3fec Added missing items usable/cash (#7456)
* Added several usable (container) and cash items
* Corrected some aegis item name
* Commented items with rate 0 for subgroup > 0
2022-11-24 13:58:26 +01:00
Aleos
3024d08a39 Fixes a crash from script command searchitem (#7446) 2022-11-19 08:54:47 -05:00
eppc0330
0e1285a94b Remove range & path check for NPC's skill cast (#7422) 2022-11-19 08:06:40 -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
77aed690ea Small clean-up and correction in item_db / combo DB (#7442) 2022-11-16 23:00:39 +01:00
Livia Medeiros
129ce465b0 Adjust installation and service scripts (#7407)
* Fix install in directory with spaces

* Use $() notation instead of legacy backticks

* Fix help->start enlog message

* Fix typo

* Whitespace cleanup

* Fix restart delay

* Make get_status robust
2022-11-16 13:04:26 -08: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
Aleos
15e27b3567 Updates the db README (#7436)
Updates the db README
Updates a couple examples from TXT to YML.
Wrap examples in code blocks
2022-11-15 23:31:07 +01:00
mazvi
9512eb81ca Added roulette command documentation (#7438)
Added roulette command atcommands.yml

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-11-15 22:47:08 +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
Lemongrass3110
a090a0a7ba Added an atcommand for roulette (#7433) 2022-11-14 21:32:10 +01:00
violent01
03f04ed507 Fixed a small typo in Poring Village Instance (#7432) 2022-11-12 19:04:17 +01:00
Jittapan
3f7155bf84 Revert "Bumped db version"
This reverts commit 9db030fcc6.
2022-11-12 12:13:53 +07:00
Jittapan
9db030fcc6 Bumped db version 2022-11-12 12:12:57 +07:00
Balfear
a3703495a0 New Achievements & first aid starter pack (#7414)
Fixes #7406
2022-11-12 00:18:02 +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
96efb0e426 Block dynamic NPCs in instances (#7429)
Fixes #7420

Thanks to @attackjom
2022-11-10 22:14:42 +01:00
Balfear
4cb1af31f8 Don't show attendance UI (#7424) 2022-11-10 13:35:27 +01:00
Livia Medeiros
d5bb710eb3 Fix typos (#7421) 2022-11-09 15:59:40 +07:00
Atemo
3515285f43 Correction of getpetinfo parameter in item db (#7401)
Fixed #7398

Thanks to @idk-whoami @kaninhot004 and @Lemongrass3110 !
2022-11-08 22:51:44 +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
Lemongrass3110
774d4ca2e8 Follow up to 99faa58
Thanks to @Singe-Horizontal
2022-11-06 22:51:36 +01:00
idk-whoami
8d536e7ffe Corrected script for some item #12 (#7399)
Thanks to @Atemo
2022-11-06 17:36:21 +01:00
Vietlubu
b351e40070 Fix item script for Paradise Luxury Suit (#7409) 2022-11-06 17:32:13 +01:00
Livia Medeiros
63c3e67d93 Fix typos in Renewal scripts (#7408) 2022-11-06 16:53:23 +01:00
Lemongrass3110
a76e7b8818 Cleanup for guild position change (#7405)
Fixes #7387
This not really fully fixes it, but it makes it more clear.
Additionally changed to structs.

Thanks to @MrAntares
2022-11-05 17:27:02 +01:00
Vincent Stumpf
bf2b62bc9c Fix an issue when running map-server-generator in opt mode (#7378) 2022-11-04 21:00:58 -07:00
Joam
9c0d574787 Adds reputation script command (#7374) 2022-11-03 18:30:58 +01:00
Jittapan
b28eac7b56 Cleaned up CZ_PC_SELL_ITEMLIST and its related functions
* Added a validation check for remaining item amount
2022-11-03 22:08:36 +07: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
Aleos
66b348c547 Fixes NPC_COMET duration (#7388)
* Fixes #7355.
* Follow up to 2993c0b.
* Resolves an issue with the duration of Burning overlapping with the duration of NPC_COMET.
Thanks to @sonniez and @OptimusM!
2022-11-02 13:01:19 -04:00
idk-whoami
0018c39965 Locations correction of item ID 480023 (#7396) 2022-11-01 12:43:56 +07:00
eppc0330
2896ae21b0 Fix NPC_MAXPAIN skill mechanism (#5820)
* Max Pain will deal reflect damage to all characters on screen.
* Caster of Max Pain will get damaged.
* Max Pain will reflect both weapon and magic damage.
* Max Pain damages as special physical melee attack. PR_KYRIE, MG_SAFETYWALL, etc. can block the damage.
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Daegaladh <Daegaladh@users.noreply.github.com>
2022-10-31 13:54:53 -04:00
idk-whoami
73112801c6 Corrected script for some item (#7392)
* Added missing ; on active_transform and various fixes

Fixed #7382

Thanks to @kaninhot004 !
2022-10-29 23:33:45 +02:00
userid0
086a757235 Add navigenerator.bat to gitignore (#7386) 2022-10-26 08:20:48 -04:00
eppc0330
d0e39fbea7 Remove ASC_EDP nosave flag (#7384) 2022-10-25 15:55:09 +07:00
userid0
4836e09199 Fix compiler warning C4244. (#7295) 2022-10-24 10:02:27 -04:00
Pokye
de00e03bd9 Added Missing Shops Script (#7362)
* Added Character Position Change Coupon seller
* Added Emperium Seller

Thanks @aleos89 @Atemo @Balferian @Everade @secretdataz !
2022-10-23 13:54:16 +02:00
HAO YAN
9bf012d297 Update plagiarism script command name (#7377) 2022-10-22 15:11:17 -04:00
Atemo
59432412be Added missing SubType for item ID 1998 (#7373)
Fixed #7371

Thanks to @kaninhot004 !
2022-10-22 12:58:22 +02:00
Atemo
53d5fc609a Updated damagetaken (#7372)
Save damagetaken in mob_data for mob controller
2022-10-22 12:57:46 +02:00
Aleos
4a5b8e33dc Follow up to c3a171d (#7375)
* Fixes a compile warning.
2022-10-21 10:44:17 -04: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
Aleos
8073d4e084 Adds EndOnEnd node to status database (#7313)
* Any status defined under EndOnEnd will be removed when the status becomes inactive.
* Renames End to EndOnStart.
* Removes some hard coded statuses.
* Includes YamlUpgrade Tool update to rename End -> EndOnStart.
Thanks to @Lemongrass3110!
2022-10-20 10:04:00 -04:00
Atemo
bc2afbdfc2 SubType correction of item ID 28141 (#7368)
Fixed #7366

Thanks to @kaninhot004
2022-10-19 02:08:41 +02:00
Balfear
067ecbdeb4 Okolnir quest (missed warp coordinates) (#7286)
Added official warp coordinates in the quest
2022-10-17 11:34:01 +02:00
Atemo
43036926cf Added new items up to october 2022 (#7357)
* Removed duplicate combos and sorted the item ID in item_db_etc.yml
* Updated etc items
* Added equip items
2022-10-16 12:53:16 +02:00
Pokye
e95eb0ad84 Minor fix script Carbonated Water Vending Machine (#7361)
* Minor fix script Carbonated Water Vending Machine
* Added Atemo suggestion.

Fixed #7360
2022-10-15 12:05:05 +02:00
Aleos
d7bf5ebb58 Adds support for macro detection (#7315)
* Adds the official client macro detection system.
* Includes the ability to load imagery at server boot.
* See doc/captcha_db.txt for more information!
Thanks to @Asheraf and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-10-14 10:54:19 -04:00
Atemo
750c7d72de Permanent mob spawn definition update (#7352)
* Added support for mob name (sprite) as parameter in mob permanent spawn definition

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-10-13 23:44:26 +02:00
Aleos
8138281d90 Fixes a possible size mismatch for isspace() (#7311)
* Fixes #5928.
* Passing a char type argument to isspace() could result in unpredictable results.
Thanks to @hyunji-Hong and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-10-13 11:05:43 -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
Aleos
a9a47dcde4 Updates the cooldowns for new guild skills (#7306)
* Fixes #6184.
* Adjusts the cooldown of Charge Shout Flag to 15 minutes.
* Adjusts the cooldown of Charge Shout Beating to 15 minutes.
* Adjusts the cooldown of Emergency Move to 1 minute.
Thanks to @Everade and Dia!
2022-10-13 09:49:23 -04:00
Vincent Stumpf
64959d30cd Add custom depenencies for atcommand, script, and battle (#7274) 2022-10-13 15:06:00 +02:00
Aleos
fba0f4ee70 Fixes SA_DRAGONOLOGY MATK behavior (#7328)
* The MATK bonus should only be doubled versus Dragons, not quadrupled like the other bonuses.
* Confirmed the behaviors between pre-renewal and renewal.
Thanks to @mrjnumber1!
2022-10-13 08:26:42 -04:00
Atemo
e56694f161 Updated mapcache (#7354) 2022-10-13 12:22:30 +02:00
HAO YAN
f6633b5e7d Update Autopot NPC (#7308)
Fix delay shouldn't go below the `.MinDelay` or above `.MaxDelay`.
2022-10-12 23:27:24 +02:00
Aleos
7f82194eca Adds SC_WEAPONBREAKER status (#7265)
* Fixes #6915.
* Adds the SC_WEAPONBREAKER status which is applied via NPC_WEAPONBRAKER's self cast ability.
* Adds a chance to break a target's weapon at 2 * skill_lv% for 30 seconds.
Thanks to @Playtester!
2022-10-12 16:53:49 -04:00
Lemongrass3110
5b396bf7f1 Fixed some more hardcoded directions (#7317)
Replaced hardcoded numbers with their respective constants to increase maintainability and readability.
2022-10-12 22:38:22 +02:00
Lemongrass3110
e4e4ba1af0 Removed a debug message in web-server (#7305)
Fixes #7194
If a character/account logs in the first time, we silently store the default configuration in the foreseen tables now.
Fixes the problem that the client does not call account configuration save in newer versions and therefore always triggers the debug message.

Thanks to @idk-whoami
2022-10-12 21:44:03 +02:00
Vincent Stumpf
e28fb93f1e Fix warning when sending party message (#7350)
Fixes #7344
Thanks @24msz6eo
2022-10-12 21:04:51 +07:00
Lemongrass3110
311cda80af Fixed an invalid primary key in web.sql (#7304)
Fixes #7290

Thanks to @Tolimatoi
2022-10-11 23:41:08 +07:00
Aleos
3d3a5159e3 Updates NPC_SIEGEMODE comment to known behavior (#7327) 2022-10-11 08:03:30 -04:00
Vincent Stumpf
7b2a682c47 Fix pet_endautobonus crash (#7342)
Fixes #7292
2022-10-11 15:04:15 +07:00
idk-whoami
323a44ad86 Corrected rockridge shop name (#7341) 2022-10-11 00:04:24 +02:00
Atemo
7649947d50 Initial release of Juno monster society (#7323)
Thanks to @Daegaladh !
2022-10-11 00:03:13 +02:00
Jittapan Pluemsumran
43f5094620 Fixed "Unequip All" button not working on main server clients. Fixes #7337 (#7338) 2022-10-10 11:06:23 +07:00
Jittapan Pluemsumran
fa36ae27dd Fixed zero-length packet warning on party member logoff. Fixes #7324 (#7339)
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-10-09 18:21:57 +07:00
Vincent Stumpf
6bb29c0743 add nlohmann json to better support web service (#7325) 2022-10-08 20:18:04 -07:00
Aleos
7d09041018 Updates the script command doc min/max int value (#7329) 2022-10-08 08:03:50 -04:00
Vincent Stumpf
0de6ff37f7 Add map-server-generator to gitignore (#7331) 2022-10-07 21:16:59 -07:00
Aleos
4ae56ba94c Fixes Marine Sphere behavior (#7333)
* Fixes #7332.
* Resolves an issue where Marine Sphere were not casting their skills after being hit.
Thanks to @violent01 and @Daegaladh!
2022-10-07 15:54:07 -04:00
Jittapan Pluemsumran
9d0fa3523e Allow Blacksmith Blessing usage on level 5 weapons and level 2 armors (#7326) 2022-10-07 22:28:27 +07:00
Kasper Sandin
b568f2fb11 Remove unclosed npc script code blocks (#7330) 2022-10-07 13:47:57 +07:00
mazvi
1b0c50ad01 Update bug_report.yml (#7294)
* Include command line steps to retrieve git hash.
Thanks to @Lemongrass3110
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-10-05 13:19:21 -04:00
Lemongrass3110
99faa588ad Fixed names of two timer functions (#7319)
Blame it on me in 01f61cfa
2022-10-05 16:31:03 +02:00
Atemo
79bb537fa2 Initial release of the Poring village instance (#7293)
* Initial release of the Poring village instance

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-10-04 21:19:48 +02:00
JohnnyPlayy
85a938ecce Implementing the Script Gemstone Bagger! (#7318)
* Adding The Gem Bagging!

* Adding suggestion from @aleos89 
* Adding suggestion from @Atemo
2022-10-04 21:18:06 +02:00
idk-whoami
48f1493747 Corrected script for some item #11 (#7277)
Thanks to @Atemo
Thanks to @Balferian
2022-10-04 19:47:57 +02:00
Atemo
edc7137176 Fixed several item scripts (#7316) 2022-10-04 16:05:28 +02:00
Jittapan Pluemsumran
19fe27932f Implemented refine result broadcast packet (#7301) 2022-10-04 15:27:25 +07:00
Jittapan Pluemsumran
6fc3a07247 Follow up to 588f321d08
[ci skip]
2022-10-03 14:36:48 +07:00
Jittapan Pluemsumran
588f321d08 Follow up to 39b3e5fe29 2022-10-03 12:46:07 +07:00
Jittapan Pluemsumran
39b3e5fe29 Jewelers across the server now sells more jewel items (#7320)
Follow-up for enchantgrade feature.
2022-10-03 12:36:32 +07: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
Everade
c7ec076a6c Database entries for Episode 16.1 and 16.2 Memorial Dungeons (#7297)
Half Moon In The Daylight, Weekend Dungeon, Friday Dungeon
2022-10-01 04:03:46 +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
Aleos
c2e19bcf06 Fixes to Lullaby, Pang Voice, and Wink of Charm (#7264)
* Fixes #6916.
* Corrects the interval of Lullaby to every 4 seconds in pre-renewal.
* Corrects the success chance of Lullaby to INT * 0.2 + rand(10%, 30%) for Sleep.
* Corrects the duration of Lullaby's Sleep to 18 + 2 seconds in renewal and 30 seconds in pre-renewal.
* Corrects the success chance of Pang Voice to 70% for Confusion.
* Corrects the success chance of Wink of Charm versus players to 10% for Confusion.
* Corrects the success chance of Wink of Charm versus monsters to [(srcBaseLevel - tarBaseLevel) + 40]% for Charm.
Thanks to @Playtester and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-09-22 13:25:30 -04:00
Aleos
1e970ff1af Fixes the EXP, Drop, and Penalty message at login (#7266)
* Fixes #6165 and fixes #6170.
* Fixes the death penalty message not displaying the proper rate between normal and VIP players.
* Fixes the EXP message not displaying the proper rate for VIP players.
Thanks to @violent01 and @zdurexz!
2022-09-22 13:03:54 -04:00
Aleos
701d2c88c6 Fixes Skill Damage Database reflecting damage (#7258)
* Fixes #7248.
* Resolves an issue where skills defined in the Skill Damage Database would always reflect at least 1 damage even when no reflective gear or skills are active.
Thanks to @dev1-juan!
2022-09-22 12:38:14 -04:00
munkrej
4800b5bf72 adds missing mob skill conditions MSC_GROUNDATTACKED and MSC_DAMAGEDGT (#7138) 2022-09-22 15:30:17 +02: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
Null il3ol2ed
5ea44e7c0e Nemo patch ExtendOldCashShopPreview (#7281) 2022-09-22 01:23:27 +02:00
Lemongrass3110
ba9770ce95 Fixed caching of databases during runtime (#7275)
* Fixes #7268
Thanks to @jmsngls
2022-09-19 22:22:09 -04:00
Aleos
4c42bcbb34 Fixes petautobonus issues (#7272)
* Fixes #7271.
* Fixes a missing check that looks to see if the bonus already exists before adding it again to the vector.
* Fixes the removal of pet autobonuses.
Thanks to @mazvi, @vstumpf, and @Lemongrass3110!
2022-09-19 16:35:42 -04:00
Aleos
c9f075b8c6 Adds support for the new form for issues (#7278)
* Adds support for the new GitHub form templates for issues and feature requests.
* Makes hard requirements for details we need before being able to submit issues.
* Disables empty bug reports.
Thanks to @Lemongrass3110!
2022-09-19 16:17:45 -04:00
Akkarinage
56280c6da0 Added the Code of Conduct document (#7243)
* Added the Code of Conduct document

Because apparently this is a Github Community thing, and they want us to play nice.

* Apply suggestions from code review
2022-09-17 10:20:54 +01: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
Jittapan Pluemsumran
ee5ba2d889 Fixed potential crash via skill GN_FIRE_EXPANSION. (#7267) 2022-09-16 00:40:26 +07:00
idk-whoami
17cb93909e Just fixed a typo (#7263) 2022-09-13 13:11:04 +02:00
Aleos
05923b3ded Adds a battle config for Guild Skill saving (#7262)
* Fixes #7256.
* Adds battle config guild_skill_relog_type to allow the ability to save Guild Skill cooldowns on relog or reset them.
* Adjusts the check to account for any new Guild Skills.
Thanks to @Xypr0 and @Lemongrass3110!
2022-09-12 16:57:46 -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
Kanin Temsrisuk
421e49e1c4 Check for invalid Reject Sword cases (#7174)
* If the target is dead, break out of the remaining checks and calculations.
Thanks to @Lemongrass3110!
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-09-12 12:36:49 -04:00
Atemo
f490aeb6fa Updated mapcache (#7260) 2022-09-12 16:29:47 +02:00
idk-whoami
58a7f36c92 Corrected script for some item #10 (#7177)
* Corrected script for some item #10
* add some items JRO costume

Thanks to @Atemo
2022-09-12 14:29:08 +02:00
Akkarinage
4a4cc26252 Modified the Bug Report Issue Template (#7242)
Maybe if it's easier to read, it may get filled out properly? Maybe. I live in hope.

The final output from the template is unchanged except for slight formatting - but the hidden text that gives instructions to the users is now laid out in a way that should cause them to flow from one question to the next. Hopefully.
2022-09-12 10:58:54 +01:00
Akkarinage
df46dd9455 Updated Gunslinger Job Change Quest Reward Items (#7223)
* Checked against reliable source to confirm items.

Added a check instead of a separate file as only the items have changed between Pre-RE and RE.
2022-09-12 10:49:04 +01:00
Lemongrass3110
96e3981c68 Fixed some issue with clif_loadConfirm (#5204)
Fixes #5203
Fixes #5278
Fixes #5376

Thanks to @aleos89 for his help and everyone else involved in reporting, commenting and testing.
2022-09-11 20:49:31 +02:00
Aleos
a38b65da49 Fixes Lif - Brain Surgery SP bonus (#7257)
* Fixes #7221.
* Corrects the SP bonus of Lif's Brain Surgery to be skill_lv%.
Thanks to @Daraen1!
2022-09-09 12:11:19 -04:00
Atemo
a53d8604c9 Updated the english name of some items (#7254) 2022-09-07 18:54:41 +02:00
Atemo
75ab6738e0 Added missing status flag for Active_Monster_Transform and Monster_Transform (#7253)
Fixed #7247

Thanks to @jmsngls !
2022-09-07 18:52:30 +02:00
Aleos
4a43856271 Adjusts Enchanting Shadow behavior (#7124)
* Fixes #7104.
* Implements Shadow Scar as a timer on units.
* Implements the official packet for Shadow Scar counter.
* Enchanting Shadow can now be triggered by skills as well as melee.
* Removes the hit count limit.
* Adjusts the damage rate of Shadow Wounds to increase by 3%.
* Adjusts the duration of Shadow Scar from 30 seconds to 15.
Thanks to @eppc0330 and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-09-06 17:05:19 -04:00
Aleos
534bc706d0 Fixes Offertorium and Magnificat stacking (#7249)
* Fixes #7241.
* Offertorium and Magnificat are able to cancel each other out.
Thanks to @LadyNanuia!
2022-09-06 09:45:01 -04:00
Singe Horizontal
957efd823f Several status fixes (#7216)
* Fixes #7215.
* Fixes endows not being removed on death and staying while switching weapon.
* Fixes some statuses that must disappear when logging off: Strip skills, Asura SP Regen Malus, Critical Explosion, NPC Change Undead.
* Monsters in StoneWait are correctly prevented from attacking.
2022-09-06 08:52:27 -04: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
3c43669425 Added some missing ifdefs for old clients (#7237)
Fixes #7236

Thanks to @Akkarinage
2022-09-03 22:52:21 +02:00
Lemongrass3110
c29fef7323 Fixed billing slots (#7219)
The login-server ignored the value stored in the `character_slots` column of the `login` table.
Also some additional logic fixes and safeguards.

Thanks to @Pokye
2022-09-03 19:41:19 +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
Aleos
02a4831728 Fixes a compile error for older clients (#7235) 2022-09-03 12:42:37 -04:00
Aleos
0f3d5f8dbd Fixes pre-re item table loading (#7232)
* Follow up to 17751aa and 33fb756.
* Reverts 33fb756.
* Moves Gradable index check to renewal mode.
2022-09-03 10:33:31 -04:00
Atemo
6542df071f Added several missing items (#7213)
* Added several missing items according to KRO item description up to august 2022
* Updated the gradable part of the new items
* Added missing grade on Thanos helmets
2022-09-03 12:32:13 +02:00
Aleos
6b7d6e6841 Fixes an issue with whisper unblocks (#7231)
* When attempting to unblock players via /in, players with short names would sometimes not get unblocked.
Thanks to @Tokeiburu!
2022-09-02 11:02:43 -04:00
Jittapan Pluemsumran
33fb75684a Fixed a crash caused by wrong attribute ordering. Fixes #7229 (#7230) 2022-09-02 20:30:23 +07:00
Lemongrass3110
6cb5b5bac6 Implemented the /call command (#7225)
Fixes #7139.
Thanks to @idk-whoami
2022-09-01 16:01:13 -04: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
Aleos
a2ce09fd56 Resolves spawn direction not saving at relog (#7210)
* Fixes #7195.
* Adds a new save field for battle config spawn_direction which was not working for players who log out and in.
Thanks to @SapitoSucio and @Lemongrass3110!
2022-08-30 12:50:50 -04:00
Lemongrass3110
329158ac93 Better error message for YAML syntax errors (#7217)
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-08-30 11:15:26 +02:00
Atemo
7c3bb6124a Added missing increase of the versioning (#7220)
Follow up 17751aa4d7
2022-08-29 16:28:54 +02:00
Atemo
17751aa4d7 Added 'Gradable' in item DB (#7218)
* Added 'Gradable' in item DB
** The field defines if the item can be graded (renewal). (Default: false)

Thanks to @attackjom, @Lemongrass3110 !
2022-08-29 13:28:09 +02:00
Lemongrass3110
5f4fd5c98b Fixed some more SC_STONEWAIT issues (#7212)
Fixed PR_STRECOVERY not clearing SC_STONEWAIT
Fixed that ending SC_STONEWAIT manually still triggered SC_STONE

Thanks to @Singe-Horizontal and @aleos89
2022-08-28 17:02:37 +02:00
Vincent Stumpf
c751ca6b74 Client Navigation Generator (#6023)
Creates navigation files for the client.
2022-08-26 21:31:45 -07:00
Lemongrass3110
b1b371f4b8 Cleaned up status_change_end (#7211)
* Removed leftover old debug info that made it necessary to the hide the real function behind a define.
* Introduced a C++ default argument for timer id, as the timer id is only needed a single time, when the status expires naturally.
* Replaced all currently existing calls that had INVALID_TIMER as argument and made use of the new default argument.
2022-08-26 22:23:40 -04:00
Singe Horizontal
a03644fc53 Fix Aspersio not removing scroll enchant (#7203)
Fixes #7202
2022-08-24 23:09:19 +02:00
Null il3ol2ed
44d3edf99d Updated runserver.bat (#7206) 2022-08-24 22:43:04 +02:00
Lemongrass3110
a0eb9d5ee2 Initial release of item reform UI (#7185)
Thanks to @idk-whoami, @Benq28021997, @datawulf, @Atemo and @aleos89

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-08-24 22:24:13 +02:00
Lemongrass3110
b68e59f743 Updates github CI version for Ubuntu (#7204)
Changed clang minimum version to version 6
Removed unsupported clang versions from version matrix
2022-08-23 08:53:39 +02:00
Atemo
a2747b2023 Script command for enchantgrade (#7180)
* Added several commands to manage the enchantment grade of equipment
* Added grade atcommand
** Works like refine atcommand for grade system

Thanks to @Lemongrass3110 !
2022-08-22 22:41:40 +02:00
Balfear
798e09e8c9 Update enchan_rockridge.txt (#7193)
Armor dealer should sell Granpa_Beard not Granpa_Beard_F.
Added custom restock every week.
2022-08-20 17:03:38 +02:00
Lemongrass3110
ae74eb8404 Initial release of reputation UI (#7184)
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-08-18 17:50:40 +02:00
Aleos
e90fa9e8f7 Allow PK damage modifiers to affect flat damage (#7126) 2022-08-17 19:19:40 -04:00
Lemongrass3110
a88e25a8e3 Fixed returned mails from deleted chars (#7181)
Fixes #7161

Thanks to @Pokye
2022-08-18 00:44:23 +02:00
Lemongrass3110
df9ef6fa79 Fixed memory consumption of caches (#7064)
Thanks to @aleos89
2022-08-18 00:06:47 +02:00
Singe Horizontal
846dfd9bb4 Fixes after song visual effect bug (#7190)
* Fixes #7163.
* Resolves an issue where the Moonlight effect would be displayed when ending a dance/song.
2022-08-17 12:17:13 -04:00
Aleos
9759909f82 Add checks to ignore renewal DEF (#7150)
* Fixes #7143.
* Resolves an issue where Dragon Breath, Dragon Breath - Water, Cart Cannon, and Arms Cannon were not properly reducing damage based on the target's defense.
Thanks to @LadyNanuia, @Lemongrass3110, @attackjom!
2022-08-16 15:32:07 -04:00
Lemongrass3110
25f104c50d Added sql upgrade file for web-server 2022-08-16 17:53:56 +02:00
Vincent Stumpf
0ac52d0bb4 Initial support for web service for newer clients (#5731)
Co-authored-by: Jittapan Pluemsumran <secret@rathena.org>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2022-08-16 15:10:18 +02:00
Vincent Stumpf
5d105b5736 cleanup a bit of cbasetypes (#7179) 2022-08-15 10:26:10 +02:00
Atemo
33e080545a Added training zone (#7176)
* Removed Dummy mobs in prontera
* Truncated the name of the mobs in the training area, the name being too long only the relevant information is kept

Thanks to @Balferian !
2022-08-14 20:49:12 +02:00
Aleos
77b4b3ccea Fixes a couple mob skill conditions (#7151)
* Fixes #7141.
* Follow up to 36b9b94.
* Fixes an issue with mob skill conditions closedattacked and longrangeattacked not triggering for skills with no aMotion.
Thanks to @datawulf!
2022-08-12 15:13:26 -04:00
Aleos
3418221dba Fixes skill_keep_using timer mismatch (#7127)
* Fixes #7095.
* Resolves an issue where skill_keep_using was not resetting the timer ID after the timer ends.
* Cleans up the check when applying the timer to confirm a timer doesn't already exist.
Thanks to @eppc0330!
2022-08-12 14:55:21 -04:00
Aleos
365439943a Cleans up Dancing cancellation (#7166)
* Follow up to 724257e.
* Fixes an issue where the val4 value was cleared too early resulting in the move state not being cleared properly.
2022-08-11 08:36:26 -04:00
idk-whoami
df3d7d4bd1 Corrected script for some item #9 (#7115)
Thanks to @Atemo
2022-08-10 14:53:51 +02:00
Kanin Temsrisuk
3587ef6923 Adds missing MaxAPrate constant (#7169)
* Adds missing constant to script_constants.hpp.
2022-08-10 08:16:32 -04:00
Lemongrass3110
c06492def6 Implemented map specific drops (#7156)
Thanks to @Atemo and @aleos89.
2022-08-09 19:15:13 +02:00
Atemo
c5031982d2 Allow the player to stand on a cell occupied by disabled/hidden npc (#7154)
Fixed #7153
2022-08-07 21:54:53 +02:00
Aleos
e3c2db65c4 Updates the behavior of Overheat (#7157)
* Overheat is now triggered via damage received, not damage dealt.
* Corrects an issue where the HP damage would not trigger because the Overheat status would end too early.
* Damage will no longer cause a flinch.
* General cleanups.
2022-08-06 21:55:20 -04:00
Aleos
724257ee1a Fixes pre-renewal duet dancing (#7160)
* Fixes #7134.
* Resolves an issue where duet songs resulted in the partner not being able to move when canceling the song early.
Thanks to @hnomkeng!
2022-08-05 10:02:15 -04:00
Keitenai
cda284f123 Cleaned up (#7164)
minor follow up to 7336058
2022-08-05 11:47:55 +02:00
Atemo
c6c534a3eb Correction of the item script of the item "Hourglass Necklace" (#7159)
Fixed #7155

Thanks to @kujourin !
2022-08-02 21:46:24 +02:00
Atemo
498c4fe2b3 Removed duplicate combos (#7158)
Removed the duplicate combos introduced in e3cb3fa01f
2022-08-02 17:46:38 +02:00
Aleos
922d309643 Fixes script command rentalcountitem (#7122)
* Fixes #7121.
* Fixes an issue with normal items getting mixed into the rental count.
Thanks to @Cukinaru and @Lemongrass3110!
2022-08-02 08:51:24 -04:00
Aleos
a0bc2c0c3d Fixes script command equip (#7149)
* Fixes #7144.
* Follow up to 8038e71.
* Fixes an inverted check.
Thanks to @voyfmyuh!
2022-08-01 10:45:40 -04:00
556 changed files with 279714 additions and 246863 deletions

View File

@@ -1,38 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: type:bug
assignees: ''
---
<!-- NOTE: Anything within these brackets will be hidden on the preview of the Issue. -->
* **rAthena Hash**:
<!-- Please specify the rAthena [GitHub hash](https://help.github.com/articles/autolinked-references-and-urls/#commit-shas) on which you encountered this issue.
How to get your GitHub Hash:
1. cd your/rAthena/directory/
2. git rev-parse --short HEAD
3. Copy the resulting hash.
-->
* **Client Date**:
<!-- Please specify the client date you used. -->
* **Server Mode**:
<!-- Which mode does your server use: Pre-Renewal or Renewal? -->
* **Description of Issue**:
* Result: <!-- Describe the issue that you experienced in detail. -->
* Expected Result: <!-- Describe what you would expect to happen in detail. -->
* How to Reproduce: <!-- If you have not stated in the description of the result already, please give us a short guide how we can reproduce your issue. -->
* Official Information: <!-- If possible, provide information from official servers (kRO or other sources) which prove that the result is wrong. Please take into account that iRO (especially iRO Wiki) is not always the same as kRO. -->
<!-- * _NOTE: Make sure you quote ``` `@atcommands` ``` just like this so that you do not tag uninvolved GitHub users!_ -->
* **Modifications that may affect results**:
<!-- * Please provide any information that could influence the expected result. -->
<!-- * This can be either configurations you changed, database values you changed, or even external source modifications. -->

81
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,81 @@
name: Bug Report
description: Create an Issue that details broken or unexpected behaviour
labels: ["type:bug"]
body:
- type: input
id: hash
attributes:
label: rAthena Hash
description: |
Please specify the rAthena [GitHub hash](https://help.github.com/articles/autolinked-references-and-urls/#commit-shas) on which you encountered this issue.
One way to get your hash is to type `git rev-parse --short HEAD` on your console.
validations:
required: true
- type: input
id: date
attributes:
label: Client Date
description: Specify the client date you are using when this Issue occured.
placeholder: YYYY-MM-DD
validations:
required: true
- type: dropdown
id: mode
attributes:
label: Server Mode
description: Specify the server-mode you are using when this Issue occured.
multiple: true
options:
- Pre-Renewal
- Renewal
validations:
required: true
- type: textarea
id: result
attributes:
label: Result
description: Describe the issue that you experienced in detail.
placeholder: |
1. In this environment...
2. With this config...
3. Trigger event '...'
4. See error...
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant Log Output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: Shell
validations:
required: false
- type: textarea
id: expected
attributes:
label: Expected Result
description: Describe what you would expect to happen in detail.
validations:
required: true
- type: textarea
id: howto
attributes:
label: How to Reproduce
description: If you have not stated in the description of the result already, please give us a short guide how we can reproduce your issue.
validations:
required: true
- type: textarea
id: info
attributes:
label: Official Information
description: If possible, provide information from official servers (kRO or other sources) which prove that the result is wrong. Please take into account that iRO (especially iRO Wiki) is not always the same as kRO.
validations:
required: true
- type: textarea
id: modifications
attributes:
label: Modifications that may affect results
description: |
If you are using any modifications, especially in /src/, you must type them here.
Even the smallest changes can cause things to break. We need to know what you have customized.
This can be either configurations you changed, database values you changed, or even external source modifications.

8
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: rAthena Community Support
url: https://rathena.org/board/forum/3-support-releases/
about: Please ask and answer questions here in our forum.
- name: rAthena Discord
url: https://rathena.org/board/discord/
about: Chat with us in the Discord support channel.

View File

@@ -1,35 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: type:enhancement
assignees: ''
---
<!-- NOTE: Anything within these brackets will be hidden on the preview of the Feature Request. -->
**Is your request related to a missing feature?**
<!--
Provide a clear and concise description of what the feature pertains to.
-->
**Describe the solution you'd like**
<!--
Provide a clear and concise description of what you want to happen.
-->
**Describe alternatives you've considered**
<!--
Let us know about other solutions you've tried or researched.
-->
**Additional context**
<!--
Is there anything else you can add about the proposal?
You might want to link to related issues here if you haven't already.
-->

View File

@@ -0,0 +1,32 @@
name: Feature Request
description: Suggest an idea for this project
labels: ["type:enhancement"]
body:
- type: dropdown
id: missing
attributes:
label: Is your request related to a missing official feature?
options:
- "Yes"
- "No"
validations:
required: true
- type: textarea
id: solution
attributes:
label: Describe the solution you'd like
description: Provide a clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Describe alternatives you've considered
description: Let us know about other solutions you've tried or researched.
- type: textarea
id: context
attributes:
label: Additional context
description: |
Is there anything else you can add about the proposal?
You might want to link to related issues here if you haven't already.

92
.github/workflows/analysis_codeql.yml vendored Normal file
View File

@@ -0,0 +1,92 @@
name: Analyse servers with CodeQL
# analysis_codeql.yml
concurrency:
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master
pull_request:
paths:
# Always trigger all Github Actions if an action or something CI related was changed
- '.github/workflows/**'
- 'tools/ci/**'
# This workflow should run when a file in a source directory has been modified.
- 'src/**'
- '3rdparty/**'
jobs:
analyze:
# Github Actions checks for '[ci skip]', '[skip ci]', '[no ci]', '[skip actions]', or '[actions skip]' but not a hyphenated version.
# It's a catch-all incase a Pull Request has been opened and someone is on auto-pilot.
if: "!contains(github.event.head_commit.message, 'ci-skip')"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# The ubuntu-latest label currently points to ubuntu-20.04.
# Available: ubuntu-22.04, ubuntu-20.04
os: [ubuntu-latest]
# Older versions of GCC are not available via unaltered aptitude repo lists.
gcc: ['10']
# We run build checks for both Renewal and PRE-Renewal
mode: ['PRE','RE']
steps:
- name: Checkout repository
uses: actions/checkout@v3
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
languages: cpp
# Trigger security and quality findings
# https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# TODO: Resolve the issues and then enable it again
#queries: +security-and-quality
# A simple 'yes' and 'no' can be confusing, so we use names to display in the current job then convert them for use in the compiler.
- name: Variable Parsing - PRE
if: ${{ matrix.mode == 'PRE' }}
run: |
echo "PRERE=yes" >> $GITHUB_ENV
- name: Variable Parsing - RE
if: ${{ matrix.mode == 'RE' }}
run: |
echo "PRERE=no" >> $GITHUB_ENV
- name: Update & Install packages
# Ubuntu runners already have most of the packages rAthena requires to build.
# https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md
run: |
sudo apt update
sudo apt install zlib1g-dev libpcre3-dev gcc-${{ matrix.gcc }} g++-${{ matrix.gcc }}
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
#- name: Autobuild
# uses: github/codeql-action/autobuild@v2
# ✏️ If the Autobuild fails above, remove it and uncomment the following
# three lines and modify them (or add more) to build your code if your
# project uses a compiled language
- name: Command - configure
env:
CONFIGURE_FLAGS: 'CC=gcc-${{ matrix.gcc }} CXX=g++-${{ matrix.gcc }} --enable-prere=${{ env.PRERE }} --enable-buildbot=yes'
run: ./configure $CONFIGURE_FLAGS
- name: Command - make clean
run: make clean
- name: Command - make server
run: make server
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2

View File

@@ -1,7 +1,12 @@
name: Build servers with Clang
# build_servers_clang.yml
concurrency:
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master
@@ -22,11 +27,11 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# The ubuntu-latest label currently points to ubuntu-18.04.
# Available: ubuntu-20.04, ubuntu-18.04
os: [ubuntu-18.04]
# The ubuntu-latest label currently points to ubuntu-22.04.
# Available: ubuntu-22.04, ubuntu-20.04
os: [ubuntu-20.04]
# Version list can be found on https://github.com/marketplace/actions/install-clang
clang: ['3.9', '4.0', '5.0', '6.0', '7', '8', '9', '10', '11'] #, '12', '13']
clang: ['6.0', '7', '8', '9', '10', '11'] #, '12', '13']
steps:
- uses: actions/checkout@v2

View File

@@ -1,7 +1,12 @@
name: Build servers with CMake
# build_servers_cmake.yml
concurrency:
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master
@@ -22,8 +27,8 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# The ubuntu-latest label currently points to ubuntu-18.04.
# Available: ubuntu-20.04, ubuntu-18.04
# The ubuntu-latest label currently points to ubuntu-22.04.
# Available: ubuntu-22.04, ubuntu-20.04
os: [ubuntu-latest]
steps:

View File

@@ -1,7 +1,12 @@
name: Build servers with GCC
# build_servers_gcc.yml
concurrency:
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master
@@ -22,11 +27,11 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# The ubuntu-latest label currently points to ubuntu-18.04.
# Available: ubuntu-20.04, ubuntu-18.04
# The ubuntu-latest label currently points to ubuntu-22.04.
# Available: ubuntu-22.04, ubuntu-20.04
os: [ubuntu-latest]
# Older versions of GCC are not available via unaltered aptitude repo lists.
gcc: ['7', '8', '9', '10']
gcc: ['9', '10', '11']
steps:
- uses: actions/checkout@v2

View File

@@ -1,7 +1,12 @@
name: Build servers in Pre-Renewal and Renewal
# build_servers_modes.yml
concurrency:
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master
@@ -22,11 +27,11 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# The ubuntu-latest label currently points to ubuntu-18.04.
# Available: ubuntu-20.04, ubuntu-18.04
# The ubuntu-latest label currently points to ubuntu-22.04.
# Available: ubuntu-22.04, ubuntu-20.04
os: [ubuntu-latest]
# Older versions of GCC are not available via unaltered aptitude repo lists.
gcc: ['10']
gcc: ['11']
# We run build checks for both Renewal and PRE-Renewal
mode: ['PRE','RE']

View File

@@ -1,7 +1,12 @@
name: Build servers with MSVS
# build_servers_msbuild.yml
concurrency:
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master

View File

@@ -1,7 +1,12 @@
name: Build servers with different packet versions
# build_servers_packetversions.yml
concurrency:
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master
@@ -22,11 +27,11 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# The ubuntu-latest label currently points to ubuntu-18.04.
# Available: ubuntu-20.04, ubuntu-18.04
# The ubuntu-latest label currently points to ubuntu-22.04.
# Available: ubuntu-22.04, ubuntu-20.04
os: [ubuntu-latest]
# Older versions of GCC are not available via unaltered aptitude repo lists.
gcc: ['10']
gcc: ['11']
# We run build checks for both Renewal and PRE-Renewal
mode: ['PRE','RE']
# Check build success for different packet-versions

View File

@@ -1,7 +1,12 @@
name: Build servers in VIP mode
# build_servers_vip.yml
concurrency:
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master
@@ -22,11 +27,11 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# The ubuntu-latest label currently points to ubuntu-18.04.
# Available: ubuntu-20.04, ubuntu-18.04
# The ubuntu-latest label currently points to ubuntu-22.04.
# Available: ubuntu-22.04, ubuntu-20.04
os: [ubuntu-latest]
# Older versions of GCC are not available via unaltered aptitude repo lists.
gcc: ['10']
gcc: ['11']
# We run build checks for both Renewal and PRE-Renewal
mode: ['PRE', 'RE']

View File

@@ -4,7 +4,12 @@ name: Validate NPC Scripts and DB Changes
# For NPC and DB validation we only need two builds: one of Renewal and one for Pre-Renewal checks.
# NPC scripts and database files are not platform dependent, so we can achieve this validation using only a simple linux setup.
concurrency:
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
on:
workflow_dispatch:
push:
branches:
- master
@@ -25,11 +30,11 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# The ubuntu-latest label currently points to ubuntu-18.04.
# Available: ubuntu-20.04, ubuntu-18.04
# The ubuntu-latest label currently points to ubuntu-22.04.
# Available: ubuntu-22.04, ubuntu-20.04
os: [ubuntu-latest]
# Only a single version of GCC is required for validating NPC scripts and database changes.
gcc: ['10']
gcc: ['11']
# We run build checks for both Renewal and PRE-Renewal
mode: ['PRE', 'RE']

20
.gitignore vendored
View File

@@ -1,6 +1,5 @@
/autom4te.cache/output.0
/autom4te.cache/requests
/autom4te.cache/traces.0
autom4te.cache/
#Global
.vscode
.Apple*
@@ -40,8 +39,10 @@ Thumbs.db
/Makefile
/Makefile.cache
/map-server
/map-server-generator
/mapcache
/nbproject
/web-server
/yaml2sql
/yamlupgrade
@@ -56,6 +57,10 @@ Thumbs.db
# /3rdparty/yaml-cpp/
/3rdparty/yaml-cpp/Makefile
# /3rdparty/httplib/
/3rdparty/httplib/Makefile
/3rdparty/httplib/obj
# /db/
/db/import
@@ -92,6 +97,10 @@ Thumbs.db
/src/map/obj_sql
/src/map/pcre.hpp
# /src/web
/src/web/Makefile
/src/web/obj
# /src/tool/
/src/tool/Makefile
/src/tool/obj_all
@@ -125,8 +134,10 @@ Thumbs.db
/mapserv.bat
/runserver.bat
/serv.bat
/webserv.bat
/yaml2sql.bat
/yamlupgrade.bat
/navigenerator.bat
# dlls
/libmysql.dll
@@ -135,3 +146,6 @@ Thumbs.db
# CMakeFiles
/CMakeFiles/
# generated files
generated

View File

@@ -47,6 +47,8 @@ macro( CONFIGURE_WITH_LOCAL_OR_SYSTEM name )
endmacro( CONFIGURE_WITH_LOCAL_OR_SYSTEM )
add_subdirectory( httplib )
add_subdirectory( json )
add_subdirectory( libconfig )
add_subdirectory( mysql )
add_subdirectory( pcre )

2
3rdparty/README.txt vendored
View File

@@ -1,7 +1,9 @@
This folder contains everything related to 3rdparty code or tools.
cmake - scripts for the cmake build system (http://www.cmake.org)
httplib - library for http web service (https://github.com/yhirose/cpp-httplib/commit/a9cf09795170a72372cbeb3feef3851b859c0e33)
libconfig - library for processing structured configuration files (http://www.hyperrealm.com/libconfig/)
mysql - library for MySQL Community Server (http://www.mysql.com)
pcre - library for Perl Compatible Regular Expressions (http://www.pcre.org)
zlib - library for DEFLATE lossless compression algorithm (http://www.zlib.net)
json - library for nlohmann json (https://github.com/nlohmann/json/tree/4b2c8ce6bcfe7f39f2bb9e680c1e7a4d67c2dd48)

38
3rdparty/httplib/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,38 @@
cmake_minimum_required(VERSION 2.8)
if ( NOT ENABLE_WEB_SERVER )
return()
endif( NOT ENABLE_WEB_SERVER )
SET (this_target httplib)
PROJECT(${this_target})
find_path ( HTTPLIB_INCLUDE_DIRS "httplib.h"
PATHS "${CMAKE_CURRENT_SOURCE_DIR}"
NO_DEFAULT_PATH )
find_path ( HTTPLIB_SOURCE_DIR "httplib.cc"
PATHS "${CMAKE_CURRENT_SOURCE_DIR}"
NO_DEFAULT_PATH )
mark_as_advanced( HTTPLIB_INCLUDE_DIRS )
mark_as_advanced( HTTPLIB_SOURCE_DIR )
set ( HTTPLIB_HEADERS
"${HTTPLIB_INCLUDE_DIRS}/httplib.h"
CACHE INTERNAL "httplib headers" )
set ( HTTPLIB_SOURCES
"${HTTPLIB_SOURCE_DIR}/httplib.cc"
CACHE INTERNAL "httplib sources" )
set ( HTTPLIB_DEFINITIONS
"-std=c++11"
CACHE INTERNAL "http definitions" )
include_directories( ${HTTPLIB_INCLUDE_DIRS} ${HTTPLIB_SOURCE_DIR} )
ADD_LIBRARY( ${this_target} STATIC ${HTTPLIB_SOURCES} )
if (NOT WIN32)
target_compile_definitions(${this_target} PUBLIC "CPPHTTPLIB_SEND_FLAGS=MSG_NOSIGNAL")
endif()

43
3rdparty/httplib/Makefile.in vendored Normal file
View File

@@ -0,0 +1,43 @@
HTTPLIB_OBJ = $(shell find * -type f -name "*.cc" | sed -e "s/\.cc/\.o/g")
HTTPLIB_DIR_OBJ = $(HTTPLIB_OBJ:%=obj/%)
HTTPLIB_H = $(shell find * -type f -name "*.h")
HTTPLIB_AR = obj/httplib.a
CXXFLAG =-std=c++11
HTTPLIB_DEPENDS=httplib
@SET_MAKE@
#####################################################################
.PHONY : all clean help httplib
all: $(HTTPLIB_DEPENDS)
clean:
@echo " CLEAN httplib"
@rm -rf obj *.o
help:
@echo "possible targets are 'all' 'clean' 'help'"
@echo "'httplib' - build $(HTTPLIB_AR)
@echo "'all' - builds $(HTTPLIB_DIR_OBJ)"
@echo "'clean' - deletes $(HTTPLIB_DIR_OBJ)"
@echo "'help' - outputs this message"
#####################################################################
obj:
@echo " MKDIR obj"
@mkdir -p obj
obj/%.o: %.cc $(HTTPLIB_H)
@echo " CXX $<"
@@CXX@ $(CXXFLAG) @CFLAGS_AR@ @CPPFLAGS@ -DCPPHTTPLIB_SEND_FLAGS=MSG_NOSIGNAL -g -c $(OUTPUT_OPTION) $<
httplib: obj $(HTTPLIB_DIR_OBJ) $(HTTPLIB_AR)
$(HTTPLIB_AR): $(HTTPLIB_DIR_OBJ)
@echo " AR $@"
@@AR@ rcs obj/httplib.a $(HTTPLIB_DIR_OBJ)

6482
3rdparty/httplib/httplib.cc vendored Normal file

File diff suppressed because it is too large Load Diff

1904
3rdparty/httplib/httplib.h vendored Normal file

File diff suppressed because it is too large Load Diff

160
3rdparty/httplib/httplib.vcxproj vendored Normal file
View File

@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="httplib.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="httplib.cc" />
</ItemGroup>
<PropertyGroup Label="Globals">
<Keyword>Win32Proj</Keyword>
<RootNamespace>libconfig</RootNamespace>
<ProjectGuid>{7A1A25BC-2CF7-44B2-8CAF-B4273B510FC6}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir).vs\build\</OutDir>
<IntDir>$(SolutionDir).vs\build\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir).vs\build\</OutDir>
<IntDir>$(SolutionDir).vs\build\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir).vs\build\</OutDir>
<IntDir>$(SolutionDir).vs\build\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir).vs\build\</OutDir>
<IntDir>$(SolutionDir).vs\build\$(ProjectName)\$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_DEBUG;_LIB;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="httplib.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="httplib.cc">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

7
3rdparty/json/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 2.8)
set (JSON_INCLUDE_DIRS
"${CMAKE_CURRENT_SOURCE_DIR}/include"
CACHE INTERNAL "json include dir" )
mark_as_advanced( JSON_INCLUDE_DIRS )

21
3rdparty/json/LICENSE.MIT vendored Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2013-2022 Niels Lohmann
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

24641
3rdparty/json/include/nlohmann/json.hpp vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,177 @@
// __ _____ _____ _____
// __| | __| | | | JSON for Modern C++
// | | |__ | | | | | | version 3.11.2
// |_____|_____|_____|_|___| https://github.com/nlohmann/json
//
// SPDX-FileCopyrightText: 2013-2022 Niels Lohmann <https://nlohmann.me>
// SPDX-License-Identifier: MIT
#ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_
#define INCLUDE_NLOHMANN_JSON_FWD_HPP_
#include <cstdint> // int64_t, uint64_t
#include <map> // map
#include <memory> // allocator
#include <string> // string
#include <vector> // vector
// #include <nlohmann/detail/abi_macros.hpp>
// __ _____ _____ _____
// __| | __| | | | JSON for Modern C++
// | | |__ | | | | | | version 3.11.2
// |_____|_____|_____|_|___| https://github.com/nlohmann/json
//
// SPDX-FileCopyrightText: 2013-2022 Niels Lohmann <https://nlohmann.me>
// SPDX-License-Identifier: MIT
// This file contains all macro definitions affecting or depending on the ABI
#ifndef JSON_SKIP_LIBRARY_VERSION_CHECK
#if defined(NLOHMANN_JSON_VERSION_MAJOR) && defined(NLOHMANN_JSON_VERSION_MINOR) && defined(NLOHMANN_JSON_VERSION_PATCH)
#if NLOHMANN_JSON_VERSION_MAJOR != 3 || NLOHMANN_JSON_VERSION_MINOR != 11 || NLOHMANN_JSON_VERSION_PATCH != 2
#warning "Already included a different version of the library!"
#endif
#endif
#endif
#define NLOHMANN_JSON_VERSION_MAJOR 3 // NOLINT(modernize-macro-to-enum)
#define NLOHMANN_JSON_VERSION_MINOR 11 // NOLINT(modernize-macro-to-enum)
#define NLOHMANN_JSON_VERSION_PATCH 2 // NOLINT(modernize-macro-to-enum)
#ifndef JSON_DIAGNOSTICS
#define JSON_DIAGNOSTICS 0
#endif
#ifndef JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON
#define JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON 0
#endif
#if JSON_DIAGNOSTICS
#define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS _diag
#else
#define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS
#endif
#if JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON
#define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON _ldvcmp
#else
#define NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON
#endif
#ifndef NLOHMANN_JSON_NAMESPACE_NO_VERSION
#define NLOHMANN_JSON_NAMESPACE_NO_VERSION 0
#endif
// Construct the namespace ABI tags component
#define NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b) json_abi ## a ## b
#define NLOHMANN_JSON_ABI_TAGS_CONCAT(a, b) \
NLOHMANN_JSON_ABI_TAGS_CONCAT_EX(a, b)
#define NLOHMANN_JSON_ABI_TAGS \
NLOHMANN_JSON_ABI_TAGS_CONCAT( \
NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS, \
NLOHMANN_JSON_ABI_TAG_LEGACY_DISCARDED_VALUE_COMPARISON)
// Construct the namespace version component
#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch) \
_v ## major ## _ ## minor ## _ ## patch
#define NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(major, minor, patch) \
NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT_EX(major, minor, patch)
#if NLOHMANN_JSON_NAMESPACE_NO_VERSION
#define NLOHMANN_JSON_NAMESPACE_VERSION
#else
#define NLOHMANN_JSON_NAMESPACE_VERSION \
NLOHMANN_JSON_NAMESPACE_VERSION_CONCAT(NLOHMANN_JSON_VERSION_MAJOR, \
NLOHMANN_JSON_VERSION_MINOR, \
NLOHMANN_JSON_VERSION_PATCH)
#endif
// Combine namespace components
#define NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b) a ## b
#define NLOHMANN_JSON_NAMESPACE_CONCAT(a, b) \
NLOHMANN_JSON_NAMESPACE_CONCAT_EX(a, b)
#ifndef NLOHMANN_JSON_NAMESPACE
#define NLOHMANN_JSON_NAMESPACE \
nlohmann::NLOHMANN_JSON_NAMESPACE_CONCAT( \
NLOHMANN_JSON_ABI_TAGS, \
NLOHMANN_JSON_NAMESPACE_VERSION)
#endif
#ifndef NLOHMANN_JSON_NAMESPACE_BEGIN
#define NLOHMANN_JSON_NAMESPACE_BEGIN \
namespace nlohmann \
{ \
inline namespace NLOHMANN_JSON_NAMESPACE_CONCAT( \
NLOHMANN_JSON_ABI_TAGS, \
NLOHMANN_JSON_NAMESPACE_VERSION) \
{
#endif
#ifndef NLOHMANN_JSON_NAMESPACE_END
#define NLOHMANN_JSON_NAMESPACE_END \
} /* namespace (inline namespace) NOLINT(readability/namespace) */ \
} // namespace nlohmann
#endif
/*!
@brief namespace for Niels Lohmann
@see https://github.com/nlohmann
@since version 1.0.0
*/
NLOHMANN_JSON_NAMESPACE_BEGIN
/*!
@brief default JSONSerializer template argument
This serializer ignores the template arguments and uses ADL
([argument-dependent lookup](https://en.cppreference.com/w/cpp/language/adl))
for serialization.
*/
template<typename T = void, typename SFINAE = void>
struct adl_serializer;
/// a class to store JSON values
/// @sa https://json.nlohmann.me/api/basic_json/
template<template<typename U, typename V, typename... Args> class ObjectType =
std::map,
template<typename U, typename... Args> class ArrayType = std::vector,
class StringType = std::string, class BooleanType = bool,
class NumberIntegerType = std::int64_t,
class NumberUnsignedType = std::uint64_t,
class NumberFloatType = double,
template<typename U> class AllocatorType = std::allocator,
template<typename T, typename SFINAE = void> class JSONSerializer =
adl_serializer,
class BinaryType = std::vector<std::uint8_t>, // cppcheck-suppress syntaxError
class CustomBaseClass = void>
class basic_json;
/// @brief JSON Pointer defines a string syntax for identifying a specific value within a JSON document
/// @sa https://json.nlohmann.me/api/json_pointer/
template<typename RefStringType>
class json_pointer;
/*!
@brief default specialization
@sa https://json.nlohmann.me/api/json/
*/
using json = basic_json<>;
/// @brief a minimal map-like container that preserves insertion order
/// @sa https://json.nlohmann.me/api/ordered_map/
template<class Key, class T, class IgnoredLess, class Allocator>
struct ordered_map;
/// @brief specialization that maintains the insertion order of object keys
/// @sa https://json.nlohmann.me/api/ordered_json/
using ordered_json = basic_json<nlohmann::ordered_map>;
NLOHMANN_JSON_NAMESPACE_END
#endif // INCLUDE_NLOHMANN_JSON_FWD_HPP_

View File

@@ -35,7 +35,7 @@ project( rAthena )
if( CYGWIN )
unset( WIN32 )
endif()
set(CMAKE_CXX_STANDARD 11) # C++11...
set(CMAKE_CXX_STANDARD 14) # C++14...
set(CMAKE_CXX_STANDARD_REQUIRED ON) #...is required...
#set(CMAKE_CXX_EXTENSIONS OFF) #...without compiler extensions like gnu++11
@@ -226,6 +226,10 @@ endif()
message( STATUS "Detecting networking library (socket/nsl/ws2_32) - done" )
endif()
#
# enable web server?
#
option( ENABLE_WEB_SERVER "Build web-server (default=ON)" ON )
#
# Test for big endian

126
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,126 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, posting on the forums with an account in a Staff group, or acting as an appointed representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement via
the Report Center on our forums. All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. In the event that a user is uncontactable through normal means, the offending content will be hidden. A second infraction from a user with no means of communication will result in immediate Temporary Ban. See section 3.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[Contributor Covenant](https://www.contributor-covenant.org)
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.

View File

@@ -4,11 +4,12 @@ HAVE_MYSQL=@HAVE_MYSQL@
OMAP=@OMAP@
ifeq ($(HAVE_MYSQL),yes)
ALL_DEPENDS=server tools
SERVER_DEPENDS=common login char map import
SERVER_DEPENDS=common login char map web import
COMMON_DEPENDS=libconfig rapidyaml yaml-cpp
LOGIN_DEPENDS=libconfig common
CHAR_DEPENDS=libconfig common rapidyaml
MAP_DEPENDS=libconfig common rapidyaml
WEB_DEPENDS=libconfig common yaml-cpp httplib
else
ALL_DEPENDS=needs_mysql
SERVER_DEPENDS=needs_mysql
@@ -16,6 +17,7 @@ else
LOGIN_DEPENDS=needs_mysql
CHAR_DEPENDS=needs_mysql
MAP_DEPENDS=needs_mysql
WEB_DEPENDS=needs_mysql
endif
@@ -25,6 +27,7 @@ endif
login \
char \
map \
web \
tools \
import \
clean help \
@@ -49,11 +52,15 @@ char: $(CHAR_DEPENDS)
map: $(MAP_DEPENDS)
@$(MAKE) -C src/map server
web: $(WEB_DEPENDS)
@$(MAKE) -C src/web server
libconfig:
@$(MAKE) -C 3rdparty/libconfig
tools:
@$(MAKE) -C src/tool
@$(MAKE) -C src/map tools
rapidyaml:
@$(MAKE) -C 3rdparty/rapidyaml
@@ -61,6 +68,9 @@ rapidyaml:
yaml-cpp:
@$(MAKE) -C 3rdparty/yaml-cpp
httplib:
@$(MAKE) -C 3rdparty/httplib
import:
# 1) create conf/import folder
# 2) add missing files
@@ -81,9 +91,11 @@ clean:
@$(MAKE) -C 3rdparty/libconfig $@
@$(MAKE) -C 3rdparty/rapidyaml $@
@$(MAKE) -C 3rdparty/yaml-cpp $@
@$(MAKE) -C 3rdparty/httplib $@
@$(MAKE) -C src/login $@
@$(MAKE) -C src/char $@
@$(MAKE) -C src/map $@
@$(MAKE) -C src/web $@
@$(MAKE) -C src/tool $@
help:
@@ -93,9 +105,11 @@ help:
@echo "'libconfig' - builds object files of libconfig"
@echo "'rapidyaml' - builds object files of rapidyaml"
@echo "'yaml-cpp' - builds object files of yaml-cpp"
@echo "'httplib' - builds object files of httplib"
@echo "'login' - builds login server"
@echo "'char' - builds char server"
@echo "'map' - builds map server"
@echo "'web' - builds web server"
@echo "'tools' - builds all the tools in src/tools"
@echo "'import' - builds conf/import, conf/msg_conf/import and db/import folders from their template folders (x-tmpl)"
@echo "'all' - builds all the above targets"

View File

@@ -1,7 +1,7 @@
<img src="doc/logo.png" align="right" height="90" />
# rAthena
[![Total alerts](https://img.shields.io/lgtm/alerts/g/rathena/rathena.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/rathena/rathena/alerts/) [![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/rathena/rathena.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/rathena/rathena/context:cpp) ![GitHub](https://img.shields.io/github/license/rathena/rathena.svg) ![GitHub repo size](https://img.shields.io/github/repo-size/rathena/rathena.svg)
![clang](https://img.shields.io/github/actions/workflow/status/rathena/rathena/build_servers_clang.yml?label=clang%20build&logo=llvm) ![cmake](https://img.shields.io/github/actions/workflow/status/rathena/rathena/build_servers_cmake.yml?label=cmake%20build&logo=cmake) ![gcc](https://img.shields.io/github/actions/workflow/status/rathena/rathena/build_servers_gcc.yml?label=gcc%20build&logo=gnu) ![ms](https://img.shields.io/github/actions/workflow/status/rathena/rathena/build_servers_msbuild.yml?label=ms%20build&logo=visualstudio) ![GitHub](https://img.shields.io/github/license/rathena/rathena.svg) ![commit activity](https://img.shields.io/github/commit-activity/w/rathena/rathena) ![GitHub repo size](https://img.shields.io/github/repo-size/rathena/rathena.svg)
> rAthena is a collaborative software development project revolving around the creation of a robust massively multiplayer online role playing game (MMORPG) server package. Written in C, the program is very versatile and provides NPCs, warps and modifications. The project is jointly managed by a group of volunteers located around the world as well as a tremendous community providing QA and support. rAthena is a continuation of the eAthena project.
[Forum](https://rathena.org/board)|[Discord](https://rathena.org/discord)|[Wiki](https://github.com/rathena/rathena/wiki)|[FluxCP](https://github.com/rathena/FluxCP)|[Crowdfunding](https://rathena.org/board/crowdfunding/)|[Fork and Pull Request Q&A](https://rathena.org/board/topic/86913-pull-request-qa/)
@@ -30,7 +30,7 @@ Disk Space | 300 MB | 500 MB
Operating System | Compiler
------|------
Linux | [gcc-5 or newer](https://www.gnu.org/software/gcc/gcc-5/) / [Make](https://www.gnu.org/software/make/)
Windows | [MS Visual Studio 2013, 2015, 2017](https://www.visualstudio.com/downloads/)
Windows | [MS Visual Studio 2017 or newer](https://www.visualstudio.com/downloads/)
### Required Applications
Application | Name

View File

@@ -20,8 +20,7 @@ print_start() {
get_status(){
PIDFILE=.$1.pid
if [ -e ${PIDFILE} ]; then
ISRUN=$(ps ax | grep $(cat ${PIDFILE}) | grep $1)
PSRUN=$(echo "$ISRUN" | awk '{ print $1 }')
PSRUN=$(pgrep -F ${PIDFILE})
fi
#return ${PSRUN} #seems to cause an issue for some os
}
@@ -36,11 +35,11 @@ start_serv(){
echo "stat_serv, log is enabled"
echo "My logfile=${LOGFILE}"
if [ -z ${PSRUN} ]; then
if [ -e ./${FIFO} ]; then rm "$FIFO"; fi
if [ -e ./${FIFO} ]; then rm "$FIFO"; fi
mkfifo "$FIFO"; tee "$LOGRUN" < "$FIFO" & "./$1" > "$FIFO" 2>&1 & PID=$!
#"./$1" > >(tee "$LOGRUN") 2>&1 & PID=$! #bash only
echo "$PID" > .$1.pid
echo "Server '$1' started at `date +"%m-%d-%H:%M-%S"`" | tee ${LOGFILE}
echo "Server '$1' started at $(date +"%m-%d-%H:%M-%S")" | tee ${LOGFILE}
else
echo "Cannot start '$1', because it is already running p${PSRUN}" | tee ${LOGFILE}
fi
@@ -48,7 +47,7 @@ start_serv(){
if [ -z ${PSRUN} ]; then
./$1&
echo "$!" > .$1.pid
echo "Server '$1' started at `date +"%m-%d-%H:%M-%S"`"
echo "Server '$1' started at $(date +"%m-%d-%H:%M-%S")"
else
echo "Cannot start '$1', because it is already running p${PSRUN}"
fi
@@ -61,25 +60,25 @@ watch_serv(){
#now checking status and looping
count=0;
while true; do
for i in ${L_SRV} ${C_SRV} ${M_SRV}
for i in ${L_SRV} ${C_SRV} ${M_SRV} ${W_SRV}
do
LOGFILE="$LOG_DIR/$i.launch.log"
LOGRUN="$LOG_DIR/$i.log"
FIFO=$i"_fifo"
get_status $i
get_status ${i}
#echo "Echo id of $i is ${PSRUN}"
if [ -z ${PSRUN} ]; then
count=$((count+1))
#echo "fifo=$FIFO"
echo "server '$i' is down"
echo "server '$i' is down" >> ${LOGFILE}
echo "restarting server at time at `date +"%m-%d-%H:%M-%S"`"
echo "restarting server at time at `date +"%m-%d-%H:%M-%S"`" >> ${LOGFILE}
echo "restarting server at time at $(date +"%m-%d-%H:%M-%S")"
echo "restarting server at time at $(date +"%m-%d-%H:%M-%S")" >> ${LOGFILE}
if [ -e $FIFO ]; then rm $FIFO; fi
mkfifo "$FIFO"; tee "$LOGRUN" < "$FIFO" & "./$i" > "$FIFO" 2>&1 & PID=$!
echo "$PID" > .$i.pid
if [ $2 ] && [ $2 -lt $count ]; then break; fi
if [ $2 ] && [ $2 -lt $count ]; then break; fi
fi
done
sleep $1
@@ -89,7 +88,7 @@ watch_serv(){
restart(){
$0 stop
if [ $1 ]; then sleep $1; fi
for i in ${L_SRV} ${C_SRV} ${M_SRV}
for i in ${L_SRV} ${C_SRV} ${M_SRV} ${W_SRV}
do
FIFO="$1_fifo"
while true; do
@@ -101,11 +100,11 @@ restart(){
fi
done
done
$0 start
$0 start
}
case $1 in
'start')
'start')
print_start
check_files
echo "Check complete."
@@ -117,26 +116,26 @@ case $1 in
else
echo "Logging is disabled"
fi
for i in ${L_SRV} ${C_SRV} ${M_SRV}
for i in ${L_SRV} ${C_SRV} ${M_SRV} ${W_SRV}
do
start_serv $i $ENLOG
done
echo "rAthena was started."
;;
'watch')
'watch')
if [ ! -d "$LOG_DIR" ]; then mkdir -p $LOG_DIR; fi
if [ -z $2 ]; then Restart_count=10; else Restart_count=$2; fi
if [ -z $3 ]; then Restart_sleep=3; else Restart_sleep=$3; fi
echo "Going to watch rAthena for restart_count = $Restart_count, restart_sleep = $Restart_sleep"
for i in ${L_SRV} ${C_SRV} ${M_SRV}
for i in ${L_SRV} ${C_SRV} ${M_SRV} ${W_SRV}
do
start_serv $i 1
done
watch_serv $Restart_count $Restart_sleep
echo "Watching rAthena now."
;;
;;
'stop')
for i in ${M_SRV} ${C_SRV} ${L_SRV}
for i in ${W_SRV} ${M_SRV} ${C_SRV} ${L_SRV}
do
PIDFILE=.${i}.pid
if [ -e ./${PIDFILE} ]; then
@@ -155,23 +154,23 @@ case $1 in
done
;;
'restart')
restart
restart "$@"
;;
'status')
for i in ${L_SRV} ${C_SRV} ${M_SRV}
for i in ${L_SRV} ${C_SRV} ${M_SRV} ${W_SRV}
do
get_status ${i}
if [ ${PSRUN} ]; then echo "'${i}' is running p${PSRUN}"; else echo "'${i}' seems to be down"; fi
done
;;
'val_runonce')
for i in ${L_SRV} ${C_SRV} ${M_SRV}
for i in ${L_SRV} ${C_SRV} ${M_SRV} ${W_SRV}
do
valgrind --leak-check=full --show-leak-kinds=all ./$i --run-once > "log/$i.runonce.leak"
done
;;
'valchk')
for i in ${L_SRV} ${C_SRV} ${M_SRV}
for i in ${L_SRV} ${C_SRV} ${M_SRV} ${W_SRV}
do
valgrind --leak-check=full --show-leak-kinds=all ./$i > "log/$i.runonce.leak"
done
@@ -181,7 +180,7 @@ case $1 in
'start')
echo "syntax: 'start {--enlog}'"
echo "This option will start the servers"
echo "--enlog will write all terminal output into a log/$servname.log file"
echo "--enlog will write all terminal output into a log/\$servname.log file"
;;
'stop')
echo "This option will shut the servers down"
@@ -205,11 +204,11 @@ case $1 in
;;
'val_runonce')
echo "syntax: 'val_runonce'"
echo "This option will run valgrin with run-once to check the servers"
echo "This option will run valgrind with run-once to check the servers"
;;
'valchk')
echo "syntax: 'valchk'"
echo "This option will run valgrin with the servers"
echo "This option will run valgrind with the servers"
;;
*)
echo "Please specify a command you would like more info on { start | stop | restart | status | watch }"

View File

@@ -664,6 +664,9 @@ Body:
- Command: refine
Help: |
Params: <equip position> <+/- amount>
- Command: grade
Help: |
Params: <equip position> <+/- amount>
- Command: produce
Help: |
Params: <equip name or equip ID> <element> <# of very's>
@@ -1013,6 +1016,9 @@ Body:
- Command: enchantgradeui
Help: |
Opens the enchantgrade UI.
- Command: roulette
Help: |
Opens the roulette UI.
Footer:
Imports:

View File

@@ -118,12 +118,6 @@ client_reshuffle_dice: yes
// NOTE: Enabling this option degrades performance.
client_sort_storage: no
// Do we allow to change guilde emblem during woe_time?
emblem_woe_change: yes
// How many transparent pixel can be found in emblem before detected as invalid? (Note 2)
emblem_transparency_limit: 80
// Update enemy position while in invisible state? (Note 1)
// NOTE: Set to 'no' will make client won't update enemy position unless the players have "Intravision" effect.
// So that will help client handling WPE - Maya Purple Hack stuff.
@@ -154,3 +148,24 @@ show_skill_scale: yes
// Note: Enabling this is known to cause problems on clients that make use of REST API calls.
// Official: no
drop_connection_on_quit: no
// Macro Detector retries
// Number of times someone can fail the macro detection before being banned.
// Official: 3 (minimum: 1)
macro_detection_retry: 3
// Macro Detector timeout
// Amount of time in milliseconds before the macro detection will fail and the user will be banned.
// Official: 60000
macro_detection_timeout: 60000
// Macro Detector punishment type
// 0 - Ban
// 1 - Jail
// Official: 0
macro_detection_punishment: 0
// Macro Detector punishment duration
// Amount of time in minutes that the punishment type is active for. Use 0 for infinite.
// Official: 0
macro_detection_punishment_time: 0

View File

@@ -33,6 +33,11 @@ feature.warp_suggestions: off
// Requires: 2013-07-24aRagexe or later
feature.banking: on
// Should Banking strictly checks the UI state on zeny deposit and withdrawal? (Note 1)
// Note: Disabled by default because existing official clients do not report the banking UI state to the server.
// But this config could be useful in case of clients that actually report the UI state or custom clients.
feature.banking_state_enforce: no
// Autotrade persistency (Note 1)
// Should vendors that used @autotrade be restored after a restart?
feature.autotrade: on
@@ -56,7 +61,7 @@ feature.autotrade_head_direction: 0
// 1 = Sitting
feature.autotrade_sit: 1
// Delay in miliseconds to open vending/buyingsotre after player logged in.
// Delay in milliseconds to open vending/buyingsotre after player logged in.
feature.autotrade_open_delay: 5000
// Battlegrounds queue interface. Makes it possible to queue for a battleground anywhere using the battle menu.
@@ -67,6 +72,10 @@ feature.bgqueue: on
// Requires: 2014-10-22bRagexe or later
feature.roulette: on
// Roulette bonus reward
// Multiply amount by 2 if the reward item ID is the same as bonus item ID
feature.roulette_bonus_reward: on
// Achievement (Note 1)
// Requires: 2015-05-13aRagexe or later
feature.achievement: on
@@ -119,3 +128,50 @@ feature.barter: on
// Extended Barter Shop System (Note 1)
// Requires: 2019-11-06RagexeRE or later
feature.barter_extended: on
// The timeout in milliseconds when a dynamic NPC will be despawned if not used.
// Default: 60000 (60s)
feature.dynamicnpc_timeout: 60000
// The x range in which the dynamic NPC will be spawned relative to the player.
// Default: 2
feature.dynamicnpc_rangex: 2
// The y range in which the dynamic NPC will be spawned relative to the player.
// Default: 2
feature.dynamicnpc_rangey: 2
// Should the dynamic NPCs look into the direction of the player? (Note 1)
// Default: no
feature.dynamicnpc_direction: no
// Itemlink System on informational related commands (Note 1)
// Generates an itemlink string for an item and can be used for npctalk, message,
// dispbottom, and broadcast commands. The result is clickable-item name just
// like from SHIFT+Click from player's inventory/cart/equipment window.
// Requires: 2015-11-04Ragexe or later
feature.itemlink: on
// Itemlink System on NPC messages (Note 1)
// Generates an itemlink string for an item and can be used for NPC's mes command.
// Requires: 2010-01-01 or later
feature.mesitemlink: on
// Force all mesitemlinks to be wrapped in brackets (Note 1)
// Default: no
feature.mesitemlink_brackets: no
// Force all mesitemlinks to use the database name (Note 1)
// Default: no
feature.mesitemlink_dbname: no
// Stylist UI (Note 1)
// Requires: 2015-11-04 or later
feature.stylist: on
// Are players allowed to reconnect into instances? (Note 1)
// This is enabled by default in Renewal mode and
// disabled by default in Pre-Renewal mode.
// If this is allowed the "nosave" mapflag is still being respected
// and may prevent players from warping back into the instance.
//feature.instance_allow_reconnect: yes

View File

@@ -17,7 +17,13 @@ guild_exp_limit: 50
guild_max_castles: 0
// Activate guild skills delay by relog?
// Official setting is 5 minutes (300000 ms), otherwise allow guild leaders to relog to cancel the 5 minute delay.
// 0 - Save cooldown and resume on relog.
// 1 - Don't save cooldown and restart the timer on relog.
// Default on official servers: 1 for Pre-renewal, 0 for Renewal
//guild_skill_relog_type: 0
// Delay in milliseconds that are applied to guild skills.
// Official setting is 5 minutes (300000 ms).
// Note: This was changed in renewal in favor of individual skill cooldown.
guild_skill_relog_delay: 300000

View File

@@ -50,7 +50,7 @@ homunculus_auto_vapor: 80
homunculus_max_level: 99
// Max level for Homunculus S
homunculus_S_max_level: 175
homunculus_S_max_level: 250
// Growth level for Homunculus S
// This is the level at which homunculus S can use their growth tables

View File

@@ -116,7 +116,7 @@ default_bind_on_equip: 4
allow_bound_sell: 0x0
// Hide n last characters of player's name with asterisk (*) when the player
// obtained an item with special broadcast flag.
// obtained an item with special broadcast flag or refined an item at a level with broadcast flag.
// Note: Players with short names can be fully converted to asterisks if this
// config value is set high.
broadcast_hide_name: 2

View File

@@ -297,3 +297,8 @@ achievement_mob_share: no
// Should slaves teleport back to their master if they get too far during chase? (Note 1)
// Default (Official): no
slave_stick_with_master: no
// Absolute minimum respawn time in milliseconds of a monster.
// Also used in delaying the spawning of guardians when a guild is not loaded.
// Default (Official): 1000
mob_respawn_time: 1000

View File

@@ -121,7 +121,8 @@ start_point_doram: lasa_fild01,48,297
// Format: <id>,<amount>,<position>{:<id>,<amount>,<position>...}
// To auto-equip an item, include the position where it will be equipped; otherwise, use zero.
// NOTE: For Doram, this requires client 20151001 or newer.
start_items: 1201,1,2:2301,1,16
start_items: 1201,1,2:2301,1,16:23484,1,0
start_items_pre: 1201,1,2:2301,1,16
start_items_doram: 1681,1,2:2301,1,16
// Starting zeny for new characters
@@ -197,6 +198,9 @@ char_del_restriction: 3
// Uncomment to customize the restriction
//allowed_job_flag: 3
// Should parties that don't have any members be cleared from the party_db table at start up?
clear_parties: no
// Folder that contains the database files.
db_path: db

View File

@@ -216,6 +216,7 @@ Body:
hack_info: true
any_warp: true
view_hpmeter: true
macro_detect: true
- Id: 99
Name: Admin
Level: 99
@@ -238,6 +239,7 @@ Body:
item_unconditional: false
bypass_stat_onclone: true
bypass_max_stat: true
macro_register: true
#all_permission: true
Footer:

View File

View File

@@ -15,6 +15,12 @@ party_share_level: 15
// Amount of status points a new character will start with
start_status_points: 48
// Do we allow to change guild emblem during woe_time?
emblem_woe_change: yes
// How many transparent pixel can be found in emblem before detected as invalid? (Note 2)
emblem_transparency_limit: 80
// You can specify the codepage to use in your MySQL tables here.
// (Note that this feature requires MySQL 4.1+)
//default_codepage:
@@ -58,6 +64,13 @@ map_server_id: ragnarok
map_server_pw: ragnarok
map_server_db: ragnarok
// MySQL Web Server
web_server_ip: 127.0.0.1
web_server_port: 3306
web_server_id: ragnarok
web_server_pw: ragnarok
web_server_db: ragnarok
// MySQL Log Database
log_db_ip: 127.0.0.1
log_db_port: 3306
@@ -134,8 +147,6 @@ item_table: item_db
renewal-item_table: item_db_re
item2_table: item_db2
renewal-item2_table: item_db2_re
item_cash_table: item_cash_db
item_cash2_table: item_cash_db2
mob_table: mob_db
renewal-mob_table: mob_db_re
mob2_table: mob_db2
@@ -145,6 +156,7 @@ renewal-mob_skill_table: mob_skill_db_re
mob_skill2_table: mob_skill_db2
renewal-mob_skill2_table: mob_skill_db2_re
mapreg_table: mapreg
partybookings_table: party_bookings
sales_table: sales
vending_table: vendings
vending_items_table: vending_items
@@ -152,6 +164,14 @@ market_table: market
roulette_table: db_roulette
guild_storage_log: guild_storage_log
// Web Database Tables
// NOTE: The web server reads the login (login) and char (party,guild) tables and map (party_bookings), so it needs
// the ability to connect to those databases.
guild_emblems: guild_emblems
user_configs: user_configs
char_configs: char_configs
merchant_configs: merchant_configs
// Use SQL item_db, mob_db and mob_skill_db for the map server? (yes/no)
use_sql_db: no

View File

@@ -167,6 +167,11 @@ client_hash_check: off
// This is required for new clients that get data via an additional API over HTTP
use_web_auth_token: yes
// Delay (in milliseconds) disabling webtoken after character logs off
// There's a race condition when the client logs off. The char-server could revoke the token before
// the client can save the changed configs.
disable_webtoken_delay: 10000
// Client MD5 hashes
// The client with the specified hash can be used to log in by players with
// a group_id equal to or greater than the given value.

View File

@@ -1503,5 +1503,94 @@ map: 1@jorchs
map: 1@jorlab
map: 1@whl
// Extended Jobs
map: 1@exhn
map: 1@exds
map: 2@exds
map: 1@exse
map: 1@exnw
map: 1@exsr
map: 1@exsh
// Varmundt's Biosphere
map: bl_grass
map: bl_lava
map: bl_ice
map: bl_death
map: bl_soul
map: bl_temple
map: bl_venom
// Clock Tower: Unknown Basement
map: clock_01
// Ragnarok Festival
map: rag_fes
map: rag_fes_a
// 20th Anniversary
map: memohall
map: 1@dime
// Fantasy maps
map: prt_elib
map: 1@vrcas
map: 1@vrev
map: 1@vrgen
map: 1@vrpo
map: 1@vrac1
map: 1@vrac2
map: 1@vrclo
map: 1@vrhha
map: 2@vrclo
// ??
map: 1@pdb
map: airplane2
map: vr_bob
// Heroria
map: hero_dun1
map: hero_ent1
map: hero_ent2
map: hero_ent3
map: hero_in1
map: hero_in2
map: hero_in3
map: hero_in4
map: hero_lb
map: hero_out1
map: hero_out2
map: hero_out3
map: hero_out4
map: hero_tra
map: herosria
// Level 260 Expansion
map: mjo_wst01
map: ra_pol01
// Episode 20
map: 1@20cn1
map: 1@20cn2
map: 1@slug
map: 1@twas
map: 1@twbs
map: 1@twig
map: 1@twsd
map: icas_in2
map: jor_back4
map: jor_back5
map: jor_back6
map: jor_maze
map: jor_root1
map: jor_root2
map: jor_root3
map: jor_safty1
map: jor_safty2
map: jor_sanct
map: jor_twice
map: jor_twig
//------------------------- Clone Maps ---------------------------
//------------------------- Extra Maps ---------------------------

View File

@@ -924,7 +924,13 @@
// General packet version check messages
828: This command requires packet version %s or newer.
//829-899 free
// Enchant UI
829: Enchanting is not possible for your item's enchant grade.
// @reloadbarterdb
830: Barter database has been reloaded.
//831-899 free
//------------------------------------
// More atcommands message
@@ -1441,7 +1447,7 @@
// @iteminfo
1276: Please enter an item name/ID (usage: @ii/@iteminfo <item name/ID>).
1277: Item: '%s'/'%s'[%d] (%u) Type: %s | Extra Effect: %s
1277: Item: '%s'/'%s' (%u) Type: %s | Extra Effect: %s
1278: None
1279: With script
1280: NPC Buy:%dz, Sell:%dz | Weight: %.1f
@@ -1451,7 +1457,7 @@
// @whodrops
1284: Please enter item name/ID (usage: @whodrops <item name/ID>).
1285: Item: '%s'[%d] (ID: %u)
1285: Item: '%s' (ID: %u)
1286: - Item is not dropped by mobs.
1287: - Common mobs with highest drop chance (only max %d are listed):
@@ -1786,5 +1792,9 @@
1517: Cannot add fame to class '%s'.
1518: %d points were added to '%s'.
// @grade
1519: Please enter a position and an amount (usage: @grade <equip position> <+/- amount>).
1520: %d items have been graded.
//Custom translations
import: conf/msg_conf/import/map_msg_eng_conf.txt

View File

@@ -1192,7 +1192,7 @@
// @iteminfo
1276: 請輸入 物品名稱/ID (用法: @ii/@iteminfo <物品名稱/ID>).
1277: 物品: '%s'/'%s'[%d] (%u) 類型: %s | 額外效果: %s
1277: 物品: '%s'/'%s' (%u) 類型: %s | 額外效果: %s
1278: None
1279: With script
1280: NPC 買價:%dz, 賣價:%dz | 重量: %.1f
@@ -1202,7 +1202,7 @@
// @whodrops
1284: Please enter 物品名稱/ID (用法: @whodrops <物品名稱/ID>).
1285: Item: '%s'[%d] (ID:%d)
1285: Item: '%s' (ID:%d)
1286: - Item is not dropped by mobs.
1287: - Common mobs with highest drop chance (only max %d are listed):

View File

@@ -1205,7 +1205,7 @@
// @iteminfo
1276: Entrez un nom/ID d'objet (usage: @ii/@iteminfo <nom/ID>).
1277: Item: '%s'/'%s'[%d] (%u) Type: %s | Extra Effect: %s
1277: Item: '%s'/'%s' (%u) Type: %s | Extra Effect: %s
1278: Aucun
1279: Avec script
1280: NPC Acheté:%dz, Vendu:%dz | Poids: %.1f
@@ -1215,7 +1215,7 @@
// @whodrops
1284: Entrez un nom/ID d'Objet (usage: @whodrops <nom/ID_objet>).
1285: Objet: '%s'[%d] (ID:%d)
1285: Objet: '%s' (ID:%d)
1286: - Cet Objet n'est lâché par aucun monstre.
1287: - Monstres communs avec la plus grande chance de drop (seuls %d max sont listés):

View File

@@ -1293,7 +1293,7 @@
// @iteminfo
1276: Harap masukkan nama/ID item. (Penggunaan: @ii/@iteminfo <nama/ID item>).
1277: Item: '%s'/'%s'[%d] (%u) Jenis: %s | Efek tambahan: %s
1277: Item: '%s'/'%s' (%u) Jenis: %s | Efek tambahan: %s
1278: Tidak ada
1279: Dengan script.
1280: NPC Harga Beli:%dz, Harga jual:%dz | Berat: %.1f
@@ -1303,7 +1303,7 @@
// @whodrops
1284: Harap masukkan nama/ID item. (Penggunaan: @whodrops <nama/ID item>).
1285: Item: '%s'[%d] (ID:%d)
1285: Item: '%s' (ID:%d)
1286: - Item ini tidak dijatuhkan dari monster.
1287: - Monster biasa dengan kemungkinan menjatuhkan barang tertinggi. (Maks. hanya %d yang ditampilkan):

View File

@@ -1375,7 +1375,7 @@
// @iteminfo
1276: Digite o nome/ID de um item (uso: @ii/@iteminfo <nome do item/ID>).
1277: Item: '%s'/'%s'[%d] (%u) Tipo: %s | Efeito Extra: %s
1277: Item: '%s'/'%s' (%u) Tipo: %s | Efeito Extra: %s
1278: Nenhum
1279: Com script
1280: NPC Compra:%dz, Venda:%dz | Peso: %.1f
@@ -1385,7 +1385,7 @@
// @whodrops
1284: Digite o nome/ID de um item (uso: @whodrops <nome do item/ID>).
1285: Item: '%s'[%d] (ID:%d)
1285: Item: '%s' (ID:%d)
1286: - Item não derrubado por monstros.
1287: - Monstros comuns com maiores chances de drop (somente máx %d são listados):

View File

@@ -1205,7 +1205,7 @@
// @iteminfo
1276: Введите ID/название предмета (Использование: @ii/@iteminfo <ID/название предмета>).
1277: Предмет: '%s'/'%s'[%d] (%u) Тип: %s | Доп. эффект: %s
1277: Предмет: '%s'/'%s' (%u) Тип: %s | Доп. эффект: %s
1278: Пусто
1279: Скрипт
1280: НИП покупка:%d зени, продажа:%d зени | Вес: %.1f
@@ -1215,7 +1215,7 @@
// @whodrops
1284: Введите ID/название предмета (Использование: @whodrops <ID/название предмета>).
1285: Предмет: '%s'[%d] (ID:%d)
1285: Предмет: '%s' (ID:%d)
1286: - Предмет не падает с монстров.
1287: - Обычные монстры с высоким шансом выпадения (перечислено только %d):

View File

@@ -1344,7 +1344,7 @@
// @iteminfo
1276: Introduce el nombre/ID de un objeto (instrucciones: @ii/@iteminfo <nombre/ID del objeto>).
1277: Objeto: '%s'/'%s'[%d] (%u) Tipo: %s | Efecto: %s
1277: Objeto: '%s'/'%s' (%u) Tipo: %s | Efecto: %s
1278: Ninguno
1279: Contiene código
1280: Compra en NPC:%dz, Venta:%dz | Peso: %.1f
@@ -1354,7 +1354,7 @@
// @whodrops
1284: Introduce el nombre/ID de un objeto (instrucciones: @whodrops <nombre/ID del objeto>). 
1285: Objeto: '%s'[%d] (ID:%d)
1285: Objeto: '%s' (ID:%d)
1286: - Ningún monstruo tiene ese objeto.
1287: - Estos monstruos tienen ese objeto (sólo se muestran un máximo de %d):

View File

@@ -1198,7 +1198,7 @@
// @iteminfo
1276: ג»<D792>´<EFBFBD><C2B4>÷<EFBFBD>×<EFBFBD>ט<EFBFBD>/ID item (<28><>¸<EFBFBD>ד×י: @ii/@iteminfo <×<>ט<EFBFBD>/ID item>).
1277: Item: '%s'/'%s'[%d] (%u) Type: %s | Extra Effect: %s
1277: Item: '%s'/'%s' (%u) Type: %s | Extra Effect: %s
1278: None
1279: With script
1280: NPC Buy:%dz, Sell:%dz | Weight: %.1f
@@ -1208,7 +1208,7 @@
// @whodrops
1284: ג»<D792>´<EFBFBD><C2B4>÷<EFBFBD>×<EFBFBD>ט<EFBFBD>/ID item (<28><>¸<EFBFBD>ד×י: @whodrops <×<>ט<EFBFBD>/ID item>).
1285: Item: '%s'[%d] (ID:%d)
1285: Item: '%s' (ID:%d)
1286: - Item ¹<>יה<D799>ט<EFBFBD><D798>µ<EFBFBD>¨<EFBFBD><C2A8> monster.
1287: - Monster ·<>ט<EFBFBD>ה»·<C2BB>ט<EFBFBD><D798>ג<EFBFBD><D792><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD>§<EFBFBD><C2A7>´<>´§א¾<D790><C2BE>§ %d <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>):

View File

@@ -0,0 +1,3 @@
// rAthena msg_athena.conf
// Message Configuration of web-server
// -----------------------

56
conf/web_athena.conf Normal file
View File

@@ -0,0 +1,56 @@
// rAthena Web Server configuration file.
// Note: "Comments" are all text on the right side of a double slash "//"
// Whatever text is commented will not be parsed by the servers, and serves
// only as information/reference.
// The web server listens on the interface with this IP address.
// NOTE: This allows you to run multiple servers on multiple interfaces
// while using the same ports for each server.
//bind_ip: 127.0.0.1
// Web Server Port
web_port: 8888
//Time-stamp format which will be printed before all messages.
//Can at most be 20 characters long.
//Common formats:
// %I:%M:%S %p (hour:minute:second 12 hour, AM/PM format)
// %H:%M:%S (hour:minute:second, 24 hour format)
// %d/%b/%Y (day/Month/year)
//For full format information, consult the strftime() manual.
//timestamp_format: [%d/%b %H:%M]
//If redirected output contains escape sequences (color codes)
stdout_with_ansisequence: no
//Makes server log selected message types to a file in the /log/ folder
//1: Log Warning Messages
//2: Log Error and SQL Error messages.
//4: Log Debug Messages
//Example: "console_msg_log: 7" logs all 3 kinds
//Messages logged by this overrides console_silent setting
console_msg_log: 0
// File path to store the console messages above
console_log_filepath: ./log/web-msg_log.log
//Makes server output more silent by omitting certain types of messages:
//1: Hide Information messages
//2: Hide Status messages
//4: Hide Notice Messages
//8: Hide Warning Messages
//16: Hide Error and SQL Error messages.
//32: Hide Debug Messages
//Example: "console_silent: 7" Hides information, status and notice messages (1+2+4)
console_silent: 0
// Print requests and responses?
// This is useful for debugging purposes, it will print the entire
// request and response for each transaction.
print_req_res: off
// Allow GIF images to be uploaded as guild emblem?
allow_gifs: yes
import: conf/import/web_conf.txt

157
configure vendored
View File

@@ -1,5 +1,5 @@
#! /bin/sh
# From configure.in Revision.
# From configure.ac Revision.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69.
#
@@ -642,6 +642,7 @@ ac_ct_CC
CFLAGS
CC
SET_MAKE
OWEB
OMAP
OCHR
OLOG
@@ -674,6 +675,7 @@ infodir
docdir
oldincludedir
includedir
runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -712,6 +714,7 @@ with_maxconn
with_outputlogin
with_outputchar
with_outputmap
with_outputweb
with_mysql
with_MYSQL_CFLAGS
with_MYSQL_LIBS
@@ -768,6 +771,7 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE}'
@@ -1020,6 +1024,15 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-runstatedir | --runstatedir | --runstatedi | --runstated \
| --runstate | --runstat | --runsta | --runst | --runs \
| --run | --ru | --r)
ac_prev=runstatedir ;;
-runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
| --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
| --run=* | --ru=* | --r=*)
runstatedir=$ac_optarg ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1157,7 +1170,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
libdir localedir mandir runstatedir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1310,6 +1323,7 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -1367,9 +1381,10 @@ Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-maxconn[=ARG] optionally set the maximum connections the core can
handle. By default the system header value will be used.
This will only be the compile time limit, make sure
you set the correct limit with ulimit on your OS.
handle. By default the system header value will be
used. This will only be the compile time limit, make
sure you set the correct limit with ulimit on your
OS.
--with-outputlogin[=ARG]
Specify the login-serv output name (defaults to
login-server)
@@ -1377,6 +1392,8 @@ Optional Packages:
char-server)
--with-outputmap[=ARG] Specify the map-serv output name (defaults to
map-server)
--with-outputweb[=ARG] Specify the web-serv output name (defaults to
web-server)
--with-mysql[=ARG] optionally specify the path to the mysql_config
executable
--with-MYSQL_CFLAGS=ARG specify MYSQL_CFLAGS manually (instead of using
@@ -1718,44 +1735,6 @@ $as_echo "$ac_res" >&6; }
} # ac_fn_cxx_check_header_compile
# ac_fn_c_try_compile LINENO
# --------------------------
# Try to compile conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext
if { { ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_compile
# ac_fn_cxx_try_link LINENO
# -------------------------
# Try to link conftest.$ac_ext, and return whether this succeeded.
@@ -1802,6 +1781,44 @@ fi
} # ac_fn_cxx_try_link
# ac_fn_c_try_compile LINENO
# --------------------------
# Try to compile conftest.$ac_ext, and return whether this succeeded.
ac_fn_c_try_compile ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext
if { { ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_compile") 2>conftest.err
ac_status=$?
if test -s conftest.err; then
grep -v '^ *+' conftest.err >conftest.er1
cat conftest.er1 >&5
mv -f conftest.er1 conftest.err
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then :
ac_retval=0
else
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1
fi
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
} # ac_fn_c_try_compile
# ac_fn_cxx_check_func LINENO FUNC VAR
# ------------------------------------
# Tests whether FUNC exists, setting the cache variable VAR accordingly
@@ -2740,12 +2757,14 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
ac_config_files="$ac_config_files Makefile src/common/Makefile"
ac_config_files="$ac_config_files 3rdparty/libconfig/Makefile 3rdparty/yaml-cpp/Makefile 3rdparty/rapidyaml/Makefile"
ac_config_files="$ac_config_files 3rdparty/libconfig/Makefile 3rdparty/yaml-cpp/Makefile 3rdparty/rapidyaml/Makefile 3rdparty/httplib/Makefile"
ac_config_files="$ac_config_files src/char/Makefile src/login/Makefile"
ac_config_files="$ac_config_files src/map/Makefile src/tool/Makefile"
ac_config_files="$ac_config_files src/web/Makefile"
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
@@ -3284,11 +3303,10 @@ rm -f core conftest.err conftest.$ac_objext \
$as_echo "$have_linux_epoll" >&6; }
fi
if test x$enable_epoll,$have_linux_epoll = xyes,no; then
as_fn_error $? "epoll support explicitly enabled but not available" "$LINENO" 5
as_fn_error $? "epoll support explicitly enabled but not available" "$LINENO" 5
fi
#
# debug
#
@@ -3464,18 +3482,24 @@ fi
#
# Optionally set the max number of network conenctions
# the core will be support
# Optionally set the maximum number of network connections
# the core will be able to handle
#
# Check whether --with-maxconn was given.
if test "${with_maxconn+set}" = set; then :
withval=$with_maxconn;
if ! test "$withval" -ge 0 -o "$withval" -lt 0 2>&- ; then
as_fn_error $? "Invalid argument --with-maxconn=$withval ... stopping" "$LINENO" 5
else
CPPFLAGS="$CPPFLAGS -DMAXCONN=$withval"
fi
if ! test "$withval" -ge 0 -o "$withval" -lt 0 2>&- ; then
as_fn_error $? "Invalid argument --with-maxconn=$withval ... stopping" "$LINENO" 5
else
CPPFLAGS="$CPPFLAGS -DMAXCONN=$withval"
fi
else
CPPFLAGS="$CPPFLAGS"
fi
@@ -3520,6 +3544,18 @@ OMAP=$output_map
# Check whether --with-outputweb was given.
if test "${with_outputweb+set}" = set; then :
withval=$with_outputweb; output_web="$withval"
else
output_web="web-server"
fi
OWEB=$output_web
#
# Optionally specify the path to mysql_config
#
@@ -4502,9 +4538,9 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
CFLAGS="$CFLAGS -pipe -ffast-math -Wall"
CPPFLAGS="$CPPFLAGS -I../common"
CXXFLAGS="$CXXFLAGS -std=c++11"
#CXXFLAGS="$CXXFLAGS -std=gnu++11"
CXXFLAG_CLEARS="-std=c++11"
CXXFLAGS="$CXXFLAGS -std=c++14"
#CXXFLAGS="$CXXFLAGS -std=gnu++14"
CXXFLAG_CLEARS="-std=c++14"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
@@ -7027,7 +7063,6 @@ fi
#
# Host specific stuff
#
@@ -7074,7 +7109,7 @@ else
$as_echo "no" >&6; }
fi
CXXFLAG_CLEARS="-std=c++11 $CPPFLAGS"
CXXFLAG_CLEARS="-std=c++14 $CPPFLAGS"
CFLAGS="$OPT_LTO $CFLAGS"
CFLAGS_AR="$OPT_LTO_AR $CFLAGS"
@@ -7092,8 +7127,8 @@ $as_echo "$as_me: CFLAGS_AR= $CFLAGS_AR" >&6;}
$as_echo "$as_me: LDFLAGS= $LDFLAGS" >&6;}
#AC_MSG_NOTICE([PROD_WARN= $PROD_WARN])
#AC_MSG_NOTICE([EXTRA_WARN= $EXTRA_WARN])
{ $as_echo "$as_me:${as_lineno-$LINENO}: output name = $output_login, $output_char, $output_map" >&5
$as_echo "$as_me: output name = $output_login, $output_char, $output_map" >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: output name = $output_login, $output_char, $output_map, $output_web" >&5
$as_echo "$as_me: output name = $output_login, $output_char, $output_map, $output_web" >&6;}
###############################################################################
cat >confcache <<\_ACEOF
@@ -7807,10 +7842,12 @@ do
"3rdparty/libconfig/Makefile") CONFIG_FILES="$CONFIG_FILES 3rdparty/libconfig/Makefile" ;;
"3rdparty/yaml-cpp/Makefile") CONFIG_FILES="$CONFIG_FILES 3rdparty/yaml-cpp/Makefile" ;;
"3rdparty/rapidyaml/Makefile") CONFIG_FILES="$CONFIG_FILES 3rdparty/rapidyaml/Makefile" ;;
"3rdparty/httplib/Makefile") CONFIG_FILES="$CONFIG_FILES 3rdparty/httplib/Makefile" ;;
"src/char/Makefile") CONFIG_FILES="$CONFIG_FILES src/char/Makefile" ;;
"src/login/Makefile") CONFIG_FILES="$CONFIG_FILES src/login/Makefile" ;;
"src/map/Makefile") CONFIG_FILES="$CONFIG_FILES src/map/Makefile" ;;
"src/tool/Makefile") CONFIG_FILES="$CONFIG_FILES src/tool/Makefile" ;;
"src/web/Makefile") CONFIG_FILES="$CONFIG_FILES src/web/Makefile" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac

View File

@@ -8,9 +8,10 @@ AC_LANG([C++])
AC_LANG_COMPILER_REQUIRE
AC_CONFIG_SRCDIR([src/common/cbasetypes.hpp])
AC_CONFIG_FILES([Makefile src/common/Makefile])
AC_CONFIG_FILES([3rdparty/libconfig/Makefile 3rdparty/yaml-cpp/Makefile 3rdparty/rapidyaml/Makefile])
AC_CONFIG_FILES([3rdparty/libconfig/Makefile 3rdparty/yaml-cpp/Makefile 3rdparty/rapidyaml/Makefile 3rdparty/httplib/Makefile])
AC_CONFIG_FILES([src/char/Makefile src/login/Makefile])
AC_CONFIG_FILES([src/map/Makefile src/tool/Makefile])
AC_CONFIG_FILES([src/web/Makefile])
AC_GNU_SOURCE
@@ -46,7 +47,7 @@ AC_ARG_ENABLE(
[packetver],
AC_HELP_STRING(
[--enable-packetver=ARG],
[Sets the PACKETVER define. (see src/common/mmo.h)]
[Sets the PACKETVER define. (see src/common/mmo.hpp)]
),
[enable_packetver="$enableval"],
[enable_packetver=""]
@@ -302,7 +303,8 @@ AC_ARG_WITH(
[maxconn],
AC_HELP_STRING(
[--with-maxconn@<:@=ARG@:>@],
[optionally set the maximum connections the core can handle. By default the system header value is used.]
[optionally set the maximum connections the core can handle. By default the system header value will be used.
This will only be the compile time limit, make sure you set the correct limit with ulimit on your OS.]
),
[
if ! test "$withval" -ge 0 -o "$withval" -lt 0 2>&- ; then
@@ -353,6 +355,17 @@ AC_ARG_WITH(
)
AC_SUBST([OMAP],$output_map)
AC_ARG_WITH(
[outputweb],
AC_HELP_STRING(
[--with-outputweb@<:@=ARG@:>@],
[Specify the web-serv output name (defaults to web-server)]
),
[output_web="$withval"],
[output_web="web-server"]
)
AC_SUBST([OWEB],$output_web)
#
# Optionally specify the path to mysql_config
@@ -470,9 +483,9 @@ AC_LANG([C++])
CFLAGS="$CFLAGS -pipe -ffast-math -Wall"
CPPFLAGS="$CPPFLAGS -I../common"
CXXFLAGS="$CXXFLAGS -std=c++11"
#CXXFLAGS="$CXXFLAGS -std=gnu++11"
CXXFLAG_CLEARS="-std=c++11"
CXXFLAGS="$CXXFLAGS -std=c++14"
#CXXFLAGS="$CXXFLAGS -std=gnu++14"
CXXFLAG_CLEARS="-std=c++14"
AC_C_BIGENDIAN(
[AC_MSG_ERROR([[bigendian is not supported... stopping]])],
@@ -607,7 +620,7 @@ if test "$enable_lto" != "no" ; then
)
CFLAGS="$OLD_CFLAGS"
LDFLAGS="$OLD_LDFLAGS"
CFLAGS="$CFLAGS -flto -fuse-linker-plugin"
LDFLAGS="$LDFLAGS -flto -fuse-linker-plugin"
@@ -635,7 +648,7 @@ if test "$enable_lto" != "no" ; then
fi
AC_DEFUN(AC_CHECK_COMPILER_WFLAG,
AC_DEFUN([AC_CHECK_COMPILER_WFLAG],
[
AC_MSG_CHECKING([whether $CC supports -W$1])
OLD_CFLAGS="$CFLAGS"
@@ -670,7 +683,7 @@ AC_DEFUN(AC_CHECK_COMPILER_WFLAG,
]
)
AC_DEFUN(AC_CHECK_COMPILER_WNOFLAG,
AC_DEFUN([AC_CHECK_COMPILER_WNOFLAG],
[
AC_MSG_CHECKING([whether $CC supports -Wno-$1])
OLD_CFLAGS="$CFLAGS"
@@ -1301,7 +1314,6 @@ AC_SUBST([PCRE_VERSION])
AC_SUBST([PCRE_LIBS])
AC_SUBST([PCRE_CFLAGS])
#
# Host specific stuff
#
@@ -1343,7 +1355,7 @@ else
AC_MSG_RESULT([no])
fi
CXXFLAG_CLEARS="-std=c++11 $CPPFLAGS"
CXXFLAG_CLEARS="-std=c++14 $CPPFLAGS"
CFLAGS="$OPT_LTO $CFLAGS"
CFLAGS_AR="$OPT_LTO_AR $CFLAGS"
AC_SUBST([CFLAGS_AR])
@@ -1356,7 +1368,7 @@ AC_MSG_NOTICE([CFLAGS_AR= $CFLAGS_AR])
AC_MSG_NOTICE([LDFLAGS= $LDFLAGS])
#AC_MSG_NOTICE([PROD_WARN= $PROD_WARN])
#AC_MSG_NOTICE([EXTRA_WARN= $EXTRA_WARN])
AC_MSG_NOTICE([output name = $output_login, $output_char, $output_map])
AC_MSG_NOTICE([output name = $output_login, $output_char, $output_map, $output_web])
###############################################################################
AC_OUTPUT

37
db/captcha_db.yml Normal file
View File

@@ -0,0 +1,37 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Captcha Database Table
###########################################################################
#
# Captcha Database Settings
#
###########################################################################
# - Id Index value.
# Filename Name of the BMP image file (with location).
# Answer Correct answer for the captcha (case-sensitive).
# Bonus Bonus Script ran on success. (Default: Level 10 Blessing and Increase Agility)
###########################################################################
Header:
Type: CAPTCHA_DB
Version: 1
Footer:
Imports:
- Path: db/import/captcha_db.yml

View File

@@ -26,174 +26,18 @@
# Map Map name to be considered as the castle map.
# Name Name of the castle (used by scripts and guardian name tags).
# Npc NPC unique name to invoke ::OnGuildBreak on, when a occupied castle is abandoned during guild break.
# Type The WoE type this castle belongs to. (Default: First_Edition)
# ClientId Client side ID of the castle. (Default: 0)
# WarpEnabled If the warp to the castle is enabled. (Default: false)
# WarpX X coordinate to warp to. (Default: 0)
# WarpY Y coordinate to warp to. (Default: 0)
# WarpCost Zeny cost to use the warp. (Default: 100)
# WarpCostSiege Zeny cost to use the warp during WoE. (Default: 100000)
###########################################################################
Header:
Type: CASTLE_DB
Version: 1
Body:
# WOE FE castle
- Id: 0
Map: aldeg_cas01
Name: Neuschwanstein
#Name: Noisyubantian
Npc: Agit#aldeg_cas01
- Id: 1
Map: aldeg_cas02
Name: Hohenschwangau
#Name: Hohensyubangawoo
Npc: Agit#aldeg_cas02
- Id: 2
Map: aldeg_cas03
Name: Nuernberg
#Name: Nyirenverk
Npc: Agit#aldeg_cas03
- Id: 3
Map: aldeg_cas04
Name: Wuerzburg
#Name: Byirtsburi
Npc: Agit#aldeg_cas04
- Id: 4
Map: aldeg_cas05
Name: Rothenburg
#Name: Rotenburk
Npc: Agit#aldeg_cas05
- Id: 5
Map: gefg_cas01
Name: Repherion
#Name: Reprion
Npc: Agit#gefg_cas01
- Id: 6
Map: gefg_cas02
Name: Eeyolbriggar
#Name: Yolbriger
Npc: Agit#gefg_cas02
- Id: 7
Map: gefg_cas03
Name: Yesnelph
#Name: Isinlife
Npc: Agit#gefg_cas03
- Id: 8
Map: gefg_cas04
Name: Bergel
#Name: Berigel
Npc: Agit#gefg_cas04
- Id: 9
Map: gefg_cas05
Name: Mersetzdeitz
#Name: Melsedetsu
Npc: Agit#gefg_cas05
- Id: 10
Map: payg_cas01
Name: Bright Arbor
#Name: Mingting
Npc: Agit#payg_cas01
- Id: 11
Map: payg_cas02
Name: Scarlet Palace
#Name: Tiantan
Npc: Agit#payg_cas02
- Id: 12
Map: payg_cas03
Name: Holy Shadow
#Name: Fuying
Npc: Agit#payg_cas03
- Id: 13
Map: payg_cas04
Name: Sacred Altar
#Name: Honglou
Npc: Agit#payg_cas04
- Id: 14
Map: payg_cas05
Name: Bamboo Grove Hill
#Name: Zhulinxian
Npc: Agit#payg_cas05
- Id: 15
Map: prtg_cas01
Name: Kriemhild
#Name: Creamhilt
Npc: Agit#prtg_cas01
- Id: 16
Map: prtg_cas02
Name: Swanhild
#Name: Sbanhealt
Npc: Agit#prtg_cas02
- Id: 17
Map: prtg_cas03
Name: Fadhgridh
#Name: Lazrigees
Npc: Agit#prtg_cas03
- Id: 18
Map: prtg_cas04
Name: Skoegul
#Name: Squagul
Npc: Agit#prtg_cas04
- Id: 19
Map: prtg_cas05
Name: Gondul
#Name: Guindull
Npc: Agit#prtg_cas05
# WOE NGuild castle
- Id: 20
Map: nguild_alde
Name: Earth
Npc: Agit_N01
- Id: 21
Map: nguild_gef
Name: Air
Npc: Agit_N02
- Id: 22
Map: nguild_pay
Name: Water
Npc: Agit_N03
- Id: 23
Map: nguild_prt
Name: Fire
Npc: Agit_N04
# WOE SE castle
- Id: 24
Map: schg_cas01
Name: Himinn
Npc: Manager#schg_cas01
- Id: 25
Map: schg_cas02
Name: Andlangr
Npc: Manager#schg_cas02
- Id: 26
Map: schg_cas03
Name: Viblainn
Npc: Manager#schg_cas03
- Id: 27
Map: schg_cas04
Name: Hljod
Npc: Manager#schg_cas04
- Id: 28
Map: schg_cas05
Name: Skidbladnir
Npc: Manager#schg_cas05
- Id: 29
Map: arug_cas01
Name: Mardol
Npc: Manager#arug_cas01
- Id: 30
Map: arug_cas02
Name: Cyr
Npc: Manager#arug_cas02
- Id: 31
Map: arug_cas03
Name: Horn
Npc: Manager#arug_cas03
- Id: 32
Map: arug_cas04
Name: Gefn
Npc: Manager#arug_cas04
- Id: 33
Map: arug_cas05
Name: Bandis
Npc: Manager#arug_cas05
Version: 2
Footer:
Imports:

View File

@@ -1,5 +1,5 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# Copyright(C) 2023 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
@@ -27,10 +27,13 @@
# - Level Item level.
# Grades: Enchantgrade settings per grade level.
# - Grade Enchantgrade level.
# Refine Required refine level.
# Chance Base chance of success out of 0~10000.
# Chances: Chance settings per refine level.
# - Refine Refine level.
# Chance Base chance of success out of 0~10000.
# Bonus Enchantgrade bonus. (Default: 0)
# Announce Announce if someone tries to increase the enchantgrade. (Default: true)
# AnnounceSuccess Announce on upgrade success. (Default: true)
# AnnounceFail Announce on upgrade failure. (Default: false)
# Announce Announce on upgrade success and failure.
# Catalyst: Catalyst item to increase chance of success.
# Item The item that can be used.
# AmountPerStep Amount of Item needed.
@@ -49,7 +52,7 @@
Header:
Type: ENCHANTGRADE_DB
Version: 1
Version: 3
Footer:
Imports:

View File

@@ -1,119 +0,0 @@
// Homunculus Skill Tree Database
//
// Structure of Database:
// Class,SkillID,MaxLv,NeedLevel,Prerequisite SkillID1,Prerequisite SkillLv1,PrereqSkillID2,PrereqSkillLv2,PrereqSkillID3,PrereqSkillLv3,PrereqSkillID4,PrereqSkillLv4,PrereqSkillID5,PrereqSkillLv5,IntimacyLvReq //SKILLNAME#Skill Name#
//
// 01. Class Homunculus ID.
// 02. SkillID Skill ID of the homunuculus skill.
// 03. MaxLv Maximum level of the homunuculus skill.
// 04. NeedLevel Homunculus level required for the skill to become available
// 05. Prerequisite SkillID Homunculus skill required for the skill to become available.
// 06. Prerequisite SkillLv Level of the required homunculus skill.
// ...
// 15. IntimacyLvReq Minimum level of intimacy to unlock skill.
//
// NOTE: MAX_PC_SKILL_REQUIRE (typically 5) ID/Lv pairs must be specified.
//Lif
6001,8001,5,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_HEAL
6001,8002,5,0,8001,3,0,0,0,0,0,0,0,0,0 //HLIF_AVOID
6001,8003,5,0,8001,5,0,0,0,0,0,0,0,0,0 //HLIF_BRAIN
//Amistr
6002,8005,5,0,0,0,0,0,0,0,0,0,0,0,0 //HAMI_CASTLE
6002,8006,5,0,8005,5,0,0,0,0,0,0,0,0,0 //HAMI_DEFENCE
6002,8007,5,0,8006,3,0,0,0,0,0,0,0,0,0 //HAMI_SKIN
//Filir
6003,8009,5,0,0,0,0,0,0,0,0,0,0,0,0 //HFLI_MOON
6003,8010,5,0,8009,3,0,0,0,0,0,0,0,0,0 //HFLI_FLEET
6003,8011,5,0,8010,3,0,0,0,0,0,0,0,0,0 //HFLI_SPEED
//Vanilmirth
6004,8013,5,0,0,0,0,0,0,0,0,0,0,0,0 //HVAN_CAPRICE
6004,8014,5,0,8013,3,0,0,0,0,0,0,0,0,0 //HVAN_CHAOTIC
6004,8015,5,0,8013,5,0,0,0,0,0,0,0,0,0 //HVAN_INSTRUCT
//Lif2
6005,8001,5,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_HEAL
6005,8002,5,0,8001,3,0,0,0,0,0,0,0,0,0 //HLIF_AVOID
6005,8003,5,0,8001,5,0,0,0,0,0,0,0,0,0 //HLIF_BRAIN
//Amistr2
6006,8005,5,0,0,0,0,0,0,0,0,0,0,0,0 //HAMI_CASTLE
6006,8006,5,0,8005,5,0,0,0,0,0,0,0,0,0 //HAMI_DEFENCE
6006,8007,5,0,8006,3,0,0,0,0,0,0,0,0,0 //HAMI_SKIN
//Filir2
6007,8009,5,0,0,0,0,0,0,0,0,0,0,0,0 //HFLI_MOON
6007,8010,5,0,8009,3,0,0,0,0,0,0,0,0,0 //HFLI_FLEET
6007,8011,5,0,8010,3,0,0,0,0,0,0,0,0,0 //HFLI_SPEED
//Vanilmirth2
6008,8013,5,0,0,0,0,0,0,0,0,0,0,0,0 //HVAN_CAPRICE
6008,8014,5,0,8013,3,0,0,0,0,0,0,0,0,0 //HVAN_CHAOTIC
6008,8015,5,0,8013,5,0,0,0,0,0,0,0,0,0 //HVAN_INSTRUCT
//Lif_H
6009,8001,5,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_HEAL
6009,8002,5,0,8001,3,0,0,0,0,0,0,0,0,0 //HLIF_AVOID
6009,8003,5,0,8001,5,0,0,0,0,0,0,0,0,0 //HLIF_BRAIN
6009,8004,3,0,0,0,0,0,0,0,0,0,0,0,910 //HLIF_CHANGE
//Amistr_H
6010,8005,5,0,0,0,0,0,0,0,0,0,0,0,0 //HAMI_CASTLE
6010,8006,5,0,8005,5,0,0,0,0,0,0,0,0,0 //HAMI_DEFENCE
6010,8007,5,0,8006,3,0,0,0,0,0,0,0,0,0 //HAMI_SKIN
6010,8008,3,0,0,0,0,0,0,0,0,0,0,0,910 //HAMI_BLOODLUST
//Filir_H
6011,8009,5,0,0,0,0,0,0,0,0,0,0,0,0 //HFLI_MOON
6011,8010,5,0,8009,3,0,0,0,0,0,0,0,0,0 //HFLI_FLEET
6011,8011,5,0,8010,3,0,0,0,0,0,0,0,0,0 //HFLI_SPEED
6011,8012,3,0,0,0,0,0,0,0,0,0,0,0,910 //HFLI_SBR44
//Vanilmirth_H
6012,8013,5,0,0,0,0,0,0,0,0,0,0,0,0 //HVAN_CAPRICE
6012,8014,5,0,8013,3,0,0,0,0,0,0,0,0,0 //HVAN_CHAOTIC
6012,8015,5,0,8013,5,0,0,0,0,0,0,0,0,0 //HVAN_INSTRUCT
6012,8016,3,0,0,0,0,0,0,0,0,0,0,0,910 //HVAN_EXPLOSION
//Lif2_H
6013,8001,5,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_HEAL
6013,8002,5,0,8001,3,0,0,0,0,0,0,0,0,0 //HLIF_AVOID
6013,8003,5,0,8001,5,0,0,0,0,0,0,0,0,0 //HLIF_BRAIN
6013,8004,3,0,0,0,0,0,0,0,0,0,0,0,910 //HLIF_CHANGE
//Amistr2_H
6014,8005,5,0,0,0,0,0,0,0,0,0,0,0,0 //HAMI_CASTLE
6014,8006,5,0,8005,5,0,0,0,0,0,0,0,0,0 //HAMI_DEFENCE
6014,8007,5,0,8006,3,0,0,0,0,0,0,0,0,0 //HAMI_SKIN
6014,8008,3,0,0,0,0,0,0,0,0,0,0,0,910 //HAMI_BLOODLUST
//Filir2_H
6015,8009,5,0,0,0,0,0,0,0,0,0,0,0,0 //HFLI_MOON
6015,8010,5,0,8009,3,0,0,0,0,0,0,0,0,0 //HFLI_FLEET
6015,8011,5,0,8010,3,0,0,0,0,0,0,0,0,0 //HFLI_SPEED
6015,8012,3,0,0,0,0,0,0,0,0,0,0,0,910 //HFLI_SBR44
//Vanilmirth2_H
6016,8013,5,0,0,0,0,0,0,0,0,0,0,0,0 //HVAN_CAPRICE
6016,8014,5,0,8013,3,0,0,0,0,0,0,0,0,0 //HVAN_CHAOTIC
6016,8015,5,0,8013,5,0,0,0,0,0,0,0,0,0 //HVAN_INSTRUCT
6016,8016,3,0,0,0,0,0,0,0,0,0,0,0,910 //HVAN_EXPLOSION
//Eira
6048,8022,5,128,0,0,0,0,0,0,0,0,0,0,0 //MH_LIGHT_OF_REGENE
6048,8023,5,114,0,0,0,0,0,0,0,0,0,0,0 //MH_OVERED_BOOST
6048,8024,10,106,0,0,0,0,0,0,0,0,0,0,0 //MH_ERASER_CUTTER
6048,8025,10,121,0,0,0,0,0,0,0,0,0,0,0 //MH_XENO_SLASHER
6048,8026,5,137,0,0,0,0,0,0,0,0,0,0,0 //MH_SILENT_BREEZE
//Bayeri
6049,8031,10,105,0,0,0,0,0,0,0,0,0,0,0 //MH_STAHL_HORN
6049,8032,5,112,0,0,0,0,0,0,0,0,0,0,0 //MH_GOLDENE_FERSE
6049,8033,5,121,0,0,0,0,0,0,0,0,0,0,0 //MH_STEINWAND
6049,8034,10,138,0,0,0,0,0,0,0,0,0,0,0 //MH_HEILIGE_STANGE
6049,8035,5,130,0,0,0,0,0,0,0,0,0,0,0 //MH_ANGRIFFS_MODUS
//Sera
6050,8018,5,132,0,0,0,0,0,0,0,0,0,0,0 //MH_SUMMON_LEGION
6050,8019,10,105,0,0,0,0,0,0,0,0,0,0,0 //MH_NEEDLE_OF_PARALYZE
6050,8020,5,116,0,0,0,0,0,0,0,0,0,0,0 //MH_POISON_MIST
6050,8021,10,123,0,0,0,0,0,0,0,0,0,0,0 //MH_PAIN_KILLER
//Dieter
6051,8039,5,122,0,0,0,0,0,0,0,0,0,0,0 //MH_MAGMA_FLOW
6051,8040,5,116,0,0,0,0,0,0,0,0,0,0,0 //MH_GRANITIC_ARMOR
6051,8041,10,109,0,0,0,0,0,0,0,0,0,0,0 //MH_LAVA_SLIDE
6051,8042,10,131,0,0,0,0,0,0,0,0,0,0,0 //MH_PYROCLASTIC
6051,8043,5,102,0,0,0,0,0,0,0,0,0,0,0 //MH_VOLCANIC_ASH
//Elanor
6052,8027,1,100,0,0,0,0,0,0,0,0,0,0,0 //MH_STYLE_CHANGE
6052,8028,5,100,0,0,0,0,0,0,0,0,0,0,0 //MH_SONIC_CRAW
6052,8029,10,114,0,0,0,0,0,0,0,0,0,0,0 //MH_SILVERVEIN_RUSH
6052,8030,10,128,0,0,0,0,0,0,0,0,0,0,0 //MH_MIDNIGHT_FRENZY
6052,8036,5,100,0,0,0,0,0,0,0,0,0,0,0 //MH_TINDER_BREAKER
6052,8037,5,112,0,0,0,0,0,0,0,0,0,0,0 //MH_CBC
6052,8038,5,133,0,0,0,0,0,0,0,0,0,0,0 //MH_EQC

65
db/homunculus_db.yml Normal file
View File

@@ -0,0 +1,65 @@
# This file is a part of rAthena.
# Copyright(C) 2023 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Homunculus Database
###########################################################################
#
# Homunculus Settings
#
###########################################################################
# - BaseClass Base class.
# Name Name of homunculus.
# EvolutionClass Evolution class.
# Food Homunculus food item. (Default: Pet_Food)
# HungryDelay Time interval in milliseconds after which the hunger value is altered. (Default: 60000)
# Race Race. (Default: Demihuman)
# Element Element. (Default: Neutral)
# Size Size. (Default: Small)
# EvolutionSize Evolution size. (Default: Medium)
# AttackDelay Base ASPD. (Default: 700)
# Status: Homunculus stats.
# - Type Type of status.
# Base Base value of this status. (Default: 1)
# GrowthMinimum Minimum growth of this status. (Default: 0)
# GrowthMaximum Maximum growth of this status. (Default: 0)
# EvolutionMinimum Minimum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# EvolutionMaximum Maximum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# SkillTree: Skill tree.
# - Skill Skill name.
# Clear True to remove the given skill name. (Optional)
# MaxLevel Maximum level of skill.
# RequiredLevel Required base level of homunculus to learn. (Default: 0)
# RequiredIntimacy Required intimacy of homunculus to learn. (Default: 0)
# RequireEvolution Require the homunculus to be evolved to be available. (Default: false)
# Required: Prerequisite skills. (Default: null)
# - Skill Prerequisite skill name.
# Level Level of prerequisite skill.
# Clear True to remove the given prerequisite skill name. (Optional)
###########################################################################
Header:
Type: HOMUNCULUS_DB
Version: 1
Footer:
Imports:
- Path: db/pre-re/homunculus_db.yml
Mode: Prerenewal
- Path: db/re/homunculus_db.yml
Mode: Renewal
- Path: db/import/homunculus_db.yml

View File

@@ -0,0 +1,33 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Captcha Database Table
###########################################################################
#
# Captcha Database Settings
#
###########################################################################
# - Id Index value.
# Filename Name of the BMP image file (with location).
# Answer Correct answer for the captcha (case-sensitive).
# Bonus Bonus Script ran on success. (Default: Level 10 Blessing and Increase Agility)
###########################################################################
Header:
Type: CAPTCHA_DB
Version: 1

View File

@@ -26,8 +26,15 @@
# Map Map name to be considered as the castle map.
# Name Name of the castle (used by scripts and guardian name tags).
# Npc NPC unique name to invoke ::OnGuildBreak on, when a occupied castle is abandoned during guild break.
# Type The WoE type this castle belongs to. (Default: First_Edition)
# ClientId Client side ID of the castle. (Default: 0)
# WarpEnabled If the warp to the castle is enabled. (Default: false)
# WarpX X coordinate to warp to. (Default: 0)
# WarpY Y coordinate to warp to. (Default: 0)
# WarpCost Zeny cost to use the warp. (Default: 100)
# WarpCostSiege Zeny cost to use the warp during WoE. (Default: 100000)
###########################################################################
Header:
Type: CASTLE_DB
Version: 1
Version: 2

View File

@@ -1,5 +1,5 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# Copyright(C) 2023 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
@@ -27,10 +27,13 @@
# - Level Item level.
# Grades: Enchantgrade settings per grade level.
# - Grade Enchantgrade level.
# Refine Required refine level.
# Chance Base chance of success out of 0~10000.
# Chances: Chance settings per refine level.
# - Refine Refine level.
# Chance Base chance of success out of 0~10000.
# Bonus Enchantgrade bonus. (Default: 0)
# Announce Announce if someone tries to increase the enchantgrade. (Default: true)
# AnnounceSuccess Announce on upgrade success. (Default: true)
# AnnounceFail Announce on upgrade failure. (Default: false)
# Announce Announce on upgrade success and failure.
# Catalyst: Catalyst item to increase chance of success.
# Item The item that can be used.
# AmountPerStep Amount of Item needed.
@@ -49,4 +52,4 @@
Header:
Type: ENCHANTGRADE_DB
Version: 1
Version: 3

View File

@@ -1,15 +0,0 @@
// Homunculus Skill Tree Database
//
// Structure of Database:
// Class,SkillID,MaxLv,NeedLevel,Prerequisite SkillID1,Prerequisite SkillLv1,PrereqSkillID2,PrereqSkillLv2,PrereqSkillID3,PrereqSkillLv3,PrereqSkillID4,PrereqSkillLv4,PrereqSkillID5,PrereqSkillLv5,IntimacyLvReq //SKILLNAME#Skill Name#
//
// 01. Class Homunculus ID.
// 02. SkillID Skill ID of the homunuculus skill.
// 03. MaxLv Maximum level of the homunuculus skill.
// 04. NeedLevel Homunculus level required for the skill to become available
// 05. Prerequisite SkillID Homunculus skill required for the skill to become available.
// 06. Prerequisite SkillLv Level of the required homunculus skill.
// ...
// 15. IntimacyLvReq Minimum level of intimacy to unlock skill.
//
// NOTE: MAX_PC_SKILL_REQUIRE (typically 5) ID/Lv pairs must be specified.

View File

@@ -1,20 +0,0 @@
// Homunculus Database
//
// Structure of Database:
// Class,EvoClass,Name,FoodID,HungryDelay,BaseSize,EvoSize,Race,Element,bASPD,bHP,bSP,bSTR,bAGI,bVIT,bINT,bDEX,bLUK,gnHP,gxHP,gnSP,gxSP,gnSTR,gxSTR,gnAGI,gxAGI,gnVIT,gxVIT,gnINT,gxINT,gnDEX,gxDEX,gnLUK,gxLUK,enHP,exHP,enSP,exSP,enSTR,exSTR,enAGI,exAGI,enVIT,exVIT,enINT,exINT,enDEX,exDEX,enLUK,exLUK
//
// 01. Class Homunculus ID.
// 02. EvoClass Homunculus ID of the evolved version.
// 03. Name Name of the homunculus.
// 04. FoodID Item ID of the homunuclus food.
// 05. HungryDelay Time interval in milliseconds after which the homunculus' hunger value is altered.
// 06. BaseSize Size of the base homunculus class (0 = small, 1 = normal, 2 = large).
// 07. EvoSize Size of the evolved homunculus class (0 = small, 1 = normal, 2 = large).
// 08. Race Race of the homunculus (0 = formless, 1 = undead, 2 = brute, 3 = plant, 4 = insect, 5 = fish, 6 = demon, 7 = demi-human, 8 = angel, 9 = dragon).
// 09. Element Element of the homunculus (0 = neutral, 1 = water, 2 = earth, 3 = fire, 4 = wind, 5 = poison, 6 = holy, 7 = dark, 8 = ghost, 9 = undead).
// The element level is always 1.
// ...
//
// Legend: b: base, gn: growth min, gx: growth max, en: evolution min, ex: evolution max
// NOTE: Only the growth values are in a 1/10 scale, the other stats are 1/1 (eg: 5 gmAGI means 0.5 agi)

View File

@@ -0,0 +1,57 @@
# This file is a part of rAthena.
# Copyright(C) 2023 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Homunculus Database
###########################################################################
#
# Homunculus Settings
#
###########################################################################
# - BaseClass Base class.
# Name Name of homunculus.
# EvolutionClass Evolution class.
# Food Homunculus food item. (Default: Pet_Food)
# HungryDelay Time interval in milliseconds after which the hunger value is altered. (Default: 60000)
# Race Race. (Default: Demihuman)
# Element Element. (Default: Neutral)
# Size Size. (Default: Small)
# EvolutionSize Evolution size. (Default: Medium)
# AttackDelay Base ASPD. (Default: 700)
# Status: Homunculus stats.
# - Type Type of status.
# Base Base value of this status. (Default: 1)
# GrowthMinimum Minimum growth of this status. (Default: 0)
# GrowthMaximum Maximum growth of this status. (Default: 0)
# EvolutionMinimum Minimum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# EvolutionMaximum Maximum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# SkillTree: Skill tree.
# - Skill Skill name.
# Clear True to remove the given skill name. (Optional)
# MaxLevel Maximum level of skill.
# RequiredLevel Required base level of homunculus to learn. (Default: 0)
# RequiredIntimacy Required intimacy of homunculus to learn. (Default: 0)
# RequireEvolution Require the homunculus to be evolved to be available. (Default: false)
# Required: Prerequisite skills. (Default: null)
# - Skill Prerequisite skill name.
# Level Level of prerequisite skill.
# Clear True to remove the given prerequisite skill name. (Optional)
###########################################################################
Header:
Type: HOMUNCULUS_DB
Version: 1

View File

@@ -0,0 +1,33 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Item Cash Database
###########################################################################
#
# Item Cash Settings
#
###########################################################################
# - Tab Cash shop tab. Available tabs are New, Hot, Limited, Rental, Permanent, Scrolls, Consumables, Other, Sale.
# Items: List of possible items.
# - Item Item name.
# Price Item cost in cash points (#CASHPOINTS).
###########################################################################
Header:
Type: ITEM_CASH_DB
Version: 1

View File

@@ -1,19 +0,0 @@
// Cash Shop Database
// Contains the items sold in the ingame cash shop.
//
// Structure of Database:
// Type,ItemID,Price
//
// Type:
// 0: New
// 1: Hot
// 2: Limited
// 3: Rental
// 4: Gear
// 5: Buff
// 6: Heal
// 7: Other
// 8: Sale
//
// Price:
// Item cost, in cash points (#CASHPOINTS).

View File

@@ -44,6 +44,7 @@
# EquipLevelMin Minimum required level to equip. (Default: 0)
# EquipLevelMax Maximum level that can equip. (Default: 0)
# Refineable If the item can be refined. (Default: false)
# Gradable If the item can be graded. (Default: false)
# View View sprite of an item. (Default: 0)
# AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null)
# Flags: Item flags. (Default: null)
@@ -85,7 +86,7 @@
Header:
Type: ITEM_DB
Version: 2
Version: 3
#Body:
# THQ Quest Items

View File

@@ -0,0 +1,72 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Item Enchant Database
###########################################################################
#
# Item Enchant Settings
#
###########################################################################
# - Id Client side LUA index.
# TargetItems: List of possible target items.
# <item name> Item name of possible target item.
# MinimumRefine Minimum refine of the target item. (Default: 0)
# MinimumEnchantgrade Minimum enchant grade of the target item. (Default: 0)
# AllowRandomOptions Enable random options in the target item. (Default: true)
# Reset: Reset options. (Default: null)
# Chance Chance of successful reset. (Default: 0)
# Price Price for resetting enchants. (Default: 0)
# Materials: Items required for resetting enchants. (Default: null)
# - Material Item name of the required item.
# Amount Amount of the required item. (Default: 1)
# Order: Order in which the slots can be enchanted.
# Overwriting via import will clear the currently defined order.
# - Slot Number of the slot (0-3).
# Slots: Enchant options.
# - Slot Number of the slot (0-3).
# Price Price required for the normal enchant process. (Default: 0)
# Materials: Items required for the normal enchant process. (Default: null)
# - Material Item name of the required item.
# Amount Amount of the required item. (Default: 1)
# Chance Base chance for the normal enchant process. (Default: 100000)
# EnchantgradeBonus: Additional bonus chance increase per enchant grade. (Default: null)
# - Enchantgrade Enchant grade required for the bonus.
# Chance Additional chance that is added to the base chance.
# Enchants: Available enchants for the normal enchant process per enchant grade. (Default: null)
# - Enchantgrade Enchant grade of the item to be enchanted.
# Items: Available enchants for the normal enchant process on the given enchant grade. (Default: null)
# - Item Item name of the available enchant item.
# Chance Chance to get this specific enchant item.
# PerfectEnchants: Available perfect enchants (100% chance + selectable) for this slot. (Default: null)
# - Item Item name of the available enchant item.
# Price Price required for this perfect enchant. (Default: 0)
# Materials: Items required for this perfect enchant. (Default: null)
# - Material Item name of the required item.
# Amount Amount of the required item. (Default: 1)
# Upgrades: Available enchant upgrades for this slot. (Default: null)
# - Enchant Item name of the enchant item available for upgrade.
# Upgrade Item name of the enchant it can be upgrade to.
# Price Price required for this enchant upgrade. (Default: 0)
# Materials: Items required for this enchant upgrade (Default: null)
# - Material Item name of the required item.
# Amount Amount of the required item. (Default: 1)
###########################################################################
Header:
Type: ITEM_ENCHANT_DB
Version: 1

View File

@@ -0,0 +1,39 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Item Package Database
###########################################################################
#
# Item Package Settings
#
###########################################################################
# - Item Item that triggers Item Package Selection.
# Groups: Groups that can be selected.
# - Group Group ID that can be selected (has to match the client's LUA file).
# Items: Items that will be given out.
# - Item Item that will be given out.
# Amount Amount of the item. (Default: 1)
# To remove an item via import set amount to 0.
# RentalHours Rental time in hours. (Default: 0)
# Refine Refine level of the item. (Default: 0)
# RandomOptionGroup Name of the random option group that will be applied. (Default: none)
###########################################################################
Header:
Type: ITEM_PACKAGE_DB
Version: 1

View File

@@ -0,0 +1,44 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Item Reform Database
###########################################################################
#
# Item Reform Settings
#
###########################################################################
# - Item Item that triggers Item Reform UI.
# BaseItems: Items that can be reformed.
# - BaseItem Item that can be reformed.
# MinimumRefine Minimum refine level of the required items. (Default: 0)
# MaximumRefine Maximum refine level of the required items. (Default: MAX_REFINE)
# RequiredRandomOptions Amount of random options have to be in the item. (Default: 0)
# CardsAllowed Allow cards in the target item. (Default: true)
# Materials: Additional items needed for the reformation. (Default: none)
# - Material Material item that is needed.
# Amount Amount of the material item that is needed. (Default: 1)
# ResultItem Item after the reform.
# ChangeRefine Increase or decrease the refine during reformation. (Default: 0)
# RandomOptionGroup Name of the random option group that will be applied. (Default: none)
# ClearSlots Remove cards and socket enchants during reformation. (Default: false)
# RemoveEnchantgrade Remove enchantgrade during reformation. (Default: false)
###########################################################################
Header:
Type: ITEM_REFORM_DB
Version: 1

View File

@@ -0,0 +1,44 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Map Drop Database
###########################################################################
#
# Map Drop Settings
#
###########################################################################
# - Map Name of the map.
# GlobalDrops Drops for all monsters on this map. (Default: empty)
# These drops are unaffected by server drop rate and cannot be stolen.
# - Index Unique index of the drop.
# Item Item name.
# Rate Drop rate of item, n/100000.
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
# SpecificDrops Drops for specific monsters on this map. (Default: empty)
# - Monster Monster name.
# Drops Drops for this specific monster. (Default: empty)
# These drops are unaffected by server drop rate and cannot be stolen.
# - Index Unique index of the drop.
# Item Item name.
# Rate Drop rate of item, n/100000.
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
###########################################################################
Header:
Type: MAP_DROP_DB
Version: 2

View File

@@ -44,6 +44,8 @@
// casttargeted When a target is in cast range (no condition value).
// rudeattacked When mob is rude attacked (no condition value).
// mobnearbygt When monsters in range become greater than specified number.
// groundattacked When mob is hit by ground targeted skill (no condition value).
// damagedgt When single attack deals greater damage than specified number.
//
// Status abnormalities specified through the statuson/statusoff system:
// anybad (any type of state change) / stone / freeze / stun / sleep /

View File

@@ -1,861 +0,0 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Monster Skill Database
###########################################################################
#
# Monster Skill Settings
#
###########################################################################
# - Mob Monster AegisName.
# Skills: List of Skills casted by the monster.
# - Index Unique Index in the list to edit the skill on import.
# Name Skill AegisName.
# Level Skill Level.
# State State of the monster to cast the skill. (Default: ATTACK)
# CastRate Rate to cast the skill (from 1-10000). (Default: 10000)
# CastTime Time in millisecond to cast the skill. (Default: 0)
# CastDelay Delay in millisecond to recast the skill. (Default: 5000)
# CastCancel Whether the skill is cancelable or not. (Default: true)
# Target Target of the skill. (Default: TARGET)
# Condition Type of condition. (Default: ALWAYS)
# ConditionValue1 Value given at certain conditions.
# ConditionValue2 Value given at certain conditions.
# Ai Change the monster mode using the given Aegis monster type AI. (Default: 00)
# Summon: List of monsters to summon, required for certain skills. (Default: null)
# - Index Unique Index in the list to edit the monster on import. Range of 0-5.
# Mob Monster AegisName.
# Clear True to remove the given monster at this index. (Optional)
# Emotion Emotion displayed on the monster after the cast. (Default: ET_NONE)
# Chat Chat ID to display the associated sentence defined in mob_chat_db.yml. (Default: 0)
# Clear True to remove the skill. (Optional)
###########################################################################
Header:
Type: MOB_SKILL_DB
Version: 1
# Body:
# rAthena Dev Team
# - Mob: VALARIS
# Skills:
# - Index: 0
# Name: AL_TELEPORT
# Level: 1
# State: IDLE
# CastRate: 10000
# CastTime: 0
# CastDelay: 0
# CastCancel: true
# Target: SELF
# Condition: RUDEATTACKED
# - Index: 1
# Name: AL_TELEPORT
# Level: 1
# State: WALK
# CastRate: 500
# CastTime: 0
# CastDelay: 5000
# CastCancel: true
# Target: SELF
# Condition: RUDEATTACKED
# - Index: 2
# Name: KN_BRANDISHSPEAR
# Level: 10
# State: ATTACK
# CastRate: 2000
# CastTime: 500
# CastDelay: 5000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# Emotion: ET_KIK
# - Index: 3
# Name: MO_BODYRELOCATION
# Level: 1
# State: CHASE
# CastRate: 200
# CastTime: 200
# CastDelay: 1000
# CastCancel: true
# Target: TARGET
# Condition: ALWAYS
# - Index: 4
# Name: NPC_ARMORBRAKE
# Level: 10
# State: ATTACK
# CastRate: 2000
# CastTime: 0
# CastDelay: 5000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# - Index: 5
# Name: NPC_CALLSLAVE
# Level: 1
# State: ATTACK
# CastRate: 10000
# CastTime: 0
# CastDelay: 30000
# CastCancel: true
# Target: TARGET
# Condition: ALWAYS
# - Index: 6
# Name: NPC_CALLSLAVE
# Level: 1
# State: IDLE
# CastRate: 10000
# CastTime: 0
# CastDelay: 30000
# CastCancel: true
# Target: SELF
# Condition: ALWAYS
# - Index: 7
# Name: NPC_DARKBREATH
# Level: 5
# State: ATTACK
# CastRate: 2000
# CastTime: 800
# CastDelay: 5000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# Emotion: ET_KIK
# - Index: 8
# Name: NPC_DARKSTRIKE
# Level: 10
# State: CHASE
# CastRate: 200
# CastTime: 0
# CastDelay: 1000
# CastCancel: true
# Target: TARGET
# Condition: ALWAYS
# - Index: 9
# Name: NPC_GUIDEDATTACK
# Level: 5
# State: ATTACK
# CastRate: 500
# CastTime: 0
# CastDelay: 20000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# - Index: 10
# Name: NPC_POWERUP
# Level: 5
# State: ATTACK
# CastRate: 10000
# CastTime: 0
# CastDelay: 30000
# CastCancel: true
# Target: SELF
# Condition: MYHPLTMAXRATE
# ConditionValue1: 30
# Emotion: ET_FRET
# - Index: 11
# Name: NPC_SUMMONSLAVE
# Level: 6
# State: ATTACK
# CastRate: 10000
# CastTime: 700
# CastDelay: 10000
# CastCancel: false
# Target: SELF
# Condition: SLAVELE
# ConditionValue1: 3
# Summon:
# - Index: 0
# Mob: MC_CAMERI
# - Index: 12
# Name: NPC_SUMMONSLAVE
# Level: 6
# State: IDLE
# CastRate: 10000
# CastTime: 700
# CastDelay: 10000
# CastCancel: false
# Target: SELF
# Condition: SLAVELE
# ConditionValue1: 3
# Summon:
# - Index: 0
# Mob: MC_CAMERI
# - Index: 13
# Name: WZ_VERMILION
# Level: 10
# State: ATTACK
# CastRate: 2000
# CastTime: 500
# CastDelay: 2000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# Emotion: ET_KIK
# - Index: 14
# Name: WZ_VERMILION
# Level: 10
# State: CHASE
# CastRate: 200
# CastTime: 500
# CastDelay: 2000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# Emotion: ET_KIK
# - Index: 15
# Name: WZ_VERMILION
# Level: 10
# State: CHASE
# CastRate: 500
# CastTime: 500
# CastDelay: 2000
# CastCancel: false
# Target: TARGET
# Condition: SKILLUSED
# ConditionValue1: MG_FIREWALL
# Emotion: ET_KIK
# - Mob: VALARIS_WORSHIPPER
# Skills:
# - Index: 0
# Name: AL_TELEPORT
# Level: 1
# State: IDLE
# CastRate: 10000
# CastTime: 0
# CastDelay: 0
# CastCancel: true
# Target: SELF
# Condition: RUDEATTACKED
# - Index: 1
# Name: NPC_CURSEATTACK
# Level: 3
# State: ATTACK
# CastRate: 500
# CastTime: 800
# CastDelay: 5000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# Emotion: ET_KIK
# - Index: 2
# Name: NPC_DARKNESSATTACK
# Level: 2
# State: ATTACK
# CastRate: 500
# CastTime: 500
# CastDelay: 5000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# Emotion: ET_FRET
# - Index: 3
# Name: NPC_EMOTION
# Level: 1
# State: WALK
# CastRate: 200
# CastTime: 0
# CastDelay: 5000
# CastCancel: true
# Target: SELF
# Condition: ALWAYS
# Emotion: ET_DELIGHT
# - Index: 4
# Name: NPC_HALLUCINATION
# Level: 1
# State: ATTACK
# CastRate: 500
# CastTime: 500
# CastDelay: 5000
# CastCancel: true
# Target: TARGET
# Condition: ALWAYS
# Emotion: ET_KIK
# - Index: 5
# Name: NPC_HALLUCINATION
# Level: 1
# State: CHASE
# CastRate: 50
# CastTime: 500
# CastDelay: 5000
# CastCancel: true
# Target: TARGET
# Condition: ALWAYS
# Emotion: ET_KIK
# - Index: 6
# Name: SA_DISPELL
# Level: 1
# State: ATTACK
# CastRate: 0
# CastTime: 0
# CastDelay: 30000
# CastCancel: true
# Target: TARGET
# Condition: ALWAYS
# Emotion: ET_KIK
# - Mob: MC_CAMERI
# Skills:
# - Index: 0
# Name: AL_TELEPORT
# Level: 1
# State: IDLE
# CastRate: 10000
# CastTime: 0
# CastDelay: 0
# CastCancel: true
# Target: SELF
# Condition: RUDEATTACKED
# - Index: 1
# Name: AL_TELEPORT
# Level: 1
# State: WALK
# CastRate: 500
# CastTime: 0
# CastDelay: 5000
# CastCancel: true
# Target: SELF
# Condition: RUDEATTACKED
# - Index: 2
# Name: KN_BRANDISHSPEAR
# Level: 10
# State: ATTACK
# CastRate: 2000
# CastTime: 500
# CastDelay: 5000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# Emotion: ET_KIK
# - Index: 3
# Name: MO_BODYRELOCATION
# Level: 1
# State: CHASE
# CastRate: 200
# CastTime: 200
# CastDelay: 1000
# CastCancel: true
# Target: TARGET
# Condition: ALWAYS
# - Index: 4
# Name: NPC_ARMORBRAKE
# Level: 10
# State: ATTACK
# CastRate: 2000
# CastTime: 0
# CastDelay: 5000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# - Index: 5
# Name: NPC_DARKBREATH
# Level: 5
# State: ATTACK
# CastRate: 2000
# CastTime: 800
# CastDelay: 5000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# Emotion: ET_KIK
# - Index: 6
# Name: NPC_DARKSTRIKE
# Level: 10
# State: CHASE
# CastRate: 200
# CastTime: 0
# CastDelay: 1000
# CastCancel: true
# Target: TARGET
# Condition: ALWAYS
# - Index: 7
# Name: NPC_GUIDEDATTACK
# Level: 5
# State: ATTACK
# CastRate: 500
# CastTime: 0
# CastDelay: 20000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# - Index: 8
# Name: NPC_POWERUP
# Level: 5
# State: ATTACK
# CastRate: 10000
# CastTime: 0
# CastDelay: 30000
# CastCancel: true
# Target: SELF
# Condition: MYHPLTMAXRATE
# ConditionValue1: 30
# Emotion: ET_FRET
# - Index: 9
# Name: WZ_VERMILION
# Level: 10
# State: ATTACK
# CastRate: 2000
# CastTime: 500
# CastDelay: 2000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# Emotion: ET_KIK
# - Index: 10
# Name: WZ_VERMILION
# Level: 10
# State: CHASE
# CastRate: 200
# CastTime: 500
# CastDelay: 2000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# Emotion: ET_KIK
# - Index: 11
# Name: WZ_VERMILION
# Level: 10
# State: CHASE
# CastRate: 500
# CastTime: 500
# CastDelay: 2000
# CastCancel: false
# Target: TARGET
# Condition: SKILLUSED
# ConditionValue1: MG_FIREWALL
# Emotion: ET_KIK
# - Mob: POKI
# Skills:
# - Index: 0
# Name: AC_DOUBLE
# Level: 10
# State: ATTACK
# CastRate: 500
# CastTime: 1000
# CastDelay: 5000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# - Index: 1
# Name: AC_SHOWER
# Level: 8
# State: ATTACK
# CastRate: 2000
# CastTime: 1000
# CastDelay: 5000
# CastCancel: false
# Target: TARGET
# Condition: ATTACKPCGT
# ConditionValue1: 2
# - Index: 2
# Name: BS_MAXIMIZE
# Level: 5
# State: CHASE
# CastRate: 500
# CastTime: 1000
# CastDelay: 5000
# CastCancel: false
# Target: SELF
# Condition: ALWAYS
# - Index: 3
# Name: BS_MAXIMIZE
# Level: 5
# State: ATTACK
# CastRate: 500
# CastTime: 1000
# CastDelay: 5000
# CastCancel: false
# Target: SELF
# Condition: ALWAYS
# - Index: 4
# Name: NPC_AGIUP
# Level: 5
# State: CHASE
# CastRate: 2500
# CastTime: 0
# CastDelay: 5000
# CastCancel: false
# Target: SELF
# Condition: ALWAYS
# - Index: 5
# Name: NPC_POWERUP
# Level: 5
# State: ATTACK
# CastRate: 500
# CastTime: 0
# CastDelay: 30000
# CastCancel: true
# Target: SELF
# Condition: MYHPLTMAXRATE
# ConditionValue1: 30
# - Index: 6
# Name: SN_SHARPSHOOTING
# Level: 5
# State: ATTACK
# CastRate: 500
# CastTime: 1000
# CastDelay: 5000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# - Index: 7
# Name: HT_SKIDTRAP
# Level: 5
# State: IDLE
# CastRate: 50
# CastTime: 0
# CastDelay: 5000
# CastCancel: true
# Target: SELF
# Condition: ALWAYS
# Emotion: ET_KIK
# - Index: 8
# Name: HT_FLASHER
# Level: 5
# State: IDLE
# CastRate: 50
# CastTime: 0
# CastDelay: 300000
# CastCancel: true
# Target: SELF
# Condition: ALWAYS
# - Index: 9
# Name: HT_FREEZINGTRAP
# Level: 5
# State: IDLE
# CastRate: 50
# CastTime: 0
# CastDelay: 300000
# CastCancel: true
# Target: SELF
# Condition: ALWAYS
# - Index: 10
# Name: AC_CHARGEARROW
# Level: 1
# State: ATTACK
# CastRate: 500
# CastTime: 0
# CastDelay: 5000
# CastCancel: true
# Target: TARGET
# Condition: ALWAYS
# - Index: 11
# Name: HT_FLASHER
# Level: 5
# State: IDLE
# CastRate: 50
# CastTime: 0
# CastDelay: 300000
# CastCancel: true
# Target: SELF
# Condition: ALWAYS
# - Index: 12
# Name: NPC_SUMMONSLAVE
# Level: 5
# State: IDLE
# CastRate: 10000
# CastTime: 2000
# CastDelay: 120000
# CastCancel: false
# Target: SELF
# Condition: SLAVELE
# ConditionValue1: 1
# Summon:
# - Index: 0
# Mob: G_WHIKEBAIN
# - Index: 1
# Mob: G_ARMAIA
# - Index: 2
# Mob: G_EREND
# - Index: 3
# Mob: G_KAVAC
# - Index: 4
# Mob: G_RAWREL
# Emotion: ET_SURPRISE
# - Index: 13
# Name: NPC_CALLSLAVE
# Level: 1
# State: ATTACK
# CastRate: 2000
# CastTime: 0
# CastDelay: 10000
# CastCancel: true
# Target: TARGET
# Condition: ALWAYS
# - Index: 14
# Name: NPC_CALLSLAVE
# Level: 1
# State: IDLE
# CastRate: 2000
# CastTime: 0
# CastDelay: 10000
# CastCancel: true
# Target: SELF
# Condition: ALWAYS
# - Index: 15
# Name: NPC_CHANGEWATER
# Level: 1
# State: ATTACK
# CastRate: 10000
# CastTime: 2000
# CastDelay: 600000
# CastCancel: false
# Target: SELF
# Condition: MYHPLTMAXRATE
# ConditionValue1: 30
# - Index: 16
# Name: NPC_CHANGETELEKINESIS
# Level: 1
# State: ATTACK
# CastRate: 500
# CastTime: 2000
# CastDelay: 5000
# CastCancel: false
# Target: SELF
# Condition: MYHPLTMAXRATE
# ConditionValue1: 10
# Emotion: ET_ANGER
# - Index: 17
# Name: AL_TELEPORT
# Level: 1
# State: IDLE
# CastRate: 10000
# CastTime: 0
# CastDelay: 0
# CastCancel: true
# Target: SELF
# Condition: RUDEATTACKED
# - Mob: MOROCC_4
# Skills:
# - Index: 0
# Name: NPC_SUMMONSLAVE
# Level: 5
# State: ATTACK
# CastRate: 10000
# CastTime: 3000
# CastDelay: 10000
# CastCancel: false
# Target: SELF
# Condition: SLAVELE
# ConditionValue1: 2
# Summon:
# - Index: 0
# Mob: LUNATIC
# - Index: 1
# Name: NPC_SUMMONSLAVE
# Level: 5
# State: IDLE
# CastRate: 5000
# CastTime: 2000
# CastDelay: 40000
# CastCancel: false
# Target: SELF
# Condition: ALWAYS
# ConditionValue1: 2
# Summon:
# - Index: 0
# Mob: MOROCC_3
# Custom Fire Poring. Warning, Colides with META_DENIRO
# - Mob: FIRE_PORING
# Skills:
# - Index: 0
# Name: AL_HEAL
# Level: 10
# State: IDLE
# CastRate: 10000
# CastTime: 0
# CastDelay: 2000
# CastCancel: true
# Target: SELF
# Condition: ALWAYS
# Emotion: ET_SWEAT
# - Index: 1
# Name: AL_HEAL
# Level: 10
# State: WALK
# CastRate: 10000
# CastTime: 0
# CastDelay: 2000
# CastCancel: true
# Target: SELF
# Condition: ALWAYS
# Emotion: ET_SWEAT
# - Index: 2
# Name: AL_TELEPORT
# Level: 1
# State: ATTACK
# CastRate: 1000
# CastTime: 5000
# CastDelay: 60000
# CastCancel: false
# Target: SELF
# Condition: MYHPLTMAXRATE
# ConditionValue1: 30
# - Index: 3
# Name: AL_TELEPORT
# Level: 1
# State: IDLE
# CastRate: 10000
# CastTime: 0
# CastDelay: 0
# CastCancel: true
# Target: SELF
# Condition: RUDEATTACKED
# - Index: 4
# Name: NPC_DARKBLESSING
# Level: 1
# State: ATTACK
# CastRate: 1000
# CastTime: 2000
# CastDelay: 5000
# CastCancel: false
# Target: TARGET
# Condition: ALWAYS
# Emotion: ET_SMILE
# - Index: 5
# Name: NPC_SUMMONSLAVE
# Level: 16
# State: ATTACK
# CastRate: 10000
# CastTime: 2000
# CastDelay: 10000
# CastCancel: false
# Target: SELF
# Condition: SLAVELE
# ConditionValue1: 3
# Summon:
# - Index: 0
# Mob: G_DOKEBI
# - Index: 1
# Mob: G_BAPHOMET_
# - Index: 2
# Mob: G_DEVIRUCHI
# Emotion: ET_SMILE
# - Index: 6
# Name: NPC_SUMMONSLAVE
# Level: 16
# State: IDLE
# CastRate: 10000
# CastTime: 2000
# CastDelay: 10000
# CastCancel: false
# Target: SELF
# Condition: SLAVELE
# ConditionValue1: 3
# Summon:
# - Index: 0
# Mob: G_DOKEBI
# - Index: 1
# Mob: G_BAPHOMET_
# - Index: 2
# Mob: G_DEVIRUCHI
# Emotion: ET_SMILE
# - Index: 7
# Name: RG_INTIMIDATE
# Level: 5
# State: ATTACK
# CastRate: 1000
# CastTime: 0
# CastDelay: 3000
# CastCancel: true
# Target: TARGET
# Condition: ALWAYS
# - Index: 8
# Name: RG_STRIPARMOR
# Level: 5
# State: ATTACK
# CastRate: 2000
# CastTime: 0
# CastDelay: 3000
# CastCancel: true
# Target: TARGET
# Condition: ALWAYS
# - Index: 9
# Name: RG_STRIPHELM
# Level: 5
# State: ATTACK
# CastRate: 2000
# CastTime: 0
# CastDelay: 3000
# CastCancel: true
# Target: TARGET
# Condition: ALWAYS
# - Index: 10
# Name: RG_STRIPSHIELD
# Level: 5
# State: ATTACK
# CastRate: 2000
# CastTime: 0
# CastDelay: 3000
# CastCancel: true
# Target: TARGET
# Condition: ALWAYS
# - Index: 11
# Name: RG_STRIPWEAPON
# Level: 5
# State: ATTACK
# CastRate: 2000
# CastTime: 0
# CastDelay: 3000
# CastCancel: true
# Target: TARGET
# Condition: ALWAYS
# iRO Halloween Event 2009
# - Mob: HALLOWEEN_WHISPER
# Skills:
# - Index: 0
# Name: AS_CLOAKING
# Level: 1
# State: IDLE
# CastRate: 2000
# CastTime: 200
# CastDelay: 5000
# CastCancel: true
# Target: SELF
# Condition: ALWAYS
# - Index: 1
# Name: AS_CLOAKING
# Level: 1
# State: CHASE
# CastRate: 2000
# CastTime: 200
# CastDelay: 5000
# CastCancel: true
# Target: SELF
# Condition: ALWAYS
# - Index: 2
# Name: NPC_EMOTION
# Level: 1
# State: IDLE
# CastRate: 2000
# CastTime: 0
# CastDelay: 5000
# CastCancel: true
# Target: SELF
# Condition: ALWAYS
# - Index: 3
# Name: NPC_EMOTION
# Level: 1
# State: CHASE
# CastRate: 200
# CastTime: 0
# CastDelay: 5000
# CastCancel: true
# Target: SELF
# Condition: ALWAYS
# Ai: 01
# Emotion: ET_PROFUSELY_SWEAT

View File

@@ -30,6 +30,8 @@
# Bonus Refinement bonus. (Default: 0)
# RandomBonus Extra refinement bonus of 0~RandomBonus stacked on Bonus. (Default: 0)
# BlacksmithBlessingAmount Amount of Blacksmith Blessing required. (Default: 0)
# BroadcastSuccess Broadcast to the whole server when a refine attempt at this level succeeds. (Default: false)
# BroadcastFailure Broadcast to the whole server when a refine attempt at this level fails. (Default: false)
# Chances: Success chance based on cost type. (Default: null)
# - Type Refinement cost type based on ore used.
# Rate Chance of success out of 0~10000. (Default: 0)
@@ -41,7 +43,7 @@
Header:
Type: REFINE_DB
Version: 1
Version: 2
###########################################################################
# Event Refine Rates

View File

@@ -0,0 +1,34 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Reputation Database
###########################################################################
#
# Reputation Settings
#
###########################################################################
# - Id Client side index.
# Name Name of the reputation type.
# Variable Name of the variable that will store the reputation. (Default: RepPoints<id>)
# Minimum Minimum amount of points. (Default: INT64_MIN)
# Maximum Maximum amount of points. (Default: INT64_MAX)
###########################################################################
Header:
Type: REPUTATION_DB
Version: 1

View File

@@ -0,0 +1,33 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Reputation Group Database
###########################################################################
#
# Reputation Group Settings
#
###########################################################################
# - Id Client side group index.
# ScriptName Unused? Used for "ID" in client
# Name Visible name in window
# ReputeList List of Reputations
###########################################################################
Header:
Type: REPUTATION_GROUP_DB
Version: 1

View File

@@ -35,10 +35,11 @@
# MinRate Minimum rate after status change reduction (10000 = 100%). (Default: 0)
# MinDuration Minimum duration in milliseconds after status change reduction. (Default: 1)
# Fail: List of Status Changes that causes the status to fail to activate. (Optional)
# End: List of Status Changes that will end when the status activates. (Optional)
# EndOnStart: List of Status Changes that will end when the status activates. (Optional)
# EndReturn: List of Status Changes that will end when the status activates and won't give its effect. (Optional)
# EndOnEnd: List of Status Changes that will end when the status becomes inactive. (Optional)
###########################################################################
Header:
Type: STATUS_DB
Version: 2
Version: 3

37
db/item_cash.yml Normal file
View File

@@ -0,0 +1,37 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Item Cash Database
###########################################################################
#
# Item Cash Settings
#
###########################################################################
# - Tab Cash shop tab. Available tabs are New, Hot, Limited, Rental, Permanent, Scrolls, Consumables, Other, Sale.
# Items: List of possible items.
# - Item Item name.
# Price Item cost in cash points (#CASHPOINTS).
###########################################################################
Header:
Type: ITEM_CASH_DB
Version: 1
Footer:
Imports:
- Path: db/import/item_cash.yml

View File

@@ -44,6 +44,7 @@
# EquipLevelMin Minimum required level to equip. (Default: 0)
# EquipLevelMax Maximum level that can equip. (Default: 0)
# Refineable If the item can be refined. (Default: false)
# Gradable If the item can be graded. (Default: false)
# View View sprite of an item. (Default: 0)
# AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null)
# Flags: Item flags. (Default: null)
@@ -85,7 +86,7 @@
Header:
Type: ITEM_DB
Version: 2
Version: 3
Footer:
Imports:

78
db/item_enchant.yml Normal file
View File

@@ -0,0 +1,78 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Item Enchant Database
###########################################################################
#
# Item Enchant Settings
#
###########################################################################
# - Id Client side LUA index.
# TargetItems: List of possible target items.
# <item name> Item name of possible target item.
# MinimumRefine Minimum refine of the target item. (Default: 0)
# MinimumEnchantgrade Minimum enchant grade of the target item. (Default: 0)
# AllowRandomOptions Enable random options in the target item. (Default: true)
# Reset: Reset options. (Default: null)
# Chance Chance of successful reset. (Default: 0)
# Price Price for resetting enchants. (Default: 0)
# Materials: Items required for resetting enchants. (Default: null)
# - Material Item name of the required item.
# Amount Amount of the required item. (Default: 1)
# Order: Order in which the slots can be enchanted.
# Overwriting via import will clear the currently defined order.
# - Slot Number of the slot (0-3).
# Slots: Enchant options.
# - Slot Number of the slot (0-3).
# Price Price required for the normal enchant process. (Default: 0)
# Materials: Items required for the normal enchant process. (Default: null)
# - Material Item name of the required item.
# Amount Amount of the required item. (Default: 1)
# Chance Base chance for the normal enchant process. (Default: 100000)
# EnchantgradeBonus: Additional bonus chance increase per enchant grade. (Default: null)
# - Enchantgrade Enchant grade required for the bonus.
# Chance Additional chance that is added to the base chance.
# Enchants: Available enchants for the normal enchant process per enchant grade. (Default: null)
# - Enchantgrade Enchant grade of the item to be enchanted.
# Items: Available enchants for the normal enchant process on the given enchant grade. (Default: null)
# - Item Item name of the available enchant item.
# Chance Chance to get this specific enchant item.
# PerfectEnchants: Available perfect enchants (100% chance + selectable) for this slot. (Default: null)
# - Item Item name of the available enchant item.
# Price Price required for this perfect enchant. (Default: 0)
# Materials: Items required for this perfect enchant. (Default: null)
# - Material Item name of the required item.
# Amount Amount of the required item. (Default: 1)
# Upgrades: Available enchant upgrades for this slot. (Default: null)
# - Enchant Item name of the enchant item available for upgrade.
# Upgrade Item name of the enchant it can be upgrade to.
# Price Price required for this enchant upgrade. (Default: 0)
# Materials: Items required for this enchant upgrade (Default: null)
# - Material Item name of the required item.
# Amount Amount of the required item. (Default: 1)
###########################################################################
Header:
Type: ITEM_ENCHANT_DB
Version: 1
Footer:
Imports:
- Path: db/re/item_enchant.yml
Mode: Renewal
- Path: db/import/item_enchant.yml

45
db/item_packages.yml Normal file
View File

@@ -0,0 +1,45 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Item Package Database
###########################################################################
#
# Item Package Settings
#
###########################################################################
# - Item Item that triggers Item Package Selection.
# Groups: Groups that can be selected.
# - Group Group ID that can be selected (has to match the client's LUA file).
# Items: Items that will be given out.
# - Item Item that will be given out.
# Amount Amount of the item. (Default: 1)
# To remove an item via import set amount to 0.
# RentalHours Rental time in hours. (Default: 0)
# Refine Refine level of the item. (Default: 0)
# RandomOptionGroup Name of the random option group that will be applied. (Default: none)
###########################################################################
Header:
Type: ITEM_PACKAGE_DB
Version: 1
Footer:
Imports:
- Path: db/re/item_packages.yml
Mode: Renewal
- Path: db/import/item_packages.yml

50
db/item_reform.yml Normal file
View File

@@ -0,0 +1,50 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Item Reform Database
###########################################################################
#
# Item Reform Settings
#
###########################################################################
# - Item Item that triggers Item Reform UI.
# BaseItems: Items that can be reformed.
# - BaseItem Item that can be reformed.
# MinimumRefine Minimum refine level of the required items. (Default: 0)
# MaximumRefine Maximum refine level of the required items. (Default: MAX_REFINE)
# RequiredRandomOptions Amount of random options have to be in the item. (Default: 0)
# CardsAllowed Allow cards in the target item. (Default: true)
# Materials: Additional items needed for the reformation. (Default: none)
# - Material Material item that is needed.
# Amount Amount of the material item that is needed. (Default: 1)
# ResultItem Item after the reform.
# ChangeRefine Increase or decrease the refine during reformation. (Default: 0)
# RandomOptionGroup Name of the random option group that will be applied. (Default: none)
# ClearSlots Remove cards and socket enchants during reformation. (Default: false)
# RemoveEnchantgrade Remove enchantgrade during reformation. (Default: false)
###########################################################################
Header:
Type: ITEM_REFORM_DB
Version: 1
Footer:
Imports:
- Path: db/re/item_reform.yml
Mode: Renewal
- Path: db/import/item_reform.yml

Binary file not shown.

50
db/map_drops.yml Normal file
View File

@@ -0,0 +1,50 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Map Drop Database
###########################################################################
#
# Map Drop Settings
#
###########################################################################
# - Map Name of the map.
# GlobalDrops Drops for all monsters on this map. (Default: empty)
# These drops are unaffected by server drop rate and cannot be stolen.
# - Index Unique index of the drop.
# Item Item name.
# Rate Drop rate of item, n/100000.
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
# SpecificDrops Drops for specific monsters on this map. (Default: empty)
# - Monster Monster name.
# Drops Drops for this specific monster. (Default: empty)
# These drops are unaffected by server drop rate and cannot be stolen.
# - Index Unique index of the drop.
# Item Item name.
# Rate Drop rate of item, n/100000.
# RandomOptionGroup Random Option Group applied to item on drop. (Default: None)
###########################################################################
Header:
Type: MAP_DROP_DB
Version: 2
Footer:
Imports:
- Path: db/re/map_drops.yml
Mode: Renewal
- Path: db/import/map_drops.yml

View File

@@ -1161,7 +1161,75 @@ air_if
1@jorchs
1@jorlab
1@whl
1@exhn
1@exds
2@exds
1@exse
1@exnw
1@exsr
1@exsh
bl_grass
bl_lava
bl_ice
bl_death
clock_01
rag_fes
rag_fes_a
memohall
1@dime
prt_elib
1@vrcas
1@vrev
1@vrgen
1@vrpo
1@pdb
airplane2
vr_bob
hero_dun1
hero_ent1
hero_ent2
hero_ent3
hero_in1
hero_in2
hero_in3
hero_in4
hero_lb
hero_out1
hero_out2
hero_out3
hero_out4
hero_tra
herosria
1@vrac1
1@vrac2
1@vrclo
1@vrhha
2@vrclo
bl_soul
bl_temple
bl_venom
mjo_wst01
ra_pol01
1@20cn1
1@20cn2
1@slug
1@twas
1@twbs
1@twig
1@twsd
icas_in2
jor_back4
jor_back5
jor_back6
jor_maze
jor_root1
jor_root2
jor_root3
jor_safty1
jor_safty2
jor_sanct
jor_twice
jor_twig
//======================================================================================
// - Other/Extra maps -

View File

@@ -126,6 +126,26 @@ Body:
Dialog: This is the truth! Hahahahah!
- Id: 58 # !todo Unknown dialogue
Dialog: Attack!
- Id: 60
Dialog: Go !! Ultra Critical Bash EX !!
- Id: 61
Dialog: Come on!! Hell's Fireball !!
- Id: 62
Dialog: Kneel before me!! The vast power of capitalism !!
- Id: 63
Dialog: You can't run from me!! Double Strafe, pierce through my enemies !!
- Id: 64
Dialog: I'm gonna make you sick!!! Ultimate generational Envenom !!
- Id: 65
Dialog: I'll roll over you!! Ultimate Decrease Agility GX !!
- Id: 67
Dialog: Dark cast that narrows the field of vision! It can only be removed with a green potion!
- Id: 68
Dialog: A poison that continuously lowers HP for a certain period of time! But it is not released with a green herb!
- Id: 69
Dialog: Let's start with recovery!
- Id: 70
Dialog: Silence that cannot use skills! You can only escape by eating green potions!
Footer:
Imports:

View File

@@ -1,59 +0,0 @@
# This file is a part of rAthena.
# Copyright(C) 2022 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Monster Skill Database
###########################################################################
#
# Monster Skill Settings
#
###########################################################################
# - Mob Monster AegisName.
# Skills: List of Skills casted by the monster.
# - Index Unique Index in the list to edit the skill on import.
# Name Skill AegisName.
# Level Skill Level.
# State State of the monster to cast the skill. (Default: ATTACK)
# CastRate Rate to cast the skill (from 1-10000). (Default: 10000)
# CastTime Time in millisecond to cast the skill. (Default: 0)
# CastDelay Delay in millisecond to recast the skill. (Default: 5000)
# CastCancel Whether the skill is cancelable or not. (Default: true)
# Target Target of the skill. (Default: TARGET)
# Condition Type of condition. (Default: ALWAYS)
# ConditionValue1 Value given at certain conditions.
# ConditionValue2 Value given at certain conditions.
# Ai Change the monster mode using the given Aegis monster type AI. (Default: 00)
# Summon: List of monsters to summon, required for certain skills. (Default: null)
# - Index Unique Index in the list to edit the monster on import. Range of 0-5.
# Mob Monster AegisName.
# Clear True to remove the given monster at this index. (Optional)
# Emotion Emotion displayed on the monster after the cast. (Default: ET_NONE)
# Chat Chat ID to display the associated sentence defined in mob_chat_db.yml. (Default: 0)
# Clear True to remove the skill. (Optional)
###########################################################################
Header:
Type: MOB_SKILL_DB
Version: 1
Footer:
Imports:
- Path: db/pre-re/mob_skill_db.yml
Mode: Prerenewal
- Path: db/re/mob_skill_db.yml
Mode: Renewal
- Path: db/import/mob_skill_db.yml

View File

@@ -26,8 +26,242 @@
# Map Map name to be considered as the castle map.
# Name Name of the castle (used by scripts and guardian name tags).
# Npc NPC unique name to invoke ::OnGuildBreak on, when a occupied castle is abandoned during guild break.
# Type The WoE type this castle belongs to. (Default: First_Edition)
# ClientId Client side ID of the castle. (Default: 0)
# WarpEnabled If the warp to the castle is enabled. (Default: false)
# WarpX X coordinate to warp to. (Default: 0)
# WarpY Y coordinate to warp to. (Default: 0)
# WarpCost Zeny cost to use the warp. (Default: 100)
# WarpCostSiege Zeny cost to use the warp during WoE. (Default: 100000)
###########################################################################
Header:
Type: CASTLE_DB
Version: 1
Version: 2
Body:
# WOE FE castle
- Id: 0
Map: aldeg_cas01
Name: Neuschwanstein
#Name: Noisyubantian
Npc: Agit#aldeg_cas01
Type: First_Edition
ClientId: 6
- Id: 1
Map: aldeg_cas02
Name: Hohenschwangau
#Name: Hohensyubangawoo
Npc: Agit#aldeg_cas02
Type: First_Edition
ClientId: 7
- Id: 2
Map: aldeg_cas03
Name: Nuernberg
#Name: Nyirenverk
Npc: Agit#aldeg_cas03
Type: First_Edition
ClientId: 8
- Id: 3
Map: aldeg_cas04
Name: Wuerzburg
#Name: Byirtsburi
Npc: Agit#aldeg_cas04
Type: First_Edition
ClientId: 9
- Id: 4
Map: aldeg_cas05
Name: Rothenburg
#Name: Rotenburk
Npc: Agit#aldeg_cas05
Type: First_Edition
ClientId: 10
- Id: 5
Map: gefg_cas01
Name: Repherion
#Name: Reprion
Npc: Agit#gefg_cas01
Type: First_Edition
ClientId: 11
- Id: 6
Map: gefg_cas02
Name: Eeyolbriggar
#Name: Yolbriger
Npc: Agit#gefg_cas02
Type: First_Edition
ClientId: 12
- Id: 7
Map: gefg_cas03
Name: Yesnelph
#Name: Isinlife
Npc: Agit#gefg_cas03
Type: First_Edition
ClientId: 13
- Id: 8
Map: gefg_cas04
Name: Bergel
#Name: Berigel
Npc: Agit#gefg_cas04
Type: First_Edition
ClientId: 14
- Id: 9
Map: gefg_cas05
Name: Mersetzdeitz
#Name: Melsedetsu
Npc: Agit#gefg_cas05
Type: First_Edition
ClientId: 15
- Id: 10
Map: payg_cas01
Name: Bright Arbor
#Name: Mingting
Npc: Agit#payg_cas01
Type: First_Edition
ClientId: 16
- Id: 11
Map: payg_cas02
Name: Scarlet Palace
#Name: Tiantan
Npc: Agit#payg_cas02
Type: First_Edition
ClientId: 17
- Id: 12
Map: payg_cas03
Name: Holy Shadow
#Name: Fuying
Npc: Agit#payg_cas03
Type: First_Edition
ClientId: 18
- Id: 13
Map: payg_cas04
Name: Sacred Altar
#Name: Honglou
Npc: Agit#payg_cas04
Type: First_Edition
ClientId: 19
- Id: 14
Map: payg_cas05
Name: Bamboo Grove Hill
#Name: Zhulinxian
Npc: Agit#payg_cas05
Type: First_Edition
ClientId: 20
- Id: 15
Map: prtg_cas01
Name: Kriemhild
#Name: Creamhilt
Npc: Agit#prtg_cas01
Type: First_Edition
ClientId: 1
- Id: 16
Map: prtg_cas02
Name: Swanhild
#Name: Sbanhealt
Npc: Agit#prtg_cas02
Type: First_Edition
ClientId: 2
- Id: 17
Map: prtg_cas03
Name: Fadhgridh
#Name: Lazrigees
Npc: Agit#prtg_cas03
Type: First_Edition
ClientId: 3
- Id: 18
Map: prtg_cas04
Name: Skoegul
#Name: Squagul
Npc: Agit#prtg_cas04
Type: First_Edition
ClientId: 4
- Id: 19
Map: prtg_cas05
Name: Gondul
#Name: Guindull
Npc: Agit#prtg_cas05
Type: First_Edition
ClientId: 5
# WOE NGuild castle
- Id: 20
Map: nguild_alde
Name: Earth
Npc: Agit_N01
Type: First_Edition
- Id: 21
Map: nguild_gef
Name: Air
Npc: Agit_N02
Type: First_Edition
- Id: 22
Map: nguild_pay
Name: Water
Npc: Agit_N03
Type: First_Edition
- Id: 23
Map: nguild_prt
Name: Fire
Npc: Agit_N04
Type: First_Edition
# WOE SE castle
- Id: 24
Map: schg_cas01
Name: Himinn
Npc: Manager#schg_cas01
Type: Second_Edition
ClientId: 26
- Id: 25
Map: schg_cas02
Name: Andlangr
Npc: Manager#schg_cas02
Type: Second_Edition
ClientId: 27
- Id: 26
Map: schg_cas03
Name: Viblainn
Npc: Manager#schg_cas03
Type: Second_Edition
ClientId: 28
- Id: 27
Map: schg_cas04
Name: Hljod
Npc: Manager#schg_cas04
Type: Second_Edition
ClientId: 29
- Id: 28
Map: schg_cas05
Name: Skidbladnir
Npc: Manager#schg_cas05
Type: Second_Edition
ClientId: 30
- Id: 29
Map: arug_cas01
Name: Mardol
Npc: Manager#arug_cas01
Type: Second_Edition
ClientId: 21
- Id: 30
Map: arug_cas02
Name: Cyr
Npc: Manager#arug_cas02
Type: Second_Edition
ClientId: 22
- Id: 31
Map: arug_cas03
Name: Horn
Npc: Manager#arug_cas03
Type: Second_Edition
ClientId: 23
- Id: 32
Map: arug_cas04
Name: Gefn
Npc: Manager#arug_cas04
Type: Second_Edition
ClientId: 24
- Id: 33
Map: arug_cas05
Name: Bandis
Npc: Manager#arug_cas05
Type: Second_Edition
ClientId: 25

View File

@@ -1,33 +0,0 @@
// Homunculus Database
//
// Structure of Database:
// Class,EvoClass,Name,FoodID,HungryDelay,BaseSize,EvoSize,Race,Element,bASPD,bHP,bSP,bSTR,bAGI,bVIT,bINT,bDEX,bLUK,gnHP,gxHP,gnSP,gxSP,gnSTR,gxSTR,gnAGI,gxAGI,gnVIT,gxVIT,gnINT,gxINT,gnDEX,gxDEX,gnLUK,gxLUK,enHP,exHP,enSP,exSP,enSTR,exSTR,enAGI,exAGI,enVIT,exVIT,enINT,exINT,enDEX,exDEX,enLUK,exLUK
//
// 01. Class Homunculus ID.
// 02. EvoClass Homunculus ID of the evolved version.
// 03. Name Name of the homunculus.
// 04. FoodID Item ID of the homunuclus food.
// 05. HungryDelay Time interval in milliseconds after which the homunculus' hunger value is altered.
// 06. BaseSize Size of the base homunculus class (0 = small, 1 = normal, 2 = large).
// 07. EvoSize Size of the evolved homunculus class (0 = small, 1 = normal, 2 = large).
// 08. Race Race of the homunculus (0 = formless, 1 = undead, 2 = brute, 3 = plant, 4 = insect, 5 = fish, 6 = demon, 7 = demi-human, 8 = angel, 9 = dragon).
// 09. Element Element of the homunculus (0 = neutral, 1 = water, 2 = earth, 3 = fire, 4 = wind, 5 = poison, 6 = holy, 7 = dark, 8 = ghost, 9 = undead).
// The element level is always 1.
// ...
//
// Legend: b: base, gn: growth min, gx: growth max, en: evolution min, ex: evolution max
// NOTE: Only the growth values are in a 1/10 scale, the other stats are 1/1 (eg: 5 gmAGI means 0.5 agi)
6001,6009,Lif,537,60000,0,1,7,0,700,150,40,17,20,15,35,24,12,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,1,10,10,20,1,5,1,4,1,5,4,10,1,10,1,3
6002,6010,Amistr,912,60000,0,1,2,0,700,320,10,20,17,35,11,24,12,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,10,20,1,10,1,10,1,5,4,10,1,3,1,4,1,5
6003,6011,Filir,910,60000,0,1,2,0,700,90,25,29,35,9,8,30,9,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,5,15,5,15,4,10,1,10,1,3,1,4,1,5,1,5
6004,6012,Vanilmirth,911,60000,0,1,0,0,700,80,11,11,11,11,11,11,11,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,10,1,10,1,10,1,10,1,10,1,10
6005,6013,Lif,537,60000,0,1,7,0,700,150,40,17,20,15,35,24,12,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,1,10,10,20,1,5,1,4,1,5,4,10,1,10,1,3
6006,6014,Amistr,912,60000,0,1,2,0,700,320,10,20,17,35,11,24,12,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,10,20,1,10,1,10,1,5,4,10,1,3,1,4,1,5
6007,6015,Filir,910,60000,0,1,2,0,700,90,25,29,35,9,8,30,9,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,5,15,5,15,4,10,1,10,1,3,1,4,1,5,1,5
6008,6016,Vanilmirth,911,60000,0,1,0,0,700,80,11,11,11,11,11,11,11,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,10,1,10,1,10,1,10,1,10,1,10
6048,6048,Eira,6098,60000,1,1,7,0,700,150,40,17,20,15,35,24,12,60,100,4,9,5,19,5,19,5,19,4,20,6,20,6,20,1,10,10,20,1,5,1,4,1,5,4,10,1,10,1,3
6049,6049,Bayeri,6112,60000,1,1,2,0,700,320,10,20,17,35,11,24,12,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,10,20,1,10,1,10,1,5,4,10,1,3,1,4,1,5
6050,6050,Sera,6108,60000,1,1,4,0,700,90,25,29,35,9,8,30,9,45,75,3,6,4,20,8,20,1,10,3,19,4,20,3,19,5,15,5,15,4,10,1,10,1,3,1,4,1,5,1,5
6051,6051,Dieter,6104,60000,1,1,0,0,700,80,11,11,11,11,11,11,11,30,150,0,7,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,10,1,10,1,10,1,10,1,10,1,10
6052,6052,Eleanor,6115,60000,1,1,2,0,700,320,10,20,17,35,11,24,12,80,130,1,4,8,20,4,20,4,20,1,10,3,19,3,19,10,20,1,10,1,10,1,5,4,10,1,3,1,4,1,5

623
db/pre-re/homunculus_db.yml Normal file
View File

@@ -0,0 +1,623 @@
# This file is a part of rAthena.
# Copyright(C) 2023 rAthena Development Team
# https://rathena.org - https://github.com/rathena
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###########################################################################
# Homunculus Database
###########################################################################
#
# Homunculus Settings
#
###########################################################################
# - BaseClass Base class.
# Name Name of homunculus.
# EvolutionClass Evolution class.
# Food Homunculus food item. (Default: Pet_Food)
# HungryDelay Time interval in milliseconds after which the hunger value is altered. (Default: 60000)
# Race Race. (Default: Demihuman)
# Element Element. (Default: Neutral)
# Size Size. (Default: Small)
# EvolutionSize Evolution size. (Default: Medium)
# AttackDelay Base ASPD. (Default: 700)
# Status: Homunculus stats.
# - Type Type of status.
# Base Base value of this status. (Default: 1)
# GrowthMinimum Minimum growth of this status. (Default: 0)
# GrowthMaximum Maximum growth of this status. (Default: 0)
# EvolutionMinimum Minimum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# EvolutionMaximum Maximum evolution growth of this status. Only applies for homunculus that can evolve. (Default: 0)
# SkillTree: Skill tree.
# - Skill Skill name.
# Clear True to remove the given skill name. (Optional)
# MaxLevel Maximum level of skill.
# RequiredLevel Required base level of homunculus to learn. (Default: 0)
# RequiredIntimacy Required intimacy of homunculus to learn. (Default: 0)
# RequireEvolution Require the homunculus to be evolved to be available. (Default: false)
# Required: Prerequisite skills. (Default: null)
# - Skill Prerequisite skill name.
# Level Level of prerequisite skill.
# Clear True to remove the given prerequisite skill name. (Optional)
###########################################################################
Header:
Type: HOMUNCULUS_DB
Version: 1
Body:
- Class: Lif
Name: Lif
EvolutionClass: Lif_H
Status:
- Type: Hp
Base: 150
GrowthMinimum: 60
GrowthMaximum: 100
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Sp
Base: 40
GrowthMinimum: 4
GrowthMaximum: 9
EvolutionMinimum: 10
EvolutionMaximum: 20
- Type: Str
Base: 17
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Agi
Base: 20
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Vit
Base: 15
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Int
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Dex
Base: 24
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Luk
Base: 12
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 3
SkillTree:
- Skill: HLIF_HEAL
MaxLevel: 5
- Skill: HLIF_AVOID
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 3
- Skill: HLIF_BRAIN
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 5
- Skill: HLIF_CHANGE
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Amistr
Name: Amistr
EvolutionClass: Amistr_H
Food: Zargon
Race: Brute
Status:
- Type: Hp
Base: 320
GrowthMinimum: 80
GrowthMaximum: 130
EvolutionMinimum: 10
EvolutionMaximum: 20
- Type: Sp
Base: 10
GrowthMinimum: 1
GrowthMaximum: 4
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Str
Base: 20
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Agi
Base: 17
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Vit
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 1
EvolutionMaximum: 3
- Type: Dex
Base: 24
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Luk
Base: 12
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
SkillTree:
- Skill: HAMI_CASTLE
MaxLevel: 5
- Skill: HAMI_DEFENCE
MaxLevel: 5
Required:
- Skill: HAMI_CASTLE
Level: 5
- Skill: HAMI_SKIN
MaxLevel: 5
Required:
- Skill: HAMI_DEFENCE
Level: 3
- Skill: HAMI_BLOODLUST
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Filir
Name: Filir
EvolutionClass: Filir_H
Food: Garlet
Race: Brute
Status:
- Type: Hp
Base: 90
GrowthMinimum: 45
GrowthMaximum: 75
EvolutionMinimum: 5
EvolutionMaximum: 15
- Type: Sp
Base: 25
GrowthMinimum: 3
GrowthMaximum: 6
EvolutionMinimum: 5
EvolutionMaximum: 15
- Type: Str
Base: 29
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Agi
Base: 35
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Vit
Base: 9
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 1
EvolutionMaximum: 3
- Type: Int
Base: 8
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Dex
Base: 30
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Luk
Base: 9
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
SkillTree:
- Skill: HFLI_MOON
MaxLevel: 5
- Skill: HFLI_FLEET
MaxLevel: 5
Required:
- Skill: HFLI_MOON
Level: 3
- Skill: HFLI_SPEED
MaxLevel: 5
Required:
- Skill: HFLI_FLEET
Level: 3
- Skill: HFLI_SBR44
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Vanilmirth
Name: Vanilmirth
EvolutionClass: Vanilmirth_H
Food: Scell
Race: Formless
Status:
- Type: Hp
Base: 80
GrowthMinimum: 30
GrowthMaximum: 150
EvolutionMinimum: 1
EvolutionMaximum: 30
- Type: Sp
Base: 11
GrowthMinimum: 0
GrowthMaximum: 7
EvolutionMinimum: 1
EvolutionMaximum: 30
- Type: Str
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Agi
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Vit
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Dex
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Luk
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
SkillTree:
- Skill: HVAN_CAPRICE
MaxLevel: 5
- Skill: HVAN_CHAOTIC
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 3
- Skill: HVAN_INSTRUCT
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 5
- Skill: HVAN_EXPLOSION
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Lif2
Name: Lif
EvolutionClass: Lif_H2
Status:
- Type: Hp
Base: 150
GrowthMinimum: 60
GrowthMaximum: 100
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Sp
Base: 40
GrowthMinimum: 4
GrowthMaximum: 9
EvolutionMinimum: 10
EvolutionMaximum: 20
- Type: Str
Base: 17
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Agi
Base: 20
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Vit
Base: 15
GrowthMinimum: 5
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Int
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Dex
Base: 24
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Luk
Base: 12
GrowthMinimum: 6
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 3
SkillTree:
- Skill: HLIF_HEAL
MaxLevel: 5
- Skill: HLIF_AVOID
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 3
- Skill: HLIF_BRAIN
MaxLevel: 5
Required:
- Skill: HLIF_HEAL
Level: 5
- Skill: HLIF_CHANGE
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Amistr2
Name: Amistr
EvolutionClass: Amistr_H2
Food: Zargon
Race: Brute
Status:
- Type: Hp
Base: 320
GrowthMinimum: 80
GrowthMaximum: 130
EvolutionMinimum: 10
EvolutionMaximum: 20
- Type: Sp
Base: 10
GrowthMinimum: 1
GrowthMaximum: 4
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Str
Base: 20
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Agi
Base: 17
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Vit
Base: 35
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 1
EvolutionMaximum: 3
- Type: Dex
Base: 24
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Luk
Base: 12
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
SkillTree:
- Skill: HAMI_CASTLE
MaxLevel: 5
- Skill: HAMI_DEFENCE
MaxLevel: 5
Required:
- Skill: HAMI_CASTLE
Level: 5
- Skill: HAMI_SKIN
MaxLevel: 5
Required:
- Skill: HAMI_DEFENCE
Level: 3
- Skill: HAMI_BLOODLUST
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Filir2
Name: Filir
EvolutionClass: Filir_H2
Food: Garlet
Race: Brute
Status:
- Type: Hp
Base: 90
GrowthMinimum: 45
GrowthMaximum: 75
EvolutionMinimum: 5
EvolutionMaximum: 15
- Type: Sp
Base: 25
GrowthMinimum: 3
GrowthMaximum: 6
EvolutionMinimum: 5
EvolutionMaximum: 15
- Type: Str
Base: 29
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 4
EvolutionMaximum: 10
- Type: Agi
Base: 35
GrowthMinimum: 8
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Vit
Base: 9
GrowthMinimum: 1
GrowthMaximum: 10
EvolutionMinimum: 1
EvolutionMaximum: 3
- Type: Int
Base: 8
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 4
- Type: Dex
Base: 30
GrowthMinimum: 4
GrowthMaximum: 20
EvolutionMinimum: 1
EvolutionMaximum: 5
- Type: Luk
Base: 9
GrowthMinimum: 3
GrowthMaximum: 19
EvolutionMinimum: 1
EvolutionMaximum: 5
SkillTree:
- Skill: HFLI_MOON
MaxLevel: 5
- Skill: HFLI_FLEET
MaxLevel: 5
Required:
- Skill: HFLI_MOON
Level: 3
- Skill: HFLI_SPEED
MaxLevel: 5
Required:
- Skill: HFLI_FLEET
Level: 3
- Skill: HFLI_SBR44
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true
- Class: Vanilmirth2
Name: Vanilmirth
EvolutionClass: Vanilmirth_H2
Food: Scell
Race: Formless
Status:
- Type: Hp
Base: 80
GrowthMinimum: 30
GrowthMaximum: 150
EvolutionMinimum: 1
EvolutionMaximum: 30
- Type: Sp
Base: 11
GrowthMinimum: 0
GrowthMaximum: 7
EvolutionMinimum: 1
EvolutionMaximum: 30
- Type: Str
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Agi
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Vit
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Int
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Dex
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
- Type: Luk
Base: 11
GrowthMinimum: 1
GrowthMaximum: 30
EvolutionMinimum: 1
EvolutionMaximum: 10
SkillTree:
- Skill: HVAN_CAPRICE
MaxLevel: 5
- Skill: HVAN_CHAOTIC
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 3
- Skill: HVAN_INSTRUCT
MaxLevel: 5
Required:
- Skill: HVAN_CAPRICE
Level: 5
- Skill: HVAN_EXPLOSION
MaxLevel: 3
RequiredIntimacy: 910
RequireEvolution: true

View File

@@ -67,7 +67,7 @@ Body:
- Id: 3
Name: Orc's Memory
Enter:
Map: 1@orcs
Map: 1@orcs
X: 179
Y: 15
AdditionalMaps:

View File

@@ -1,19 +0,0 @@
// Cash Shop Database
// Contains the items sold in the ingame cash shop.
//
// Structure of Database:
// Type,ItemID,Price
//
// Type:
// 0: New
// 1: Hot
// 2: Limited
// 3: Rental
// 4: Gear
// 5: Buff
// 6: Heal
// 7: Other
// 8: Sale
//
// Price:
// Item cost, in cash points (#CASHPOINTS).

View File

@@ -44,6 +44,7 @@
# EquipLevelMin Minimum required level to equip. (Default: 0)
# EquipLevelMax Maximum level that can equip. (Default: 0)
# Refineable If the item can be refined. (Default: false)
# Gradable If the item can be graded. (Default: false)
# View View sprite of an item. (Default: 0)
# AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null)
# Flags: Item flags. (Default: null)
@@ -85,7 +86,7 @@
Header:
Type: ITEM_DB
Version: 2
Version: 3
Footer:
Imports:

View File

@@ -44,6 +44,7 @@
# EquipLevelMin Minimum required level to equip. (Default: 0)
# EquipLevelMax Maximum level that can equip. (Default: 0)
# Refineable If the item can be refined. (Default: false)
# Gradable If the item can be graded. (Default: false)
# View View sprite of an item. (Default: 0)
# AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null)
# Flags: Item flags. (Default: null)
@@ -85,7 +86,7 @@
Header:
Type: ITEM_DB
Version: 2
Version: 3
Body:
- Id: 1101

View File

@@ -44,6 +44,7 @@
# EquipLevelMin Minimum required level to equip. (Default: 0)
# EquipLevelMax Maximum level that can equip. (Default: 0)
# Refineable If the item can be refined. (Default: false)
# Gradable If the item can be graded. (Default: false)
# View View sprite of an item. (Default: 0)
# AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null)
# Flags: Item flags. (Default: null)
@@ -85,7 +86,7 @@
Header:
Type: ITEM_DB
Version: 2
Version: 3
Body:
- Id: 670

View File

@@ -44,6 +44,7 @@
# EquipLevelMin Minimum required level to equip. (Default: 0)
# EquipLevelMax Maximum level that can equip. (Default: 0)
# Refineable If the item can be refined. (Default: false)
# Gradable If the item can be graded. (Default: false)
# View View sprite of an item. (Default: 0)
# AliasName Another item's AegisName that will be sent to the client instead of this item's AegisName. (Default: null)
# Flags: Item flags. (Default: null)
@@ -85,7 +86,7 @@
Header:
Type: ITEM_DB
Version: 2
Version: 3
Body:
- Id: 501

Some files were not shown because too many files have changed in this diff Show More