96 Commits

Author SHA1 Message Date
Aleos
5aa9f75343
Cleaned up remaining TODO for Achievements (#4446)
* Converts labels to camelCase.
* Converts labels to plural where needed.
* Converts Target MobID to use the Sprite name.
* Converts Rewards ItemID to use the Aegis name.
* Dependents now checks for duplicate IDs.
* Dependents now properly supports import methods.
* Added YAMLUpgrade tool to convert previous YAML databases to new format.
* Removes the unique index value for Dependent Achievement ID.
* Adds support for the AG_CHATTING achievement types triggered by script (achievementupdate script command).
* AG_CHATTING map type achievements are still disabled as behavior is unknown.
* AG_HEAR and AG_SEE are now dropped and those achievements have been converted to AG_CHATTING.
* Converts the group constants to how Aegis names them.
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2021-02-17 18:01:11 -05:00
lighta
712bca76da
Add default for CMake build type (#5586)
Add valgrind to dockerfile
2020-12-17 12:38:19 +01:00
lighta
629c7b50f3
Latiosu feat/docker (#5572)
* Add dockerised local development environment

* Enable tini (--init) for server container

See https://docs.docker.com/compose/compose-file/#init for details

* Add local development environment documentation

* Add a tip for how-to connect a client on the same machine

* Add specialized tools/docker folder

Co-authored-by: Eric <latiosworks@gmail.com>
2020-11-26 19:58:09 +01:00
Aleos
ad3f48f9de
Cleans up the item SQL parsing (#5478)
Fixes a couple issues with the column checking.
Adds verification to table columns to make sure table format is correct.
Cleans up the node processing.
Adds a loading progress status.
Adjusts the SQL import files to not destroy previously imported data.
Updated README.md to reflect the changes for SQL importing.

Fixes #5485
Fixes #5477

Thanks to @Lemongrass3110!

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2020-10-26 00:16:15 +01:00
Aleos
04cfe17b2b
Converted item database to YAML (#4335)
* Combines item_avail, item_buyingstore, item_delay, item_flag, item_nouse, item_stack, and item_trade databases into one.
* General cleanups and optimizations.
* Includes CSV2YAML conversion tool.
* Includes YAML2SQL conversion tool.
* Adjusts dummy_item from being created by malloc and now creates it by make_shared.
* Item combos are now stored as a STL.
Thanks to @Lemongrass3110, @Atemo, and @cydh!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2020-10-21 19:02:11 -04:00
Lemongrass3110
9efe3bb534 Fixed perl txt to sql converter
Follow up to 3776bfb
2020-08-08 12:19:16 +02:00
Lemongrass3110
8efd61f9b2
Deprecates support for old compilers (#5051)
Fixes #4646

Switches AppVeyor build worker image to Visual Studio 2015.
Fixed a bug with serv.bat, since crashes would result in a negative number sometimes, the crash would not be detected and would not be reported.

Thanks to @aleos89
2020-06-05 20:04:02 +02:00
Aleos
2931c00bd4
Implemented the Battleground Queue System (#3995)
* Fixes #1310.
* Added a battle config which allows toggling of the Battleground Queue client feature and also toggles between the modes of scripts.
* Added script commands bg_reserve, bg_unbook, and bg_desert.
* Removed old custom Battleground scripts.
Thanks to @Lemongrass3110, @Locien, @secretdataz, @InusualZ, @Normynator, @Atemo, @iubantot, @admkakaroto, and @noobzter003!
2020-02-12 08:26:59 -05:00
CairoLee
76698145e3 Make appveyor use the tools/ci/sql.bat batch script 2019-08-15 13:44:05 +07:00
Lemongrass3110
c2899d754f
Added the skeleton for the yaml converter (#3991)
Updated travis to build tools as well.

Thanks to @aleos89 for this help.
2019-03-01 00:41:20 +01:00
Aleos
c5a5c54518
Converted remaining C comments (#3927)
* Converted remaining documentation that references .c or .h files.
2019-02-09 15:08:45 -05:00
Cydh Ramdh
62ac5be447
Update tools/config.pl (#3322)
* Corrected target config variables
2018-07-26 05:52:58 +07:00
Lemongrass3110
2f358d8f5a
Updated CI tool configurations (#2852)
Fixed permissions for the created MySQL user.
Switched travis to a matrix form.
2018-02-02 15:57:45 +01:00
aleos89
34a905df65 Corrected the Windows runserver script
* Fixes #2679.
* Follow up to 53db435.
* Changed the start label to a non-standard name.
Thanks to @gusjungsza.
2017-12-05 12:21:36 -05:00
aleos89
0fa57e2bbe Follow up to 53db435
* Corrected some typos.
Thanks to @keitenai!
2017-12-04 14:20:13 -05:00
lighta
53db4358b7 Add few test to travis and appveyor. (#2641)
* Add few test to travis and appveyor.
* Update runserver.bat to be more alike athena-start. (nb terminating cmd.bat would be better)
2017-12-01 13:46:09 -05:00
Lemongrass3110
b3cfd12228 Added the custom and test scripts to the buildbot (#2658)
* Added the custom and test scripts to the buildbot

All scripts inside the custom and test npc directory are now parsed and executed automatically by the buildbot.
The only exceptions are the custom battleground scripts that would cause duplication warnings.

Thanks to @Jeybla for the Unix script!
2017-12-01 12:50:34 -05:00
lighta
618b9356fc
Fix #2591 spinlock issue. (#2637)
* Fix #2591 spinlock issue.
Add basic_test, for few integration test.
Add thread_local_storage support in cmake
Fix thread.c for linux and fix small typo
2017-11-26 22:30:17 -04:00
lighta
03da2f6854 Fix tools/config.pl
Add current path to @inc
Add more support for public_ip / private_ip.
Add pincode support
2017-11-22 07:29:05 -05:00
Jey
34817c9715 Adds auto parse of consts in convert_emotions.
* Thanks to @lighta for the suggestion
2017-11-18 21:02:11 +01:00
Jey
4f62f68e0f Extends convert_emotions script
* Replaces magic numbers
* Replaces unitemote
* Replaces emotion e,0,name; with emotion e, getnpcid(0, name);
* Replaces emotion e,1; with emotion e,playerattached();
2017-11-18 19:03:17 +01:00
Jey
c5ceda03f5 Shebang of conv_emotion to be platform independent 2017-11-17 10:34:38 +01:00
Jeybla
576d48865d
Adds Emotion Conversion Script (#2600)
* Simple scripts which replaces the old emotion script constants to new constants
* Follow up to ea88ea50546fd140bda875056f83a60b6b0bef96
2017-11-13 16:39:14 +01:00
Lemongrass3110
448e5e893f Moved the bat scripts into the tools folder
Added post build copies and post cleanup deletions for the required bat scripts for each project
2017-04-26 02:58:39 +02:00
Akkarinage
08e862c0e0 Removed Doxygen related files, since we no longer use it.
Signed-off-by: Akkarinage <akkarin@rathena.org>
2017-03-07 21:29:14 +00:00
Lemongrass3110
5892e5ee68 Updated the sql conversion script 2016-06-15 20:00:27 +02:00
aleos89
79ba46c9a0 Fixed Champion Monster modes (fixes #1226)
* The monster modes were stored in decimal format so the converter created invalid hexadecimal modes.
* Resolved a few issues with the Monster Converter tool.
-- Fixed some run time errors.
-- Added support to check for decimal format when converting.
2016-05-03 10:48:51 -04:00
aleos89
55e4df14c2 Overhaul of the mob mode system
* This rewrite allows for better adaptation from the Aegis Class and Attribute fields.
* Refactored the renewal level penalty function.
* Slaves are now properly assigned an official slave mode of CanWalk, CanAttack, and NoRandomWalk.
* Removed extra Boss checks and adjusted others to use their proper functions.
* Properly implemented Skill Immunity mode to match Aegis.
* Separated MVP and Boss modes.
-- MVP mode defines when mobs should give MEXP, MVP Drops, and show the MVP sign.
-- MVP now have their own item drop configurations.
* Updated the mob_db and mob_skill_db to match the new mode structure.
-- Included a Perl tool (tools/convert_monstermode.pl) to allow people to convert their custom mobs to the new mode structure.
Thanks to @Playtester and @Lemongrass3110 for help with debugging and information!
2016-04-18 14:49:27 -04:00
Nova
b99e9b7e97 Revert "Reverting Playtester's merge."
This reverts commit 21021751dafe78334f7f9e2b256eca16177a5212.
2016-02-01 14:33:23 -08:00
Nova
21021751da Reverting Playtester's merge. 2016-02-01 14:14:57 -08:00
nanakiwurtz
759cc41d99 Tool Update
* Added Unique Index to convert_sql.pl

Signed-off-by: nanakiwurtz <nanakiwurtz240@gmail.com>
2016-01-20 14:22:20 +07:00
rAthenaAPI
887dd7e80e Follow up to e368b5f
The aegis name check should only be applied to items. @lighta

Follow up to 6206537

Reverted the mob skill db SQL changes.
2016-01-05 15:27:38 +01:00
lighta
e368b5f759 Update tools/convert_sql.pl to check if AegisName are duplicated and and a trailing _ if it's the case. 2016-01-03 15:43:19 -04:00
Cydh Ramdh
0f5050de20 Bug Fixes
* Follow up 46f010cb, cleaned up skill fail checks on `skill_castend_id`. This is should fixed #385
* Fixed #395, changed `mode` field for monster from `smallint` to `int`. Thank @LyndisRain
* Fixed #391, added `0` in fixed cast time field for SM_SELFPROVOKE. Thank @DriwFS

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2015-04-13 17:03:41 +07:00
Lighta
d1eeda3466 Fix 'make tools' target for ./configure
Fix update.pl wasn't able to recompile due to path error.
2015-03-15 04:24:58 -04:00
Lemongrass3110
965416bb76 Small fixes to @lighta's convert SQL script 2015-02-10 14:18:45 +01:00
Euphy
8897ad72ac Cleaning scripts in 'tools/'.
Fixed spelling/grammar for most output messages.

Updated references to 'make sql' to 'make server'.

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2015-01-04 20:47:20 -05:00
Lighta
09b0898e60 Update Tool
Upd to take in consideration the REPLACE user case.
2014-12-18 22:45:46 -05:00
Lighta
af0da61426 Tools update
Upd .gitignore to ignore object everywhere
Add update.pl, a small perl script to auto git update and apply db
update in sql.
Add setup_perl.sh, to setup perl environnement for module used by perl.
Move some function into rA_common.pm
2014-12-18 20:14:48 -05:00
Cydh Ramdh
ce090ce916 Skill Changes:
* Wizard/Warlock Skill
  * Moved Sightrasher (WZ_SIGHTRASHER) requirement to check Sight (SC_SIGHT) is active or not to skill_check_condition_castend section.
  * Fixed Sightrasher (WZ_SIGHTRASHER) splash area to 3x3. (bugreport:9298)
  * Now Comet (WL_COMET) cannot hits Hiding target (The mistake is not at flag 0x10000 in skill_db.txt, the flash should be added by SD_ANIMATION). (bugreport:8909).
  * Now Reading Spell Book (WL_READING_SB) checking the number of available spell books in Spell Book DB first to prevent infinite loop.
* Sage Skill
  * Now Abracadabra (SA_ABRACADABRA) checking the number of available skills in Abra DB first to prevent infinite loop.
  * Reduced MAX_SKILL_ABRA_DB from 350 to 160.
* Shadow Chaser Skill
  * Fixed Chaos Panic (SC_CHAOSPANIC) effect. (bugreport:9321).
* Genetic Skill
  * Now Wall of Thorn (GN_WALLOFTHORN) can be knocked back but not a whole skill group and durability (HP & max hit) for each skill unit.
* Guillotine Cross Skill
  * Now Magic Mushroom (SC_MAGICMUSHROOM) effect checks the number of available skills in Magic Mushroom DB first to prevent infinite loop.
  * Changed 'RemoveFlag' in db/magicmushroom_db.txt value to 1 to remove skill by importing. (bugreport:9322).
* Wanderer/Minstrel Skill
  * Now Randomize Spell (WM_RANDOMIZESPELL) checks the number of available skills in Improvise DB first to prevent infinite loop.
  * Reduced MAX_SKILL_IMPROVISE_DB from 50 to 30.
* Rebellion Skill
  * Cleaned up, added, corrected some (missing) sequences & DB values.
  * Fixed Hammer of God (RL_HAMMER_OF_GOD) splash damage.
  * Fixed Shaterred Strom (RL_S_STORM) push back & force to sit effect (for player, or stun for monsters) (first implementation leftover).
  * Fixed Slug Shot (RL_SLUGSHOT) hitrate-distance penalty (first implementation leftover).
  * Fixed Howling Mine (RL_H_MINE) damage ratios (first implementation leftover).
  * Now Bind Trap (RL_B_TRAP) only can be placed 1 at same time.
  * Fixed Bind Trap (RL_B_TRAP) damage calculation by using Caster's DEX, Target's Current HP, & Skill Level. FIXME: Exact formula still unknown (refers to idAthena formula).
  * Now Dragon Tail (RL_D_TAIL) doesn't split damage among targets anymore.
  * Now Crimson Marker (RL_C_MARKER) will fails to cast if no slot available.
  * Implemented official packet `ZC_C_MARKERINFO` of Crimson Marker (RL_C_MARKER) mini-map marker (first implementation leftover). !TODO: Confirm the packet for older or newer clients (idAthena partial merge r1497)
  * References: http://forums.irowiki.org/showpost.php?p=1387992&postcount=968, follow up 507f047, dd67f9d

Misc:
* Fixed some skills that should work only in shoot range (map_foreachinshootange, by default), and added check for respecting *skill_wall_check* (map_foreachinrange).
* Fixed item stackable check for `/item` command, follow up 9b4d922.
* Fixed npc source file isn't removed properly by @unloadnpcfile. (bugreport:9311).
* Added constantan for status_change_start() and sc_start() scripts as well
  * SCSTART_NONE = 0x0
  * SCSTART_NOAVOID = 0x1
  * SCSTART_NOTICKDEF = 0x2
  * SCSTART_LOADED = 0x4
  * SCSTART_NORATEDEF = 0x8
  * SCSTART_NOICON = 0x10
* Moved and changed itemdb_unique_id() to pc_generate_unique_id().
* Seperated check for skill SC requirement to skill_check_condition_sc_required().
* Added skill unit flag `UF_KNOCKBACK_GROUP`, just an option to make skill unit can be knocked back a whole group.
* Typos and other minor changes!

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-10-01 17:42:30 +07:00
Lighta
82bb9b1f2f Fix and update Cmake build.
Update config.pl
2014-09-10 17:46:11 -04:00
Euphy
ea1a247f99 Minor Renewal mob database updates. (Hercules 0fadf38)
- Some name changes.
- Enabled some previously disabled mobs (unused).
- Added mob IDs 2402~2403, 2924~2936.

Other changes:
- Changed 120 stat equality check to inequality for two items. (bugreport:9261)
http://rathena.org/board/tracker/issue-9261-bradium-brooch-bonus-if-agi-120/
- Follow-up 7cd82d0: updated data sizes in convert_sql tool.

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2014-08-30 22:06:01 -04:00
lighta
402170c018 -Update doc/souce_doc.txt for refactoring change
-Add doc/packet_interserv.txt and doc/packet_client.txt, to refer packets
-Upd src inner documentation, map/intif mostly
-Add  common::utils::check_filepath(), fixing bugreport:9131 @loadnpc crash
-Fix pc_level_penalty_mod not using mob_class correctly
-Fix db/import/ for produce, arrow, abra, impro db...
-Upd install script (config.pl) to use mariadb for fedora/centos distrib
2014-08-20 20:58:48 -04:00
lighta
d6caec1c51 Various fixs
Fix bugreport:8418 (possible mapcrash from custom instance script)
Fix bugreport:8439 (pc_bonus_item_drop typos) thx to Baalberith
Fix some errors detected by cppcheck
upd install.sh (leftover of svn and wrong simlink)
2014-01-07 20:15:40 -05:00
Cydh Ramdh
be516cb53b * Fixed bugreport http://rathena.org/board/tracker/issue-8408-script-line-931-data-too-long-for-column-atkmatk-at-row-1/
Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2014-01-04 21:51:12 +07:00
Cydh Ramdh
e18bf43547 * Revert this 487f84e, please import upgrade_20131231.sql. Thank Lemongrass3110 and Toshiro90
* Follow up 7a9aa7f, enum errors
* Follow up 12007fe, function return type error
* Follow up dae8122, 'skill' to 'skill_learnlv'?

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2013-12-31 01:52:14 +07:00
Cydh Ramdh
487f84ef92 * Changed some item_db's fields on MySQL table to use char types rather than numeric types (those fields are never been used for calculation)
* Added missing config on inter_athena.conf for MySQL database (use_sql_db: yes)
* Please upgrade your MySQL database with upgrade_20131229.sql

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2013-12-29 06:44:48 +07:00
lighta
9cca188908 Itemtype
Fix itemtype IT_ARMOR and IT_WEAPON being inverted, bugreport:8180
please run tools/convert_itemtype.pl to update your dbs.
Upd athena-start having some issue for some os.
Fix a typo on DC_SERVICEFORYOU for val1 assignment.
2013-12-21 01:02:41 -05:00
lighta
ea925a05b1 Update check-doc to allow only listing, (for IDE that require functions for markup langage)
Add option for extra documentation file inc_scrtf and inc_atcf (for people who have their customs documented in other file, wich is probably best to avoid conflicts)
2013-12-07 18:03:03 -05:00
lighta
1d485ca934 Tools again
--Upd doxygen version_number to github link, for easier comparaison
--Fix convert_sql calling case, now doesn't care from where perl script
is called.
2013-11-28 02:44:52 -05:00