384 Commits

Author SHA1 Message Date
Atemo
c6ab72207e Horror toy factory (#1813)
* Initial release of Horror Toy Factory instance.
Thanks to @aleos89, @secretdataz, @Lemongrass3110
Took some part from 52f6420abc
Credit @exneval

Todo : implement NPC_HELLBURNING skill
2017-01-18 03:25:12 +01:00
Lemongrass3110
2043c95e66 Refactored hardcoded npc event names (#1767)
While refactoring those events the following other changes were made:

Introducing OnInstanceDestroy event. This event can be used to hook script code right in front of the instance destruction. This can be useful if you have any stored references to an instance id for example.

The script command cmdothernpc will now check if the target event exists and report failures. Therefore it now returns true or false.

All agit(FE,SE,TE) start and end commands from atcommand and script commands have been merged in their respective guild function which now returns a bool value of true for successful actions and false if it did not succeed(if the specific WoE was [not] running).

All global triggered events with mapserver status output now call the same function and therefore have the same mapserver output(including their respective event name of course).

Renamed a few events in the script configuration to match the other names

Added constants for months and weekdays

Additionally added constants for gettime types to make it easier to read.

Replaced all existing usages I found with their proper new syntax or better fitting functions.
2017-01-10 22:58:04 +01:00
Cydh Ramdh
2896d894d1 Official Random Coordinates for Savepoint (#1756)
* Added parameters for `savepoint are range for `x` and `y` for random savepoint coordinates.
* Added documentation for new savepoint params. Credits to @aleos89
* Updated savepoint on script to follow official behaviour (random save in 3x3). All credits to @Atemo
2016-12-20 17:16:42 +07:00
Lemongrass3110
9040613fa6 Added missing empty newlines to a lot of files 2016-11-23 13:54:45 +01:00
Lemongrass3110
9b1b7b1a2b Replaced hardcoded genders with constants (#1730)
* Replaced hardcoded gender codes in source

Introduced a new constant for the account based gender and replaced all hardcoded gender references to code 99 with it.

* Replaced hardcoded gender codes in npcs

Exported the gender constants into the script engine and replaced all usages with references to the constants instead of expecting a value behind them.

* Corrected a typo

Thanks to Machiezmo from Discord.

* Fixed an inverted gender logic

Thanks to @secretdataz
2016-11-22 21:20:03 +01:00
Atemo
d62f422e3d Corrected OnTouch/OnTouch_ in NPC script (#1548)
Some leftover from aegis convertion..

Skipped pre-re folder, I don't have old data.
2016-09-07 21:35:14 +02:00
Jittapan Pluemsumran
eb8ea91f5b
Follow up to 472b885ca83627922d2c2208b46ff6d9b8308a7d
* Added brackets after if
2016-08-22 22:44:13 +07:00
Jittapan Pluemsumran
472b885ca8
Follow up to 021bed5f5de02a9262831ebcb968a627f2ddba26 2016-08-21 18:06:26 +07:00
Jittapan Pluemsumran
021bed5f5d
Implemented status reduction potion support
* New script command `needed_status_point` added.
* The items are not yet implemented.
2016-08-21 14:30:17 +07:00
Lemongrass3110
a87d86cb11 Fixed getinventorylist documentation
Fixes #1497.
Thanks to @Darkelfen for reporting it.

Additionally exported the EQP_* constants into the script engine.
Replaced some hardcoded equip positions with their respective constants.
2016-08-14 00:26:22 +02:00
Lemongrass3110
a855bccfd2 Fixed wrong operator usage in 2 scripts
If those fixes are wrong blame it on me!
2016-08-05 00:29:03 +02:00
Atemo
1a87f90aa9 Structure change of F_getpositionname 2016-04-18 16:48:54 +02:00
Atemo
7d6be7e21e Add F_getpositionname to return the EQI_* name 2016-04-18 15:50:28 +02:00
Jittapan Pluemsumran
bd6539a9ba Follow up to c23688c
Unify all checks into one function.
Suggested by @Cydh.
2016-03-26 10:52:30 +07:00
aleos89
0a77835029 Unit Controller Updates
* Added missing UMOB_CANMOVETICK option.
* Restructured script command getunittype return values to match the order of script command getmapxy to allow for more universal usage.
* Created constants for script commands getmapxy and getunittype.
* Updated NPCs using script command getmapxy to use the new constant values.
* Updated Battleground NPCs to use constant value for script command setunitdata.
2016-02-04 10:47:16 -05:00
Atemo
3a45dd97f9 Another clean-up 2015-12-09 23:09:17 +01:00
Atemo
031c522c8a - Fixed F_CashSiegeTele typo in item_db.
- Moved VIP_Third_Class function from other/CashShop_Functions into other/re/CashShop_Functions (only used in re folder).
- Fixed a mistake in quests/quests_nameless.txt blame me  36f337ea41a876ef471bfbb78128e35fa0d9aa56
- re/quest/quests_eclage clean-up and bug fix

Signed-off-by: Atemo <capucrath@gmail.com>
2015-08-04 15:16:56 +02:00
Capuche
1e8aa4bdc4 Added adven_boards.txt dungeon signposts
Signed-off-by: Capuche <capucrath@gmail.com>
2015-03-28 00:31:36 +01:00
aleos89
d3625e5c10 Cleaned up merge issues. 2015-02-21 15:43:58 -05:00
Capuche
001e6967d4 Fixed some variables issues and cleaned Instructor Boya and Michael
Signed-off-by: Capuche <capucrath@gmail.com>
2015-02-19 01:09:30 +01:00
Cydh Ramdh
9d3d34205f Skill DB clean ups
* Changed skill_db array to better memory allocation.
* Reduced MAX_SKILL_LEVEL from 100 to 10 (part of Hercules 0f4a50d135), also has changes on skill_get checks for skill level that more than 10.
* Reduced MAX_SKILL from 5020 to 1200 (actually only 1109 skills are used).
* Added macros for checking Homunculus, Guild, Mercenary, & Elemental skill ranges.
* Added skill check & index validation when player logged in and when @reloadskilldb.
* Corrected `enum e_skill_flag` order for SKILL_FLAG_REPLACED_LV_0's sake.
* Merged 'addtoskill' script command just as alias of 'skill' script command.
* Fixed #277
* Changed 'skill' script command flag to constant value

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>

NOTE:
* Decreased memory usage by map-server reduced up to 50 MB.
* Decreased memory for each player because of mmo_charstatus::skill[] only has 1200 array, before is 5020.
* Please use skill_get_index() for accessing sd->status.skill[] or skill_db[], don't reckless use skill_id as array index.
* Please import upgrade_20150211_skillset.sql

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-02-12 15:50:50 +07:00
Aleos
0e533fa7ab Revert "Skill DB clean ups" 2015-02-10 09:33:00 -05:00
Cydh Ramdh
72617ac98b Skill DB clean ups
* Changed skill_db array to better memory allocation.
* Reduced MAX_SKILL_LEVEL from 100 to 10 (part of Hercules 0f4a50d135), also has changes on skill_get checks for skill level that more than 10.
* Reduced MAX_SKILL from 5020 to 1200 (actually only 1109 skills are used).
* Added macros for checking Homunculus, Guild, Mercenary, & Elemental skill ranges.
* Added skill check & index validation when player logged in and when @reloadskilldb.
* Corrected `enum e_skill_flag` order for SKILL_FLAG_REPLACED_LV_0's sake.
* Merged 'addtoskill' script command just as alias of 'skill' script command.

Summary:
* Decreased memory usage by map-server reduced up to 50 MB.
* Decreased memory for each player because of mmo_charstatus::skill[] only has 1200 array, before is 5020.
* Please use skill_get_index() for accessing sd->status.skill[] or skill_db[], don't reckless use skill_id as array index.

NOTE:
* Please import upgrade_20150131_skillset.sql

Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
2015-01-31 19:45:52 +07:00
Euphy
df6fb01739 Small fixes in Eclage scripts and code style changes.
- Fixed some minor bugs.
- Added GM NPC function.

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2015-01-15 13:01:12 -05:00
Euphy
8c3bc4fda4 Changed some hardcoded script values to MAX_LEVEL. (fixes #161)
Fixes various bugs with higher level players not gaining experience.

Also properly fixed Renewal EXP reward in Turbo Track script (incorrectly fixed in be95412).

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2014-12-31 01:05:33 -05:00
Euphy
3b2762ca3c Enable NPC logging through 'logmes' by default.
- Commented some unnecessary log messages.

Bug fixes:
- M_DOPPELGANGER had too much HP. (Hercules 9cd3ec0)
- Huuma_Swirling_Petal should not have an element. (bugreport:9073)
http://rathena.org/board/tracker/issue-9073-huuma-swirling-petal/

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2014-08-22 16:06:32 -04:00
Euphy
14fddd3790 Added script checks against swapping items using third-party hacks.
- Follow-up to 416f6d7, as further protection against item exploits.

Contains a few other fixes.

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2014-08-22 15:36:23 -04:00
Capuche
ec485afe4c Bug fixes and clean-up :
-- Miscs follow up af266777402e07428388e80db35544fbb9bcbe8e
-- Another clean-up in comodo_gambling.txt (thx @SkittleNugget)
-- Replaced occurrence of PcName and clean-up in tu_magician01.txt

Signed-off-by: Capuche <capucrath@gmail.com>
2014-07-13 21:48:09 +02:00
Capuche
af26677740 Bugfix and clean-up
- Added NPC const
- Added checkdragon() in F_CashReset
- Clean-up books.txt, fortune.txt, card_trader.txt, 3rd_trader.txt, stone_change.txt, quests_brasilis.txt
- Minor fix about Weight in comodo_gambling.txt
- Change to F_GM_NPC function in Mercenary Guild Switch follow up bdab851129ceee57a38ccc9d819b42011ef19fb7
- added Mercenary Switch in gm_npcs.txt list
- change to common green maiden in 2010 Headgear Quests

Signed-off-by: Capuche <capucrath@gmail.com>
2014-07-04 02:14:30 +02:00
Capuche
bdab851129 - Added mercenary guild switch npc from aegis
- Fixed a bug to rent a mercenary in izlude duplicate (it gave a wrong mercenary)
- added a missing delitem in cupet.txt (forgot to delete the 2nd item)
- change the rand part in Mysterious Documents npc in magic_books.txt to match aegis
- little clean up in quests/ninja_quests.txt
- replace the npc id to the constant in theses files

Signed-off-by: Capuche <capucrath@gmail.com>
2014-06-30 17:07:05 +02:00
Euphy
5e261ba415 Minor cleanup of riding script commands.
- The 'checkriding()' function no longer checks for wargs and dragons, ONLY Pecos, Grand Pecos, and Gryphons (as documented). (bugreport:9024)
http://rathena.org/board/tracker/issue-9024-about-renters-from-rathenanpcremerchants/
- Replaced 'checkoption()' warg checks with 'checkwug()'.

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2014-06-10 22:58:09 -04:00
Capuche
be1fd7b1fa - Fixed an issue in dual race (bugreport 8636).
- Optimizated.
2014-05-30 20:48:19 +02:00
Euphy
cad0a57865 Replaced 'getserverdef' command with 'script_hardcoded_constants' function in source. These constants can now be directly accessed in scripts. (Hercules 950e3eb)
- Relocated 'Option_*' constants from 'db/const.txt' to source; added OPTION_COSTUME compound. (Hercules a5728fd)
- Added MAX_CHAT_USERS define. (Hercules 950e3eb)
- Follow-up ca9642a: applied 'Loc' changes to Pre-Renewal database.

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2014-03-01 15:42:49 -05:00
Euphy
957f49563a Added 'preg_match' script command to match regular expressions.
The command is only available if the PCRE library is installed.

Updated indefinite articles in Global_Functions with regex. (credits: Kaivosukeltaja/php-indefinite-article/863f1d5)

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2014-01-29 16:33:27 -05:00
Euphy
3813aaaadb Added 2013 iRO/kRO Christmas Event.
Updated item database with many new costumes.

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2014-01-24 15:19:27 -05:00
Euphy
364c7edb90 Added official names as comments in many newer scripts.
Signed-off-by: Euphy <euphy@rathena.org>
2014-01-22 15:59:21 -05:00
Euphy
90b187ff3e Changed all "Compatible With" fields to "rAthena Project".
Edited a handful separately, as appropriate.

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2014-01-12 16:24:38 -05:00
Euphy
b2d96cbc7f Implemented Kagerou/Oboro job change quest.
Uses official script structure, with iRO dialogue taken from M45T3Ryu/KO-Proyect@d78f847.

Added Kagerou/Oboro support to other Ninja-related files.

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2014-01-11 22:37:36 -05:00
Euphy
45c2a3a839 Follow-up to Global_Functino updates (834f3ba).
"F_GetPlural" now works for most item/mob cases, but still does not detect inputs that are already pluralized.
- For formats "... of|in|on ..." (ex. Piece of Cake), preceding word will be pluralized (ex. Pieces).
- Added some additional checks to prevent common errors.

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2014-01-05 18:19:40 -05:00
Euphy
834f3baa05 Follow-up to Global_Function updates (97687ca).
* Added format string to "F_InsertPlural" for added flexibility.
* Added more checks to "F_GetPlural" for better handling of multi-word arguments (e.g. items).
* Updated some more scripts with new functions.

Some misc. cleanup of constants in scripts.

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2014-01-04 13:42:16 -05:00
Euphy
357f1fd16c Minor bug fixes.
* Added itemscript for WoE Weapon Supply Box (12675). (bugreport:8421)
http://rathena.org/board/tracker/issue-8421-woe-weapon-supply-box12675-missing-item-script/
* Fixed two block comment errors. (bugreport:8409)
http://rathena.org/board/tracker/issue-8409-script-error-on-item-db-re-line-6123/
* Follow-ups to 97687ca.

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2014-01-03 20:53:43 -05:00
Euphy
97687ca10c Global_Function updates.
* Added the following functions:
  - "F_GetPlural" (returns plural of noun) / "F_InsertPlural" (returns plural if arg != 1)  [credits: EnglishClub for formation rules]
  - "F_InsertArticle" (returns 'a' or 'an' preceding word)
  - "F_InsertComma" (formats number with commas)
  - "F_GetNumSuffix" (formats number with '-st', '-nd', '-rd', or '-th' suffix)
* Added and removed new functions where necessary. (incomplete)
* Added new types to "F_GetArmorType" function, and weapons will now pass to "F_GetWeaponType".
* Reformatted comments.

Other changes:
* Removed some garbage text from scripts.
* Slight edits to custom warper script.

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2014-01-03 20:13:44 -05:00
nanakiwurtz
f62100ae70 Fixed some minor typo
Signed-off-by: nanakiwurtz <nanakiwurtz240@gmail.com>
2013-12-21 15:49:10 +07:00
Euphy
d2ee0dd55f * Implemented VIP system in many official scripts.
- VIP players gain two more badges after Battleground matches.
- VIP players pay ten times less for transportation to Brasilis and Dewata.
- VIP players get free buffs and mercenary rentals in the Eden Group Headquarters. (iRO only, disabled)
- Non-VIP players must use a Reset Stone to begin the third job quests.
- Non-VIP players must have a Marriage Covenant to get married.
- Non-VIP players pay double for Kafra and Cool Event Corp. Teleport Services.
- Non-VIP players pay considerably more for refining equipment.
- Non-VIP players gain less quest reward items in Port Malaya quests.
- Non-VIP players gain less EXP rewards in Brasilis quests.
- Non-VIP players cannot access all towns in Acolyte Warpers script. (iRO only, disabled)
- A Reset Stone is required for Bossnia entry.
Note that official servers run different VIP/premium systems; the changes above are based on euRO, unless otherwise stated.

* Other script changes:
- Adding Marriage Covenant item in marriage script.
- Fixed some EXP values in Brasilis quests.
- Minor updates to Kafra functions.
- Turned Cool Event Corp. scripts into a basic function.
- Turned Battleground badge rewards into basic functions.

Signed-off-by: Euphy <euphy.raliel@rathena.org>
2013-11-18 23:54:17 -05:00
Euphy
7cb4145691 * Cleaned up some unnecessary global ($) and temporary character (@) variables in scripts.
* Removed unnecessary labels, particularly those in warp scripts.
* Some optimization of the Hugel Bingo script.
* Fixed a mob_db error. (bugreport:8051)
* Fixed incorrect/incomplete random Glast Heim warp.
* Removed useless 'getJobName' function from GlobalFunctions.txt.

Signed-off-by: Euphy <euphy@rathena.org>
2013-09-06 19:37:14 -04:00
Euphy
c610f5b15c * Added some iRO Eden Group NPCs. (credits: -SkittleNugget-)
- This consists of a few traders, warpers, cashshop-related scripts, and duplicates from various locations.
- There are a lot of placeholders and some entirely missing scripts; these may be added later, but we don't intend to implement all of iRO's custom features.
- Some of the item sprites may be unviewable without iRO's data.grf.

* Minor database updates:
- Corrected all *_C (rental) equipment entries; to be updated later on with VIP bonuses.
- Fixed some bHpDrainRate item_db entries. (incl. bugreport:8049)
- Fixed a mob_skill_db entry. (bugreport:8050)

* Other changes:
- Renamed 'F_RandMes' to 'F_Rand', to clear up any confusion. (follow-up 66a2bfd)
- Small changes in Armor Enchanter script (thanks to Emistry for pointing it out :p).

Signed-off-by: Euphy <euphy@rathena.org>
2013-09-06 00:22:41 -04:00
Brian
d7742937a8 - Updated F_RandMes with getargcount().
Follow up to 66a2bfd7c24bb617d27cc0a3e8db903cb000f3de
2013-09-05 13:07:54 -07:00
nanakiwurtz
f44ae34734 Updated to the new 'F_RandMes' command.
Signed-off-by: nanakiwurtz <nanakiwurtz240@gmail.com>
2013-09-05 14:12:42 +07:00
Euphy
17d000640d * Added 'breakequip' script command. (tid:86732)
* Fixed return value for delequip. (since r17469/8bd0985)
* Fixed a bug with Mercenary Rentals. (credits: TTest)

Signed-off-by: Euphy <euphy@rathena.org>
2013-09-04 15:07:26 -04:00
Euphy
02d67498b1 * Script updates.
- Added Renewal features to PVP script and removed duplicate warps.
- Added "Acolyte Warpers" script (Keiki and Isalei), disabled since it may be an event script.
- Added "Mergician" NPC, but it currently doesn't function and is disabled.
- Moved "Stone Change" script from merchants/ to other/.
- Follow-up 8acde7e: further bug fixes.

Signed-off-by: Euphy <euphy@rathena.org>
2013-09-02 00:18:49 -04:00