168 Commits

Author SHA1 Message Date
Alex King
71f78b757e
[Respawns] Convert Respawn Times to Repositories (#3949)
* [Respawns] Convert Respawn Times to Repositories

- Convert `respawn_times` based methods to repositories.

* Missed some.

* Comments
2024-01-12 22:38:31 -06:00
Chris Miles
818f833d04
[Repository] Add null integer column support, instance_list notes migration, regenerate repositories (#3969) 2024-01-12 22:23:55 -06:00
Alex King
4afc1efb38
[Character] Convert Save of Character Languages to Repositories (#3948)
# Notes
- Convert `SaveCharacterLanguage()` to repositories.
- Was missed in the other languages changes.
2024-01-12 03:30:42 -06:00
hg
f59b4feb94
[Tasks] Add Support for Task Window Element Groups (#3902)
Elements that share a group are placed in the same list section and
separated from other groups with a divider.

Live appears to only use this for optional elements in some tasks and
when used each optional always gets its own group. This might indicate
it's done automatically under certain criteria to ensure optionals are
never grouped with non-optionals regardless of index.

Since groups are available in captures and there's very few tasks that
use this, we don't need to worry about trying to replicate any automatic
behavior since this allows more customization.
2024-01-08 23:24:41 -05:00
Alex King
20778ad7d9
[Character] Convert NoRentExpired to Repositories (#3860)
* [Character] Convert NoRentExpired to Repositories

- Create a custom `GetSecondsSinceLastLogin` repository method to use in `NoRentExpired`.

* Update character_data_repository.h
2024-01-07 00:25:58 -06:00
Alex King
b288202c96
[Account] Convert Get/Update Account Karma to Repositories (#3858)
* [Account] Convert Get/Update Account Karma to Repositories

- Convert `GetKarma` and `UpdateKarma` to repositories.

* Update zonedb.cpp
2024-01-07 00:23:18 -06:00
Alex King
a724e92638
[Character] Convert Clear/Delete/Get/Update of Character Item Recast to Repositories (#3857)
* [Character] Convert Clear/Delete/Get/Update of Character Item Recast to Repositories

- Convert `ClearOldRecastTimestamps`, `DeleteItemRecast`, `GetItemRecastTimeStamp`, `GetItemRecastTimestamps`, and `UpdateItemRecast` to repositories.

* Update shareddb.cpp

* Update shareddb.cpp

* Update zonedb.cpp
2024-01-07 00:21:14 -06:00
Alex King
0ea825e9a4
[Character] Convert Load/Update of Character Alternate Currencies to Repositories (#3856)
- Convert `LoadAltCurrencyValues` and `UpdateAltCurrencyValue` to repositories.
- Cleanup some other code and logic as well.
- Add `AlternateCurrencyMode` namespace for `AltCurrencyPopulate_Struct` opcode magic numbers.
2024-01-07 00:11:15 -06:00
Alex King
2ca50b339d
[Characters] Convert Load/Save of Character Auras to Repositories (#3854)
* [Characters] Convert Load/Save of Character Auras to Repositories

- Convert `LoadAuras` and `SaveAuras` to repositories.

* Update zonedb.cpp
2024-01-07 00:08:56 -06:00
Alex King
164fe31fa8
[Character] Convert Load/Save of Character Buffs to Repositories (#3855)
* [Character] Convert Load/Save of Character Buffs to Repositories

# Notes
- Convert `LoadBuffs` to repositories.
- `SaveBuffs` was already using repositories, cleanup logic.

# Images
## Load

## Save

* Update repository.

* Update zonedb.cpp
2024-01-07 00:05:27 -06:00
Alex King
f3de3e8c31
[Pets] Convert Load/Save of Pet Info to Repositories (#3853)
* [Pets] Convert Save/Load of Pet Info to Repositories

- Convert `LoadPetInfo` to repositories.
- `SavePetInfo` already used repositories, cleanup logic.

* Update repositories.

* Update zonedb.cpp
2024-01-06 23:59:02 -06:00
Alex King
c0769a9c29
[Character] Convert Load/Save of Character Bind to Repositories (#3851)
# Notes
- Convert `LoadCharacterBindPoint` to repositories.
- `SaveCharacterBinds` was already using repositories, cleanup logic.

# Images
## Load

## Save
2024-01-06 23:46:24 -06:00
Alex King
2dd0e51936
[Character] Convert Delete/Load/Save of Character Disciplines to Repositories (#3850)
* [Character] Convert Delete/Load/Save of Character Disciplines to Repositories

- Convert `DeleteCharacterDiscipline` and `SaveCharacterDiscipline` to repositories.
- `LoadCharacterDiscipline` already used repositories, cleaned up the logic.

* Update effects.cpp

* Update client.cpp

* Update effects.cpp

* Update client.cpp

* Update zonedb.cpp

* Update client.cpp
2024-01-06 23:41:01 -06:00
Alex King
fd787af53a
[Character] Convert Delete/Load/Remove/Save of Character AA to Repositories (#3849)
* [Character] Convert Delete/Load/Remove/Save of Character AA to Repositories

- Convert `DeleteCharacterAAs`, `LoadAlternateAdvancement`, `RemoveExpendedAA` and `SaveAA` to repositories.
- Add `AACategory` namespace for AA Categories.
- Cleanup some logic/formatting in modified methods.

* Move namespace.
2024-01-06 23:30:04 -06:00
Alex King
aa39ac8023
[Character] Convert Load/Save of Character Currency to Repositories (#3848)
* [Character] Convert Load/Save of Character Currency to Repositories

- Convert `LoadCharacterCurrency` and `SaveCharacterCurrency` to repositories.

* Update zonedb.cpp
2024-01-06 23:28:37 -06:00
Alex King
397096996c
[Character] Convert Delete/Load/Save of Character Bandolier to Repositories (#3845)
* [Character] Convert Delete/Load/Save of Character Bandolier to Repositories

- Converts `DeleteCharacterBandolier`, `LoadCharacterBandolier`, and `SaveCharacterBandolier` to repositories.

* Update zonedb.cpp

* Update zonedb.cpp

* Update zonedb.cpp

* Update zonedb.cpp

* Update zonedb.cpp
2024-01-06 23:25:13 -06:00
Alex King
f8de9b9167
[Character] Convert Load/Save of Character Potion Belt to Repositories (#3844)
* [Character] Convert Load/Save of Character Potion Belt to Repositories

- Converts `LoadCharacterPotionBelt` and `SaveCharacterPotionBelt` to repositories.

* Update zonedb.cpp

* Update zonedb.cpp
2024-01-06 23:15:58 -06:00
Alex King
9d48cbcd29
[Character] Convert Load/Save of Character Skills to Repositories (#3843)
* [Character] Convert Load/Save of Character Skills to Repositories

- Converts `LoadCharacterSkills` and `SaveCharacterSkill` to repositories.

* Update zonedb.cpp
2024-01-06 23:13:39 -06:00
Alex King
eb5eb0ca30
[Character] Convert Delete/Load/Save of Character Spells to Repositories (#3842)
* [Character] Convert Delete/Load/Save of Character Spells to Repositories

- Converts `DeleteCharacterSpell`, `LoadCharacterSpellBook`, and `SaveCharacterSpell` to repositories.

* Update zonedb.cpp
2024-01-06 23:12:40 -06:00
Alex King
bc4bebb4a9
[Character] Convert Delete/Save of Character Memmed Spells to Repositories (#3841)
* [Character] Convert Delete/Save of Memmed Spells to Repositories

- Converts `DeleteCharacterMemorizedSpell` and `LoadCharacterMemmedSpells` to repositories.

* Update zonedb.cpp

* Update zonedb.cpp
2024-01-06 23:09:12 -06:00
Alex King
411fe3d95d
[Character] Convert Load/Save of Character Data to Repositories (#3839)
* [Character] Convert Load/Save of Characters to Repositories

 # Notes
- `LoadCharacterData` and `SaveCharacterData` now use repositories.

* Update zonedb.cpp
2024-01-06 23:05:44 -06:00
Alex King
c1e984dfc1
[Character] Convert Delete/Load/Save of Character Material to Repositories (#3846)
* [Character] Convert Delete/Load/Save of Character Material to Repositories

- Convert `DeleteCharacterMaterialColor`, `LoadCharacterMaterialColor`, and `SaveCharacterMaterialColor` to repositories.

* Cleanup
2024-01-06 23:03:54 -06:00
Alex King
a5d9a8596a
[Character] Convert Delete/Load/Save of Character Leadership Abilities to Repositories (#3847)
# Notes
- Converts `DeleteCharacterLeadershipAbilities`, `LoadCharacterLeadershipAbilities`, and `SaveCharacterLeadershipAbilities` to repositories.

# Images
## Load

## Save

## Delete
2024-01-06 22:42:56 -06:00
Chris Miles
51cd43b4ea
[Player Events] Bulk replace settings on boot (#3806) 2023-12-27 20:04:29 -06:00
Chris Miles
d31cb09214
[Logs] Bulk insert new log settings (#3810) 2023-12-27 20:04:01 -06:00
Chris Miles
8bedcd8751
[Tasks] Add enabled column (#3804)
* [Tasks] Add enabled column

* Update task_manager.cpp

* Update task_manager.cpp

* Update base_tasks_repository.h
2023-12-27 20:03:53 -06:00
Chris Miles
7a72d5d67e
[Repositories] Add ReplaceOne and ReplaceMany (#3802) 2023-12-25 20:53:44 -05:00
regneq
25872203ff
[NPC] Support for multiple emotes per type, emote variables (#3801)
* [forage rule feature] add a rule to disabled using common_food_ids from the list in forage.cpp.  currently set to enabled.

* NPC database emotes now supports basic variables. More than one variable can be used at a time.

* Format manifest

* Formatting

* Formatting

* Formatting

---------

Co-authored-by: Akkadius <akkadius1@gmail.com>
2023-12-24 23:28:57 -06:00
nytmyr
bdf5f8b4a3
[Bots] [Quest API] Add ^clickitem, ^timer, fix GetBestBotSpellForCure (#3755)
* [Bots][Quest API] Add ^clickitem, ^timer, revamp bot timers, fix GetBestBotSpellForCure

This adds the command **^clickitem** for bots.
Bots can click items they are wearing with the provided slot ID, players can use **^invlist** on their bots to see items and slot IDs.
This supports actionables.
**^itemclick 13 byclass 11** would command all Necromancer bots to attempt to click their Primary item.

This adds and supports charges for items to bots, when an item is used, it will lose a charge and cannot be clicked once no charges remain.

This adds the following rules:
**Bots, BotsClickItemsMinLvl** - Minimum level bots can use **^clickitem**.
**Bots, BotsCanClickItems** - Whether or not **^clickitem** is allowed for bots.
**Bots, CanClickMageEpicV1** - Whether or not players are allowed to command their bots to use the Magician Epic 1.0

This adds quest methods to Perl/Lua for:
ClearDisciplineReuseTimer, ClearItemReuseTimer, ClearSpellRecastTimer
GetDisciplineReuseTimer, GetItemReuseTimer, GetSpellRecastTimer
SetDisciplineReuseTimer, SetItemReuseTimer, SetSpellRecastTimer

Discipline and Spell methods use the spell_id to check, get and set. Item uses the item_id.
Clear and Get support wildcards (no spell/item id) to clear all timers of the type or get the first timer of the type.
Get will return the remaining time on the chosen timer, if any.
Set supports a wildcard (no recast/reuse provided) to use the default of the provided type, you can also specify a recast/reuse timer to set that timer to the chosen value.

**^timer** has been added as a bot command, defaulted for GM access.
This can be used to set, get and clear timers of different types. Use **^timer help** for info.

This revamps the way timers are set, stored, loaded for bots.

**GetBestBotSpellForCure** was previously checking only the first spell found and not properly iterating through the checks.

This requires modifications to the **bot_timers** table and is included in this commit.

* Rebase Conflicts

* Update queries to use repositories

* Minor adjustment

* Formatting

* Handle delete as well

* Cleanup.

* Adjust primary keys to prevent conflicts

---------

Co-authored-by: Akkadius <akkadius1@gmail.com>
Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
2023-12-17 14:53:34 -05:00
Alex King
553bafdbe1
[Bug Fix] Fix Starting Items SQL (#3766)
* [Bug Fix] Fix Starting Items SQL

# Notes
- `race_list` comes before `class_list`,query had them in the wrong order.

* Real fix.

* Update database_update_manifest.cpp

* Manifest change

* Repository generate

---------

Co-authored-by: Akkadius <akkadius1@gmail.com>
2023-12-16 00:45:27 -06:00
Fryguy
841d7f2700
[Bug] PR 3638 Missed the blocked spells repository updates (#3748)
Ran generator to update blocked_spells Repo
2023-12-08 15:19:54 -05:00
Alex King
56c29154f0
[Database] Add primary key to keyring table (#3746)
* [Database] Add primary key to keyring table

# Notes
- Adds a primary key of `id` to `keyring` table so we can use it with repositories.

* Update version.h

* Update client.cpp

* Update client.cpp
2023-12-07 23:12:01 -05:00
Alex King
b03f52de18
[Commands] Cleanup #object Command (#3722)
* [Commands] Cleanup #object Command

# Notes
- Cleanup messages and logic.
- Introduce enum for object types.
- Set ground work for object manipulation similar to door manipulation.

* Update object_manipulation.cpp

* Final push

* Update client_packet.cpp

* Update object_manipulation.cpp

* Update object_manipulation.cpp

* Update object.h

* Update client_packet.cpp

* Update client_packet.cpp

* Push.

* Update version.h

* Update database_update_manifest.cpp

* Update zone.cpp
2023-12-03 17:42:27 -05:00
JJ
2427f7e034
[Database] Modify updated column in items table with proper default. (#3726)
* [Database] Modify `updated` column in `items` table with proper default.
From https://mariadb.com/kb/en/datetime/, `datetime` can be ZERO_DATE (`0000-00-00` with no time component) or between `1000-01-01 00:00:00.000000` and `9999-12-31 23:59:59.999999`. Currently, `updated` is the only datetime field that is `NOT NULL` and improperly defaulted to `0000-00-00 00:00:00`. This change matches existing structures of the other `datetime` columns.

* Update items_repository.h

* Update base_items_repository.h

* Revert "Update items_repository.h"

This reverts commit 3599f26818f31bd8efd3a1e0d9cb9bf5d40785c5.
2023-12-01 21:10:52 -05:00
Alex King
33b40e83b7
[Database] Consolidate Starting Items Table (#3723)
* [Database] Consolidate Starting Items Table

# Notes
- Convert `class`, `deityId`, `race`, and `zoneid` columns to `|` separated columns.
- Consolidates up to 15 rows per item down to a singular row.
- Allows ease of use for operators.
- Entire process is automated and creates a backup of pre-existing table.

* Update shareddb.cpp

* Unnecessary.
2023-11-30 14:37:08 -05:00
Alex King
692a90f3f0
[Commands] Add #show aas Command (#3710)
# Notes
- Allows operators to view AAs a player has purchased from ingame and their ranks.
2023-11-26 00:27:02 -05:00
Alex King
838ffbd8c7
[Commands] Add #show aa_points Command (#3695)
# Notes
- Adds a command to view a player's current, spent, and total AA Points.
2023-11-18 19:23:35 -05:00
regneq
ded82ac6d6
[Spawn] (imported from takp) Added min_time and max_time to spawnentry. This will prevent a NPC from… (#3685)
* Added mintime and maxtime to spawnentry. This will prevent a NPC from spawning outside of the times specified. NPCs spawned in this way will then behave like normal NPCs. They will not despawn on their own, unlike spawn_events/spawn_conditions. NPCs using this that are alone in their spawngroup will attempt to spawn after their respawn timer has expired if the time of day is outside their range. Otherwise, another NPC in the spawngroup will be chosen to spawn. The normal rules (chance, spawn_limit) still apply to these NPCs, this is just another rule added to the system.

mintime and maxtime both represent the in-game EQ Hour. Valid values are 1-24. If either or both of the values are 0, then the NPC will not have any time restriction.

Added a new rule World:BootHour. This allows server admins to specify the EQ hour the server will boot to. Valid options are 1-24. Setting this rule to 0 (default) disables it and world will use whatever time is specified in the DB.

* generated base_spawnentry_repository.h from script

* removed the rule insert from database_update_manifest.cpp.

* Add logging, initializers, minor cleanup

* Remove if/else branch

* Update eqtime.cpp

* Initializers, logging

---------

Co-authored-by: Akkadius <akkadius1@gmail.com>
2023-11-18 14:23:04 -06:00
Chris Miles
0811a899d1
[Spawn] Split spawn2 enabled into its own state table (#3664)
* [Spawn] Split spawn2 enabled into its own state table

* Update spawn2.cpp

* Update repo

* Make spawn2 enabled/disabled instance aware

* Update questmgr.cpp

* Make sure packet stuff is aware of instance_id

* Update questmgr.cpp

* Update database_update_manifest.cpp

* Cleanup

* Revert "Cleanup"

This reverts commit 64b58bfc5273dac13bb88f92522e31773bb80ffc.

* Update database_instances.cpp
2023-11-06 17:34:42 -06:00
Alex King
a4f2ed28f1
[Feature] Add Bot Starting Items (#3634)
* [Feature] Add Bot Starting Items

# Notes
- This table is similar to the player starting items table, however it uses bitmasks.
- Allows operators to give bots gear on creation.
- `races` of `0` for all races.
- `classes` of `0` for all classes.

* Update bot.cpp

* Update database_update_manifest_bots.cpp
2023-10-17 18:00:41 -04:00
Chris Miles
714b474d2c
[Character] Record character stats to character_stats_record table (#3522)
* [Character] Record character stats to

* Record stats on disconnect as well

* Record later in connect process

* Move enter zone code path so we're after bonuses

* Ok this spot for real

* Adjust recording

* Update client_packet.cpp

* Timestamps

* Update database_update_manifest.cpp

* Update client_packet.cpp

* Fix stat bonuses
2023-08-05 12:55:59 -05:00
Mitch Freeman
e24d82f0fe
[Bug Fix] Bug fix for raid mark NPC across zones (#3525)
* Fix for GENERIC_9_STRINGS

* Add Bot Heal Message Display

Creates a new rule to display Bot heal messages to the Bot Owner

* 2021-03-25 11L04pm

Spell and Heal Rule added to allow for Bot spell and heal damage to be sent to the Bot Owner's Group.  Also added a check to remove duplicate message for #damage on self.

* Update .gitignore

* BOT work

Added BOT logging damage/heals to owner
Added BOT message to owner for harmony fails
Made var Critical global to remove duplicate crit messages
Added a NULL check to Mob:GetCleanname()

* Bot Group Work

Fixed botid=charid spawn on zone issue
Added a group_list update on zone to refresh from database to fix a dangling pointer to a Bot object that was camped but was previously in a group within the zone being entered.
Modified Bot::ProcessBotGroupInvite to use the client of the bot when doing the Bot initialization so that a leader can invite another owner's Bot

* Jan 4

Basic structure in place for Raid::AddBot though not working

* Basement Jan 5

* End of day Jan 5
Working Raid Invite to a Bot.

* Update to Client::QueuePacket to not attempt to send a packet to a BoT.  Not clean, but a broad solution.

* Updated Raid::VerifyRaid

* Some Bot Raid working

* Before VS Crash

* Use Case 1, 2, 3,4,7 working.
Need to fix 5, 6, 8

* Work on usecase 5

* A few more use cases working

* New work on Raid invite with a invitor having a group

* Bot Raid inviting working for all use cases

* A few changes

* end of day jan 10

* Jan 11

* end of day Jan 11

* Bot Invite/Accept cleanup

* Start of moving raid bot functions to their own methods

* More bot raid changes

* More raid spell work

* end of day Jan 16

* spawn work

* Spawn on login working

* End of Day Jan 18

* Raid leader and mana/hp updates fixed

* Spell Tracking

* Issue with Bot Death in raid when casted upon.  1741 raid.cpp

* Bot Death fixed and few other crashes

* Working on botgroup removal

* Bot Disbanding Work 90%

* Looks like BOTs are working

* Fixed a bot crash

* bug tracing on entity list mismatch

* safe_delete resoves problem.  No to track down leak

* seems to be working

* Memory corruption found - sending packets to BoTs using Client class

* added Raid::IsRaidMemberBot()

* Update p_raid_instance

* g3

* Final - Bot Raid Working

* Fixed IsRaidMemberBot to remove memory leak
Fixed altcombat crash though RaidMainAssist (428) needs fixing

* add RaidMember.IsBot

* Repaired IsBot function to be more preformant.  Now works on standard performance machine

* Fixed Bard AE Target Spells
Removed assert for buffs

* updated based on Feb 2022 master updates

* Added bot_db_updates and version increment

* Cleanup of bot raid work and inclusion of bot_raid in cmake

* Fix repop crash

* Bot databse change to not use view

* Revert "Merge branch 'master' of https://github.com/neckkola/Server"

This reverts commit 18268306378a34a6f0a9015cfcb4f48364bef013, reversing
changes made to 7c1a1399918aeee1dc3f6f30e39044d7d1bec4c9.

* Updated syntax for 9230

Updated this syntax as to run on maria 10.1

* Revert "Updated syntax for 9230"

This reverts commit ffdd46c8b26a8607d41b95af3c3ab575c41f4231.

* Fix for cross zone mark npc when entity ids are reused.

* Fixed and tested

added db change
and tested across zones

* Transition to direct attributes instead of encode

Update the pattern to utilize direct raid object attributes for entity id, zone id and instance id instead of an encoded single field.
2023-08-05 12:23:33 -05:00
Alex King
a75648f73f
[Data Buckets] Distributed Databucket Caching (#3500)
* [Data Buckets] Zone-Based Data Bucket Caching

# Notes
- Adds a data bucket cache so we're not needlessly hitting the database every time we need to read a data bucket value.

* Cleanup and unify GetData access patterns

* Cache work

* Push

* Add to cache when we fetch and do a db hit

* Handle bucket misses in cache

* Formatting

* Logging

* [Data Buckets] Zone-Based Data Bucket Caching

- Adds a data bucket cache so we're not needlessly hitting the database every time we need to read a data bucket value.

* Cleanup and unify GetData access patterns

* Cache work

* Push

* Add to cache when we fetch and do a db hit

* Handle bucket misses in cache

* Formatting

* Remove redundant fetches from cache since GetData does the same thing

* Push progress

* Distributed cache work

* Logging

* Fix issue with scoping where same named keys could return overlapping results

* Misses cache tweak, logging, comments

* Add bot, client, and NPC bucket methods to Lua.

---------

Co-authored-by: Akkadius <akkadius1@gmail.com>
2023-07-24 12:22:50 -05:00
Alex King
1d96ddb60d
[Bug Fix] Escape search string in #find item (#3510) 2023-07-22 18:20:00 -04:00
Chris Miles
3f3bbe98b5
[Data Buckets] Implement scoped data buckets (#3498)
* [Data Buckets] Implement scoped data buckets

* Update database_update_manifest.cpp

* Update data_bucket.cpp

* Update data_bucket.cpp

* Update data_bucket.cpp

* Update data_bucket.h

* Update database_update_manifest.cpp

* Add GetScopedDbFilters references

* Scope transfer
2023-07-16 14:52:28 -04:00
Alex King
f25e37d0c5
[Commands] Consolidate #set-like commands into a singular #set command (#3486)
* First push

* Final push.

* Consolidate zone commands in to one.

* Update command.cpp

* Remove debug messages.

* Test

* Add support for sub command status levels.

* Update command.cpp

* Update client.cpp

* Update database_update_manifest.cpp

* Update version.h

* Update item.cpp

* Update version.h

* Update database_update_manifest.cpp

* Fix command arguments.

* Help message.

* Update command.cpp

* Do DB injection/deletion

* Indent

* Update server_locked.cpp

* Update set.cpp

* Lock aliases

* Update command_subsettings_repository.h

* Update set.cpp

* Fix

---------

Co-authored-by: Akkadius <akkadius1@gmail.com>
2023-07-15 00:37:51 -05:00
Alex King
e55f9b9d27
[Feature] Add Support for item textures higher than 65,535 (#3494)
* [Feature] Add Support for item textures higher than 65,535

# Notes
- We were previously using `uint16` which has a max of `65,535`, but some of the new Live textures that are being used have values way beyond this.
- Updates quest API, commands, and database tables that also used `uint16`.

* Update version.h
2023-07-14 18:49:59 -04:00
Mitch Freeman
b01486d767
[Feature] Update raid features (#3443)
* [RAID] Add Raid Features

[RAID] Add Raid Features

- Add delegate main assist
- Add delegate main marker
- Add target ring for main assisters.  Uses MA1, then MA2, then MA3
- Add /assist raid respecting /assist on and /assist off
- Add Raid Notes.  Functions across zones
- Add Raid XTarget functional
- Raid Leader can mark without being delegated Main Marker.  Must have the appropriate AA

* Update to new db routines

* Updated several formatting issues based on review

* Update to pp->tribute_time_remaining to avoid edge case.  Unrelated to raid updates.

* Updates to resolve comments/review.
Added a few edge case updates as well.

* Refactored to use database repositories for raid_details and raid_members.  Other updates as noted in review.

* Updated database manifest and fixed potential leak within Client::Handle_OP_AssistGroup

* Update for remaining review items

* Refactor SendAssistTarget to use struct/vector loop

* Have IsAssister use range based for loop and return bool

* General cleanup

* Simplify SendRaidAssistTarget to use struct / vector

* Formatting in Handle_OP_RaidDelegateAbility

* Format SendRemoveRaidXTargets and clean up error statements

* Format SendRemoveAllRaidXTargets

* Formatting

* Default return FindNextRaidDelegateSlot to -1

* Change fields to marked_npc_1/2/3 (missing last underscore)

---------

Co-authored-by: Akkadius <akkadius1@gmail.com>
2023-07-12 22:04:50 -05:00
Alex King
2717fcc339
[Quest API] Add ClearAccountFlag() and GetAccountFlags() to Perl/Lua (#3469)
* [Quest API] Add ClearAccountFlag() and GetAccountFlags() to Perl/Lua

# Perl
- Add `$client->ClearAccountFlag(flag)`.
- Add `$client->GetAccountFlags()`.

# Lua
- Add `client:ClearAccountFlag(flag)`.
- Add `client:GetAccountFlags()`.

# Notes
- Made use of repositories and cleaned up existing code.

* Update lua_client.cpp

* Don't use auto.
2023-07-03 01:19:48 -05:00
Alex King
42a2e19e73
[Commands] Consolidate #findX commands to a singular #find Command (#3452)
* Push up example for Kingly

* Update aa.cpp

* Update find.cpp

* Bulk push.

* Update aa.cpp

* Cleanup

* Repository method.

* Static aliasing

* Aliases

* Fix alias error.

* Update zone.cpp

* Update command.cpp

* Update find.cpp

---------

Co-authored-by: Akkadius <akkadius1@gmail.com>
2023-06-27 21:53:20 -05:00