* [Bug] Radiant/Ebon Crystals should only extract to 1000
Creating a stack larger than 1000 can cause potential dupe issues further down the stream if other tasks are performed on the stack.
* Use stacksize instead
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
* [Rules] Add World:Rules Rule
# Notes
- Adds `World:Rules` rule to take the place of the variables table value.
* Update client.cpp
* Update client.cpp
This uses the book scribe button to learn recipes in SoF+ clients. For
Titanium clients the button is not available so a workaround will need
to be added later.
Note live gives no feedback when scribing books (at least those tested).
* [Bug Fix] Fix GetLeaderName() for Groups
# Notes
- We were getting bogus data in this.
- Made it its own method.
* Remove ExpeditionRequest::GetGroupLeaderName()
# Perl
- Add `quest::silent_saylink(text)`.
- Add `quest::silent_saylink(text, link_name)`.
# Lua
- Add `eq.silent_say_link(text)`.
- Add `eq.silent_say_link(text, link_name)`.
# Notes
- Allows operators to more easily use silent saylinks without an optional silent parameter in the traditional saylink methods.
- Sets `silent` parameter default to `false` so we do not need to pass `false` when we are not using a a silent saylink.
- Changes all places that used `EQ::SayLinkEngine::GenerateQuestSaylink` to `Saylink::Create` where possible.
- Removed `questmgr` method that is no longer necessary.
- Cleaned up Lua methods to use the strings directly instead of building one out.
# Notes
- The `-1.0f` was causing these modifiers to be set to `0.0` and when people would enable them they would get no experience.
- We now use the zone based grabbed methods when setting which will default to a value of `1.0f` if there is not a value found.
* [Quest API] Add Bot Special Attacks for Immune Aggro/Damage
# Notes
- Adds `IMMUNE_AGGRO_BOT` and `IMMUNE_DAMAGE_BOT` for uses in special abilities.
* Cleanup
* Update attack.cpp
* Exempt zone from IP checks
* [Feature] Add Support for String-based Rules
# Notes
- Add support for string-based rules.
# Images
* convert to comma-seperated list
* Forgot to convert the zone to a string
* Update lua_general.cpp
* fixed rule name
* use the local string methods instead
* I think this will work as desired without the extra condition
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
* [Bug Fix] Cleanup NPC Mana Tap Logic
Mana Tap rule logic was invalid - Cleaned up and simplified, either we care about npc mana or we dont.
* Updated for bypass all rule
* Change so melee targets get blocked even with requiremana rule off
---------
Co-authored-by: Trust <fryguy503@gmail.com>
# Perl
- Add `$questitem->GetAugmentIDs()`.
# Lua
- Add `iteminst:GetAugmentIDs()`.
# Notes
- Allows operators to get a list of augment IDs from an item instance directly without using the inventory method.
* [Feature] Add Augments to Starting Items for Bots/Players
- Adds support for augments to `bot_starting_items` and `starting_items`.
- Will allow operators to kit bots/players out with augmented gear from the start if they so choose.
* Update database_update_manifest.cpp
* Update client.cpp
* [Repositories] Cleanup and Convert Character Creation to Repositories
# Notes
- Converts `Database::GetCharacterID()`, `Database::SaveCharacterCreate()`, and `Client::OPCharCreate` to repositories.
- Cleanup a spot we were doing a queries in a loop.
* Cleanup
* Update database.cpp
* Update database.cpp
* [Bots] Remove Alt Combat Functionality
# Notes
- This functionality needlessly complicates bot targeting logic and causes crashes and unintended behavior for players when accidentally enabled or enabled by default.
* Cleanup
* [Database] Fix default value for `time_of_death` in `character_corpses`
* Extra `NULL`
* Update repository
* Repositories with updated structure this time