* Added more parameters to the script command addmonsterdrop to support the random option system.
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Thanks to @aleos89
* Wave mode instances - walkthrough conversions
* NPC_EMOTION and NPC_EMOTION_ON disrupted the walking system and have been restricted on the maps.
* Implemented AI_SPECIALs. AI and normal monsters can naturally fight each others. However monsters with AI_SPECIAL can't be hit by normal monsters.
* Implemented mob_setidleevent command.
`mob_setidleevent <GID>,<event>;`
This command will attach an event label to the monster with the given <GID> which will execute when the <GID> is idle.
* Added parameters to unitskilluseid and unitskillusepos
-- `<cancel>`: define if the skill can be interrupted when hit (by default the cancel value was 'castcancel' from skill_db.txt)
-- `<Line_ID>` : the monster will say the message from 'Line_ID' in mob_chat_db.yml when casting the skill
* Added `UMOB_IGNORE_CELL_STACK_LIMIT` for setunitdata/getunitdata script command.
When true, the monster will ignore the stack limit (max number of characters that can stack within a single cell) defined by 'official_cell_stack_limit' in misc.conf
* The script is disabled by default like on KRO
Thanks to @Lemongrass3110 @aleos89 @Badarosk0 @sigtus @Questune09 !
* The required NPC name parameter is now optional for the following script commands:
enablenpc
disablenpc
hideonnpc
hideoffnpc
cloakonnpc
cloakoffnpc
isnpccloaked
* Updated docs
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Added new command that allow delete items from inventory by index.
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Daegaladh <Daegaladh@users.noreply.github.com>
Added further support for enchantgrade so that the enchantgrade is not lost during certain processes and can be accessed via script commands.
Also added missing logging support for it.
* Updates various skills following kRO's job improvement patch.
* Change log: https://ro.gnjoy.com/news/notice/View.asp?BBSMode=10001&seq=7275&curpage=2
* Does not include changes to homunculus HP/SP level up bonuses as more information is required.
Thanks to @ecdarreola, @attackjom, @Haydrich, @rye305, @eppc0330, @Badarosk0, and @Lemongrass3110!
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>
* Fixes#5796.
* Fixes a small typo in the documentation for script command makeitem3.
Thanks to @jaBote!
Co-authored-by: Vincent Stumpf <vincents.995@gmail.com>
* Fixed#5570.
* Adds the ability for mercenary to trigger autoloot.
* Adds idle sharing and idle option configs for granular settings.
Thanks to @saya9200's suggestion and @Lemongrass3110!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Fixes#4524.
* Adds support for the new slimmer Madogear suit.
* Adjusts script command setmadogear to support changing to this type.
* Adjusts atcommand mount to support changing to this type.
* Removes a 3rd class check from setoption for Rangers and Mechanics.
* Removes status_calc_pc call from pc_setoption so that it can be handled via normal status change calculations.
* Adds Mado_Box02 item for Mado Suit.
Thanks to @admkakaroto, @Atemo and @Lemongrass3110!
* 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>
* Added more information in the doc about waitingroom2bg_single and bg_join commands
* Added MF_BATTLEGROUND mapflag check in waitingroom2bg_single and bg_join to prevent the player to join a bg when the battle map is not a battleground map
* Fixes#2156.
* Adjusts the two script commands to take into account the type of skill being used.
* Adjusts documentation to reflect.
* Verify skill and skill level.
Thanks to @Yuchinin and @Lemongrass3110!
* Players are no longer detached from the script.
* Players can't walk, attack, use items, or use skills while progress bar is active.
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
* Fixes#4529.
* Adds support for applying groups and titles to non-player objects.
* Expands script command setunitdata and getunitdata to support group ID.
* Adds script commands setunittitle and getunittitle.
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Follow up to bfb6972.
* Adds a new return array for script command inventorylist: `@inventorylist_tradable`
* Adjusts script command countitem to not count rental items.
* 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>
* When reloading the skill_db clear out Abra, Magic Mushroom, and Reading Spell Book databases as well.
* Fixes NC_SHAPESHIFT and NC_REPAIR checking an invalid ItemCost slot based on the old implementation.
* Updated a lot of references to the old skill databases.
* Fixes#4812.
* This script event can be replaced with the other various player script events.
* The trigger during equipment changing causes headache across other calculation events in source.
* Fixes#3087 and fixes#3095.
* Converts database file to YAML.
* Converts static array to unordered_map which frees up pre-allocated memory that may never be fully used.
* Got rid of all DBMap/ERS features.
* Removes MAX_INSTANCE_DATA in favor of INT_MAX.
* Includes TXT converter.
Thanks to @Lemongrass3110, @secretdataz, @Atemo, @lighta, @InusualZ, @Angelic234, @Normynator, @cydh, and @ecdarreola!
* The player can interact with a NPC cloaked by cloakonnpc command (click, mob event..) but the NPC trigger area is disabled (= the OnTouch* part is disabled).
* The changes last until the player leaves the map, logs out, or the npc option is updated by disablenpc/enablenpc/hideonnpc/hideoffnpc/cloakonnpc/cloakoffnpc commands.
Thanks to @aleos89
* Fixes#4644.
* Initialize all battleground queues at startup to reduce overhead of creation/deletion during live server.
* Removes lots of duplicate code between team checks.
* Adds missing checks for script commands bg_leave and bg_desert to only warp players out using the Battleground Queue System.
* Adds documentation for script commands bg_leave and bg_desert to state players will be warped out after when using the Battleground Queue System.
* Optimizes join logic to add new players to the end of the queue rather than the front.
* Cleans up the client messages so certain responses are cleared when they need to be.
Thanks to @Balferian and @Lemongrass3110!
* 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!
* Added refine and bound option for mail script command.
* Made some slight corrections to the script_commands document.
* Note: Any custom scripts that use this command and give some sort of card or random option bonus need to be adjusted as refine and bound come before these options now.
Thanks to @Skormie!
Co-authored-by: Daegaladh <Daegaladh@users.noreply.github.com>
Adjusted script command announce to accept charID
* Fixes#3901.
* Script command announce will now accept a character ID to display locally.
Thanks to @sader1992!
Co-authored-by: Atemo <Atemo@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Fixes#4289.
* Updated script commands setunitdata and getunitdata to support the modification of NPC view data.
* Converted mob_avail database to YAML.
Thanks to @Lemongrass3110, @4144, @exneval, @Balferian, @cahya1992 and @teededung!
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>