Alex King
e182d685d3
[Commands] Convert NPC Spawn Methods to Repositories ( #3956 )
...
* [Commands] Convert NPC Spawn Methods to Repositories
# Notes
- Convert `AddNewNPCSpawnGroupCommand()`, `AddNPCTypes()`, `AddSpawnFromSpawnGroup()`, `CreateNewNPCCommand()`, `DeleteSpawnLeaveInNPCTypeTable()`, `DeleteSpawnRemoveFromNPCTypeTable()`, `NPCSpawnDB()`, and `UpdateNPCTypeAppearance()`.
* Regenerate.
* Cleanup.
2024-01-12 23:02:19 -06:00
Alex King
6968a70310
[Cleanup] Cleanup Owner Related Mob Methods ( #3960 )
...
* [Cleanup] Cleanup Owner Related Mob Methods
# Notes
- Cleanup `GetOwner()`, `GetOwnerOrSelf()`, `GetUltimateOwner()`, `HasOwner()`, and `IsPet()` methods.
* Update mob.cpp
2024-01-12 22:59:30 -06:00
Alex King
06e8d258e4
[Objects] Convert Add/Delete/Update of Objects to Repositories ( #3966 )
...
* [Objects] Convert Add/Delete/Update of Objects to Repositories
- Convert `AddObject()`, `DeleteObject()`, and `UpdateObject()` to repositories.
* Update object_manipulation.cpp
* Update object_manipulation.cpp
* Update object_manipulation.cpp
2024-01-12 22:55:46 -06:00
Alex King
8cb15f9357
[Pets] Convert Pets to Repositories ( #3968 )
...
* [Pets] Convert Pets to Repositories
# Notes
- Convert `GetPoweredPetEntry()` to repositories.
* Update pets.cpp
2024-01-12 22:41:56 -06:00
Alex King
eb33e5a064
[Ground Spawns] Convert Ground Spawns to Repositories ( #3967 )
...
# Notes
- Convert `LoadGroundSpawns()` to repositories.
2024-01-12 22:41:08 -06:00
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
Alex King
1238a6ca68
[Traps] Convert Load of LDoN Traps/Trap Entries to Repositories ( #3953 )
...
- Convert `LoadLDoNTraps()` and `LoadLDoNTrapEntries()` to repositories.
2024-01-12 20:05:00 -05: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
Alex King
24eb40d231
[Experience Modifiers] Convert Load of Level Experience Modifiers to Repositories ( #3952 )
...
# Notes
- Convert `LoadLevelEXPMods()` to repositories.
2024-01-12 02:46:33 -06:00
Alex King
2475092ed9
[Cleanup] Cleanup AddCash() and RemoveCash() NPC Methods ( #3957 )
...
# Notes
- `AddCash()` was `uint16` in C++/Perl and `int` in Lua, fix these to `uint32`.
- Consolidate logic in `AddCash()`.
2024-01-12 01:53:01 -06:00
Alex King
53d6e449c2
[Cleanup] Cleanup ChangeSize() ( #3959 )
...
# Notes
- Use `EQ::Clamp()` for logic instead of basic comparsions.
- Rename restriction parameter to `unrestricted`.
2024-01-12 01:51:02 -06:00
Alex King
b61649a2a0
[Cleanup] Cleanup RandomizeFeatures() ( #3958 )
...
# Notes
- Uses pre-defined constants and cleanup code.
- Move `IsPlayerRace()` check so it's an early return instead of using an `else`.
2024-01-12 01:50:06 -06:00
Alex King
ef635cb257
[Bug Fix] Fix Issue with SetFlyMode() ( #3961 )
...
# Notes
- Variable and parameter had the same name, meaning this could fail.
2024-01-12 01:35:30 -06:00
Alex King
9da713a830
[Bug Fix] Remove duplicate character_data repository in zonedb.cpp ( #3935 )
...
# Notes
- Must have been a typo from one of my commits where they overlapped in functionality.
2024-01-08 23:22:42 -05:00
Alex King
7d194083aa
[Release] 22.41.0 ( #3939 )
...
### Bug
* DI Buff Fade ([#3919 ](https://github.com/EQEmu/Server/pull/3919 )) @fryguy503 2024-01-08
* NPCs will now only proc on hit ([#3913 ](https://github.com/EQEmu/Server/pull/3913 )) @fryguy503 2024-01-08
* Pets should not ignore Z axis ([#3912 ](https://github.com/EQEmu/Server/pull/3912 )) @fryguy503 2024-01-08
### Fixes
* Disciplines should show when someone casts them. ([#3901 ](https://github.com/EQEmu/Server/pull/3901 )) @fryguy503 2024-01-08
* Fix Typo in Character Skills loading ([#3937 ](https://github.com/EQEmu/Server/pull/3937 )) @Kinglykrab 2024-01-09
* Fix for HasLockoutByCharacterID ([#3927 ](https://github.com/EQEmu/Server/pull/3927 )) @fryguy503 2024-01-08
* Harm Touch, Improved Harm Touch, and Unholy Touch ([#3904 ](https://github.com/EQEmu/Server/pull/3904 )) @fryguy503 2024-01-08
* Legacy Manaburn should have hard cap. ([#3905 ](https://github.com/EQEmu/Server/pull/3905 )) @fryguy503 2024-01-08
* TGB - Added logic to stop bard errors on group songs. ([#3906 ](https://github.com/EQEmu/Server/pull/3906 )) @fryguy503 2024-01-08
* World Shutdown Filter ([#3930 ](https://github.com/EQEmu/Server/pull/3930 )) @fryguy503 2024-01-08
### Info
* Adding textual feedback when trying to sell alt items back to … ([#3917 ](https://github.com/EQEmu/Server/pull/3917 )) @fryguy503 2024-01-08
### Rules
* Backstab Damage Modifier ([#3908 ](https://github.com/EQEmu/Server/pull/3908 )) @fryguy503 2024-01-08
* Classic Tradeskill Skill Clamp ([#3914 ](https://github.com/EQEmu/Server/pull/3914 )) @fryguy503 2024-01-08
* Classic Triple Attack ([#3903 ](https://github.com/EQEmu/Server/pull/3903 )) @fryguy503 2024-01-08
* Ensure mana taps only effect NPC's that have mana. ([#3907 ](https://github.com/EQEmu/Server/pull/3907 )) @fryguy503 2024-01-08
* Over Taunt Hate ([#3900 ](https://github.com/EQEmu/Server/pull/3900 )) @fryguy503 2024-01-08
* Stun Chance Percent Rule ([#3922 ](https://github.com/EQEmu/Server/pull/3922 )) @fryguy503 2024-01-08
2024-01-08 20:31:13 -06:00
Alex King
dd41fc5fcd
[Bug Fix] Fix Typo in Character Skills loading ( #3937 )
2024-01-08 21:18:55 -05:00
Alex King
7803170d6b
[Hotfix] Fix typo on ZoneDatabase::LoadPetInfo ( #3871 )
2024-01-07 00:43:10 -06: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
44d63c47d9
[Account] Convert UpdateGMStatus to Repositories ( #3859 )
...
- Convert `UpdateGMStatus` to repositories.
- Convert parameter of status to `int`.
2024-01-07 00:24:02 -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
1227f35382
[Cleanup] Remove bot-based saylink method ( #3852 )
...
# Notes
- With the new saylink functionality, bots no longer need their own saylink method.
2024-01-06 23:48:37 -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
05f09b56e6
[Commands] Cleanup #petname Command ( #3829 )
...
# Notes
- Cleanup messages and logic.
2024-01-06 23:08:24 -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
Alex King
7e23d798d5
[Commands] Cleanup #fixmob Command ( #3828 )
...
# Notes
- Cleanup messages and logic.
2024-01-06 22:29:40 -06:00
Alex King
47ab8910a3
[Commands] Cleanup #shutdown Command ( #3830 )
...
# Notes
- Cleanup messages and logic.
- Add a confirmation so operators don't accidentally shutdown the zone they're in thinking this is `#worldshutdown` instead.
2024-01-06 22:29:07 -06:00
Alex King
259add68f5
[Commands] Cleanup #appearance Command ( #3827 )
...
* [Commands] Cleanup #appearance Command
# Notes
- Cleanup messages and logic.
- Cleanup appearance type constants to use a namespace with constexpr instead.
- Cleanup animation constants to use a namespace with constexpr instead.
* Update emu_constants.cpp
* Cleanup
2024-01-06 22:24:32 -06:00
Alex King
d2f5dc43a6
[Commands] Remove #zopp Command ( #3831 )
...
# Notes
- This command seems to be unused.
2024-01-06 22:18:47 -06:00
Alex King
99d2e3a8b1
[Commands] Add #clearxtargets Command ( #3833 )
...
# Perl
- Add `$client->ClearXTargets()`.
# Lua
- Add `client:ClearXTargets()`.
# Notes
- Add `#clearxtargets` command for players.
- Allows operators/players to clear their XTargets if something get stuck on it.
2024-01-06 22:18:21 -06:00
Alex King
122fe398b4
[Languages] Cleanup language constants, use repositories ( #3838 )
...
* [Languages] Cleanup languages constants
# Notes
- Cleanup formatting and logic where necessary.
- Cleaned up constants to use a namespace with `constexpr` instead.
- Changed `LoadCharacterLanguages` to use a repository instead.
* Lua GroupMessage uint8/language_id
* Lua More uint8/language_id
2024-01-06 22:17:10 -06:00
Alex King
43c4b13978
[Commands] Add scoped buckets and editing to #databuckets ( #3826 )
...
* [Commands] Cleanup #databuckets Command
# Notes
- Cleanup messages and logic.
- Utilize keyed buckets functionality optionally.
- Use repositories instead of a regular query.
* Add edit.
* Remove | in message
2024-01-06 22:10:00 -06:00
Alex King
1e8889a9fc
[Bug Fix] Fix issue with 9th/10th inventory slot ( #3835 )
...
# Notes
- Code was not checking for a `-1` value and was assuming everyone used valid bitmasks.
2024-01-03 17:34:24 -05:00
Alex King
b93dec357f
[Quest API] Fix issue with death events. ( #3823 )
...
# Notes
- Death events were happening too early so stuff checking for dead NPCs was non-functional.
2023-12-31 17:37:26 -05:00
Alex King
2f4af4f0c2
[Bug Fix] Fix crash in Client::Handle_OP_GMGoto ( #3832 )
...
# Notes
- Logic was incorrect.
2023-12-31 15:45:08 -05:00
Alex King
6c18cd0bee
[Quest API] Add HasItemOnCorpse() to Perl/Lua ( #3824 )
...
# Perl
- Add `$client->HasItemOnCorpse(item_id)`.
# Lua
- Add `client:HasItemOnCorpse(item_id)`.
# Notes
- Allows operators to see if a player has an item on any of their corpses.
- May need to address having to allocate and deallocate memory for every corpse that could possibly exist for a player.
2023-12-30 22:09:48 -06:00
Alex King
87e63e1e36
[Cleanup] Remove unused PlotPosition methods from mob.cpp/mob.h ( #3820 )
...
# Notes
- These are unused.
2023-12-30 22:07:02 -06:00
Alex King
a771882cff
[Cleanup] Remove SendStunAppearance from mob.cpp/mob.h ( #3818 )
...
# Notes
- This is unused.
2023-12-30 22:06:46 -06:00
Alex King
b3f6a8c55f
[Cleanup] Remove MakeSpawnUpdateNoDelta from mob.cpp/mob.h ( #3816 )
...
# Notes
- This is unused.
2023-12-30 22:06:33 -06:00
Alex King
4712ca471b
[Cleanup] Gender constants cleanup ( #3817 )
...
* [Cleanup] Gender constants cleanup
# Notes
- Convert to a `Gender` namespace using `constexpr`.
- Cleanup spots where we were using magic numbers for gender values.
* Cleanup
2023-12-30 11:22:09 -05:00
Alex King
836c3d6596
[Cleanup] Appearance not appearence ( #3819 )
...
# Notes
- These were misspelled.
2023-12-30 11:22:02 -05:00
Alex King
53169ae217
[Cleanup] Delete errmsg.h in common and zone ( #3821 )
...
* [Cleanup] Delete errmsg.h in common and zone
# Notes
- These files were mostly unused.
- Moved the stuff that was used to the `dbcore.h` file since it's already used.
* Remove references
2023-12-30 11:21:57 -05:00
Alex King
6396a6fbef
[Cleanup] Consolidate GetHateRandom(), GetHateRandomBot(), GetHateRandomClient(), and GetHateRandomNPC() ( #3794 )
...
* [Cleanup] Consolidate GetHateRandomBot(), GetHateRandomClient(), and GetHateRandomNPC()
# Notes
- These were separate methods and duplicated a lot of code, consolidated into the singular method using the `EntityFilterType`.
* Simplify random logic. Use filtered hate list.
* D
* D
2023-12-24 23:28:47 -06:00
Alex King
f3ef8a0993
[Quest API] Add SummonItemIntoInventory() to Perl/Lua ( #3797 )
...
* [Quest API] Add SummonItemIntoInventory() to Perl/Lua
# Perl
- Add `$client->SummonItemIntoInventory(item_data)`.
## Example
```pl
sub EVENT_SAY {
if ($text=~/#a/i) {
my %item_data = (
"item_id" => 32557,
"charges" => 1
);
$client->SummonItemIntoInventory(\%item_data);
}
}
```
# Lua
- Add `client:SummonItemIntoInventory(item_data)`.
## Example
```lua
function event_say(e)
if e.message:find("#a") then
local item_data = {
"item_id" = 32557,
"charges" = 1
}
e.self:SummonItemIntoInventory(item_data)
end
end
```
* Update effects.cpp
2023-12-22 02:45:40 -06:00
Alex King
e06c7d7735
[Quest API] Add GetHateTopBot(), GetHateTopClient(), and GetHateTopNPC() to Perl/Lua ( #3793 )
...
# Perl
- Add `$mob->GetHateTopBot()`.
- Add `$mob->GetHateTopClient()`.
- Add `$mob->GetHateTopNPC()`.
# Lua
- Add `mob:GetHateTopBot()`.
- Add `mob:GetHateTopClient()`.
- Add `mob:GetHateTopNPC()`.
2023-12-22 02:41:32 -06:00
Alex King
b3bd44cd76
[Bug Fix] Fix can_riposte parameter in DoMeleeSkillAttackDmg ( #3792 )
...
# Note
- `can_riposte` logic was reverse, setting to `true` caused the attack to not be able to be riposted, the opposite of the intended functionality.
2023-12-18 22:27:58 -05:00
Alex King
75a627a3a2
[Bug Fix] Disable Hide/Improved Hide on Trap damage ( #3791 )
...
# Notes
- Further fixes an issue where traps don't drop hide/invisible.
2023-12-18 22:24:03 -05:00
Alex King
5cc87cbda7
[Bug Fix] Fix Bard Invisibility Songs breaking every 4 ticks ( #3783 )
...
# Notes
- Fixes #2361 .
2023-12-18 18:10:28 -06:00
Alex King
b3cd4e63f1
[Bug Fix] Drop Invisibility when hit by traps ( #3785 )
...
# Notes
- Resolves https://github.com/EQEmu/Server/issues/663 .
# Video
[Drop Invisibility Trap Test](https://github.com/EQEmu/Server/assets/89047260/d6e96704-ee6d-4b16-bd52-4122e3b37577 )
2023-12-18 15:37:53 -06:00
Alex King
b19ad64800
[Bug Fix] Send Entity ID in Death Events to resolve #3721 ( #3779 )
...
* [Bug Fix] Send Entity ID in Death Events to resolve #3721
# Notes
- Due to some pointers becoming invalid you may get an invalid entity ID on the killed mob if we don't just directly send the entity ID in the export string.
* Update attack.cpp
* Remove GetID() export.
2023-12-17 19:43:41 -06:00
Alex King
2cd3d27c67
[Quest API] Add GetNPCAggro() and SetNPCAggro() to Perl/Lua ( #3781 )
...
* [Quest API] Add GetNPCAggro() and SetNPCAggro() to Perl/Lua
# Perl
- Add `$npc->GetNPCAggro()`.
- Add `$npc->SetNPCAggro(in_npc_aggro)`.
# Lua
- Add `npc:GetNPCAggro()`.
- Add `npc:SetNPCAggro(in_npc_aggro)`.
# Notes
- Allows operators to enable or disable an NPC's NPC aggro capability dynamically.
* Update api_service.cpp
2023-12-17 20:34:06 -05:00
Alex King
d3b46becd0
[Bug Fix] Fix NPCs routing to 0.0, 0.0 on #summon ( #3780 )
...
# Notes
- Resolves #2474 .
2023-12-17 20:24:24 -05:00
Alex King
4ca6485398
[Bug Fix] Fix issue with HOTBonusHealingSplitOverDuration Rule ( #3776 )
...
# Notes
- This rule didn't function properly since we didn't add extra heal regardless of rule setting.
2023-12-16 22:48:19 -06:00
Alex King
0c9c2e25c1
[Quest API] Add EVENT_CRYSTAL_GAIN and EVENT_CRYSTAL_LOSS to Perl/Lua ( #3735 )
...
* [Quest API] Add EVENT_CRYSTAL_GAIN and EVENT_CRYSTAL_LOSS
- Add `$client->AddEbonCrystals(amount)`.
- Add `$client->AddRadiantCrystals(amount)`.
- Add `$client->RemoveEbonCrystals(amount)`.
- Add `$client->RemoveRadiantCrystals(amount)`.
- Add `EVENT_CRYSTAL_GAIN`.
- Add `EVENT_CRYSTAL_LOSS`.
- Export `$ebon_amount`, `$radiant_amount`, and `$is_reclaim`.
- Add `client:AddEbonCrystals(amount)`.
- Add `client:AddRadiantCrystals(amount)`.
- Add `client:RemoveEbonCrystals(amount)`.
- Add `client:RemoveRadiantCrystals(amount)`.
- Add `event_crystal_gain`.
- Add `event_crystal_loss`.
- Export `e.ebon_amount`, `e.radiant_amount`, and `e.is_reclaim`.
- Allows operators to add or remove Ebon/Radiant Crystals directly.
- Allows operators to track gain/loss of Ebon/Radiant Crystals.
* Update perl_client.cpp
* Update lua_client.cpp
2023-12-16 22:47:13 -06:00
Alex King
9739c1c8ef
[Quest API] Add EVENT_ALT_CURRENCY_GAIN and EVENT_ALT_CURRENCY_LOSS to Perl/Lua ( #3734 )
...
* [Quest API] Add EVENT_ALT_CURRENCY_GAIN and EVENT_ALT_CURRENCY_LOSS
- Add `EVENT_ALT_CURRENCY_GAIN`.
- Add `EVENT_ALT_CURRENCY_LOSS`.
- Export `$currency_id`, `$amount`, and `$total.
- Add `event_alt_currency_gain`.
- Add `event_alt_currency_loss`.
- Export `e.currency_id`, `e.amount`, and `e.total.
- Convert `int8 method` to `bool is_scripted` in `Client::AddAlternateCurrencyValue`.
- Properly utilize `is_scripted` parameter in `perl_client.cpp`.
- Allows operators to perform events on alternate currency gains/losses.
* Update lua_general.cpp
* Cleanup types.
* Update lua_client.cpp
2023-12-16 22:40:24 -06:00
Alex King
8aae59eebe
[Quest API] Add EVENT_LDON_POINTS_GAIN and EVENT_LDON_POINTS_LOSS to Perl/Lua ( #3742 )
...
* [Quest API] Add EVENT_LDON_POINTS_GAIN and EVENT_LDON_POINTS_LOSS to Perl/Lua
- Add `EVENT_LDON_POINTS_GAIN`.
- Add `EVENT_LDON_POINTS_LOSS`.
- Exports `$theme_id` and `$points`.
- Add `event_ldon_points_gain`.
- Add `event_ldon_points_loss`.
- Exports `e.theme_id` and `e.points`.
- Allows operators to track gain/loss of LDoN Points of any theme.
* Update client.cpp
2023-12-16 22:31:25 -06:00
Alex King
c1b07afae9
[Quest API] Add EVENT_LOOT_ADDED to Perl/Lua ( #3739 )
...
* [Quest API] Add EVENT_ADDED_LOOT to Perl/Lua
# Perl
- Add `EVENT_ADDED_LOOT`.
- Exports `$item`, `$item_id`, `$item_name`, `$item_charges`, `$augment_one`, `$augment_two`, `$augment_three`, `$augment_four`, `$augment_five`, and `$augment_six`.
# Lua
- Add `event_added_loot`.
- Exports `e.item`, `e.item_id`, `e.item_name`, `e.item_charges`, `e.augment_one`, `e.augment_two`, `e.augment_three`, `e.augment_four`, `e.augment_five`, and `e.augment_six`.
# Notes
- Allows operators to perform events when loot is added to an NPC, such as removing the loot or keeping track of it.
* Update lua_parser_events.cpp
* Rename event.
* loot_added
* AddItem changese
2023-12-16 22:25:09 -06:00
Alex King
9c238cd08d
[Quest API] Add EVENT_LEVEL_UP and EVENT_LEVEL_DOWN to Bots ( #3750 )
...
* [Quest API] Add EVENT_LEVEL_UP and EVENT_LEVEL_DOWN to bots
# Notes
- Bots did not have these events, this will allow operators to perform events on bot level up/down.
* Update bot.cpp
2023-12-16 22:23:38 -06:00
Alex King and Akkadius
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
Alex King
77b88e3dec
[Rules] Add DOT and HOT Rules ( #3760 )
...
* [Rules] Add DOT and HOT Rules
# Notes
- Add `Spells:DOTDamageBonusSplitOverDuration` rule.
- Allows operators to disable the DOT bonus damage being split over duration and instead adds the full amount every tic.
- Add `Spells:HOTBonusHealingSplitOverDuration` rule.
- Allows operators to disable the HOT bonus healing being split over duration and instead adds the full amount every tic.
* Update effects.cpp
* Update effects.cpp
2023-12-15 19:25:38 -06:00
Alex King
aeeb350068
[Cleanup] Cleanup classes.cpp/classes.h ( #3752 )
...
* [Cleanup] Cleanup classes.cpp/classes.h
# Notes
- Remove unused methods and cleanup logic.
* Update classes.cpp
* Final push.
2023-12-13 18:38:45 -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
77045f558e
[Bug Fix] Fix 9245 SQL ( #3740 )
...
* [Bug Fix] Fix 9245 SQL
# Notes
- Should be a `;` not `,`.
* Update database_update_manifest.cpp
2023-12-04 22:21:31 -05:00
Alex King
e1fa2d5bc5
[Bug Fix] Fix Swarm Pets Requiring NPC Aggros Flag ( #3738 )
...
# Notes
- https://github.com/EQEmu/Server/pull/3595 made swarm pets require the `npc_aggro` flag to be set to attack.
2023-12-04 19:05:16 -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
Alex King
7f54e26dec
[Quest API] Add EVENT_AA_GAIN to AddAAPoints() ( #3733 )
...
# Notes
- Using this method did not call `EVENT_AA_GAIN`.
2023-12-03 12:41:06 -05:00
Alex King
11a81d8e8a
[Commands] Cleanup #zonebootup and #zoneshutdown Commands ( #3729 )
...
# Notes
- Cleanup messages and logic.
2023-12-03 12:40:54 -05:00
Alex King
e719aa43cf
[Cleanup] Remove hard-coded Status Checks ( #3727 )
...
* [Cleanup] Remove hard-coded Status Checks
# Notes
- Removed the hard-coded GM status checks since if you have access to the command we can now limit access to subcommands if necessary.
* Update client_packet.cpp
2023-12-03 11:44:30 -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
f9f45eedcd
[Commands] Cleanup #acceptrules Command ( #3716 )
...
# Note
- Cleanup messages and logic.
- Utilize repositories in database methods.
2023-11-26 01:13:08 -05:00
Alex King
93ddffa57f
[Commands] Cleanup #movement Command ( #3715 )
...
# Notes
- Cleanup messages and logic.
2023-11-26 01:13:03 -05:00
Alex King
c9993fb698
[Commands] Cleanup #list Command ( #3714 )
...
* [Commands] Cleanup #list Command
# Notes
- Cleanup messages and logic.
- Introduce a struct so we don't have to duplicate so much code.
* Update list.cpp
2023-11-26 01:12:58 -05:00
Alex King
aa0fbb8b45
[Commands] Cleanup #disarmtrap Command ( #3713 )
...
# Notes
- Cleanup messages and logic.
2023-11-26 00:27:22 -05:00
Alex King
62532c6bdd
[Bug Fix] Changing Group Leader Invalidated GetLeaderName() ( #3712 )
...
# Notes
- Utilizes fixes posted in https://github.com/EQEmu/Server/issues/3706 to resolve https://github.com/EQEmu/Server/issues/368 .
- Changing group leader caused issues because we assumed `member[0]` was always leader.
2023-11-26 00:27:15 -05:00
Alex King
f8c3c03185
[Commands] Add #task complete Command ( #3711 )
...
# Notes
- `#task complete [Task ID]` allows operators to complete an entire task without updating individual activities.
2023-11-26 00:27: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
fdc5c27061
[Quest API] Add GMMove Overloads to Perl/Lua ( #3719 )
...
# Perl
- Add `$mob->GMMove(x, y, z, heading, save_guard_spot)`.
# Lua
- Add `mob:GMMove(x, y, z, heading, save_guard_spot)`.
# Notes
- Operators weren't able to disable saving guard spots, so moving with `GMMove` meant NPCs stayed where they were moved.
2023-11-25 18:15:37 -05:00
Alex King
9477ff72ac
[Release] 22.34.2 ( #3709 )
...
### Admin
* Update date in changelog ([#3698 ](https://github.com/EQEmu/Server/pull/3698 )) @joligario 2023-11-19
### Code
* Fix typo in #giveitem ([#3704 ](https://github.com/EQEmu/Server/pull/3704 )) @Kinglykrab 2023-11-22
### Fixes
* Add "IgnoreLevelBasedHasteCaps" rule to GetHaste() ([#3705 ](https://github.com/EQEmu/Server/pull/3705 )) @jcr4990 2023-11-23
* Fix bots/Mercenaries being removed from hatelist ([#3708 ](https://github.com/EQEmu/Server/pull/3708 )) @Kinglykrab 2023-11-23
* Fix some spell types failing IsValidSpellRange check ([#3707 ](https://github.com/EQEmu/Server/pull/3707 )) @nytmyr 2023-11-23
### Loginserver
* Update ticket login table structure ([#3703 ](https://github.com/EQEmu/Server/pull/3703 )) @KimLS 2023-11-22
2023-11-24 13:23:10 -05:00
Alex King
6d8e80b1e5
[Bug Fix] Fix bots/Mercenaries being removed from hatelist ( #3708 )
...
# Notes
- https://github.com/EQEmu/Server/pull/3595 caused bots, bot pets, and mercenaries to be removed from hate list because we were only checking for `IsClient()` not `IsOfClientBotMerc()`.
- Resolves an issue mentioned [here](https://discord.com/channels/212663220849213441/1177288302383079534 ) where NPCs would run past bots/mercenaries to attack the owner.
2023-11-23 12:36:54 -05:00
Alex King
100e6698ea
[Cleanup] Fix typo in #giveitem ( #3704 )
2023-11-22 08:26:54 -05:00
Alex King
4c5013e09e
[Cleanup] Cleanup #giveitem and #summonitem ( #3692 )
...
# Notes
- Adds summoned messages for `#giveitem` and `#summonitem`.
- `#summonitem` did not stop you from summoning items beyond your status level.
2023-11-18 21:22:12 -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
Alex King
93f2bea96e
[Cleanup] Cleanup #show currencies Command ( #3693 )
...
* [Cleanup] Cleanup #show currencies Command
# Notes
- Cleans up messages.
- Adds `AA Points` as a viewable currency.
- Adds an enum for `MoneyTypes` and `MoneySubtypes` so we're not using magic numbers for `GetMoney` anymore.
- Converts money amounts to `uint64`.
* Update currencies.cpp
* Update currencies.cpp
2023-11-18 19:05:04 -05:00
Alex King
853739b538
[Feature] Add Comment to Item Data/Quest API ( #3669 )
...
* [Feature] Add Comment to Item Data/Quest API
# Perl
- Add `quest::getitemcomment(item_id)`.
- Add `quest::getitemlore(item_id)`.
- Add `$questitemdata->GetComment()`.
# Lua
- Add `eq.get_item_comment(item_id)`.
- Add `eq.get_item_lore(item_id)`.
- Add `item:Comment()`.
# Notes
- Added the ability for operators to pull these fields from item data without a database hit.
- Fixed a bug in `embparser_api.cpp` where `GetZoneGravity` was connected to the wrong methods.
* Update embparser_api.cpp
2023-11-07 18:12:39 -05:00
Alex King
6094ec9c7b
[Bug Fix] Fix GetZoneGravity package.add ( #3684 )
...
# Notes
- This was incorrect and would cause `GetZoneGravity()` to function improperly in Perl.
2023-11-07 18:12:25 -05:00
Alex King
d25cc35f1b
[Bug Fix] Add IsTGBCompatibleSpell() to package.add ( #3675 )
...
# Notes
- `IsTGBCompatibleSpell` was not exported properly.
2023-11-04 13:55:47 -04:00