Fixed#6671, vendor & buyer location never been updated if the location is changed
Added MF_NOBUYINGSTORE and CELL_NOBUYINGSTORE to separate from MF_VENDING & CELL_NOVENDING
Added some missing check for buyingstore states
Updated mapflag doc
Added new constants
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Fixes#6627.
* Elemental Converters will now be removed on weapon unequip/swap.
* Adds RemoveOnUnequip, RemoveOnUnequipWeapon, and RemoveOnUnequipArmor status flags and dehardcoded statuses to utilize these flags.
* Hovering Booster's cancellation of SC_HOVERING now takes place in the UnEquipScript, releasing the hard coded check.
Thanks to @Everade, @Daraen1, @Toshiro90, and @Lemongrass3110!
* Adds the INF2_ISTOGGLEABLE skill flag which is used to enable or disable a skill's status. When toggled off the skill doesn't consume HP/SP.
Thanks to @Lemongrass3110!
The old hardcoded lists were not in sync and this was a specific list of status changes that could not even be forcibly ended with sc_end. Therefore a new flag is needed. Additionally improved error reporting.
Fixes#6666
Thanks to @eppc0330
* script command to force open the quest UI for the attached player.
Thanks to @Lemongrass3110 !
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
* script command to get the random value of the random option ID, value and param of a random option group ID
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Thanks to @aleos89 !
* Removes the initialization of Status Changes via hard-code and puts it into YAML form.
* From this database it is much easier to delegate icons, calc flags, opt flags, miscellaneous flags, and several other things for all stats changes.
* Statuses can quickly be reloaded via atcommand reloadstatus.
Thanks to @cydh, @Atemo, @Lemongrass3110, and the others who helped!
Signed-off-by: Cydh Ramdh <cydh@pservero.com>
Co-authored-by: atemo <capucrath@gmail.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Fixes#3302Closes#4348
Thanks for the initial release by @Cydh in #4348 and everyone that contributed to it.
All existing data was migrated and cleaned up where necessary.
Thanks to @Everade for his help here.
Laphine UIs are now fully yamlified and not dependent on the script engine.
They make use of new item group features and of the already existing random option group feature.
This way they will be far easier to be maintained, even though they are a little less customize able.
Thanks to @limitro, @CairoLee, @dimasshotta and everyone else who contributed!
Co-authored-by: Cydh <cydh.ramdh@gmail.com>
Co-authored-by: Everade <Everade@users.noreply.github.com>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
* Allow creating instance with no timer
* Added NoNpc to prevent copying NPCs from the source map
* Added NoMapFlag to prevent copying Mapflags from the source map
* Added instance_list script command to retrieve the instance IDs for the given map name/instance mode
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Atemo <atemo@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <3517879+Lemongrass3110@users.noreply.github.com>
Changes the Default of both "Override" settings ("NoUse" and "Trade" restrictions) from 0 to 100 and removes all "Override" settings currently set.
Minor formatting and doc fixes.
Fixes CD_In_MouthK (420003) headgear Location.
Thanks to @aleos89
* Fixes#5918.
* Target magic skills should get blocked even when cast on self.
* Self magic skills should get blocked on all targets except self.
* Adds an IgnoreGtb skill flag to explicitly allow a skill to bypass these checks.
Thanks to @Playtester!
* Converts item_combo_db.txt into YAML.
* Includes CSV2YAML converter.
Thanks to @llchrisll and @Everade
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
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>
* Updates getenchantgrade() script command adding <equipement slot> as optional argument to retrieve the grade of a specific equipment slot.
Thanks to @Lemongrass3110 and @aleos89 !
* Converts the Skill Tree Tables file into YAML.
* Includes CSV2YAML converter.
* Corrected the tree according to the client (SkillInfoList)
* Removed 3rd jobs tree from pre-renewal, some required stats not being loaded by default
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* Implemented new card subtype to differentiate normal cards from enchanted ones
* Available Subtypes:
** Normal (default)
** Enchant
* Updated the item database with the new subtype
* Updated the npc folders using getiteminfo ITEMINFO_SUBTYPE
Thanks to @Lemongrass3110 and @aleos89 !
* Converts the Mercenary Tables file into YAML.
* Includes CSV2YAML converter.
* Fixed mercenary name not properly displayed after moving
Co-authored-by: Aleos <aleos89@users.noreply.github.com>
Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
* 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>
* 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 !