197 Commits

Author SHA1 Message Date
Aleos
84248255b7
Implements MF_NOPETCAPTURE (#6618)
* Fixes #6556.
* Implements the nopetcapture mapflag which is used to stop pet-type monsters from being caught.
Thanks to @RagnaWay and @Lemongras3110!
2022-02-16 12:51:25 -05:00
Cydh Ramdh
c454443a0b
Added @addfame (#6588)
* Added `@addfame`
* Added alias `famepoint`, `famepoints`
* Changed `sd` in `pc_addfame` to reference

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-02-16 01:00:59 +07:00
Lemongrass3110
c22ef3f547
Initial release of stylist UI (#6446)
Fixes #3037

Thanks to @Balferian and @aleos89

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2022-01-09 21:56:58 +01:00
Lemongrass3110
7556453dfc
Merge of Rytech's 4CrAM (#6414)
Merged Rytech2/4CrAM-Open@978d4fc406

Original author is @Rytech2 and all credits belong to him.
Cleanups by @Lemongrass3110, @aleos89 and @Atemo.

Co-authored-by: Rytech2 <rytech16@gmail.com>
Co-authored-by: aleos <aleos89@users.noreply.github.com>
Co-authored-by: Atemo <capucrath@gmail.com>
2021-12-30 20:25:19 +01:00
Lemongrass3110
6ddb09cbbd
Added basic support for 4th and 4th-ex class (#6412) 2021-12-19 13:17:50 +01:00
Aleos
6bc0dff20d
Converts Job databases to YAML (#4759)
* Converts the job_db, job_db2, job_basehpsp_db, job_exp, and job_param_db to YAML.
* Optimizes several places utilizing C++ features.
* Removes 3rd class job data from pre-renewal.
* Adds minimal support for 4th jobs.
* Job level bonus stats now supports multiple bonuses per level as well as an integer for the specific stat instead of only being limited to 1.
* Includes CSV2YAML converter.
Thanks to @Lemongrass3110, @Atemo, @Balferian, @attackjom, @dimasshotta!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2021-11-17 16:13:07 -05:00
Lemongrass3110
f9d4eeb4a1
Added a mapflag to block RODEX (#6291)
Fixes #6286

Thanks to @gabrieldosprazeres
2021-10-06 10:00:40 +02:00
Aleos
aa18fb0c2d
Adds MF_NOCASHSHOP (#6279)
* Fixes #5903.
* Adds a new mapflag to disable the Cash Shop on specified maps.
Thanks to @cahya1992's suggestion!
2021-10-02 16:36:07 -04:00
Aleos
36f6ebf98c
Converts map_msg_por from UTF-8 to ANSI (#6127)
* Fixes #5849.
* Converts the map_msg_por.conf from UTF-8 to ANSI to properly display accents.
Thanks to @RagnaWay!
2021-07-30 11:09:02 -04:00
Lemongrass3110
1a8cfbffc0
Initial release of the refine UI (#2494)
Overhaul of the refine database
Added blacksmith blessing to existing NPCs.

Thanks to @Atemo, @aleos89, @cydh and everyone who tested it.

Co-authored-by: Atemo <capucrath@gmail.com>
2021-04-11 00:05:15 +02:00
Aleos
7992e0891b
Converts the mob database to YAML (#5435)
* Combines mob_race2 and mob_drop databases into one.
* General cleanups and optimizations.
* Includes CSV2YAML conversion tool.
Thanks to @vstumpf, @lukasrmattos, and @Lemongrass3110!
2021-02-16 17:09:06 -05:00
Lemongrass3110
f57b037b83
Fixed monster exp definitions (#5672)
Fixes #5656

Thanks to @Skystar18
2021-01-06 18:42:43 +01:00
Lemongrass3110
f37990414f
Cleanup of MVP mode checking (#5559)
Fixes #5368

Thanks to @mazvi, @attackjom and @aleos89
2020-11-22 02:09:02 +01:00
Daegaladh
1c123a517e
Added/improved SG's maps and monsters reset script and GM commands (#5359) 2020-08-26 23:52:26 +02:00
Aleos
5c5c6839a0
Fixes item production with high item IDs (#5315)
* Fixes #5312.
* Fixes general item production skills not consuming catalyst items with high IDs.
* Adjusts item searching functions to use t_itemid instead of uint32.
* Adjusts script command makeitem2 to use t_itemid isntead of uint32.
* Fixes output and lookups for atcommands idsearch, autolootitem, iteminfo, whodrops, makeegg, and itemlist.
* Fixes signed vs unsigned checks.
* Fixes MVP logging.
* Fixes item drop ratio storage.
* Fixes CSV2YAML conversion checks.
Thanks to @idk-whoami and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2020-08-11 10:39:37 -04:00
Vincent Stumpf
3776bfbaa3
Support itemids up to ~2 billion (#5141)
Co-authored-by: aleos89 <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
2020-08-08 12:06:07 +02:00
Daegaladh
fb00561fc1
Added leader change restrictions to @changegm command (#5157) 2020-06-30 19:55:18 +02:00
Aleos
14c388b401
Resolves some Battleground issues (#4725)
* Queue data will now be kept available until a Battleground event is over.
* Players can now join an active Battleground.
* Adds a more detailed queue state tracking feature.
* When a battleground is being prepared and not enough players click accept, stop the battleground from beginning.
* When a player logs off or leaves a queue they will now properly be removed from the queue.
* Cleans up MinPlayers and MaxPlayers parsing to not accept values less than 1.
* Resolves players not being able to join an active battleground (up to MaxPlayers) unless someone quit early.
* Adds a team size priority check to avoid adding more players to a larger team.
* Fixes battlechat messages.
* Adds a battle_config to disable the ability for players on maps with MF_NOWARP to join Battlegrounds.
* Adds a new optional ActiveEvent label to the database.
* Fixes a typo in Flavius 2 during unbooking process.
* Cleans up the behavior of the Battle Therapists to use areapercentheal and areawarp.
* Fixes KVM score not properly set on the first Battleground.
* Fixes the global timer checks not ending the main timers on Flavius and Tierra Gorge.
* Added an extra bg_reserve on global timer checks in case someone tries to join the battleground just before it's ended.
* Fixed OnReadyCheck being called on global timer checks, causing the battlegrounds to start when there were no players on the map.
* Fixed a bug on Tierra Gorge where multiple barricade walls could be stacked.
* Fixes Croix also receiving 9 badges when Guillaume wins.
* Adjusts StartDelay default to 0.
* Add a database setting to give the ability to enable or disable joining as an individual, party, or guild.
* Add a database setting to restrict jobs from entering Battlegrounds.
* Better documents script commands bg_reserve and bg_unbook.
* Other fixes and cleanups.
Thanks to @roSBK and @Daegaladh, @admkakaroto, @Artuvazro, and @Atemo!
Co-authored-by: Daegaladh <Daegaladh@users.noreply.github.com>
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
2020-05-25 12:39:36 -04:00
Atemo
73fe0d26b7
Added setquest, erasequest, completequest, checkquest atcommand (#4692)
@ setquest : self explaining
@ erasequest : self explaining
@ completequest : give and complete the quest
@ checkquest : display the quest status HAVEQUEST, HUNTING, PLAYTIME
2020-03-18 19:14:15 +01:00
Aleos
97372ff423
Adds reload attendance database atcommand (#4657)
* Fixes #4656.
* Adds an atcommand option for reloading the attendance database.
* Adds missing headers for attendance database.
* Adds missing reload options in the atcommand configuration.
Thanks to @lelouch22's suggestion!
2020-02-23 17:10:17 -05: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
Lemongrass3110
e72c7360cf
Added int64 support to the script engine (#4522)
Added support for signed 64 bit integer value computation into the script engine.
This is required because newer official features require support for bigger numbers inside the scripts.

This also cleans up a lot of messy code and fixes a few issues like script stack corruptions.

Thanks to @aleos89 and everyone who supported me with this.
2020-01-13 14:44:48 +01:00
Lemongrass3110
64b5c3082b
Migrated atcommand aliases and help to YAML (#4487)
Merges atcommand_athena.conf and help.txt into a single file.
Removed some leftover settings that were removed before.
Removed CLI support for modifying the atcommand configuration file.
Moved atcommand and charcommand symbol definition into conf/battle/gm.conf
Removed some messages that are not needed anymore

Co-authored-by: Aleos <aleos89@users.noreply.github.com>
2019-12-21 19:19:19 +01:00
Atemo
7dde174c83
setpcblock script command (#4052)
* Added setpcblock and getpcblock script commands.
'setpcblock' command prevents/allows the player from doing the given type of action.
'getpcblock' command return the bit-mask value of the currently enabled block flags.

The available type are:
	PCBLOCK_MOVE
	PCBLOCK_ATTACK
	PCBLOCK_SKILL
	PCBLOCK_USEITEM
	PCBLOCK_CHAT
	PCBLOCK_IMMUNE
	PCBLOCK_SITSTAND
	PCBLOCK_COMMANDS
	PCBLOCK_NPCCLICK
	PCBLOCK_EMOTION
	PCBLOCK_ALL

Thanks to @sigtus, @secretdataz, @Lemongrass3110 and @aleos89 for the help and reviews !
Credit to https://github.com/HerculesWS/Hercules/pull/842 for the idea.
2019-03-31 18:28:55 +02:00
Jittapan Pluemsumran
ac558d7c1e
Initial implementation of pet evolution system + Pet DB conversion to YAML (#3544)
* Implemented official pet evolution system
* Added evolved pets to pet database
* Corrected various pet system mechanics
* Migrated pet database to YAML format and the converter from CSV format

Thanks to @Lemongrass3110 @aleos89 and @Atemo for their suggestions and additional fixes
2019-03-26 22:51:57 +07:00
Atemo
e4b41ef7e0
Revert "Added pcblock and checkpcblock script commands. (#3951)" (#4048)
This reverts commit 3e0d3d2fe6b244099d3987b7a21260d6b070512e.
2019-03-26 16:41:14 +01:00
Atemo
3e0d3d2fe6 Added pcblock and checkpcblock script commands. (#3951)
* Added getpcblock and setpcblock script commands.
* Added the docs
* Added the message 'This action is currently blocked.' when the player attempts to perform the following blocked actions
* PCBLOCK_USEITEM
* PCBLOCK_SITSTAND
* PCBLOCK_NPCCLICK
* The actions blocked are saved in state.block_action
* Click to the npc returns the WORK_IN_PROGRESS message when PCBLOCK_NPCCLICK is enabled
* Blocked action and reload script.
The player will return to his/her original state after reload script.

Thanks to @aleos89, @Lemongrass3110, @secretdataz
2019-03-26 22:18:59 +07: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
Daegaladh
93a7a20f68
Fixed @alootid spanish usage message (#3839) 2019-01-06 23:31:15 +01:00
Lemongrass3110
4944491228
Added support for viewpointvalue command (#3754)
Additionally added a script command to update the player's camera.
Added a new atcommand camerainfo for this, which is limited to admins.

Credits to @4144 for finding /setcamera
2018-12-20 19:26:02 +01:00
Jittapan Pluemsumran
84b4f09874 Added skill_duration mapflag. (#2171)
* Added skill_duration mapflag.
* This mapflag sets a skill unit time limit to n% of original duration.
* Implemented mapflags for Hunter's Traps in GVG, BG, and Novice Guild maps.

Signed-off-by: Cydh Ramdh <cydh@pservero.com>
2018-10-26 08:52:49 -04:00
Jonathan Matheus
c4cb25b6c0 Update map_msg_por.conf (#3453)
A current translation is missing several messages, so I added the missing ones and translated as I was getting langtype errors on the map-server.
2018-09-04 21:04:06 +02:00
Lemongrass3110
8dea04a8b3
Initial release of private airship system (#3354)
Fixes #3314 

Thanks to @aleos89 for his help.
2018-07-29 20:11:15 +02:00
Lemongrass3110
a5588dd9ab
Initial Release of Attendance Feature (#3297)
Thanks to @secretdataz and @aleos89 for their help.
Thanks to @Haikenz and @admkakaroto for testing.
Thanks to @Daegaladh for his ideas.
2018-07-16 21:39:42 +02:00
Aleos
e13ca63cc8
Added Guild Storage Expansion Skill (#3244)
* Fixes #499 and part of #1303.
* Implements Guild Storage Expansion Skill which requires client 2013-12-23 or newer (enable by default depending on client date in src/config/packets.hpp).
* Implements guild storage permission which requires client 2014-02-05 or newer.
* Expanded script command guildopenstorage return values.
2018-07-03 08:49:34 -04:00
Lemongrass3110
fc951469e7
Initial support for Star Emperor and Soul Reaper (#3184)
Merges 3CeAM/3CeAM@7df0f57 and 3CeAM/3CeAM@028d2e8
Credits to @Rytech2
2018-06-14 08:16:10 +02:00
Lemongrass3110
38a00aa54b Added map_msg_mal.conf
If someone wants to translate some messages feel free to create a pull request for it!

Fixes #2927

Thanks to @hendra814
2018-02-23 11:32:27 +01:00
Aleos
d4c1a57fb5
Cleaned up atcommand accinfo leftovers (#2926)
* Follow up to 2746e0d
* Cleaned up some variable assignments when parsing the packet.
* Updated packet documentation.
* Freed message 220.
Thanks to @RadianFord and @Lemongrass3110!
2018-02-22 17:14:20 -05:00
Daegaladh
1e2032cc21 Fixed Endow skills to match official behavior. (#2918)
* Endows are now interchangeable.
* No longer break the weapon on failure and now unequips instead.
Thanks to @Daegaladh!
2018-02-22 16:23:11 -05:00
Lemongrass3110
2746e0d351 Removed password output from atcommand accinfo
Thanks to @4144 for bringing this absurd thing to our attention in HerculesWS/Hercules#1975
2018-02-15 23:19:27 +01:00
Artuvazro
e9bb1064ee Updated Spanish message conf (#2813)
* Updated translation with missing lines and several linguistic fixes.
Thanks to @Artuvazro!
2018-01-23 09:53:24 -05:00
Lemongrass3110
3b219565d3 Enabled import for translations by default (#2535)
Added possibility to override MAP_MAX_MSG with defines_pre.h
Added possibility to override LANG_ENABLE with defines_pre.h

Thanks to @Daegaladh for the idea with LANG_ENABLE.
2017-10-24 22:36:59 +02:00
Aleos
db37fc7ddd Fixes required equipment check for skills (#2374)
* Fixes required equipment check for skills
* Fixes #2372.
* Required equipment check was allowing the skill to cast without the proper equipment.
* Adjusted the skill fail messages to their appropriate responses.
Thanks to @M4karov, @exneval, @Jeybla, and @Lemongrass3110!
2017-10-14 22:37:55 -04:00
Lemongrass3110
f42c2ff211 Moved some remaining constants into src (#2501)
* Moved all npc view constants into src

Source side the constants will use Gravity's naming standard(JT_*)
NPC side still supports the old names without JT_

* Moved all effect constants into src

Added check for effect validation to atcommand effect and all script commands using them
Removed the unused and broken function unit_changeviewsize from unit.c
Replaced a lot of hardcoded effect ids with their respective constants
Cleaned up the effect documentations

* Moved all hat effect constants into src

Added check for effect validation to script command hateffect
2017-10-14 18:13:51 +02:00
Jeybla
0e4ffdacdb Adds pk_mode_mes displayed on joining a pk zone. (#2400)
* When pk_mode and pk_mode_mes is enabled, the player gets notified joining a pk-zone map.
* It's now possible to specify the target in showscript.
  Default is still AREA.
* pk_mode_mes is now using showscript to SELF.
* Thanks to @Atemo, @RadianFord, @Lemongrass3110, @aleos89
2017-09-28 22:53:16 +02:00
Aleos
7f5411da07 Initial release of the Achievement System (#2044)
* Information based on kRO patch notes.
- http://ro.gnjoy.com/news/update/View.asp?seq=163&curpage=1
* Includes Title System which is integrated into the Achievement System.
* Includes RODEX integration for rewards.
* Added new atcommand reloadachievementdb.
* Added new script commands achievementinfo, achievementadd, achievementremove, achievementcomplete, and achievementexists.
Thanks to @Lux-uri, @RagnarokNova, @Lemongrass3110, and @Tokeiburu for their help!
2017-07-27 09:33:03 -04:00
Lemongrass3110
f0ab8d2a52 Overhauled and dropped packet db (#2263)
Adds support for a lot of missing clients and features almost all clients from 2016 and 2017
clientinfo.xml's version value will be ignored from now on
By setting PACKETVER the server will configure everything else on it's own from now on
Dropped is_clientver script command
And a lot more
2017-07-15 22:45:12 +02:00
Aleos
bae5c31201 Miscellaneous atcommand parsing cleanups (#2238)
* Removed several typecasts.
* Adjusted atcommands that interpret character names to make use of atcmd_player_name.
* Added some missing comments.
* Adjusted a few return messages to match the appropriate scenario.
* Assume atcommand changeleader is successful after initial checks.
Thanks to @Lemongrass3110!
2017-07-06 17:15:45 -04:00
Lemongrass3110
f86ba2b6b8 Added a state check for the cash shop
If the cash shop is open you can not use the atcommands cash and points.
This is because no update packet exists and the cash shop only gets the current amount when you open the cash shop.
The second way to update the cash shop values is on a successful purchase.
2017-07-03 22:14:34 +02:00
Cydh Ramdh
c87dba5a52 Channel System is Expanded! (#1933)
* Many changes on conf/channel.conf!
- Now capable of setting default values for channels through the config such as the channel name, channel password, member capacity, chat color, chat delay, and more.
* Many new channel script commands!
- Added script commands channel_create, channel_setopt channel_setcolor, channel_setpass, channel_setgroup, channel_chat, channel_ban, channel_unban, channel_kick, and channel_delete.
2017-04-19 14:12:00 -04:00