Chris Miles
b5652e6010
[Saylink] Fix cases where saylinks were not being cached ( #3508 )
...
* [Saylink] Fix cases where saylinks were not being cached
* Update say_link.cpp
2023-07-19 23:57:04 -05:00
Akkadius
202d2ed496
[Release] 22.21.2
2023-07-19 23:50:47 -05:00
Akkadius
2d61cd2b9a
[Release] 22.21.1
2023-07-18 20:50:56 -05:00
Akkadius
d2aae4d79c
[Release] 22.21.0
2023-07-18 02:54:20 -05: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
Jonathan Sider
70ce81fb0a
[Bug Fix] Fix rule check and add rule for pickpocket command ( #3492 )
...
* Fix bugs in skills
-Add rule for allowing pickpocket
-Fix method that is supposed to check rule
-Changed Z axis range for pickpocket (was failing on giants)
* Add zoffset to account for taller models
2023-07-15 21:46:26 -05:00
Akkadius
e06d28ad20
[Release] 22.20.1
2023-07-15 13:30:36 -05:00
Mitch Freeman
d57489781c
[Database] Fix database manifest entry for #3443
...
Updates the syntax for mariadb 10.1
2023-07-15 13:29:34 -05:00
Chris Miles
21d65c73b7
[Release] 22.20.0 ( #3495 )
2023-07-15 00:46:42 -05:00
Alex King
8f6d606f53
[Bug Fix] Fix Tradeskill Combines with augmented items ( #3490 )
...
* [Bug Fix] Fix Tradeskill Combines with augmented items
# Notes
- Keeps players from doing tradeskill combines with augmented items.
- Behavior is Live-like, we don't need a rule since `EVENT_COMBINE` is separate and processed prior to the recipe check.
* Update tradeskills.cpp
* Update tradeskills.cpp
* Cleanup
* Update tradeskills.cpp
2023-07-15 00:39:19 -05: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
Chris Miles
809b3b6099
[Release] 22.19.0 ( #3487 )
2023-07-08 16:54:15 -05:00
Alex King
e55fb1cafd
[Commands] Consolidate #show commands into a singular #show command ( #3478 )
...
* [Cleanup] Consolidate #show commands into a singular #show command
# Notes
- All `#show` commands like `#showbuffs` are now subcommands of `#show`.
- All aliases like `#showbuffs` still function.
* Push up progress.
* Final push.
* Cleanup.
* Update ip_lookup.cpp
* emotes not emote
* Cleanup
* Update servertalk.h
* Update show.cpp
* Fix
* Final push.
* #aggro
* #who
2023-07-08 11:06:25 -04:00
Jasdac
98e56bdfe9
[Rules] Add Skills:TrivialTradeskillCombinesNoFail Rule ( #3481 )
...
* Add TrivialNoFail rule
* feedback fixes
* Update tradeskills.cpp
* Update 1392_recipe_learning.sql
* Update ruletypes.h
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
2023-07-04 22:47:56 -04:00
Akkadius
5c1be3643e
[Release] 22.18.0
2023-07-04 15:21:35 -05:00
Alex King
c2fa61b3a2
[Bug Fix] Add chatchannel_reserved_names to a new manifest ( #3482 )
...
# Notes
- This should resolve issues where the old query fails because it's adding an already existing column to another table.
2023-07-04 15:19:24 -05:00
Alex King
d3c3d7b384
[Bug Fix] Fix issue in zone store of returning reference to local variable ( #3477 )
...
# Notes
- Compiler did not like possibly returning a reference to a local variable.
2023-07-04 03:08:44 -05:00
Alex King
e9e8143778
[Release] 22.17.0 ( #3476 )
...
## [22.17.0] - 07/03/2023
### Cleanup/Feature
* Add support for bots to #showstats/#mystats ([#3427 ](https://github.com/EQEmu/Server/pull/3427 )) @Kinglykrab 2023-07-01
### Code
* Remove LoadItemDBFieldNames() from common/misc.cpp and common/misc.h ([#3473 ](https://github.com/EQEmu/Server/pull/3473 )) @Kinglykrab 2023-07-04
* Remove handle_npc_single_npc from zone/lua_parser_events.cpp and zone/lua_parser_events.h ([#3467 ](https://github.com/EQEmu/Server/pull/3467 )) @Kinglykrab 2023-07-03
### Database
* Set multi statements off when returning early ([#3462 ](https://github.com/EQEmu/Server/pull/3462 )) @Akkadius 2023-07-01
### Feature
* Add Strings::BeginsWith() and Strings::EndsWith() ([#3471 ](https://github.com/EQEmu/Server/pull/3471 )) @Kinglykrab 2023-07-03
### Fixes
* Add check for underscores in botcreate command ([#3458 ](https://github.com/EQEmu/Server/pull/3458 )) @tuday2 2023-06-29
* EVENT_LANGUAGE_SKILL_UP in Lua was using EVENT_SKILL_UP logic ([#3466 ](https://github.com/EQEmu/Server/pull/3466 )) @Kinglykrab 2023-07-03
* Fix _PutItem having a slot_id of -1 on mobs with no items ([#3474 ](https://github.com/EQEmu/Server/pull/3474 )) @Kinglykrab 2023-07-04
* Fix data type of GetAggroCount() ([#3470 ](https://github.com/EQEmu/Server/pull/3470 )) @Kinglykrab 2023-07-03
### Logging
* Fix logging crash when % are sent through query logs ([#3461 ](https://github.com/EQEmu/Server/pull/3461 )) @Akkadius 2023-07-01
### Quest API
* Add ClearAccountFlag() and GetAccountFlags() to Perl/Lua ([#3469 ](https://github.com/EQEmu/Server/pull/3469 )) @Kinglykrab 2023-07-03
* Add GetClassAbbreviation() and GetRaceAbbreviation() to Perl/Lua ([#3463 ](https://github.com/EQEmu/Server/pull/3463 )) @Kinglykrab 2023-07-02
* Add GetClassPlural() and GetRacePlural() to Perl/Lua ([#3468 ](https://github.com/EQEmu/Server/pull/3468 )) @Kinglykrab 2023-07-03
* Add GetCloseMobList() and CalculateDistance() overload to Perl/Lua ([#3455 ](https://github.com/EQEmu/Server/pull/3455 )) @Kinglykrab 2023-07-02
* Add Hate Entry Methods to Perl ([#3459 ](https://github.com/EQEmu/Server/pull/3459 )) @Kinglykrab 2023-07-02
* Add ItemData Class to Perl ([#3465 ](https://github.com/EQEmu/Server/pull/3465 )) @Kinglykrab 2023-07-02
* Add Spawn2 Class to Perl ([#3456 ](https://github.com/EQEmu/Server/pull/3456 )) @Kinglykrab 2023-07-02
* Add StatBonuses Class to Perl ([#3460 ](https://github.com/EQEmu/Server/pull/3460 )) @Kinglykrab 2023-07-02
* Add missing Item Methods to Perl/Lua. ([#3464 ](https://github.com/EQEmu/Server/pull/3464 )) @Kinglykrab 2023-07-02
2023-07-03 19:46:15 -05:00
Alex King
bc71997518
[Bug Fix] Fix _PutItem having a slot_id of -1 on mobs with no items ( #3474 )
...
# Notes
- This was causing an insane amount of error logs because we were always using `PutItem`, even with a `slot_id` of `-1`.
2023-07-03 20:33:21 -04:00
Alex King
4a9a9fa197
[Cleanup] Remove LoadItemDBFieldNames() from common/misc.cpp and common/misc.h ( #3473 )
...
# Notes
- This is unused.
2023-07-03 19:20:34 -05:00
Alex King
ee14aed8de
[Feature] Add Strings::BeginsWith() and Strings::EndsWith() ( #3471 )
...
* [Strings] Add Strings::BeginsWith() and Strings::EndsWith()
# Notes
- These are useful so that we don't have to manually calculate size or perform a substring.
* Update questmgr.cpp
* Update client.cpp
2023-07-03 09:40:44 -04: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
6a80bcecc7
[Quest API] Add missing Item Methods to Perl/Lua. ( #3464 )
...
# Perl
- Add `$questitem->AddEXP(exp)`.
- Add `$questitem->ClearTimers()`.
- Add `$questitem->Clone()`.
- Add `$questitem->DeleteCustomData(identifier)`.
- Add `$questitem->GetAugmentItemID(slot_id)`.
- Add `$questitem->GetAugmentType()`.
- Add `$questitem->GetColor()`.
- Add `$questitem->GetCustomData(identifier)`.
- Add `$questitem->GetCustomDataString()`.
- Add `$questitem->GetEXP()`.
- Add `$questitem->GetItem(slot_id)`.
- Add `$questitem->GetItemID(slot_id)`.
- Add `$questitem->GetItemScriptID()`.
- Add `$questitem->GetKillsNeeded()`.
- Add `$questitem->GetMaxEvolveLevel()`.
- Add `$questitem->GetPrice()`.
- Add `$questitem->GetTotalItemCount()`.
- Add `$questitem->IsAmmo()`.
- Add `$questitem->IsAugmentable()`.
- Add `$questitem->IsAugmented()`.
- Add `$questitem->IsEquipable(slot_id)`.
- Add `$questitem->IsEquipable(race_bitmask, class_bitmask)`.
- Add `$questitem->IsExpendable()`.
- Add `$questitem->IsInstanceNoDrop()`.
- Add `$questitem->IsWeapon()`.
- Add `$questitem->SetAttuned(is_attuned)`.
- Add `$questitem->SetColor(color)`.
- Add `$questitem->SetCustomData(identifier, bool_value)`.
- Add `$questitem->SetCustomData(identifier, float_value)`.
- Add `$questitem->SetCustomData(identifier, int_value)`.
- Add `$questitem->SetCustomData(identifier, string_value)`.
- Add `$questitem->SetEXP(exp)`.
- Add `$questitem->SetInstanceNoDrop(is_attuned)`.
- Add `$questitem->SetPrice(price)`.
- Add `$questitem->SetScaling(is_scaling)`.
- Add `$questitem->SetTimer(timer_name, timer)`.
- Add `$questitem->StopTimer(timer_name)`.
# Lua
- Add `iteminst:GetName()`.
- Add `iteminst:IsAttuned()`.
- Add `iteminst:ItemSay(text)`.
- Add `iteminst:ItemSay(text, language_id)`.
- Add `iteminst:SetAttuned(is_attuned)`.
# Notes
- Cleaned up return types and parameter types that were mismatched.
- Removed `SetItem` from Lua as it wasn't used.
- Removed unused parameter in `GetUnscaledItem` in Lua.
- I plan to add Perl ItemData support after this makes its way in, so the missing methods like the `GetItem` overload will be added then.
2023-07-02 10:27:05 -04:00
Alex King
6324e3687a
[Quest API] Add GetClassAbbreviation() and GetRaceAbbreviation() to Perl/Lua ( #3463 )
...
# Perl
- Add `$bot->GetClassAbbreviation()`.
- Add `$bot->GetRaceAbbreviation()`.
- Add `$client->GetClassAbbreviation()`.
- Add `$client->GetRaceAbbreviation()`.
# Lua
- Add `bot:GetClassAbbreviation()`.
- Add `bot:GetRaceAbbreviation()`.
- Add `client:GetClassAbbreviation()`.
- Add `client:GetRaceAbbreviation()`.
# Notes
- Allows operators to easily get a player race/class abbreviation, example being `Warrior` as `WAR`.
2023-07-02 10:26:51 -04:00
Chris Miles
7873ad3771
[Database] Set multi statements off when returning early ( #3462 )
2023-07-01 19:49:09 -04:00
Chris Miles
dfadc237e5
[Logging] Fix logging crash when % are sent through query logs ( #3461 )
2023-07-01 19:49:01 -04:00
Alex King
a1f2764978
[Cleanup/Feature] Add support for bots to #showstats/#mystats ( #3427 )
...
* Initial Push
* Update classes.cpp
* Update mob.cpp
* Update mob.cpp
* Update showstats.cpp
* Update mystats.cpp
* Remove unused variables.
* Update mob.cpp
* Update class.cpp
* Update race.cpp
* Update mob.h
2023-07-01 19:47:54 -04:00
Chris Miles
a1f154749c
[Release] 22.16.0 ( #3457 )
2023-06-28 17:51:05 -04: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
mibastian
c56b2e3e03
[Fix] Fix error in 023_01_21_bots_raid_members.sql ( #3453 )
...
world process did not start. An strace showed something wrong in 023_01_21_bots_raid_members.sql. Seemed like a snap&paste error.
2023-06-27 21:52:27 -05:00
Alex King
8d986c95cd
[Commands] Add #finddeity Command ( #3435 )
...
# Notes
- Add `#finddeity` command.
- Remove `ConvertDeityTypeBitToDeityType` as it's unused.
- Rename `ConvertDeityTypeToDeityTypeBit` to `GetDeityBitmask`.
2023-06-25 23:00:32 -05:00
Alex King
d558f9ece2
[Rules] Add ClientPetsUserOwnerNameInLastName rule ( #3442 )
...
* [Rules] Add ClientPetsUserOwnerNameInLastName rule
# Notes
- This rule defaults to `true` and maintains `Kinglykrab's Pet` as my pet's name, disabling allows you to manually modify the last name or have pets with no last name.
* Update npc.cpp
2023-06-24 20:01:40 -04:00
Alex King
223ae22f73
[Cleanup] Delete common/worldconn.cpp ( #3436 )
...
# Notes
- This is unused.
2023-06-24 13:05:45 -05:00
Chris Miles
f2c4babd8d
[Database] Fix database version checking edge case issue ( #3428 )
2023-06-22 18:00:23 -05:00
Akkadius
5249b065d3
[Release] 22.15.3
2023-06-19 19:15:42 -05:00
Akkadius
85054fedf8
[Release] 22.15.2 (Hotfix)
2023-06-19 12:00:41 -05:00
Chris Miles
6d7beb1796
[Database] Fix multi-statement error reporting ( #3425 )
2023-06-19 11:55:32 -05:00
Akkadius
67c4c26f70
[Release] 22.15.1
2023-06-19 02:21:09 -05:00
Akkadius
4092b3a2cb
[Release] 22.15.0
2023-06-19 01:38:12 -05:00
Chris Miles
5fcc83b4b6
[Database] Implement native database migrations in server ( #2857 )
...
* [Database] Implement native database updates in server
* Cleanup
* Delete db_update_manifest.txt
* Bots updates
* Final tweaks
* Revert manifest
* Tweaks
* Remove code from eqemu_server.pl
* Update database_update.cpp
* Add user prompt update skipping with timeouts
* Add termcolor IS_TTY is check
* Update database_conversions.cpp
* Remove large migrations
* Push
* fix headers.
* Remove last of non-bot large migrations
* Update database_update_manifest.cpp
* More purging
* Tweaks
* Bot migrations
* More work
* Tweaks
* Implement multi-statement query execution only for migrations
* Add CLI database:updates
* Add bootstrap commands
* Upload bootstrap sql's
* Update bot_tables_bootstrap.sql
* Update bot_tables_bootstrap.sql
* Add mercs:bootstrap and bots:bootstrap
* Update bot_tables_bootstrap.sql
* Update database.cpp
* Update bot_tables_bootstrap.sql
* More cleanup
* Add mercs:disable and bots:disable
* Update eqemu_server.pl
* Update eqemu_server.pl
* Update eqemu_server.pl
* Test cases
* Update eqemu_server.pl
* Delete 2023_05_08_character_tribute_primary_key.sql
* Post rebase fixes
* Post rebase tweaks
* Delete errant files
* Rebase files from master
* More adjustments
* Delete files no longer used
* Add missing migrations
* bots:bootstrap is now bots:enable
---------
Co-authored-by: Aeadoin <109764533+Aeadoin@users.noreply.github.com>
2023-06-19 01:31:07 -05:00
Chris Miles
1f25639dd3
[Release] 22.14.1 ( #3420 )
2023-06-18 15:38:50 -05:00
Alex King
6efb9ec228
[Quest API] Add convert_money_to_string() to Perl/Lua ( #3418 )
...
* [Quest API] Add convert_money_to_string() to Perl/Lua
# Perl
- Add `quest::convert_money_to_string(money_hash)`.
# Lua
- Add `eq.convert_money_to_string(money_table)`.
# Notes
- Allows operators to convert money in to a readable string using `Strings::Money`.
# Examples
## Perl
```pl
sub EVENT_SAY {
if ($text=~/#a/i) {
my %money_data = (
"platinum" => 3123,
"gold" => 5692,
"copper" => 9
);
quest::message(315, quest::convert_money_to_string(%money_data));
}
}
```
## Lua
```lua
function event_say(e)
if e.message:find("#a") then
local money_data = {
gold = 12,
silver = 523904,
copper = 3
}
eq.message(315, "Lua: " .. eq.convert_money_to_string(money_data))
end
end```
* Update lua_general.cpp
2023-06-18 15:29:14 -04:00
Chris Miles
a663c822e8
[CLI] Add mercs:enable and mercs:disable commands ( #3416 )
...
* [CLI] Add `mercs:enable` and `mercs:disable` commands
* Update descriptions
2023-06-17 19:30:36 -05:00
Chris Miles
cf49b2fe49
[CLI] Add bots:enable and bots:disable commands ( #3415 )
...
* [CLI] Add `bots:enable` and `bots:disable` commands
* Add input warning
2023-06-17 18:48:47 -05:00
Chris Miles
b45e0e80b5
[Database] Add query multi statement execution support ( #3414 )
2023-06-17 18:20:13 -05:00
Chris Miles
3200145d01
[CLI] Console menu validation fixes ( #3413 )
2023-06-17 18:19:55 -05:00
Chris Miles
53563b9720
[Backups] Move world database:dump to use MySQL credentials file ( #3410 )
2023-06-17 18:16:29 -05:00
Chris Miles
1e22baf267
[Logging] Logging improvements, console silencing, terminal coloring ( #3412 )
2023-06-17 18:16:21 -05:00