Akkadius
7e94f0ac72
[Release] 22.47.0
2024-03-05 22:18:16 -06:00
Chris Miles
2aa19f4cae
[Release] 22.47.0 ( #4164 )
2024-03-05 22:04:35 -06:00
Mitch Freeman
805829f15d
[Crash Fix] Added a guild_mgr check ( #4163 )
...
* CrashFix and Cleanup
* Formatting, add safe_delete
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2024-03-05 22:00:08 -06:00
Alex King
2c2a8cdb63
[Bug Fix] Fix Character EXP Modifiers default ( #4161 )
...
# 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.
2024-03-05 21:54:07 -06:00
Chris Miles
ee3d02bac6
[Zoning] Zone routing adjustment ( #4162 )
2024-03-05 21:53:07 -06:00
Alex King
b90139bd9a
[Feature] Adjust String-based Rules Length ( #4138 )
2024-03-05 21:52:34 -06:00
catapultam-habeo
e6a3d5e1c5
[Bug Fix] Prevent NPE when creating DZ using ad-hoc version IDs ( #4141 )
...
* initial commit
* corrected based on hgtw feedback
2024-03-05 18:21:04 -05:00
Alex King
74f1eac401
[Bug Fix] Fix Spawns Not Parsing Quest on Zone Bootup ( #4149 )
...
* Update zone.cpp
* Fix
---------
Co-authored-by: Natedog2012 <jwalters_06@yahoo.com >
2024-03-05 18:20:42 -05:00
JJ
1be9b2cdfd
[Bug Fix] Fix typo when updating spawn events in spawn condition manager ( #4160 )
2024-03-05 05:44:38 -05:00
Mitch Freeman
add0a8dddf
[Bug Fix] Add id to the guild_bank table ( #4155 )
...
* Add id to guild_bank table
Add id as a primary key to guild_bank
* Remove content schema update flag
2024-03-04 19:02:35 -05:00
catapultam-habeo
8c226054e7
[Feature] Adds rules to control level requirements for Double Backstab, Assassinate, and Double Bowshot ( #29 ) ( #4159 )
...
Co-authored-by: mute <natanx@gmail.com >
2024-03-04 18:41:25 -05:00
Mitch Freeman
b4605f77e3
[Crash Fix] Goto Command could crash using Developer Tools ( #4158 )
2024-03-03 22:33:12 -05:00
Mitch Freeman
74a63daf7e
[Crash Fix] Groundspawn Memory Corruption ( #4157 )
2024-03-03 22:32:29 -05:00
Alex King
8ee7910569
[Quest API] Add IsAlwaysAggro() to Perl/Lua ( #4152 )
...
- Add `$mob->IsAlwaysAggro()`.
- Add `mob:IsAlwaysAggro()`.
- Allows operators to determine if a mob is set to always aggro.
2024-03-03 20:40:20 -05:00
Alex King
b766a79c11
[Quest API] Add GetHeroicStrikethrough() to Perl/Lua ( #4150 )
...
- Add `$mob->GetHeroicStrikethrough()`.
- Add `mob:GetHeroicStrikethrough()`.
- Allows operators to get a mob's Heroic Strikethrough.
2024-03-03 13:05:01 -05:00
Alex King
5e3b6d363a
[Quest API] Add IsBoat()/IsControllableBoat() to Perl/Lua ( #4151 )
...
- Add `$mob->IsBoat()`.
- Add `$mob->IsControllableBoat()`.
- Add `mob:IsBoat()`.
- Add `mob:IsControllableBoat()`.
- Allows operators to determine if a mob is a boat or a controllable boat.
2024-03-03 12:34:21 -05:00
Alex King
b2fc59878a
[Quest API] Add IsDestructibleObject() to Perl/Lua ( #4153 )
...
# Perl
- Add `$mob-.IsDestructibleObject()`.
# Lua
- Add `mob:IsDestructibleObject()`.
# Notes
- Allows operators to determine if a mob is a destructible object.
2024-03-03 11:43:54 -05:00
JJ
4896688ac5
[Release] 22.46.1 ( #4148 )
...
### Fixes
* Change `UnburyCorpse` to use repository methods ([#4147 ](https://github.com/EQEmu/Server/pull/4147 )) @joligario 2024-03-03
2024-03-02 19:56:29 -05:00
JJ
0385ed8526
[Bug Fix] Change UnburyCorpse to use repository methods ( #4147 )
2024-03-02 19:23:43 -05:00
Chris Miles
9974aaff57
[Release] 22.46.0 ( #4146 )
2024-03-02 15:21:32 -06:00
Chris Miles
b6c3e549da
[Zone] Zone Routing Improvements ( #4142 )
...
* Routing changes
* Update world_content_service.cpp
* Cleanup routing logic
* Tweaks
2024-03-02 15:19:42 -06:00
Alex King
70ee95efc0
[Quest API] Add Bot Special Attacks for Immune Aggro/Damage ( #4108 )
...
* [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
2024-03-02 15:19:31 -06:00
Alex King
1d38e473d7
[Bug Fix] GetBotNameByID Temporary Reference Warning ( #4145 )
...
# Notes
- We were getting a warning for returning `std::string()` from this method as it's a temporary reference.
- Change from `const std::string&` to `const std::string` to avoid this.
```
/home/eqemu/source/zone/bot_database.cpp: In member function ‘const std::string& BotDatabase::GetBotNameByID(uint32)’:
/home/eqemu/source/zone/bot_database.cpp:2374:25: warning: returning reference to temporary [-Wreturn-local-addr]
2374 | return e.bot_id ? e.name : std::string();
```
2024-03-02 15:18:57 -06:00
Alex King
1aa3a4b11a
[Bug Fix] Fix Bots/Bot Pets ending up on XTargets ( #4132 )
...
* [XTargets]
* Update eqemu_logsys.h
* Update client.cpp
* Update table column
* Undo unnecessary commit
2024-03-02 15:18:37 -06:00
Mitch Freeman
398ecbc8cf
[Bug Fix] Update FreeGuildID Routine ( #4143 )
...
Updates the routine to determine a free guild id on guild creation
2024-03-02 15:17:28 -06:00
Mitch Freeman
c4613e1b0f
[Crash Fix] Update to location of qGlobals initialization ( #4144 )
2024-03-02 15:16:51 -06:00
catapultam-habeo
3003a59955
[Feature] Exempt a zone from IP-limit checks. ( #4137 )
...
* 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 >
2024-03-01 23:11:34 -05:00
Paul Coene
0c582cc4f9
[Bug Fix] Cleanup NPC Mana Tap Logic ( #4134 )
...
* [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 >
2024-03-01 22:48:50 -05:00
Mitch Freeman
69c42510ca
[Crash Fix] Raid::UpdateGroupAAs ( #4139 )
...
Added checks to potentially resolve a crash situation with raids and group AAs.
2024-03-01 22:46:16 -05:00
JJ
79c8858ec8
[Bug Fix] Use std::clamp for Mob::ChangeSize ( #4140 )
...
Helper template was not deducing float for lower/upper values allowing invalid sizes
Limit to sane values of 1-255 unrestricted and 3-15 for clients and pets
2024-03-01 22:46:00 -05:00
Alex King
c3d8d423fe
[Commands] Add #fish Command ( #4136 )
...
* [Commands] Add #fish Command
# Notes
- Adds `#fish` command.
- Allows operators to simulate fishing to see what they would get, consumes no bait.
* `use_bait`
* Update fish.cpp
2024-02-29 21:24:16 -05:00
Alex King
1cbda61891
[Bug Fix] Fix issue with NPC Secondary Textures ( #4129 )
...
* [Bug Fix] Fix issue with NPC heads
# Notes
- We were overwriting head material within this secondary loop which caused NPC's heads to show their body texture in some places or no texture if their `showhelm` was not flagged.
# Images
* Update mob.cpp
* Update mob.cpp
* Update mob.cpp
2024-02-29 20:45:54 -05:00
JJ
8d12a5b1b1
[Release] 22.45.1 ( #4135 )
...
### Character Creation
* Improved Random Name Generator ([#4081 ](https://github.com/EQEmu/Server/pull/4081 )) @catapultam-habeo 2024-02-27
### Code
* Fix Server Rules Documentation Generation ([#4125 ](https://github.com/EQEmu/Server/pull/4125 )) @Kinglykrab 2024-02-26
* Remove unnecessary stoptimer logs ([#4128 ](https://github.com/EQEmu/Server/pull/4128 )) @Kinglykrab 2024-02-28
### Commands
* Add `#forage` command ([#4133 ](https://github.com/EQEmu/Server/pull/4133 )) @joligario 2024-02-29
### Crash
* Fix crash issue during database dump ([#4127 ](https://github.com/EQEmu/Server/pull/4127 )) @Akkadius 2024-02-29
### Crash Fix
* D20 crash if mitigation average resulted in 0 ([#4131 ](https://github.com/EQEmu/Server/pull/4131 )) @nytmyr 2024-02-29
### Fixes
* Fix forage returning first result from table ([#4130 ](https://github.com/EQEmu/Server/pull/4130 )) @nytmyr 2024-02-29
* Who /all displays incorrect guild name ([#4123 ](https://github.com/EQEmu/Server/pull/4123 )) @neckkola 2024-02-25
### Quest API
* Add Pet Owner Methods to Perl/Lua ([#4115 ](https://github.com/EQEmu/Server/pull/4115 )) @Kinglykrab 2024-02-25
2024-02-29 18:22:40 -05:00
JJ
182327b385
[Commands] Add #forage command ( #4133 )
2024-02-28 20:43:14 -05:00
Chris Miles
aa0ca88d9d
[Crash] Fix crash issue during database dump ( #4127 )
2024-02-28 20:36:06 -05:00
nytmyr
103a37e762
[Crash Fix] D20 crash if mitigation average resulted in 0 ( #4131 )
2024-02-28 20:35:56 -05:00
nytmyr
34f19489d0
[Hotfix] Fix forage returning first result from table ( #4130 )
...
Forage was not properly incrementing the total chance of items when more than one was found and would result in the final chance roll being based off the last item found rather than the total. This would cause the first item returned to be chosen in most cases when the chances are the same in the table.
2024-02-28 20:34:40 -05:00
Alex King
c001060429
[Cleanup] Remove unnecessary stoptimer logs ( #4128 )
...
# Notes
- These logs were for testing and are unnecessary.
- They cause a lot of spam for servers using `Info` logs.
2024-02-27 21:35:51 -05:00
catapultam-habeo
89be55254e
[Character Creation] Improved Random Name Generator ( #4081 )
...
* test against vanilla branch
* use existing methods to validate name instead of raw sql
* Revert "use existing methods to validate name instead of raw sql"
This reverts commit 43750c6f4f .
* ReserveName doesn't work like that. Oops. Well, check against Name Filter at least.
* That db access condition was wrong.
* that isn't how CheckNameFilter works, either.
* apply editorconfig w/ trivial change
* Actually apply editorconfig changes.
2024-02-26 23:15:40 -06:00
Alex King
2da6190950
[Cleanup] Fix Server Rules Documentation Generation ( #4125 )
...
# Notes
- These spaces prevented the docs server rules generator from parsing these rules.
2024-02-26 18:36:12 -05:00
Mitch Freeman
d5e024cc02
[Bug Fix] Who /all displays incorrect guild name ( #4123 )
...
Issue: guild creation routine does not update world memory holding guild details until the player zones.
Between the creation of a new guild, and a guild member zones, a /who all displays 'Invalid Guild' instead of the actual guild name.
2024-02-25 18:14:28 -05:00
Alex King
35fe38cd09
[Quest API] Add Pet Owner Methods to Perl/Lua ( #4115 )
...
* [Quest API] Add Pet Owner Methods to Perl/Lua
- Add `$mob->IsPetOwnerBot()`.
- Add `$mob->IsPetOwnerClient()`.
- Add `$mob->IsPetOwnerNPC()`.
- Add `mob:IsPetOwnerBot()`.
- Add `mob:IsPetOwnerClient()`.
- Add `mob:IsPetOwnerNPC()`.
- Allows operators to use these short hands instead of doing a `GetOwner() && GetOwner()->IsClient()`.
* Update npc.cpp
2024-02-25 00:38:34 -05:00
Chris Miles
eb3664a444
[Release] 22.45.0 ( #4121 )
2024-02-24 23:06:37 -06:00
Alex King
a244509d63
[Quest API] Export Combat Record to Death Events ( #4112 )
...
# Perl
- Add `$combat_start_time`, `$combat_end_time`, `$damage_received`, and `$healing_received` to death events for NPCs.
# Lua
- Add `e.combat_start_time`, `e.combat_end_time`, `e.damage_received`, and `e.healing_received` to death events for NPCs.
# Notes
- Allows operators to hook in to the combat record logic so they can log the start and end of combat as well as the damage/healing received over the course of the fight.
2024-02-24 22:57:49 -06:00
Alex King
873c128f46
[Bug Fix] Fix Bot Weapons with No Races ( #4110 )
...
# Notes
- Bot weapons that have no races were not causing damage and saying the target was invulnerable because we were not checking the `Bots:AllowBotEquipAnyRaceGear` rule.
2024-02-24 22:55:40 -06:00
Alex King
8314f2348c
[Quest API] Add Bot Methods to Perl/Lua ( #4113 )
...
* [Quest API] Add Bot Methods to Perl/Lua
# Perl
- Add `quest::GetBotClassByID(bot_id)`.
- Add `quest::GetBotGenderByID(bot_id)`.
- Add `quest::GetBotIDsByCharacterID(character_id)`.
- Add `quest::GetBotIDsByCharacterID(character_id, class_id)`.
- Add `quest::GetBotLevelByID(bot_id)`.
- Add `quest::GetBotNameByID(bot_id)`.
- Add `quest::GetBotRaceByID(bot_id)`.
# Lua
- Add `eq.get_bot_class_by_id(bot_id)`.
- Add `eq.get_bot_gender_by_id(bot_id)`.
- Add `eq.get_bot_ids_by_character_id(character_id)`.
- Add `eq.get_bot_ids_by_character_id(character_id, class_id)`.
- Add `eq.get_bot_level_by_id(bot_id)`.
- Add `eq.get_bot_name_by_id(bot_id)`.
- Add `eq.get_bot_race_by_id(bot_id)`.
# Notes
- Allows operators to get a list of a player's bot IDs, get a bot's class, gender, level, name, and race.
* Update bot_database.cpp
2024-02-24 22:53:21 -06:00
Alex King
29720f95ed
[Quest API] Add GetAugmentIDs() to Perl/Lua ( #4114 )
...
# 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.
2024-02-24 22:52:07 -06:00
Alex King
a478fd2600
[Quest API] Add GetNPCSpellsEffectsID() to Perl/Lua ( #4117 )
...
# Perl
- Add `$npc->GetNPCSpellsEffectsID()`.
# Lua
- Add `npc:GetNPCSpellsEffectsID()`.
# Notes
- Allows operator's to get an NPC's spell effects ID.
2024-02-24 22:51:37 -06:00
Alex King
f57c37e9c5
[Quest API] Add Pet Methods to Perl/Lua ( #4116 )
...
* [Quest API] Add Pet Methods to Perl/Lua
# Perl
- Add `$mob->IsAnimation()`.
- Add `$mob->IsCharmed()`.
- Add `$mob->IsFamiliar()`.
- Add `$mob->IsTargetLockPet()`.
# Lua
- Add `mob:IsAnimation()`.
- Add `mob:IsCharmed()`.
- Add `mob:IsFamiliar()`.
- Add `mob:IsTargetLockPet()`.
# Notes
- These methods were not exported and could be useful for operators.
* Update perl_mob.cpp
2024-02-24 22:51:21 -06:00
Mitch Freeman
b9fb4babba
[Guilds] Fixes for Guild Bank ( #4120 )
...
Updates guild bank functionality
- Allows QTY 100 in guild bank
- Removes bug when deposit area is full and a UF or RoF2 client attempts to deposit another item
- Attempt to deposit a nodrop item in RoF2 creates a dupe situation
2024-02-24 22:50:14 -06:00
Mitch Freeman
c2e4082045
[Bug Fix] Crash on Ubuntu 22.04 ( #4119 )
...
Ubuntu 22.04 as of Feb 25 2024 was crashing when sending guild tributes on zone in. Issue was caused by an overrun on string copies.
Updated to use strn0cpy, crash was resolved.
2024-02-24 22:46:42 -06:00
Paul Coene
e1dee55ecd
[Beacon] Revert a few lines of PR #4024 that broke beacons ( #4118 )
2024-02-24 16:18:17 -05:00
JJ
1632ff04b0
[Repositories] Update zone base repository from #4084 ( #4111 )
2024-02-22 21:39:31 -05:00
Fryguy
873209dbc0
[Bug Fix] Fix hotzone string error ( #4109 )
...
The Strings entry was from a newer client. Moved text to a raw message.
2024-02-22 17:15:22 -05:00
Mitch Freeman
a00b2eb382
[Bug Fix] Added additional Guild-related crash checks ( #4105 )
2024-02-21 19:44:05 -05:00
Alex King
67d8250b1c
[Quest API] Add Hatelist Count Methods to Perl/Lua ( #4106 )
...
# Perl
- Add `$mob->GetHateListCount()`.# Perl
- Add `$mob->GetHateListCount()`.
- Add `$mob->GetHateListBotCount()`.
- Add `$mob->GetHateListClientCount()`.
- Add `$mob->GetHateListNPCCount()`.
# Lua
- Add `mob:GetHateListCount()`.
- Add `mob:GetHateListBotCount()`.
- Add `mob:GetHateListClientCount()`.
- Add `mob:GetHateListNPCCount()`.
# Notes
- Allows operators to more easily get a total entity count of a Mob's hate list, can do an overall count, or specifically bots, clients, or NPCs.
2024-02-20 22:39:57 -06:00
Alex King
f505c2cfd2
[Feature] Add Augments to Starting Items for Bots/Players ( #4100 )
...
* [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
2024-02-20 22:23:22 -06:00
Fryguy
a221e50cc2
[Bug Fix] Add safety check to SummonAllCharacterCorpses. ( #4107 )
...
Should prevent an empty vector from being passed to the repository.
2024-02-20 22:21:56 -06:00
JJ
32c5d4d9f6
[Database] Add content_database flag for zone changes ( #4104 )
2024-02-20 18:03:12 -05:00
Paul Coene
ce4716e9a5
[Factions] Fix issue with npcedit and cached factions ( #4103 )
...
* [Factions] Fix issue with npcedit and cached factions
* Load no matter what
2024-02-20 17:47:44 -05:00
JJ
a99ce4fbdb
[Bug Fix] Revert 2df7d19 ( #4101 )
...
* [Bug Fix] Revert https://github.com/EQEmu/Server/commit/2df7d19f975cb21dd4eb7d6c7d40656cf58ed138
This change breaks lich-type spells as seen in #4098 . Per comment on original change, also don't see where Runes come into play.
* Revert invis change
* [Bug Fix] Correct Rune damage check location for invis break.
Correct the location of the CommonBreakInvis for runes. Appologize for the incorrect location. Thank you JJ for pointing me to the PR that caused the issue.
---------
Co-authored-by: Trust <fryguy503@gmail.com >
2024-02-19 22:35:32 -06:00
JJ
dcfc54d408
[Logs] Fix log in BaseGuildManager::IsGuildLeader() ( #4102 )
...
Looks like typos created invalid escapes
2024-02-19 22:34:52 -06:00
Alex King
c13ec5a06d
[Repositories] Cleanup and Convert Character Creation to Repositories ( #4053 )
...
* [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
2024-02-19 20:45:18 -06:00
Chris Miles
d182fc3613
[Expansions] Zone Expansion Version Routing ( #4084 )
...
* Expansion version routing
* CheckForImproperContentFiles rule
* Update world_content_service.cpp
* Update client.cpp
* Update client.cpp
* Update CheckForImproperContentFiles
* Remove nek pok check
* Remove file checking
* Remove
* Command and dev tools menu tweaks
* Update world_content_service.cpp
* Update world_content_service.cpp
* Update version path
* Update content_filter_criteria.h
* Update content_filter_criteria.h
* Update quest_parser_collection.cpp
* Update comments
* PR feedback
* Update client_packet.cpp
* Remove notes column for display cleanliness
2024-02-19 20:35:17 -06:00
Alex King
5a89fcfb78
[Quest API] Add Entity Variable Events to Perl/Lua ( #4092 )
...
* [Quest API] Add Entity Variable Events to Perl/Lua
- Add `EVENT_ENTITY_VARIABLE_DELETE`.
- Add `EVENT_ENTITY_VARIABLE_SET`.
- Add `EVENT_ENTITY_VARIABLE_UPDATE`.
- All export `$variable_name` and `$variable_value`.
- Add `event_entity_variable_delete`.
- Add `event_entity_variable_set`.
- Add `event_entity_variable_update`.
- All export `e.variable_name` and `e.variable_value`.
- Allows operators to perform operations when entity variables are cleared, deleted, set, or updated.
* Update mob.cpp
* Cleanup.
* Cleanup
* Update mob.cpp
* Update lua_general.cpp
* Update embparser_api.cpp
2024-02-19 20:34:33 -06:00
Alex King
db3601c25c
[Quest API] Add Timer Events to Perl/Lua ( #4099 )
...
* [Quest API] Add Timer Events to Perl/Lua
# DRAFT
* Cleanup
2024-02-19 03:51:16 -06:00
Alex King
137a9f835a
[Quest API] Add spell cast methods to Lua ( #4096 )
...
# Notes
- Add `eq.cast_spell(spell_id)` and `eq.self_cast(spell_id)` to Lua.
- Lua did not have a `quest::castspell(spell_id)` or `quest::selfcast(spell_id)` equivalent, so this adds them.
2024-02-19 02:35:30 -06:00
Alex King
4ad46b54df
[Bug Fix] Fix Sympathetic Procs for Bots/Mercenariess ( #4086 )
...
# Notes
- Bots and Mercenaries were being rejected at the top of this method despite us allowing them to use this method where it's called.
2024-02-19 02:21:47 -06:00
Alex King
3f46210639
[Bots] Cleanup empty bot_commands files ( #4095 )
...
* [Bots] Cleanup empty `bot_commands` files
# Notes
- These files were part of the conversion of bot commands to individual files, these commands are part of overarching commands and therefore do not have their own files.
- These were not removed when initially committed.
* Update bot_command.cpp
* Update bot_command.cpp
2024-02-19 02:19:56 -06:00
Alex King
6ec63969bb
[Bug Fix] Fix issue with IsEntOnHateList ( #4097 )
...
# Notes
- We were not validating pointer in `IsEntOnHateList()`.
2024-02-19 01:52:19 -06:00
JJ
767846f7e5
[Bug Fix] Aura effect spell id from #3964 ( #4094 )
...
Auras were trying to cast another aura spell vice the spell effect
2024-02-18 17:13:32 -05:00
Fryguy
04bb9bf39c
[Feature] Hot Zone Bonus XP Notice ( #4091 )
...
When in Hotzones, a bonus XP notice will let players know the hotzone is enabled.
2024-02-18 11:24:01 -05:00
Mitch Freeman
e6df5be1ed
[Bug Fix] Update database_schema to add guild_permissions ( #4085 )
...
* Update database_schema to add guild_permissions
* Reordered
2024-02-16 18:09:18 -05:00
hg
6bb2f97b74
[Code] Update fmt to 10.2.1 ( #4071 )
...
This fixes MSVC compile warnings for stdext::checked_array_iterator
which were deprecated in STL for VS 2022 17.8:
https://github.com/microsoft/STL/wiki/Changelog#vs-2022-178
2024-02-16 00:29:04 -06:00
hg
86f39743fc
[Quest API] Add tracebacks to Lua error messages ( #4079 )
...
This adds an error msg handler for lua calls to add a stack trace to
error messages. Lua 5.1 does not have luaL_traceback like luajit and lua
5.2+ so debug.traceback() is used directly as the msg handler.
The traceback will add more detail to errors than just logging package
and event names. Exceptions in C++ binds and luabind errors will now
show script context instead of just the error message.
e.g., for a luabind overload error:
No matching overload found, candidates:
void signal(int,int,int)
void signal(int,int)
stack traceback:
[C]: in function 'signal'
quests/arena/player.lua:10: in function 'somefn'
quests/arena/player.lua:27: in function <quests/arena/player.lua:17>
2024-02-16 00:27:37 -06:00
Alex King
447fc026a8
[Repositories] Convert Zone Flags to Repositories ( #4077 )
...
# Notes
- Converts `ClearZoneFlag()`, `LoadZoneFlags()`, and `SetZoneFlag()` to repositories.
2024-02-16 00:27:08 -06:00
Chris Miles
7408df933c
[Database] Remove "item_tick" from database schema per https://github.com/EQEmu/Server/pull/3985 ( #4083 )
2024-02-16 00:23:23 -06:00
JJ
2f59e70c6b
[Bug Fix] Fix manifest check on base_data change ( #4082 )
2024-02-15 19:04:26 -05:00
Alex King
eb8514eea8
[Bug Fix] Fix fix_z Query ( #4080 )
...
# Notes
- This query was not working properly due to using backticks instead of single quotes.
2024-02-15 11:51:07 -05:00
Alex King
f498bac574
[Bug Fix] Fix ObjectContentsRepository using content_db ( #4076 )
...
# Notes
- `*this` was using content database, causing this not to work on servers using sharded databases.
2024-02-14 18:34:43 -05:00
Alex King
9a0b3a4c36
[Bug Fix] Fix #wpadd Query ( #4078 )
...
# Notes
- `GetNextWaypoint()` was getting a null value and crashing in `Strings::ToInt()`.
2024-02-14 18:28:31 -05:00
Chris Miles
34ea870717
[Opcodes] Fix opcode reloading ( #4075 )
2024-02-13 19:40:23 -05:00
Alex King
d68c1a7a6c
[Quest API] Add IsInAGuild() to Perl/Lua ( #4066 )
...
# Perl
- Add `$client->IsInAGuild()`.
# Lua
- Add `client:IsInAGuild()`.
# Notes
- Allows operators to more accurately tell if a player is in a group.
- `GuildID()` returns `uint32` max value if the player isn't in a guild so conditions using it must check for a value over a certain point, this is just a bool that simplifies that logic.
2024-02-13 19:27:43 -05:00
Akkadius
c50100fcdb
[Hotfix] Fix issues where we're using the wrong database pointers
2024-02-12 21:41:52 -06:00
JJ
20cdc1e63d
[Release] 22.44.4 ( #4074 )
...
### Fixes
* Fix ClearSpawnTimers() ([#4073 ](https://github.com/EQEmu/Server/pull/4073 )) @Kinglykrab 2024-02-13
2024-02-12 20:34:40 -06:00
Alex King
43c7523ee1
[Hotfix] Fix ClearSpawnTimers() ( #4073 )
...
# Notes
- This wasn't a part of my other pull request.
- We were clearing `spawn2_list` before using it in `ClearSpawnTimers()`.
2024-02-12 21:12:30 -05:00
JJ
e060d97798
[Release] 22.44.3 ( #4072 )
...
### Fixes
* Fix Issue with ClearSpawnTimers() ([#4070 ](https://github.com/EQEmu/Server/pull/4070 )) @Kinglykrab 2024-02-13
2024-02-12 19:20:04 -06:00
Alex King
435b6142b8
[Bug Fix] Fix Issue with ClearSpawnTimers() ( #4070 )
...
# Notes
- We were using the improper ID for this and not checking if the vector was empty before using.
2024-02-12 20:00:45 -05:00
Chris Miles
508b37dc93
[Release] 22.44.2 ( #4068 )
2024-02-12 13:43:38 -06:00
Alex King
0adca46a73
[Bots] Remove Alt Combat Functionality ( #4067 )
...
* [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
2024-02-12 03:00:11 -06:00
hg
e920e35a5c
[Cleanup] Use explicit conversions for enum formatting ( #4064 )
...
This is prep for updating to fmt 10 which removed implicit conversions
for enums.
2024-02-12 02:58:48 -06:00
Mitch Freeman
20c01ef343
[Fix] Guard against crash condition ( #4062 )
2024-02-11 18:32:59 -05:00
JJ
1567141c19
[Database] Fix table name in manifest ( #4063 )
2024-02-11 18:29:05 -05:00
JJ
6bc9bcf15a
[Database] Proper default for droptime from object_contents ( #4061 )
2024-02-11 17:59:48 -05:00
JJ
86a2a86ba8
[Database] Fix default value for time_of_death in character_corpses ( #4060 )
...
* [Database] Fix default value for `time_of_death` in `character_corpses`
* Extra `NULL`
* Update repository
* Repositories with updated structure this time
2024-02-11 16:12:07 -05:00
JJ
3e6924d10e
[Guilds] Clean up GUILD_RANK_NONE references ( #4059 )
...
Should be exhaustive for guild rank values
Cleans up redefinition of `GUILD_RANK_NONE` by including `GUILD_RANK_NONE_TI`
Fixes #4057
2024-02-11 11:58:19 -05:00
Akkadius
a27a8adf1e
[Release] 22.44.1
2024-02-11 02:46:47 -06:00
Chris Miles
13994fb3e4
[File] Fix File::Exists(file_name) to be resilient to Chinese characters ( #4058 )
...
* Update file.cpp
* Update file.cpp
* Update file.cpp
* Update file.cpp
* Update file.cpp
* Update file.cpp
* Update file.cpp
* Update file.cpp
* Final fix
2024-02-11 02:42:25 -06:00
Chris Miles
78aa527bc7
[Release] 22.44.0 ( #4056 )
...
* [Release] 22.44.0
* Update CHANGELOG.md
2024-02-10 05:02:33 -06:00
Chris Miles
58287b6539
[Crash Reporting] Update Spire to use SSL ( #4055 )
2024-02-10 04:43:37 -06:00
Akkadius
718a157c06
Revert "[Hotfix] fs::exists(fs::path{name}) does not work for Chinese characters in windows"
...
This reverts commit 801025c166 .
2024-02-10 04:01:00 -06:00
Akkadius
801025c166
[Hotfix] fs::exists(fs::path{name}) does not work for Chinese characters in windows
2024-02-10 03:57:50 -06:00
Mitch Freeman
91f5932c6d
[Feature] Add RoF2 Guild features ( #3699 )
...
* [Feature] Add additional Guild Features
This adds the following guild features and design pattern
- the existing guild system was used
- guild features are based on RoF2 within source with translaters used to converted between client differences
- backward compatible with Ti and UF, and allows for mixed client servers
- Guild Back for Ti and UF is based on RoF2 Permissions for banking if Guild Leader does not use Ti/UF
- Guild Ranks and Permissions are enabled.
- Guild Tributes are enabled.
- Event logging via rules for donating tribute items and plat
- Rules to limit Guild Tributes based on max level of server
- Rewrote guild communications to client using specific opcodes
-- Server no longer sends a guild member list on each zone
-- Guild window is updated when a member levels, rank changes, zone changes, banker/alt status using individual opcodes
-- When a member is removed or added to a guild, a single opcode is sent to each guild member
-- This reduces network traffic considerably
Known issues:
- Visual bug only. Guild Tributes window will display a 0 for level if tribute is above max level rule setting.
- Visual bug only. Guild Mgmt Window will not display an online member if the player has 'show offline' unchecked and a guild member zones within the Notes/Tribute tab. This is resolved by selecting and de-selecting the 'Show Offline' checkbox.
* Updated RoF2 Guild Comms
Updated RoF2 Guild Comms
Update RoF2 Opcodes
Rewrote RoF2 Guild Communications using specific opcodes.
Added database changes - they are irreversible
* Formatting
* Update base_guild_members_repository.h
* Format GuildInfo
* Format GuildAction enum
* Formatting in clientlist
* quantity vs quantity
* desc vs description
* Format structs
* Inline struct values
* Formatting
* Formatting
* Formatting fixes
* Formatting items
* Formatting
* Formatting
* struct formatting updates
* Updated formatting
* Updated
- std:string items
- naming conventions
- magic numbers
* Repo refactors
Other formatting updates
* Remove test guild commands
* Updated #guild info command
* Add new repo methods for Neckolla ReplaceOne and ReplaceMany
* Fix guild_tributes repo
* Update database_update_manifest.cpp
* Phase 1 of final testing with RoF2 -> RoF2.
Next phase will be inter compatibility review
* Remove #guild testing commands
* Fix uf translator error
Rewrite LoadGuilds
* Use extended repository
* FIx guild window on member add
* LoadGuild Changes
* Update guild_base.cpp
* Few small fixes for display issue with UF
* Update guild_base.cpp
* Update guild_members_repository.h
* Update zoneserver.cpp
* Update guild.cpp
* Update entity.h
* Switch formatting
* Formatting
* Update worldserver.cpp
* Switch formatting
* Formatting switch statement
* Update guild.cpp
* Formatting in guild_base
* We don't need to validate m_db everywhere
* More formatting / spacing issues
* Switch format
* Update guild_base.cpp
* Fix an UF issue displaying incorrect guildtag as <>
* Updated several constants, fixed a few issues with Ti/UF and guild tributes not being removed or sent when a member is removed/disbands from a guild.
* Formatting and logging updates
* Fix for Loadguilds and permissions after repo updates.
* Cleanup unnecessary m_db checks
* Updated logging to use player_event_logs
* Updated to use the single opcodes for guild traffic for Ti/UF/RoF2. Several enhancements for guild functionality for more reusable code and readability.
* Update to fix Demote Self and guild invites declining when option set to not accept guild invites
* Potential fix for guild notes/tribute display issues when client has 'Show Offline' unchecked.
* Updates to fox recent master changes
Updates to fix recent master changes
* Updates in response to comments
* Further Updates in response to comments
* Comment updates and refactor for SendAppearance functions
* Comment updates
* Update client spawn process for show guild name
Add show guild tag to default spawn process
* Update to use zone spawn packets for RoF2
Removed several unused functions as a result
Updated MemberRankUpdate to properly update guild_show on rank change.
Updated OP_GuildURLAndChannel opcode for UF/RoF2
* Cleanup of world changes
Created function for repetitive zonelist sendpackets to only booted zones
Re-Inserted accidental delete of scanclosemobs
* Fixes
* Further world cleanup
* Fix a few test guild bank cases for backward compat
Removed a duplicate db call
Fixed a fallthrough issue
* Update guild_mgr.cpp
* Cleanup
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2024-02-10 03:27:58 -06:00
Alex King
dacebca9dd
[Cleanup] Convert Quest Ornament Methods to Repositories ( #4048 )
...
# Notes
- Convert `Client::SetPrimaryWeaponOrnamentation` and `Client::SetSecondaryWeaponOrnamentation` to repositories.
2024-02-10 03:27:47 -06:00
hg
75539b4f89
[Tasks] Avoid removing client tasks from memory on load ( #4052 )
...
If a task was deleted or had new elements added to it without updating
character states to match changes, client state for the task was not
loaded into memory and a "contact a GM" warning was sent to the client.
This caused an issue if a client later accepted a new task because it
could be placed in the same client state slot as a non-loaded task. The
table does not have constraints so this was also inserted into the db.
The next time client task state was reloaded after zoning, the new task
would not be loaded since it occupied a used slot, even though that used
slot was also not being loaded. The client could not remove or reacquire
the original task without GM intervention and an entry was left in the
db for the new task.
This makes the following changes to client task state loading:
- If a task id no longer exists it is deleted from client state tables
instead of only being removed from memory.
- If a task occupies the same client state slot as another task, it is
deleted from client state tables instead of being ignored.
- If new elements have been added to a task, client state will keep the
task in memory. The new activity states will be inserted into the db
when necessary for updates (may not be immediate).
These changes also fix two smaller bugs as a consequence:
- If a character was at the 20 quest limit the last quest wasn't being
processed for activity count changes. The task would continue to show
to clients but any added new elements couldn't be completed.
- Deleted tasks that occupied slot 0 in client state would fallback to
loading it as a solo task of type 0. This prevented a client's real
solo task from being loaded if the deleted task was processed first.
Note clients may receive or lose credit for completed elements if new
ones are added in the middle of tasks. Server ops will still need to
update character state tables manually on task changes to prevent this.
2024-02-10 03:25:03 -06:00
hg
804b798068
[Tasks] Send active elements in task select packet ( #4051 )
...
Only the first element was being serialized to show the start zone of
tasks. This was resulting in a blank description for tasks that only
have element descriptions.
Live sends all initial active elements for the task when sending this
packet. Any bracket text with these elements as a requirement will be
appended to the description.
2024-02-10 03:23:24 -06:00
Chris Miles
b280f50c99
[Deprecation] Remove eqemu_server.pl script and ties to server ( #4049 )
2024-02-10 03:22:18 -06:00
Fryguy
14d4a2610f
[Feature] Classic Taunt (Pre 2006) style of taunt ( #3942 )
...
* DRAFT - Classic Taunt (Pre 2006) style of taunt
RULE: ClassicTauntSystem
Completely seperate logic for each system. Could potentially be re-writte to be more inline but there are a good bit of minor differences.
* Consolidate Logic
Still needs in-game testing
* Feedback Request
* Updates per feedback
2024-02-10 03:22:08 -06:00
Alex King
26693992b6
[Bug Fix] Fix Froglok Starting Languages ( #4050 )
...
# Notes
- Switch was using the wrong race ID.
2024-02-09 13:30:14 -06:00
Fryguy
772fed5e30
[Feature] Corpse Overhaul ( #3938 )
...
# Corpse Overhaul
Changelog:
- Player corpses now have two timers, one specific to the rezability of the corpse and the other to cover the overall rot timer of the player corpse.
- The rezability timer is based on the online presence of the player/account and is not affected by being offline.
- The rot timer is not affected by offline/online status and will count to the rot status of the corpse.
- Corpses can be rezzed multiple times, however only the first rez that yeilds returned xp will be counted. Not other rez will return any xp. This allows for a "Poor mans COTH" as was used many times in the early eras.
- All Corpse class private/protected member variables are all now prefixed with m_
- Added Corpses logging category along with many debug logs
- Removed LoadCharacterCorpseData
- Removed LoadCharacterCorpseEntity
- Added LoadCharacterCorpse(const CharacterCorpsesRepository::CharacterCorpses, const glm::vec4 &position) which simplifies areas of consumption and reduces double queries from removing LoadCharacterCorpseData and replacing LoadCharacterCorpseEntity
- All parameters that were prefixed with in_ have been dropped
- Removed two queries from CheckIsOwnerOnline and have it query the world's CLE by account_id since that is how live works
- Regenerated repository character_corpses
- Cleaned up many list iterators to use range based for loops
- Rate limit Corpse::Process m_is_rezzable with a 1 second check timer
- General code cleanup
- Added a Server Up check to bury all corpses in instances to prevent lost corpses if an instance is released during server down. This facilitates player recovery via shadowrest or priests of luclin.
This PR also now fixes a long standing issue with HasItem performance in our script plugins. It is significantly faster, we will need to coordinate quest changes and comms with operators.
```lua
if ($client->HasItemOnCorpse($item_id)) {
return 1;
}
```
```lua
--corpse
if self:HasItemOnCorpse(itemid) then
return true
end
```
Testing Completed:
- Create a Corpse
- Standard rezzing
- Ghetto Coth (No Extra XP)
- Rezzing after graveyard move
- Divine Rez works as intended
- No XP Rez (Corpse Call) does not give XP
- Corpse Burying
- Cross Instance Graveyard Corpse movement/Rezzing
- DZ End/Quit Corpse Movement/Rezzing
- Server Shutdown/Reinit DZ Corpse Movement/Rezzing
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2024-02-07 23:02:30 -05:00
Alex King
331e04fbf8
[Quests] Cleanup Quest Parser Logic ( #4025 )
...
* [Quests] Cleanup Quest Parser Logic
# Notes
- Consolidate duplicated code into loops to make it easier to read and easier to add on to.
# Images
* Update quest_parser_collection.cpp
* Push
* Push
* Update embperl.cpp
* Push
* Additional cleanup, use File::Exists utility
* Range based loops
* Update embparser.cpp
* Cleanup
* Update embparser.cpp
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2024-02-05 19:53:16 -05:00
Chris Miles
9e2afd5571
[Database] Correct manifest migration entries that should be content ( #4047 )
2024-02-05 17:37:15 -06:00
Alex King
8edf7a07e3
[Base Data] Remove from shared memory and simplify ( #4045 )
...
* [Base Data] Remove from shared memory and simplify
- Removes Base Data loading from shared memory and puts it into zone.
- Changes type of `level` and `class` to `uint8_t` from `uint32_t` for consistency since we're renaming fields here anyway.
- Renames `unk1` to `hp_regen` in `base_data` table.
- Renames `unk2` to `end_regen` in `base_data` table.
- These changed fields were already mapped, we just hadn't renamed them for whatever reason.
- Regenerates Base Data repository.
- Adds `#reload base_data` to reload base data in real time.
* Cleanup
* Update shareddb.h
* Cleanup.
* Update shareddb.cpp
* Update main.cpp
2024-02-05 17:11:20 -06:00
Alex King
b6b779723e
[Feature] Add optional is_forced parameter to Zone::Repop ( #4046 )
...
* [Feature] Add optional `is_force` parameter to Zone::Repop
# Perl
- Add `quest::repopzone(is_force)`.
# Lua
- Add `eq.repop_zone(is_force)`.
# Commands
- Cleanup `#repop` to use new parameter in `Zone::Repop`.
# Notes
- Allows operators to forcefully repop a zone without using a second method to clear the respawn timers.
* is_forced
* Update repop.cpp
* Update repop.cpp
2024-02-05 16:10:56 -06:00
Chris Miles
c654c1d674
[Loot] Remove from shared memory, simplification ( #3988 )
...
* First pass of pulling loot out of shared memory, functional
* More code cleanup
* More cleanup
* More cleanup
* More cleanup
* Add loot reload type
* Reload, logging
* Update npc.h
* Cleanup
* Logging, don't load attempt to load loottable id 0
* Update worldserver.cpp
* Update client.cpp
* Update zone_loot.cpp
* PR feedback
* Update zone.cpp
* Memory leak suggestion
* Update CMakeLists.txt
* Post rebase issues
2024-02-05 15:17:53 -06:00
Alex King
fcbf5cae47
[Commands] Add #show special_abilities ( #4043 )
...
* [Commands] Add #show special_abilities
# Notes
- Allows operators to see what special abilities an NPC has.
- Move special ability values to `common/emu_constants.h`.
- Add `EQ::constants::GetSpecialAbilityMap()` and `EQ::constants::GetSpecialAbilityName()`.
- Add `NPC::DescribeSpecialAbilities(client)` to describe special abilities to a specified client.
# Images
* Update npc.cpp
2024-02-05 14:34:10 -06:00
Alex King
0ffea36905
[Quest API] Add GetAAEXPPercentage() and GetEXPPercentage() to Perl/Lua ( #4044 )
...
* Initial Push
* Push
* Push.
2024-02-04 18:16:28 -05:00
Paul Coene
3f9a604c5c
[GM Commands] Fix typo in #rules help. ( #4042 )
2024-02-04 15:00:43 -05:00
Alex King
297e358c02
[Factions] Remove from shared memory and simplify ( #3999 )
...
* [Factions] Remove from shared memory and simplify
- Removes factions from shared memory and moves to zone based storage of repositories and changes the NPC `faction_list` to also use repositories.
- This affects NPC Factions and Faction Associations.
* Bug fixes.
* Update client.cpp
* Update client.cpp
* Update client.cpp
* Cleanup
* Update client.cpp
* Update client.cpp
* Update client.cpp
* Final push
* Update CMakeLists.txt
* Consolidate reloading.
* [Cleanup] PR # 3999 (#4039 )
* [Fixes for PR # 3999
* [Reload actual in game factions, not just the umbrella data.
* syntax
* Fix typo
* Foix bug where primary_faction not filled in when no hits
* Fix typos
* Fix splash factions for kills.
* Fix typo
* Fix more variable names to be accurate
* Fix Loads to load new ones as they come in.
* Load npc_factions without primary (tasks) and support old task faction
* Rename to make way for new LoadFactionAssocition (by faction_id)
* Fix some review comments
* Add code to load factions for splash tasks and quests.
* Fix issue with sign and RewardFaction, fix Log Message
---------
Co-authored-by: Paul Coene <noudess@gmail.com >
2024-02-04 10:38:38 -05:00
JJ
029581772d
[Cleanup] Remove redundant check in Object::HandleCombine ( #4041 )
...
Some minor formatting updates.
2024-02-03 17:07:43 -05:00
nytmyr
175f2b16f5
[Bug Fix] Fix for potential crash of DS damage on death ( #4040 )
...
On the unfortunate timing of a bot or owner dying when the bot deals damage due to a DS and the owner pointer is no longer valid.
2024-02-03 08:54:34 -05:00
Alex King
71f47dbcef
[Objects] Add fix_z column to ground spawns ( #3992 )
...
* [Objects] Add is_floating column to objects/ground spawns
# Notes
- Allows ground spawns/objects to float without having `FixZ()` called.
* Remove from object.
* Database version
* Fix
* Change to fix_z
2024-02-01 04:42:51 -06:00
Alex King
6297c56db2
[Bot Commands] Separate Bot Commands into Individual Files ( #4035 )
...
# Notes
- Separate all bot commands into individual files like regular commands.
# Images
2024-02-01 04:35:33 -06:00
Alex King
6efd7c5177
[Feature] Add support to crosszone/worldwide spells to affect bot pets ( #4036 )
...
* [Bug Fix] Move break in ServerOP_WWSpell handler
# Notes
- This break was cancelling loop early, m
* [Feature] Add support to crosszone/worldwide spells to affect bot pets
2024-02-01 04:27:00 -06:00
Alex King
24578f6c1e
[Bug Fix] Fix Bot Non-Melee Damage Messages ( #4038 )
...
# Notes
- These were not displaying because bots pass the `attacker && attacker->GetOwner()` check which assumes they're a pet because we weren't confirming it wasn't a bot.
# Image
2024-02-01 04:26:38 -06:00
Alex King
490ed50c9f
[Bug Fix] Fix Issue with Bot Dual wield ( #4037 )
...
# Notes
- Bots were using primary weapons even for dual wield attacks so they were never attacking with their secondary even when they should be.
2024-02-01 04:26:25 -06:00
Alex King
7c982df0e3
[Release] 22.43.3 ( #4034 )
...
### API
* Add lock_status method to world API ([#4028 ](https://github.com/EQEmu/Server/pull/4028 )) @Akkadius 2024-01-29
### Alternate Currency
* Convert Load of Alternate Currencies to Repositories ([#3993 ](https://github.com/EQEmu/Server/pull/3993 )) @Kinglykrab 2024-01-29
### Beacon
* Cleanup Beacons Code ([#4024 ](https://github.com/EQEmu/Server/pull/4024 )) @Kinglykrab 2024-01-29
### Bots
* Convert Bot Database Methods to Repositories ([#4023 ](https://github.com/EQEmu/Server/pull/4023 )) @Kinglykrab 2024-01-29
* Missing boolean returns on DeletePetStats and SaveInspectMessage ([#4031 ](https://github.com/EQEmu/Server/pull/4031 )) @joligario 2024-01-30
### Code
* Add Raid Loot Type Constants ([#4022 ](https://github.com/EQEmu/Server/pull/4022 )) @Kinglykrab 2024-01-29
* Cleanup cross-zone/world-wide OPCode handling ([#4003 ](https://github.com/EQEmu/Server/pull/4003 )) @Kinglykrab 2024-01-29
### Commands
* Cleanup #petitems Command ([#4005 ](https://github.com/EQEmu/Server/pull/4005 )) @Kinglykrab 2024-01-29
### Crash Fix
* Fix Possible Crash in HateList::Find ([#4027 ](https://github.com/EQEmu/Server/pull/4027 )) @Kinglykrab 2024-01-28
### Fixes
* Fix NPC After Death Emotes ([#4021 ](https://github.com/EQEmu/Server/pull/4021 )) @Kinglykrab 2024-01-29
* Fix database loading routines ([#4030 ](https://github.com/EQEmu/Server/pull/4030 )) @Akkadius 2024-01-29
* Fix issue in character_corpses Repository Query ([#4029 ](https://github.com/EQEmu/Server/pull/4029 )) @Kinglykrab 2024-01-29
* Limit Pet Taunt Distance ([#4018 ](https://github.com/EQEmu/Server/pull/4018 )) @fryguy503 2024-01-26
* Limit Player Taunt Distance ([#4019 ](https://github.com/EQEmu/Server/pull/4019 )) @fryguy503 2024-01-26
* Patch for recent change to DEATH ([#4032 ](https://github.com/EQEmu/Server/pull/4032 )) @noudess 2024-01-30
* spawn_conditions map was being emptied by mistake ([#4033 ](https://github.com/EQEmu/Server/pull/4033 )) @noudess 2024-01-30
### Grids
* Convert Grid/Grid Entries to Repositories ([#4011 ](https://github.com/EQEmu/Server/pull/4011 )) @Kinglykrab 2024-01-29
### Mercenaries
* Add expansion settings update to Mercs:Enable ([#4001 ](https://github.com/EQEmu/Server/pull/4001 )) @Kinglykrab 2024-01-29
### Merchants
* Convert Merchant Load to Repositories ([#4007 ](https://github.com/EQEmu/Server/pull/4007 )) @Kinglykrab 2024-01-29
### Pets
* Convert Load of Pets Beastlord Data to Repositories ([#3995 ](https://github.com/EQEmu/Server/pull/3995 )) @Kinglykrab 2024-01-29
### Quests
* Use separate variable for quest idle override. ([#4026 ](https://github.com/EQEmu/Server/pull/4026 )) @noudess 2024-01-27
### Rules
* Add rules for cross-zone/world-wide casts to affect Bots/Mercenaries/Pets ([#4002 ](https://github.com/EQEmu/Server/pull/4002 )) @Kinglykrab 2024-01-29
### Spawn2
* Convert Spawn2 Methods to Repositories ([#4014 ](https://github.com/EQEmu/Server/pull/4014 )) @Kinglykrab 2024-01-29
### Traps
* Convert Load/Set of Traps to Repositories ([#3994 ](https://github.com/EQEmu/Server/pull/3994 )) @Kinglykrab 2024-01-29
### Zone
* Convert Fishing/Foraging to Repositories ([#4008 ](https://github.com/EQEmu/Server/pull/4008 )) @Kinglykrab 2024-01-30
2024-01-30 19:26:50 -05:00
Paul Coene
fa783c3c6b
[Bug Fix] spawn_conditions map was being emptied by mistake ( #4033 )
2024-01-30 18:48:28 -05:00
Paul Coene
5377bb3f49
[Bug Fix] Patch for recent change to DEATH ( #4032 )
2024-01-30 17:10:45 -05:00
JJ
f98c79fdba
[Bots] Missing boolean returns on DeletePetStats and SaveInspectMessage ( #4031 )
2024-01-30 12:07:02 -05:00
Alex King
ae79022e06
[Zone] Convert Fishing/Foraging to Repositories ( #4008 )
...
* [Zone] Convert Fishing/Foraging to Repositories
# Notes
- Convert `LoadFishing()` and `LoadForage()` to repositories.
* Update forage.cpp
* Cleanup
2024-01-30 05:55:09 -05:00
Chris Miles
bc59882a65
[Hotfix] Fix database loading routines ( #4030 )
2024-01-29 00:14:33 -06:00
Alex King
2e0ed82986
[Grids] Convert Grid/Grid Entries to Repositories ( #4011 )
...
* [Grids] Convert Grid/Grid Entries to Repositories
- Convert `AddWaypoint()`, `AddWaypointForSpawn()`, `DeleteWaypoint()`, `GetHighestWaypoint()`, `GetRandomWaypointFromGrid()`, `GridExistsInZone()`, and `ModifyGrid()` to repositories.
* Update grid.cpp
* Update questmgr.cpp
* Update waypoints.cpp
* Update waypoints.cpp
2024-01-28 23:37:34 -06:00
Alex King
8e3218aaf7
[Cleanup] Cleanup cross-zone/world-wide OPCode handling ( #4003 )
...
* [Cleanup] Cleanup cross-zone/world-wide OPCode handling
# Notes
- Cleans up the logic greatly for cross-zone/world-wide methods since we were doing extraneous status checks and needlessly allocating memory for variables.
* Update worldserver.cpp
2024-01-28 23:07:27 -06:00
Alex King
9276966418
[Rules] Add rules for cross-zone/world-wide casts to affect Bots/Mercenaries/Pets ( #4002 )
...
* [Rules] Add rules for cross-zone/world-wide casts to affect bots/mercenaries/pets
# Notes
- These rules allow operators to have cross-zone/world-wide casts/removals of spells affect bots, mercenaries, and/or pets.
- Adds `World:AllowWorldWideSpellsOnBots`.
- Adds `World:AllowWorldWideSpellsOnMercs`.
- Adds `World:AllowWorldWideSpellsOnPets`.
- Adds `Zone:AllowCrossZoneSpellsOnBots`.
- Adds `Zone:AllowCrossZoneSpellsOnMercs`.
- Adds `Zone:AllowCrossZoneSpellsOnPets`.
* Consolidate to 3 rules
2024-01-28 23:06:21 -06:00
Alex King
b89772ca91
[Pets] Convert Load of Pets Beastlord Data to Repositories ( #3995 )
...
* [Pets] Convert Load of Pets Beastlord Data to Repositories
# Notes
- Convert `GetBeastlordPetData()` to repositories.
- Add support for `unsigned` versions of `float`, `double`, and `decimal`, without this we defaulted to `std::string`, such as with `pets_beastlord_data`.
* Update repository-generator.pl
---------
Co-authored-by: Chris Miles <akkadius1@gmail.com >
2024-01-28 23:05:43 -06:00
Alex King
a1f2a21c99
[Bug Fix] Fix NPC After Death Emotes ( #4021 )
...
* [Bug Fix] Fix NPC After Death Emotes
- `DoNPCEmote` was being called on the corpse, not the NPC, so it wasn't working for some reason despite it working for years.
- Cleaned up some other logic and variable names in `NPC::Death` while I was in there.
* Update attack.cpp
* Update npc.cpp
* Update attack.cpp
* Update attack.cpp
2024-01-29 00:03:34 -05:00
Alex King
1cb72642ac
[Traps] Convert Load/Set of Traps to Repositories ( #3994 )
...
# Notes
- Convert `LoadTraps()` and `SetTrapData()` to repositories.
2024-01-28 22:38:21 -06:00
Alex King
a38fd8f986
[Alternate Currency] Convert Load of Alternate Currencies to Repositories ( #3993 )
...
# Notes
- Convert `LoadAlternateCurrencies()` to repositories.
2024-01-28 22:36:26 -06:00
Alex King
337b6f38e0
[Mercenaries] Add expansion settings update to Mercs:Enable ( #4001 )
...
# Notes
- Adds an expansion settings update to the `Mercs:Enable` command, only updates if the expansion setting isn't already `-1` or doesn't already contain the bitmask for Seeds of Destruction (16384).
- This will enable Mercenary Liaisons spawning properly in Plane of Knowledge for the hiring of mercenaries.
2024-01-28 21:58:58 -06:00
Alex King
b4414d3052
[Merchants] Convert Merchant Load to Repositories ( #4007 )
...
* [Merchants] Convert Merchant Load to Repositories
# Notes
- Convert `GetMerchantDataForZoneLoad()` to repositories.
# Images
## Load
* Change to LoadMerchants()
2024-01-28 21:55:59 -06:00
Alex King
bfeeb0ce05
[Commands] Cleanup #petitems Command ( #4005 )
...
- Adds support to `#petitems` to allow you to target bot's pets to view their items, defaults to your pet if you have one.
- If you have no pet or no bot pet targeted it won't function.
2024-01-28 21:55:35 -06:00
Alex King
e640e3cad3
[Cleanup] Add Raid Loot Type Constants ( #4022 )
...
* [Cleanup] Add Raid Loot Type Constants
# Notes
- Add constants for Raid loot types.
* [Cleanup] Add Raid Loot Type Constants
# Notes
- Add constants for Raid loot types.
2024-01-28 21:45:32 -06:00
Alex King
c09a3a5bba
[Spawn2] Convert Spawn2 Methods to Repositories ( #4014 )
...
* [Spawn2] Convert Spawn2 Methods to Repositories
# Notes
- Convert `CreateSpawn2()`, `GetCondition()`, `LoadSpawnConditions()`, `LoadSpawnEvent()`, `UpdateSpawnCondition()`, and `UpdateSpawnEvent()` to repositories.
# Images
* Update spawn2.cpp
2024-01-28 20:24:33 -06:00
Alex King
ce907c9519
[Bots] Convert Bot Database Methods to Repositories ( #4023 )
...
* [Bots] Convert Bot Database Methods to Repositories
* Final push.
* Cleanup.
* Cleanup.
* Update bot_database.cpp
* Update bot_database.cpp
* Update bot_database.cpp
* Update bot_database.cpp
* Update bot_database.cpp
2024-01-28 20:23:31 -06:00
Alex King
7a770e0e08
[Beacon] Cleanup Beacons Code ( #4024 )
...
# Notes
- Use constants where possible.
- Change `resist_adjust` parameter in `Beacon::AELocationSpell` from `resist_adjust` to `in_resist_adjust` so we're not possibly causing parameter shadowing.
2024-01-28 20:20:09 -06:00
Chris Miles
97c3205657
[API] Add lock_status method to world API ( #4028 )
2024-01-28 20:18:32 -06:00
Alex King
ff2e56abc7
[Bug Fix] Fix issue in character_corpses Repository Query ( #4029 )
...
* [Bug Fix] Fix issue in character_corpses Repository Query
# Notes
- Query had an extra ` inside of it, causing it to fail.
* Update character_corpses_repository.h
2024-01-28 20:18:24 -06:00
Alex King
9ee16f8bf7
[Crash Fix] Fix Possible Crash in HateList::Find ( #4027 )
...
# Notes
- We were not doing any pointer validation, so we were causing crashes in some cases.
- Example: http://spire.akkadius.com/dev/release/22.43.2?id=19163
2024-01-28 02:44:04 -06:00
Paul Coene
5b43bf4a5e
[Quests] Use separate variable for quest idle override. ( #4026 )
...
* [Quests] Use separate variable for quest idle override.
* Fix missing zone->
2024-01-27 14:09:00 -05:00
Fryguy
4c769c46b3
[Bug Fix] Limit Player Taunt Distance ( #4019 )
...
* [Bug Fix] Player Taunt Distance
Previously this was not regulated on the server side and allowed players to exploit situations where the client did not enforce Z distance checks.
Rule Name: MaximumTauntDistance
Rule Default: 150
Calculation is Rule Squared
* remove `this`
2024-01-26 15:44:05 -05:00
Fryguy
8a87e00b66
[Bug Fix] Limit Pet Taunt Distance ( #4018 )
...
* [Bug Fix] Limit pet taunt distance
Previously this was not regulated and allowed players to exploit unlimited taunt distance.
Rule Name: PetTauntRange
Rule Default: 150
Calculation is Rule Squared.
* Remove `this`
2024-01-26 15:43:20 -05:00
Alex King
0ebc7f9bb6
[Release] 22.43.2 ( #4017 )
...
### Bots
* ^mez command spell list fix ([#3998 ](https://github.com/EQEmu/Server/pull/3998 )) @dariusuknuis 2024-01-19
### Code
* Cleanup position methods ([#4015 ](https://github.com/EQEmu/Server/pull/4015 )) @Kinglykrab 2024-01-25
### Commands
* Add `#npcedit set_grid [Grid ID]` to `#npcedit` ([#4004 ](https://github.com/EQEmu/Server/pull/4004 )) @Kinglykrab 2024-01-22
### Crash Fix
* Fix crash when creating Frogloks/Drakkin ([#4016 ](https://github.com/EQEmu/Server/pull/4016 )) @Kinglykrab 2024-01-25
* Reverting PR #3877 ([#3997 ](https://github.com/EQEmu/Server/pull/3997 )) @fryguy503 2024-01-17
### Database
* Drop deprecated item_tick table ([#3977 ](https://github.com/EQEmu/Server/pull/3977 )) @Akkadius 2024-01-14
* Drop item_tick if exists tweak in manifest ([#3985 ](https://github.com/EQEmu/Server/pull/3985 )) @Akkadius 2024-01-15
* Increase max spawngroup name from 50 to 200 ([#3991 ](https://github.com/EQEmu/Server/pull/3991 )) @Akkadius 2024-01-22
### Fixes
* Fix Mercenaries Buffs/Zoning Issues ([#4000 ](https://github.com/EQEmu/Server/pull/4000 )) @Kinglykrab 2024-01-22
* Fix zone database update manifest ([#3972 ](https://github.com/EQEmu/Server/pull/3972 )) @Kinglykrab 2024-01-13
* Fixes to zone idle while empty changes. ([#4006 ](https://github.com/EQEmu/Server/pull/4006 )) @noudess 2024-01-23
* Reversed logic on InLiquid ([#3979 ](https://github.com/EQEmu/Server/pull/3979 )) @fryguy503 2024-01-14
### Instances
* Convert Instance Quest Methods to Repositories ([#4012 ](https://github.com/EQEmu/Server/pull/4012 )) @Kinglykrab 2024-01-25
### Logging
* Force Info category to be always on in file/console logs ([#3990 ](https://github.com/EQEmu/Server/pull/3990 )) @Akkadius 2024-01-22
### Merchants
* Change database structure for merchant slots ([#3974 ](https://github.com/EQEmu/Server/pull/3974 )) @joligario 2024-01-14
### Messages
* Fix disciple message added by previous patch. ([#3986 ](https://github.com/EQEmu/Server/pull/3986 )) @noudess 2024-01-15
### Quest API
* QuestReward should now summon item to the inventory instead of the cursor. ([#3996 ](https://github.com/EQEmu/Server/pull/3996 )) @regneq 2024-01-22
### Repositories
* Add `rank` to reserved words ([#3982 ](https://github.com/EQEmu/Server/pull/3982 )) @Akkadius 2024-01-15
* Fix datetime zero-value save behavior ([#3976 ](https://github.com/EQEmu/Server/pull/3976 )) @Akkadius 2024-01-14
### Spawn2
* Spawn condition value should default spawn_conditions value ([#3980 ](https://github.com/EQEmu/Server/pull/3980 )) @noudess 2024-01-14
### Zoning
* Additional logs for zoning under instance checks ([#3989 ](https://github.com/EQEmu/Server/pull/3989 )) @Akkadius 2024-01-22
2024-01-25 16:30:50 -06:00
Alex King
9ac25338bb
[Crash Fix] Fix crash when creating Frogloks/Drakkin ( #4016 )
...
* [Crash Fix] Fix crash when creating Frogloks/Drakkin
# Notes
- https://github.com/EQEmu/Server/pull/3920 introduced an issue where we were using `uchar` for `race_selection` and `class_selection` which was not functioning properly within `IsPlayerRace()`.
* Update client.cpp
2024-01-25 06:19:59 -05:00
Alex King
e9285fd2ca
[Instances] Convert Instance Quest Methods to Repositories ( #4012 )
...
* [Instances] Convert Instance Quest Methods to Repositories
# Notes
- Convert `UpdateInstanceTimer()` and `GetInstanceTimerByID()` to repositories.
- Cleanup other instance methods.
* Update questmgr.cpp
2024-01-25 05:50:10 -05:00
Alex King
5b85f89c21
[Cleanup] Cleanup position methods ( #4015 )
...
# Notes
- Cleanup logic.
2024-01-24 22:47:24 -06:00
Paul Coene
7fed8fc8c8
[Bug Fix] Fixes to zone idle while empty changes. ( #4006 )
2024-01-22 19:33:00 -05:00
Alex King
26769f40d9
[Commands] Add #npcedit set_grid [Grid ID] to #npcedit ( #4004 )
...
* [Commands] Add #npcedit grid_id to #npcedit
# Notes
- Adds `#npcedit grid_id [Grid ID]` to `#npcedit`.
* set_grid
2024-01-22 17:49:18 -05:00
regneq
f6148b9b8d
[Quest] QuestReward should now summon item to the inventory instead of the cursor. ( #3996 )
...
* [forage rule feature] add a rule to disabled using common_food_ids from the list in forage.cpp. currently set to enabled.
* [Quest] change QuestReward summonitem to SummonItemToInventory.
* add closing brackets in QuestReward functions.
2024-01-22 17:35:15 -05:00
Chris Miles
ca1299bf1d
[Database] Increase max spawngroup name from 50 to 200 ( #3991 )
2024-01-22 17:34:54 -05:00
Chris Miles
3fb24dc0a3
[Logging] Force Info category to be always on in file/console logs ( #3990 )
2024-01-22 17:34:48 -05:00
Chris Miles
dcd7bffa54
[Zoning] Additional logs for zoning under instance checks ( #3989 )
2024-01-22 17:34:41 -05:00
Alex King
5298abe6bc
[Bug Fix] Fix Mercenaries Buffs/Zoning Issues ( #4000 )
...
# Notes
- Mercenaries were disappearing on zoning because they were saving to slot `1` and being loaded from slot `0`.
- Mercenaries were not displaying properly in group window because of this as well.
- Mercenary buffs were saving even when they did not have any buffs.
2024-01-22 17:34:28 -05:00
dariusuknuis
fbc2b7c152
[Bot] ^mez command spell list fix ( #3998 )
...
This change will allow necros to cast mez spells when ^mez command is used.
2024-01-19 16:39:14 -05:00
Paul Coene
86705000b0
Push discpline messages under melee->disciplines ( #3987 )
...
* Push discpline messages under melee->disciplines
* Added safe_delete()
* Remove fryguy's new message code and fix existing instead
2024-01-19 08:55:26 -05:00
Fryguy
748e37dbdf
[Crash Fix] Reverting PR #3877 ( #3997 )
...
Reports of #3877 causing crashes on windows. No reports on Linux, but reverting for safety.
2024-01-17 18:22:11 -05:00
Paul Coene
27256215b8
[Messages] Fix disciple message added by previous patch. ( #3986 )
2024-01-15 14:01:24 -05:00
Chris Miles
59cbe1a152
[Database] Drop item_tick if exists tweak in manifest ( #3985 )
2024-01-14 23:14:15 -05:00
Chris Miles
3e50427bb7
[Repositories] Add rank to reserved words ( #3982 )
...
* [Repositories] Add `rank` to reserved words
* Update zonedb.cpp
* Guild Ranks
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2024-01-14 20:58:03 -05:00
Paul Coene
883b3b5826
[Spawn2] Spawn condition value should default spawn_conditions value ( #3980 )
...
* [Spawn2] Spawn condition value should default to value in spawn_conditions table
* Formatting changes and {}
2024-01-14 13:50:05 -05:00
Fryguy
135ee6b2b7
[Bug Fix] Reversed logic on InLiquid ( #3979 )
...
Thank you @noudness for catching this. Reversed logic on InLiquid check for falling damage.
2024-01-14 11:22:48 -05:00
Akkadius
906879ce2e
[Repositories] Revert #3976 - fix character corpses
2024-01-14 03:30:00 -06:00
Chris Miles
8b7aba2769
[Release] 22.43.0 ( #3978 )
2024-01-14 00:12:26 -06:00
Chris Miles
9303255caa
[Database] Drop deprecated item_tick table ( #3977 )
2024-01-14 00:10:21 -06:00
Chris Miles
14509fcc4e
[Repositories] Fix datetime zero-value save behavior ( #3976 )
2024-01-14 00:10:13 -06:00
JJ
e40267b9b8
[Merchants] Change database structure for merchant slots ( #3974 )
...
* [Merchants] Change database structure for merchant slots
The `slot` field should be unsigned int. The temp slot is currently limited to 127. The client will limit the visible slots.
* Update version.h
2024-01-13 20:58:46 -05:00
Alex King
f3073b463f
[Release] 22.42.1 ( #3973 )
...
### Fixes
* Fix zone database update manifest ([#3972 ](https://github.com/EQEmu/Server/pull/3972 )) @Kinglykrab 2024-01-13
* quest::processmobswhilezoneempty() fix. ([#3971 ](https://github.com/EQEmu/Server/pull/3971 )) @noudess 2024-01-13
2024-01-13 20:09:01 -05:00
Alex King
5ad4129312
[Bug Fix] Fix zone database update manifest ( #3972 )
...
* [Bug Fix] Fix zone database update manifest
# Notes
- Missing comma.
* Update database_update_manifest.cpp
2024-01-13 18:15:01 -05:00
Paul Coene
4b5b29b165
[Bug Fix] quest::processmobswhilezoneempty() fix. ( #3971 )
2024-01-13 09:37:22 -05:00
Alex King
3b7a138de4
[Release] 22.42.0 ( #3970 )
...
### AAs
* Convert Loading of AAs to Repositories ([#3963 ](https://github.com/EQEmu/Server/pull/3963 )) @Kinglykrab 2024-01-13
### Auras
* Convert Get of Auras to Repositories ([#3964 ](https://github.com/EQEmu/Server/pull/3964 )) @Kinglykrab 2024-01-13
### Character
* Character EXP Modifiers in Memory ([#3934 ](https://github.com/EQEmu/Server/pull/3934 )) @Kinglykrab 2024-01-13
* Convert Character Corpses to Repositories ([#3941 ](https://github.com/EQEmu/Server/pull/3941 )) @Kinglykrab 2024-01-13
* Convert Save of Character Languages to Repositories ([#3948 ](https://github.com/EQEmu/Server/pull/3948 )) @Kinglykrab 2024-01-12
### Code
* Cleanup AddCash() and RemoveCash() NPC Methods ([#3957 ](https://github.com/EQEmu/Server/pull/3957 )) @Kinglykrab 2024-01-12
* Cleanup ChangeSize() ([#3959 ](https://github.com/EQEmu/Server/pull/3959 )) @Kinglykrab 2024-01-12
* Cleanup Owner Related Mob Methods ([#3960 ](https://github.com/EQEmu/Server/pull/3960 )) @Kinglykrab 2024-01-13
* Cleanup RandomizeFeatures() ([#3958 ](https://github.com/EQEmu/Server/pull/3958 )) @Kinglykrab 2024-01-12
* Remove GroupCount() and RaidGroupCount() ([#3943 ](https://github.com/EQEmu/Server/pull/3943 )) @Kinglykrab 2024-01-13
* Remove unused Grid methods ([#3944 ](https://github.com/EQEmu/Server/pull/3944 )) @Kinglykrab 2024-01-13
### Commands
* Convert NPC Spawn Methods to Repositories ([#3956 ](https://github.com/EQEmu/Server/pull/3956 )) @Kinglykrab 2024-01-13
### Crash Fix
* Character Creation Class/Race out of Range. ([#3920 ](https://github.com/EQEmu/Server/pull/3920 )) @fryguy503 2024-01-09
### Feat
* Alt Sinister Strike Formula ([#3921 ](https://github.com/EQEmu/Server/pull/3921 )) @fryguy503 2024-01-09
### Feature
* Add Lore Item Trade Error ([#3932 ](https://github.com/EQEmu/Server/pull/3932 )) @fryguy503 2024-01-13
* Rule: UseLiveBlockedMessage Bard Spam ([#3933 ](https://github.com/EQEmu/Server/pull/3933 )) @fryguy503 2024-01-09
### Fixes
* Attack Corpse Skill Up Fix ([#3924 ](https://github.com/EQEmu/Server/pull/3924 )) @fryguy503 2024-01-09
* Fix Issue with SetFlyMode() ([#3961 ](https://github.com/EQEmu/Server/pull/3961 )) @Kinglykrab 2024-01-12
* Harm Touch Critical Ratio ([#3915 ](https://github.com/EQEmu/Server/pull/3915 )) @fryguy503 2024-01-09
* Increase Precision in CheckDoubleAttack ([#3928 ](https://github.com/EQEmu/Server/pull/3928 )) @fryguy503 2024-01-09
* IsOfClientBotMerc() for Discipline Messages ([#3940 ](https://github.com/EQEmu/Server/pull/3940 )) @fryguy503 2024-01-09
* Limit MeleeMitigationEffect to defender if only client. ([#3918 ](https://github.com/EQEmu/Server/pull/3918 )) @fryguy503 2024-01-09
* Rampage Number of Hits Limit ([#3929 ](https://github.com/EQEmu/Server/pull/3929 )) @fryguy503 2024-01-09
* Remove duplicate character_data repository in zonedb.cpp ([#3935 ](https://github.com/EQEmu/Server/pull/3935 )) @Kinglykrab 2024-01-09
* Undead Should Never Flee ([#3926 ](https://github.com/EQEmu/Server/pull/3926 )) @fryguy503 2024-01-09
### Global Loot
* Convert Global Loot to Repositories ([#3962 ](https://github.com/EQEmu/Server/pull/3962 )) @Kinglykrab 2024-01-13
### Ground Spawns
* Convert Ground Spawns to Repositories ([#3967 ](https://github.com/EQEmu/Server/pull/3967 )) @Kinglykrab 2024-01-13
### Horses
* Convert Horses to Repositories ([#3965 ](https://github.com/EQEmu/Server/pull/3965 )) @Kinglykrab 2024-01-13
### Item Ticks
* Remove Item Ticks Code ([#3955 ](https://github.com/EQEmu/Server/pull/3955 )) @Kinglykrab 2024-01-13
### Mercenaries
* Convert Mercenaries to Repositories ([#3947 ](https://github.com/EQEmu/Server/pull/3947 )) @Kinglykrab 2024-01-13
### Merchants
* Convert Clear/Delete/Save of Temporary Merchant Lists to Repositories ([#3945 ](https://github.com/EQEmu/Server/pull/3945 )) @Kinglykrab 2024-01-13
### NPCs
* Convert Load of NPC Emotes to Repositories ([#3954 ](https://github.com/EQEmu/Server/pull/3954 )) @Kinglykrab 2024-01-13
### Objects
* Convert Add/Delete/Update of Objects to Repositories ([#3966 ](https://github.com/EQEmu/Server/pull/3966 )) @Kinglykrab 2024-01-13
* Convert World Containers to Repositories ([#3951 ](https://github.com/EQEmu/Server/pull/3951 )) @Kinglykrab 2024-01-13
### Pets
* Convert Pets to Repositories ([#3968 ](https://github.com/EQEmu/Server/pull/3968 )) @Kinglykrab 2024-01-13
### Repositories
* Add null integer column support, instance_list notes migration, regenerate repositories ([#3969 ](https://github.com/EQEmu/Server/pull/3969 )) @Akkadius 2024-01-13
### Respawns
* Convert Respawn Times to Repositories ([#3949 ](https://github.com/EQEmu/Server/pull/3949 )) @Kinglykrab 2024-01-13
### Rules
* Add rule for bard aggro cap ([#3909 ](https://github.com/EQEmu/Server/pull/3909 )) @fryguy503 2024-01-09
* Allow GMs to silently summon ([#3910 ](https://github.com/EQEmu/Server/pull/3910 )) @fryguy503 2024-01-09
* Bash Two Hander use Shoulders ([#3925 ](https://github.com/EQEmu/Server/pull/3925 )) @fryguy503 2024-01-09
* Classic Spell Data SPA Calc variability ([#3931 ](https://github.com/EQEmu/Server/pull/3931 )) @fryguy503 2024-01-09
* Classic Tracking Skillups ([#3923 ](https://github.com/EQEmu/Server/pull/3923 )) @fryguy503 2024-01-09
* Separate Tradeskill Max Train from Research. ([#3916 ](https://github.com/EQEmu/Server/pull/3916 )) @fryguy503 2024-01-09
### Tasks
* Add Support for Task Window Element Groups ([#3902 ](https://github.com/EQEmu/Server/pull/3902 )) @hgtw 2024-01-09
### Traps
* Convert Load of LDoN Traps/Trap Entries to Repositories ([#3953 ](https://github.com/EQEmu/Server/pull/3953 )) @Kinglykrab 2024-01-13
### Zones
* Convert Get/Set of Zone Timezone to Repositories ([#3946 ](https://github.com/EQEmu/Server/pull/3946 )) @Kinglykrab 2024-01-13
* Convert IDLE_WHEN_EMPTY to a Zone Column ([#3891 ](https://github.com/EQEmu/Server/pull/3891 )) @Kinglykrab 2024-01-13
* Convert SaveZoneCFG to Repositories ([#3950 ](https://github.com/EQEmu/Server/pull/3950 )) @Kinglykrab 2024-01-13
2024-01-13 01:31:56 -06:00
Alex King
742b437f2c
[Zones] Convert IDLE_WHEN_EMPTY to a Zone Column ( #3891 )
...
* [Rules] Convert IDLE_WHEN_EMPTY to a rule
# Notes
- Converts `IDLE_WHEN_EMPTY` to `Zone:ZonesIdleWhenEmpty` so that we can change this on the fly or on a zone-by-zone basis instead of having to recompile to do this.
- Especially helpful for those using release binaries that do not compile their own source.
* Convert to zone column.
* Update ruletypes.h
* Update ruletypes.h
* Update entity.cpp
* Update entity.cpp
* Rename.
* Update database_update_manifest.cpp
* Update base_zone_repository.h
* Update zone.cpp
* seconds_before_idle
* Update database_update_manifest.cpp
* Getter/Setters/Private
* Update base_zone_repository.h
* IsIdle()/SetIsIdle()
* Update entity.cpp
2024-01-13 01:21:40 -06:00
Alex King
d41bd8f963
[Zones] Convert Get/Set of Zone Timezone to Repositories ( #3946 )
...
* [Zones] Convert Get/Set of Zone Timezone to Repositories
- Convert `GetZoneTimezone()` and `SetZoneTimeZone()` to repositories.
* Update time_zone.cpp
2024-01-13 00:10:14 -06:00
Alex King
73a099c5ea
[Character] Character EXP Modifiers in Memory ( #3934 )
...
* Cleanup
* Final push.
* Update zonedb.cpp
* Update zone.h
* Update exp.cpp
* Update zonedb.cpp
---------
Co-authored-by: Chris Miles <akkadius1@gmail.com >
2024-01-13 00:03:36 -06:00
Alex King
77c0eb3998
[Character] Convert Character Corpses to Repositories ( #3941 )
...
* asdsa
* Final push
* Update character_corpses_repository.h
* Update character_corpses_repository.h
* Update zonedb.cpp
* Update zonedb.cpp
* Final push
* Update character_corpses_repository.h
2024-01-13 00:02:44 -06:00
Alex King
5d1c59c95f
[Merchants] Convert Clear/Delete/Save of Temporary Merchant Lists to Repositories ( #3945 )
...
* [Merchants] Convert Clear/Delete/Save of Temporary Merchant Lists to Repositories
- Convert `ClearMerchantTemp()`, `DeleteMerchantTemp()`, and `SaveMerchantTemp()` to repositories.
* Update merchantlist_temp_repository.h
2024-01-12 23:47:25 -06:00
Fryguy
1d7f39c13b
[Feature] Add Lore Item Trade Error ( #3932 )
...
* DRAFT: [Feature] Add Lore Item Trade Error
I had lots of feedback from players to add feedback when doing player to player trades to include what items were causing the trade block.
I quickly added this check, however if multiple lore items are being traded, this will only output the first. So far it has worked well, but not sure if we want to:
- Expand this to list all lore items in the trade.
- Enable this by default and do not provide a rule?
* Credit to @KinglyKrab for the assist on making this output a list.
Ruled this off but enabled by default.
2024-01-12 23:43:57 -06:00
Alex King
1bb8678abe
[Cleanup] Remove GroupCount() and RaidGroupCount() ( #3943 )
...
# Notes
- These are unused.
2024-01-12 23:41:21 -06:00
Alex King
47968774d9
[Cleanup] Remove unused Grid methods ( #3944 )
...
# Notes
- Remove `AssignGrid()`, `GetGridType()`, `GetGridType2()`, and `GetWaypoints()` as they are unused.
2024-01-12 23:41:06 -06:00
Alex King
d7dc717249
[Mercenaries] Convert Mercenaries to Repositories ( #3947 )
...
* [Mercenaries] Convert Mercenaries to Repositories
- Convert all Mercenary methods to repositories aside from inner join queries that cannot be converted.
* Update base_merc_subtypes_repository.h
* Update base_merc_subtypes_repository.h
* Regenerate repositories
2024-01-12 23:40:26 -06:00
Alex King
32659426ba
[AAs] Convert Loading of AAs to Repositories ( #3963 )
...
* [AAs] Convert Loading of AAs to Repositories
- Convert `LoadAlternateAdvancementAbilities()` to repositories.
- Regenerate repositories since a column was added to `aa_ability`.
* Update aa.cpp
* Update aa.cpp
2024-01-12 23:38:13 -06:00
Alex King
238c9fe667
[Global Loot] Convert Global Loot to Repositories ( #3962 )
...
* [Global Loot] Convert Global Loot to Repositories
# Notes
- Convert `LoadGlobalLoot()` to repositories.
* Update repository-generator.pl
* Final push.
* Update loottables.cpp
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2024-01-12 23:37:26 -06:00
Alex King
b9f997015a
[Horses] Convert Horses to Repositories ( #3965 )
...
* [Horses] Convert Horses to Repositories
# Notes
- Convert `BuildHorseType()` to repositories.
- Removed unused code, parameters, and member variables in horses.
* Update horse.cpp
2024-01-12 23:33:52 -06:00
Alex King
11e2a252e5
[Objects] Convert World Containers to Repositories ( #3951 )
...
* [Objects] Convert World Containers to Repositories
- Convert world containers to repositories.
* Update zonedb.cpp
2024-01-12 23:33:37 -06:00
Alex King
fc627ed52d
[NPCs] Convert Load of NPC Emotes to Repositories ( #3954 )
...
* [NPCs] Convert Load of NPC Emotes to Repositories
- Convert `LoadNPCEmotes()` to repositories.
* Cleanup
2024-01-12 23:33:11 -06:00
Alex King
4c028b85f0
[Auras] Convert Get of Auras to Repositories ( #3964 )
...
* [Auras] Convert Get of Auras to Repositories
# Notes
- Convert `GetAuraEntry()` to repositories.
* Update aura.cpp
2024-01-12 23:29:43 -06:00
Alex King
f1d5e3eedf
[Zones] Convert SaveZoneCFG to Repositories ( #3950 )
...
* [Zones] Convert SaveZoneCFG to Repositories
# Notes
- Convert `SaveZoneCFG()` to repositories.
* Comment
* safe_heading
* Update zone_data.cpp
2024-01-12 23:28:16 -06:00
Alex King
d59531b16f
[Item Ticks] Remove Item Ticks Code ( #3955 )
...
* [Items] Convert Load of Item Ticks to Repositories
- Convert `LoadItemTicks()` to repositories.
* Remove item tick code.
* Remove repository references.
* Update zone.h
2024-01-12 23:17:00 -06:00
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
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
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
Fryguy
62b5f8a488
[Rules] Classic Spell Data SPA Calc variability ( #3931 )
...
* [Rules] Classic Spell Data SPA Calc variability
When using lucy imports of older more classic data, they lack the limit values which provides Focus Random Effectiveness.
Example:
Bazu Plauge (6472) went from a 40 limit to 0 limit on the 2006 lucy import.
Lucy does have limit value data, but it appears the affected SPAs sony handled in source vs in spell data.
* Requested Changes
2024-01-09 05:49:10 -05:00
Fryguy
d0e069f4f8
[Bug Fix] Rampage Number of Hits Limit ( #3929 )
...
* [Bug Fix] Rampage Number of Hits Limit
Rampage should Hit 1-2 times (Primary / Secondary) should not be Triple/Quadable
* requested name convention changes
2024-01-09 05:48:45 -05:00
Fryguy
1b5b22eeca
[Rule] Classic Tracking Skillups ( #3923 )
...
* [Rule] Classic Tracking Skillups
Rule: TrackingAutoRefreshSkillUps
Default: True
Disable rule to prevent skillups from happening on auto refresh of tracking window.
* typo
2024-01-09 05:48:35 -05:00
Fryguy
66d9371714
[Bug Fix] Increase Precision in CheckDoubleAttack ( #3928 )
...
* [Bug Fix] Increase percision on CheckDoubleAttack.
On DA Checks where class was a non skill based DA Attacker (Bard or BST with granted DA) The DA check was too steep and should not have been dividing by 500 but rather 100. Also adjusted logic percision to use floats so loss of data does not occur.
* logging var names update
* Update attack.cpp
---------
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
2024-01-08 22:34:41 -06:00
Fryguy
0418dc4aa3
[Bug Fix] Attack Corpse Skill Up Fix ( #3924 )
...
* [Bug] Attack Corpse Skillup Fix
Occasions where a corpse will allow skillups from attacks being turned on (even if no damage)
* requested changes
2024-01-08 22:32:18 -06:00
Fryguy
f12c87a04a
[Feat] Alt Sinister Strike Formula ( #3921 )
...
I have been informed that this was proven to be false, but the AA is pretty useless without some adjustment.
Adding this as a rule to allow server owners to adjust as needed.
Update Sinister Strikes
tapatalk.com/groups/monklybusiness43508/leksikon-s-half-assed-guide-to-monkly-aas-oow-incl-t510-s20.html?sid=a9c7745f287f3e89301c960c20f33248
Sinister Strikes:
19 Delay weapon -- Gives a 5 damage bonus to all hits
20 Delay weapon -- Gives a 6 damage bonus to all hits
24 Delay weapon -- Gives a 7 damage bonus to all hits
Given Quarm hammer with maxed non-GoD AAs:
0.7 HPS offhand = 4.9 DPS increase.
2024-01-08 22:31:04 -06:00
Fryguy
97dbf85a4c
[Bug Fix] Limit MeleeMitigationEffect to defender if only client. ( #3918 )
...
* [Bug] Limit MeleeMitigationEffect to defender if only client.
* Fix MeleeMitigation to properly Add (Substract due to negative values).
* defender fix
2024-01-08 22:30:29 -06:00
Fryguy
46a0cf6b02
[Rule] Separate Tradeskill Max Train from Research. ( #3916 )
...
* [Rule] Seperate Tradeskill Max Train from Research.
Different eras had different rules on the max gm trainable skill for Research.
* Phrasing
2024-01-08 22:29:57 -06:00
Fryguy
8f34bd998f
[Rule] Add rule for bard aggro cap ( #3909 )
...
BardAggroCap - Default 40
Allows adjustment of per song bard aggro cap.
2024-01-08 22:29:24 -06:00
Fryguy
98928aee74
[Rule] Allow GMs to silently summon ( #3910 )
...
* [Rule] Allow GMs to silently summon
Disable to silently summon players with #summon.
Converted SummonPC to a MessageString
* Implementing an automatic detection of gm hidden mode and silent summoning.
2024-01-08 22:28:50 -06:00
Fryguy
e6dc980315
[Bug Fix] Harm Touch Critical Ratio ( #3915 )
...
* [Bug] HT Crit Ratio
This is used to tune and bring HT Crits more in line with the correct values as proven in screenshots.
* requested changes
* mistakenly kept mob::
2024-01-08 22:27:56 -06:00
Fryguy
ec465616b4
[Feature] Rule: UseLiveBlockedMessage Bard Spam ( #3933 )
...
When using `UseLiveBlockedMessage` rule, bard will get massively spammed when doing aoe songs that are blocked. Not sure it is resonable to try and filter out all stacking messages from songs, but rather just block bards as a whole. I can not think of many cases where bards care of songs land or not when using this rule.
2024-01-08 22:26:10 -06:00
Fryguy
23de0119ff
[Bug Fix] Undead Should Never Flee ( #3926 )
...
* [Bug Fix] Undead Should Never Flee
Added a hard return on Undead Body Types. They should never flee under any circumstance.
* space
2024-01-08 22:24:57 -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
Fryguy
e035660150
[Crash Fix] Character Creation Class/Race out of Range. ( #3920 )
...
* [Crash Fix] Character Creation Class/Race out of Range.
Known bug to crash the world server from character creation.
You can send a packet with a manual race or class entry below 0 or above 255 will cause world crash.
* Requested changes
* Compile fixes and logging change
* Fixed compile issues
2024-01-08 23:24:15 -05:00
Fryguy
472dd71d7f
[Rules] Bash Two Hander use Shoulders ( #3925 )
...
Rule: BashTwoHanderUseShoulderAC
Default: False
Allows server operators to choose if they want two handed bash to utilize the shoulder armor or not.
Rule: BashACBonusDivisor
Default: 25.0
Allows adjustment for bash AC value contributions. Lower to increase damage.
2024-01-08 23:23:51 -05:00
Fryguy
409b6bf424
[Bug Fix] IsOfClientBotMerc() for Discipline Messages ( #3940 )
2024-01-08 23:23:09 -05: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
Fryguy
6bf36f3e77
[Bug Fix] World Shutdown Filter ( #3930 )
...
Moved World Shutdown to the System filter from base yellow.
2024-01-08 12:14:08 -05:00
Fryguy
dfb06db17b
[Rule] Over Taunt Hate ( #3900 )
...
* [Rule] Over taunt hate rule
Rule to add additional hate when taunt succeeds. This can help tune snap aggro on taunt classes. Only works when taunt succeeds and not already top hate.
* Requested Adjustments
* Add default +1 on rule
* Revert back to 0 default on rule with +1 on the standard formula
* formatting fix
2024-01-08 12:11:04 -05:00
Fryguy
3e958c575b
[Info] Adding textual feedback when trying to sell alt items back to … ( #3917 )
...
* [Info] Adding textual feedback when trying to sell alt items back to vendor when disabled.
* requested changes
2024-01-08 11:34:58 -05:00
Fryguy
e5db19965f
[Rule] Ensure mana taps only effect NPC's that have mana. ( #3907 )
...
* [Rule] Ensure mana taps only effect NPC's that have mana.
* Requested Changes
* fail at the beginning of a cast.
* Fixes
2024-01-08 06:23:54 -05:00
Fryguy
ce73f6bfe1
[Bug Fix] Fix for HasLockoutByCharacterID ( #3927 )
...
Per HG, this will resolve issues with HasLockoutByCharacterID
2024-01-08 02:45:19 -06:00
Fryguy
700f4645e2
[Rule] Stun Chance Percent Rule ( #3922 )
...
Added a rule for server operators to tune the Stun Chance from players when mobs are behind.
DEFAULT: 12
2024-01-08 02:40:01 -06:00
Fryguy
5a7d544c5b
[Bug] DI Buff Fade ( #3919 )
...
Mistakenly removed BuffFadeBySlot(buffSlot);
2024-01-08 02:06:41 -06:00
Fryguy
0f7f71334a
[Rules] Backstab Damage Modifier ( #3908 )
...
* [Rules] Backstab Damage Modifier
Added NPCBackstabMod - Default 1.9 - Lower mod = higher backstab.
* Update special_attacks.cpp
corrected math to npc base_damage
2024-01-08 01:58:48 -06:00
Fryguy
c731f3f560
[Rule] Classic Tradeskill Skill Clamp ( #3914 )
...
Legacy Tradeskills had a 252 clamp regardless of modifier and skill.
Default to 0 to bypass clamp
2024-01-08 01:48:40 -06:00
Fryguy
b30fbc70a3
[Bug] NPCs will now only proc on hit ( #3913 )
2024-01-08 01:47:55 -06:00
Fryguy
195cb80d56
[Bug] Pets should not ignore Z axis ( #3912 )
...
Ignoring the Z axis allows you to attack mobs on target from wildly inappropriate Z distances.
Example you can pull mobs to the cy in bothunder from the towers you are under when many 1000's of units away by Z only.
2024-01-08 01:41:51 -06:00
Fryguy
b2d5007466
[Bug Fix] TGB - Added logic to stop bard errors on group songs. ( #3906 )
...
* [Bug Fix] TGB - Added logic to stop bard errors on group songs.
Occasionally bards would get an error when singing songs with another group member targetted.
* Logic Fix
* Fixed missing brace
2024-01-08 01:27:45 -06:00
Fryguy
47e2eb0acf
[Bug Fix] Harm Touch, Improved Harm Touch, and Unholy Touch ( #3904 )
...
* [bug] HT / Imp HT / Unholy Touch
Adjusted logic order for HT/Improved HT/Unholy Touch
* Requested Changes
2024-01-07 22:57:34 -05:00
Fryguy
c36b3f030b
[Bug Fix] Disciplines should show when someone casts them. ( #3901 )
...
* [Bug] Discs should show when someone casts them.
* Correction to location
* requested changes
* Additional fixes
2024-01-07 22:17:30 -05:00
Fryguy
2b821e50ff
[Rule] Classic Triple Attack ( #3903 )
...
* [Rule] Classic Triple Attack
Classic Triple attack pre-dates skill based triple attack.
Originally it was only for a few classes but was expanded to Warrior, Monks, Berserkers and finally rangers for Dragons of Norrath. After which it was converted to a skill based feature.
These were innate starting level 60 and had a flat % to trigger.
* Requested Changes
2024-01-07 22:06:13 -05:00
Fryguy
0aa07e9529
[Bug Fix] Legacy Manaburn should have hard cap. ( #3905 )
...
Legacy Manaburn can crit, however normal or crit has same hard cap.
Created a rule to better manage the cap for server owners.
2024-01-07 21:54:14 -05:00
Chris Miles
7ddafd9ed8
[Release] 22.40.0 ( #3899 )
...
* [Release] 22.40.0
* Update CHANGELOG.md
2024-01-07 16:13:55 -06:00
Fryguy
5488e9bf22
[Bug Fix] Amplification should not benefit from instrument mods ( #3898 )
2024-01-07 17:01:08 -05:00
Fryguy
6db6d7dca9
[Bug Fix] Depop Charm Pet and Detach Debuffs on Evacuate ( #3888 )
...
* [Bug Fix] depop charm pet and detach debuffs on evac.
This will depop charm pets and deteach debuffs to prevent some social aggro issues and exploitable conditions with charming and pulling a mob across the zone with no aggro concerns.
* Added Rules
2024-01-07 16:44:15 -05:00
Fryguy
066b762e73
[Rule] RequireMnemonicRetention for Spells 9-12 Rule ( #3876 )
...
* [Rule] RequireMnemonicRetention for Spells 9-12 Rule
Rule is default false to maintain current server setup.
Enabling will require clients to have the required ranks of Mnemonic Retention in order to cast.
This is a stopgap as on live, the buttons are not even available to use. This will mimic the functionality but denying the cast.
* Change to default true
* Cleanup Logic - Thank you @KinglyKrab
* To aggressive on the cleanup
* True != true
* fix duplicated rule after rebase.
2024-01-07 16:28:03 -05:00
Fryguy
cd85a8524a
[Bug Fix] Target Locked Pet Taunt ( #3894 )
...
* [Bug Fix] Target Locked pet taunt
Target locked pets shouldn't taunt
* Update mob.h
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2024-01-07 16:22:37 -05:00
Fryguy
4490a53ba0
[Bug Fix] Disciplines Getting Focuses Fix ( #3884 )
...
* [Bug Fix] Discs Getting Focuses Fix
Focus effects shouldn't extend discipline timers except for War Cries
* Update to Logic
2024-01-07 16:02:17 -05:00
Fryguy
00eb462d47
[Bug Fix] Snare and DOT Stacking ( #3897 )
...
Dots won't overwrite regen but regen won't stack with dots.
Sow type spells won't stack if a snare effect is already in place.
2024-01-07 16:01:33 -05:00
Fryguy
2df7d19f97
[Bug Fix] Rune Invis Break ( #3893 )
...
Rune doesn't stop invis breaking
2024-01-07 15:57:09 -05:00
Fryguy
48c6db3a9c
[Bug Fix] Buff Sync ( #3896 )
...
Align client and server on buff position (easiest fix to sync client/server)
2024-01-07 15:56:27 -05:00
Fryguy
cce368d94c
[Bug Fix] Rez in zone clear aggro ( #3895 )
...
Clear client to be rezzed aggro when rezzing in zone.
2024-01-07 15:56:21 -05:00
Fryguy
84b8bdd2b4
[Bug Fix] Clear Ramp when Clearing hate ( #3892 )
...
* [Bug Fix] Clear Ramp when Clearing hate
When clearing a client from the hatelist, also clear them from ramp
* Add additional calls missed
* requested changes
* extra tabs
2024-01-07 15:27:12 -05:00
Fryguy
fc8ace91cb
[Bug Fix] Cancel Magic SE fix ( #3890 )
...
* [Bug Fix] Cancel Magic SE fix
Cancel Magic should always attempt the first slot for dispell.
* Add back TryDispell
2024-01-07 15:02:43 -05:00
Fryguy
2d6c9f881a
[Bug Fix] Swimming Rules Adjustment and Racial ( #3889 )
...
* [Bug Fix] Swiming rules adjustment and racial
We need to set all character default swiming prior to working through racials. Added racial check so if starting rule is over the racial default it will not over-ride the starting rule.
* operator fix
2024-01-07 15:02:21 -05:00
Fryguy
9b72c07a54
[Bug Fix] Add locations where melee can be bound outside of a city. ( #3887 )
...
* [Bug Fix] Add locations where melee can be bound outside of a city.
* new line
2024-01-07 15:01:54 -05:00
Fryguy
9d5d13fbd0
[Rule] Casting Charm on over level = Aggro ( #3886 )
...
Casting charm on target with level above max level of spell will give resist message and aggro
2024-01-07 14:53:42 -05:00
Fryguy
bc3e9e8fba
[Rules] Evac Aggro Wipe ( #3880 )
...
clear aggro on evac spells, special case of wiping aggro for clients
2024-01-07 13:51:07 -05:00
Fryguy
d9cfc3a858
[Feature] Legacy Manaburn Rule ( #3872 )
...
* [Feature] Legacy Manaburn Rule
Enabling this rule allows the legacy style Manaburn and LifeBurn early 2003 and earlier.
* Requested Changes
* Requested Change
2024-01-07 12:34:43 -05:00
Fryguy
51dc62dfb1
[Bug Fix] Swim Skillup and Underwater Fall Damage Fix ( #3885 )
...
* [Bug Fix] Swim Skillup and Underwater Fall Damage Fix
No fall damage underwater, need to move to skill up swimming
* Requested Changes
2024-01-07 12:34:25 -05:00
Fryguy
e52e4d5b3f
[Bug Fix] Bard Caster Level Fixes ( #3883 )
...
Bards do not gain benefits from spells like Intellectual Superiority
2024-01-07 12:13:44 -05:00
Fryguy
0c3149a6e5
[Bug Fix] Rez Effects Stacking ( #3882 )
...
Nothing conflicts with stacking with resurrection effects
2024-01-07 12:13:36 -05:00
Fryguy
611122833d
[Rule] Undead Aggro ( #3881 )
...
* [Rule] Undead Aggro
Add rule for undead aggro and check for undead at aggro check time
* Add Rule
* Requested Change
2024-01-07 12:13:30 -05:00
Fryguy
b83373491e
[Rules] PC Push and NPCtoNPC Push ( #3879 )
...
* [Rules] PC Push and NPCtoNPC Push
Added knobs to increase/decrease push for players/clients by percentage.
Added toggle to enable or disable (disabled by default) NPCtoNPC push (2013 patch)
* Requested Changes
* Fix build errors
2024-01-07 12:13:17 -05:00
Fryguy
dfa349492c
[Rule] Classic Invite Requires Target ( #3878 )
...
* [Rule] Classic Invite Requires Target
Default is false, when enabled, group invites will require a hard target to invite.
`/invite charname` will no longer function when enabled.
* Updates including raid errors
* String Suggestion
2024-01-07 12:12:57 -05:00
Fryguy
c08200188f
[Bug Fix] Harm Touch Unholy Disc Type ( #3874 )
...
* [Bug Fix] Harm Touch Unholy Disc Type
Added an small if block in the ResistSpell() function to set the correct resist type, disease,when HT is casted while the Unholy Disc is up.
* Remove Extra Space
2024-01-07 12:12:21 -05:00
Fryguy
41d9a15c74
[Bug Fix] Vampiric Embrace Fixes ( #3873 )
...
* [Bug Fix] Vampiric Embrace Fixes
Fixed the difference of procs for Vampiric Embrace between Necros and Shadow Knights.
* Space
* Cleanup
* Update spdat.h
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2024-01-07 12:12:15 -05:00
Fryguy
2ed4effbe3
[Bug Fix] Prevent QS Crashes ( #3877 )
2024-01-07 04:47:29 -05:00
Fryguy
6ec09f300a
[Bug Fix] Dire Charm Reset ( #3875 )
...
* [Bug Fix] Dire Charm Reset
Added Druid and Necro Dire Charm to Failure Check
* [Rule] RequireMnemonicRetention for Spells 9-12 Rule
Rule is default false to maintain current server setup.
Enabling will require clients to have the required ranks of Mnemonic Retention in order to cast.
This is a stopgap as on live, the buttons are not even available to use. This will mimic the functionality but denying the cast.
* Revert "[Rule] RequireMnemonicRetention for Spells 9-12 Rule"
This reverts commit c65e86223d .
2024-01-07 04:47:09 -05:00
Fryguy
079f612730
[Feature] Legacy Fizzle Code ( #3868 )
...
* [Feature] Legacy Fizzle Code
Enabling UseLegacyFizzleCode will enable the legacy fizzle code system.
New fizzle codes modeled on extensive testing in 2001/2002 (thank you druid's grove and graffe)
* requested adjustments
* Requested Changes
2024-01-07 04:46:27 -05:00
Fryguy
2c971fb2de
[Rules] Resist Softcap rules ( #3863 )
...
* [Rules] Resist Softcap rules
This rule will allow you to adjust the Resist softcap to help tune resists as you need.
* Fix naming
* Cleanup
2024-01-07 04:46:14 -05:00
Fryguy
20e9a8b2d2
[Bug Fix] Class Trainers dont steal your money! ( #3864 )
...
* [Bug Fix] Class Trainers dont steal your money!
Class trainers log an error when you have reached your max train in the specific skill. They will continue to "Appear" to eat money and practices however they will be returned on logout/in or zone.
* Remove un-needed logic due to legacy code.
* more cleanup
2024-01-07 01:16:57 -06:00
Fryguy
8fa6a0b496
[Rules] Restrict Finishing Blow to only Fleeing NPC's. ( #3869 )
...
* [Rules] Restrict Finishing Blow to only Fleeing NPC's.
Default is false to maintain current design
* Cleanup
2024-01-07 01:11:49 -06:00
Fryguy
d6e1c3f187
[Rule] Mounts will wear off on zone ( #3865 )
...
* [Rule] Mounts will wear off on zone
Allows server admins to toggle if they want to prevent players from retaining mounts on zone. false is default to maintain current feature set.
* Added Date for mount zoning added
2024-01-07 01:08:16 -06:00
Fryguy
70a4b6a2b1
[Bug Fix] DI/Death Pact Fix ( #3867 )
...
* [Bug Fix] DI/Death Pact Fix
Divine Intervention/Death Pact buffs were always fading the moment a person dropped below 16% regardless if it healed or not. It will now only fade if it succeeds in healing, and it will only check to heal when a person drops below 16%
* Requested Updates
2024-01-07 01:05:16 -06:00
Fryguy
7923d7bc6c
[Bugfix] Negative Aggro Fix ( #3866 )
...
If aggro goes negative, it resets the counter from the max value, so having a negative aggro will give massive aggro. This was happening with bane attacks from monk special abilities being set to -5 damage so they don't hit, and since aggro was set to the same, instant aggro from monks on bane mobs. Set all monk special attacks to generate 0 aggro if it is less than 0.
2024-01-07 01:03:15 -06:00
Fryguy
6007ba454c
[Feature] Formula Addition (40+ Harm Touch) ( #3870 )
2024-01-07 01:01:13 -06:00
Fryguy
d4a78f4799
[Feature] Break Trader if moved ( #3862 )
...
* [Feature] Break Trader if moved
If the player moves while in trader mode, it will end the mode, this prevents traders from moving outside of the trader area after entering trader mode.
* Fix spacing
2024-01-07 00:55:33 -06:00
Fryguy
0ada53aa96
[Tuning] FD and Sneak break when cast on adjustments. ( #3861 )
...
* [Tuning] FD and Sneak break when cast on adjustments.
Rules added:
RULE_REAL(Spells, BreakFeignDeathWhenCastOn, 50.0) // percentage that fd will break when you resist a spell
RULE_REAL(Spells, BreakSneakWhenCastOn, 2.0) // percentage that sneak will break when you resist a spell
* Fix default value to be peq default and spacing
2024-01-07 00:55:15 -06: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
Chris Miles
a3a707adae
[UCS] Consolidate configuration block ( #3768 )
...
* [UCS] Consolidate configuration block
* Update eqemu_config.cpp
* Single indent config
* reload config internally
* Make sure port is a string to be consistent with previous fields
* Move conversion logic to function CheckUcsConfigConversion
2024-01-06 21:55:51 -06:00
dariusuknuis
c4da9766a4
[Bots] Resist Spell Fix ( #3840 )
...
Bots were not casting the highest level spell with ^resist. Base_value was being used to compare resist spells, but this is typically the same value for all resist spells. This fix should be easier than calculating the caster bots level adjusted "resist_total".
2024-01-06 21:04:33 -05:00
Aeadoin
a8eb2832ce
[Crash] Fix crash where Raid invite could be accepted after forming group with the Raid invitor. ( #3837 )
...
* [Crash] Fix a crash where a raid invite could be accepted affter joining a group with the invitor.
* [Crash] Fix a crash where a raid invite could be accepted after joining a group with the invitor.
2024-01-06 16:59:35 -05:00
hg
076aab50e8
Ignore optionals when finding task step ( #3836 )
...
This fixes optional elements from being required to unlock the next step
when using the step system.
2024-01-05 17:05:56 -05: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
JJ
7c3481daf9
[Release] 22.39.1 ( #3834 )
2023-12-31 18:39:07 -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
Chris Miles
a0f2a8a743
[Database] Database update improvements, content db and terminal checks ( #3814 )
...
* [Database] Database update improvements, content db and terminal checks
* Update manifest entries with content flag
* Update database_update_manifest.cpp
2023-12-30 22:15:01 -06:00
Chris Miles
4c7016bd7b
[Repositories] Protected extended repositories from being overwritten if exists ( #3815 )
2023-12-30 22:14:46 -06: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
Fryguy
605502cd9d
[Bug Fix] Client:SetBucket Overload Incorrectly Named ( #3825 )
...
There was an issue with Client:SetBucket when attempting to use an expiration date. Looks like a lua def was mistakenly named SetBucketExpires.
2023-12-30 15:31:04 -05: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
Chris Miles
fd31915fae
[Release] 22.39.0 ( #3812 )
2023-12-27 20:09:21 -06:00
Chris Miles
52763b6dd2
[Character] Fix character copier due to schema change ( #3805 )
...
* [Character] Fix character copier due to schema change
* Tweak
2023-12-27 20:04:46 -06:00
Chris Miles
51cd43b4ea
[Player Events] Bulk replace settings on boot ( #3806 )
2023-12-27 20:04:29 -06:00
Chris Miles
2db84f5a4f
[MySQL] Fix MySQL Query error formatting ( #3808 )
2023-12-27 20:04:18 -06:00
Chris Miles
79cc2d5351
[Logs] Reclassify unhelpful Info message ( #3809 )
2023-12-27 20:04:11 -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
473c5096f6
[Objects] Remove "No objects to load for zone" error message ( #3807 )
2023-12-27 21:03:08 -05:00
Paul Coene
0b181d5048
[Combat] Disarm was not dropping item to ground due to bug ( #3811 )
2023-12-27 10:19:09 -05:00
Chris Miles
a7e9af2d27
[Release] 22.38.0 ( #3803 )
2023-12-26 16:30:09 -05: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
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
Chris Miles
6db0a5c3f0
[Database] Fix issue with saylinks query in MySQL 8.0+ ( #3800 )
2023-12-24 09:43:31 -06:00
Chris Miles
4fa9e1d66f
[Code Cleanup] Race constants refactor ( #3782 )
...
* [Code Cleanup] Race constants refactor
* Update races.h
2023-12-22 21:34:55 -06:00
JJ
556af8c5e9
[Database] Update faction mods with Live data ( #3799 )
...
Optional update to bring database up-to-date with Live data which includes Froglok and Drakkin data which was previously missing.
Raw data can be found in the Live client at Resources\Faction\FactionAssociations.txt
See discussion at #3678
2023-12-22 21:34:35 -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
regneq
267c280db8
[forage rule feature] add a rule to disabled using common_food_ids from the list in forage.cpp. currently set to enabled. ( #3796 )
2023-12-22 02:43:17 -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
nytmyr
028ebc3a0c
[Bots] Remove unnecessary error on SetItemReuse ( #3795 )
...
This error is not necessary as it can be triggered when clicked spells have secondary effects that run through the same spell checks for clicked items but aren't actually clicked by the item. Spells that trigger other spell effects and some Bard scaling songs could trigger this after the initial click.
2023-12-20 10:01:54 -05: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
dependabot[bot]
0194aedc92
Bump golang.org/x/crypto in /utils/scripts/build/should-release ( #3790 )
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.14.0 to 0.17.0.
- [Commits](https://github.com/golang/crypto/compare/v0.14.0...v0.17.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-18 18:10:48 -06: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
Chris Miles
703862d977
[Release] 22.37.0 ( #3789 )
2023-12-18 15:43:09 -06:00
nytmyr
6e325c1ee3
[Bots] Fix unnecessary failed to save timer error ( #3788 )
2023-12-18 15:39:14 -06:00
nytmyr
933b83add6
[Bots] Fix ^defensive from checking aggressive disciplines. ( #3787 )
...
Bots were checking for aggressive disciplines with both ^aggressive and ^defensive.
2023-12-18 15:38:37 -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
nytmyr
3c894cb533
[Bots] Add ScanCloseMobs support to fix AEs ( #3786 )
...
Previously bots were only scanning for nearby clients so any AE spells or procs didn't have mobs to hit.
This changes that to scan for mobs instead of clients so their close entity list supports AEs with mobs to hit.
2023-12-18 15:37:07 -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
Chris Miles
286479198f
[Compilation] Use pre-compiled headers for Windows (speed) ( #3778 )
...
* Experiment with PCH
* Another run
* GCC test
* Different test
* Another one
* Another one
* Lua headers
* PCH main zone primitives
* Tweaks
* Tweaks
* Tweaks
* Add EQEMU_BUILD_PCH option default to ON
2023-12-17 19:04:21 -06:00
Chris Miles
21ec832ca6
[CI] Switch to use clang for Linux builds (speed) ( #3777 )
2023-12-17 15:17:29 -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
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
regneq
7e651877c7
[Bug Fix] Fixed the discrepacy with time using command #time and in quests. ( #3767 )
...
* [BUG] Fixed the discrepacy with time using command #time and in quests. https://github.com/EQEmu/Server/issues/3700
* removed comments and paratheses from previous commit.
* fixed typos.
* made some adjustment so #time, /time, scripting, and log all match.
* Update lua_general.cpp
2023-12-16 22:40:40 -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
Akkadius
33adb9bcc1
[Hotfix] Fix bad merge
2023-12-16 21:06:36 -06:00
nytmyr
2e8bf82861
[Bots] Expand ^itemuse options ( #3756 )
...
Adds additional options to **^itemuse** to narrow down the list of accepting bots.
You can now specify by class, casters, hybrids, melee, WIS caster, INT caster or plate/chain/leather/cloth wearing.
2023-12-16 20:54:23 -05:00
nytmyr
4d118ab978
[Bots] Fix ^oo autodefend from sending bots/pets to invalid haters ( #3772 )
...
Bots and especially their pets could get in a loop where they try to attack an invalid target. This would result in their pets spamming "That is not a legal target" messages.
2023-12-16 16:08:16 -05:00
Chris Miles
fcb40daaf1
[Release] 22.36.0 ( #3774 )
2023-12-16 01:07:19 -06: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
Chris Miles
d0443db199
[Database] When database version is greater than binary, we are up to date ( #3771 )
2023-12-16 00:44:40 -06:00
Chris Miles
9206163190
[Database] Make it clearer to users that a database backup is occurring ( #3769 )
2023-12-16 00:44:25 -06:00
Chris Miles
e504482b94
[Corpse] Fix /corpse command regression from #3727 ( #3770 )
2023-12-16 00:44:11 -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
nytmyr
df83113cea
[Bots] Enable auto-saving of bots. ( #3758 )
...
Adds the rule **Bots, AutosaveIntervalSeconds** to control the frequency of the autosave of bots. Currently they only fully save on camp/zone.
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
2023-12-12 22:22:44 -05:00
nytmyr
940abfaf7a
[Logging] Change empty object loading to warning ( #3759 )
2023-12-11 17:06:29 -05:00
nytmyr
a46443b95e
[Bots] Add rule to toggle DT hitting owner ( #3757 )
...
**Bots, CazicTouchBotsOwner** is a rule that will toggle whether or not DT will hit the targeted bot or the owner. Similar to how **Spells, CazicTouchTargetsPetOwner** functions except for bots.
2023-12-11 14:31:33 -05:00
JJ
871f320311
[Release] 22.35.0 ( #3754 )
...
### Bots
* Add BotHealOnLevel to fully heal/mana on level. ([#3745 ](https://github.com/EQEmu/Server/pull/3745 )) @nytmyr 2023-12-08
* Fix bots learning spells on level ([#3744 ](https://github.com/EQEmu/Server/pull/3744 )) @nytmyr 2023-12-08
### Bug
* Fix blocked spells regression from #3638 ([#3753 ](https://github.com/EQEmu/Server/pull/3753 )) @joligario 2023-12-11
* PR 3638 Missed the blocked spells repository updates ([#3748 ](https://github.com/EQEmu/Server/pull/3748 )) @fryguy503 2023-12-08
### CMake
* Update minimum version of CMake ([#3743 ](https://github.com/EQEmu/Server/pull/3743 )) @joligario 2023-12-08
### Code
* Remove hard-coded Status Checks ([#3727 ](https://github.com/EQEmu/Server/pull/3727 )) @Kinglykrab 2023-12-03
### Commands
* #guild set CharName 0 did not remove char from guild. ([#3717 ](https://github.com/EQEmu/Server/pull/3717 )) @noudess 2023-11-25
* #petname changes PC to Nobody if selected. ([#3720 ](https://github.com/EQEmu/Server/pull/3720 )) @noudess 2023-11-26
* Add #show aas Command ([#3710 ](https://github.com/EQEmu/Server/pull/3710 )) @Kinglykrab 2023-11-26
* Add #task complete Command ([#3711 ](https://github.com/EQEmu/Server/pull/3711 )) @Kinglykrab 2023-11-26
* Cleanup #acceptrules Command ([#3716 ](https://github.com/EQEmu/Server/pull/3716 )) @Kinglykrab 2023-11-26
* Cleanup #disarmtrap Command ([#3713 ](https://github.com/EQEmu/Server/pull/3713 )) @Kinglykrab 2023-11-26
* Cleanup #list Command ([#3714 ](https://github.com/EQEmu/Server/pull/3714 )) @Kinglykrab 2023-11-26
* Cleanup #movement Command ([#3715 ](https://github.com/EQEmu/Server/pull/3715 )) @Kinglykrab 2023-11-26
* Cleanup #object Command ([#3722 ](https://github.com/EQEmu/Server/pull/3722 )) @Kinglykrab 2023-12-03
* Cleanup #zonebootup and #zoneshutdown Commands ([#3729 ](https://github.com/EQEmu/Server/pull/3729 )) @Kinglykrab 2023-12-03
* Fix formatting of #wpinfo output. ([#3728 ](https://github.com/EQEmu/Server/pull/3728 )) @noudess 2023-12-01
### Database
* Add primary key to keyring table ([#3746 ](https://github.com/EQEmu/Server/pull/3746 )) @Kinglykrab 2023-12-08
* Consolidate Starting Items Table ([#3723 ](https://github.com/EQEmu/Server/pull/3723 )) @Kinglykrab 2023-11-30
* Extra whitespace in #3723 ([#3730 ](https://github.com/EQEmu/Server/pull/3730 )) @joligario 2023-12-02
* Minor adjustment to #3726 ([#3732 ](https://github.com/EQEmu/Server/pull/3732 )) @joligario 2023-12-03
* Modify `updated` column in `items` table with proper default. ([#3726 ](https://github.com/EQEmu/Server/pull/3726 )) @joligario 2023-12-02
* Pull Spell Group Cache from Content DB ([#3749 ](https://github.com/EQEmu/Server/pull/3749 )) @fryguy503 2023-12-08
### Faction
* Alliance line is only allowed 1 faction change at a time. ([#3718 ](https://github.com/EQEmu/Server/pull/3718 )) @noudess 2023-11-26
### Fixes
* Changing Group Leader Invalidated GetLeaderName() ([#3712 ](https://github.com/EQEmu/Server/pull/3712 )) @Kinglykrab 2023-11-26
* Fix 9245 SQL ([#3740 ](https://github.com/EQEmu/Server/pull/3740 )) @Kinglykrab 2023-12-05
* Fix Swarm Pets Requiring NPC Aggros Flag ([#3738 ](https://github.com/EQEmu/Server/pull/3738 )) @Kinglykrab 2023-12-05
* Guild Message Limits ([#3724 ](https://github.com/EQEmu/Server/pull/3724 )) @neckkola 2023-11-29
### Quest API
* Add EVENT_AA_GAIN to AddAAPoints() ([#3733 ](https://github.com/EQEmu/Server/pull/3733 )) @Kinglykrab 2023-12-03
* Add GMMove Overloads to Perl/Lua ([#3719 ](https://github.com/EQEmu/Server/pull/3719 )) @Kinglykrab 2023-11-25
### Scripts
* Import items into `items_new` table instead of writing directly to the existing `items` table. ([#3725 ](https://github.com/EQEmu/Server/pull/3725 )) @joligario 2023-11-30
* Revert database engine change from #3702 . ([#3736 ](https://github.com/EQEmu/Server/pull/3736 )) @joligario 2023-12-03
* Update 13th Floor Import Tool ([#3702 ](https://github.com/EQEmu/Server/pull/3702 )) @joligario 2023-11-26
2023-12-10 22:07:09 -05:00
JJ
a222128599
[Bug] Fix blocked spells regression from #3638 ( #3753 )
...
Fixes #3747
2023-12-10 21:40:06 -05:00
JJ
45b249e33d
[CMake] Update minimum version of CMake ( #3743 )
...
```
CMake Deprecation Warning at client_files/CMakeLists.txt:1 (CMAKE_MINIMUM_REQUIRED):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
```
2023-12-08 12:48:59 -08:00
Fryguy
c24834de5d
[Database] Pull Spell Group Cache from Content DB ( #3749 )
2023-12-08 15:41:09 -05: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
nytmyr
6466c2ff21
[Bots] Add BotHealOnLevel to fully heal/mana on level. ( #3745 )
...
Adds the rule ***Bots, BotHealOnLevel***, default false, to control whether or not bots will gain full health and mana when their owner levels.
2023-12-07 22:25:17 -05:00
nytmyr
16dc210cd8
[Bots] Fix bots learning spells on level ( #3744 )
...
Previously bots would need to be zoned or camped/spawned to begin using new spells for their level.
2023-12-07 21:19:21 -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
JJ
226cc3d6cb
[Scripts] Revert database engine change from #3702 . ( #3736 )
...
InnoDB doesn't like the lengths. Will need to address that in the future.
2023-12-03 14:17:58 -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
JJ
22994e3264
[Database] Minor adjustment to #3726 ( #3732 )
2023-12-03 10:18:27 -05:00
JJ
cfbdecad19
[Database] Extra whitespace in #3723 ( #3730 )
2023-12-01 21:13:08 -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 3599f26818 .
2023-12-01 21:10:52 -05:00
Paul Coene
9a6403b196
[Commands] Fix formatting of #wpinfo output. ( #3728 )
2023-12-01 15:28:24 -05:00
JJ
d8953c5156
[Scripts] Import items into items_new table instead of writing directly to the existing items table. ( #3725 )
2023-11-30 17:21:00 -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
Mitch Freeman
e75c31d524
[Bug Fix] Guild Message Limits ( #3724 )
...
Mail to 'Guild' was failing after after 50ish members.
The buffer was set at 512, which cut truncated the message and caused the issue.
Refactored to adjust the size of the buffer based on the inbound message size.
2023-11-28 19:03:32 -05:00
Paul Coene
cf1f8d5460
[Commands] #petname changes PC to Nobody if selected. ( #3720 )
2023-11-26 14:50:44 -05:00
Paul Coene
690cacdaab
[Faction] Alliance line is only allowed 1 faction change at a time. ( #3718 )
2023-11-26 01:13:16 -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
JJ
3a49d851ca
[Scripts] Update 13th Floor Import Tool ( #3702 )
2023-11-26 00:20:10 -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
Paul Coene
56be69ddb1
[Commands] #guild set CharName 0 did not remove char from guild. ( #3717 )
...
* [Commands] #guild set CharName 0 did not remove char from guild.
* Fix cut-n-paste error on this branch
2023-11-25 11:27:43 -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
Joel
ebeaef598b
[Bug Fix] Add "IgnoreLevelBasedHasteCaps" rule to GetHaste() ( #3705 )
2023-11-22 22:45:53 -05:00
nytmyr
60b65da7f2
[Bug Fix] Fix some spell types failing IsValidSpellRange check ( #3707 )
...
Hate Reduction, Slow and DoT spells were failing IsValidSpellRange checks due to improper spell IDs being checked.
They were using the first spell in a bot's spell list by checking botSpell.id vs the proper spells in the loop.
2023-11-22 22:44:59 -05:00
Alex King
100e6698ea
[Cleanup] Fix typo in #giveitem ( #3704 )
2023-11-22 08:26:54 -05:00
Alex
2bd94ab7a2
[Loginserver] Update ticket login table structure ( #3703 )
...
* Updates login table to support tickets in a way that makes more sense.
* Change to snake_case as requested by Akka
---------
Co-authored-by: KimLS <KimLS@peqtgc.com >
2023-11-22 02:56:47 -06:00
Akkadius
4c8d68c24b
[Release] 22.34.1
2023-11-20 09:12:11 -06:00
Akkadius
1755678b1f
[Release] 22.34.1
2023-11-20 09:10:22 -06:00
JJ
39e2763968
[Admin] Update date in changelog ( #3698 )
2023-11-19 13:22:56 -05:00
Fryguy
f7780b0247
[Bug Fix] NPC Faction War prevention. ( #3595 )
...
* [Bug] NPC Faction War prevention.
This should assist with prevention of NPC Faction waring. I have been using this code on my server for over 5 years with no coredumps or any noted bugs. This was brought up as users have reported a few events where they can trigger NPC's to fight each other.
* Correct a few entries to line up with updated code.
* Re-add missing RestTimer functionality
2023-11-19 11:40:15 -05:00
JJ
c0fe0f11f7
[Release] 22.34.0 ( #3697 )
...
* Update CHANGELOG.md
* Update package.json
* Update version.h
* Update CHANGELOG.md
2023-11-19 11:21:39 -05:00
nytmyr
a1f1f11940
[Bots] Add ownerraid, byclass and byrace actionables and fix group-based arguments for raids. ( #3680 )
...
This adds raid support to actionables for bot commands.
This also addresses Issue #3567
If in a group, group based commands will function as normal, however if in a raid they will support raids and use the group of the bot that fits the criteria.
This adds new actionables as well; namely, **ownerraid**, **byclass** and **byrace**.
**byclass** and **byrace** use the int of the chosen class/race. IE Shadowknight is 5, Barbarian is 2. **^create help** is an easy way for players to identify numbers associated with classes and races.
**targetgroup** will now select all bots that meet the criteria within a raid group in addition to the current functionality of groups.
**namesgroup** will now select all bots that meet the criteria within a raid group in addition to the current functionality of groups.
**ownerraid** will select all bots in the raid owned by the player.
**byclass** will selects all bots in the group or raid owned by the player that match the class.
**byrace** will selects all bots in the group or raid owned by the player that match the race
This adds actionables to **^casterrange** and **^camp** as well.
2023-11-18 23:24:49 -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
JJ
42b41d973c
[GM Commands] Remove duplicate comment ( #3691 )
2023-11-18 19:08:56 -05:00
JJ
e7761133a9
[GM Commands] Add #takeplatinum ( #3690 )
...
* [GM Commands] Add `#takeplatinum`
* Revert database manifest change
* Revert database version change
* Remove duplicated messages
* Remove hint as to why `#takeplatinum` might fail.
2023-11-18 19:08:48 -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
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
JJ
6ef182edfd
[Database] Pull pet power from content database ( #3689 )
2023-11-18 14:19:33 -06:00
Paul Coene
e466ca1c6d
[Illusions] RandomizeFeastures erased texture. ( #3686 )
2023-11-12 16:02:54 -05:00
Akkadius
fa5a3155fe
[Release] 22.33.0
2023-11-11 21:09:06 -06:00
Chris Miles
a20d333f9d
[Spawn2] Fix edge case with instances not copying disabled spawn state ( #3688 )
...
* [Spawn2] Fix edge case with instances not copying disabled spawn state
* Update spawn2.cpp
2023-11-11 21:00:50 -06: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
Akkadius
9da1d6b397
[Release] 22.32.1
2023-11-06 18:38:21 -06:00
Chris Miles
8ea7299a57
[Release] 22.32.0 ( #3683 )
2023-11-06 17:56:51 -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 64b58bfc52 .
* Update database_instances.cpp
2023-11-06 17:34:42 -06:00
hg
fad9599642
[Quest API] Add details to Lua event dispatch errors ( #3679 )
2023-11-06 17:31:34 -06:00
Fryguy
62711b13d8
Revert "[Bug Fix] Fix Killed XYZH support in EVENT_DEATH in Perl. ( #3591 )" ( #3682 )
...
This reverts commit 9b992167f0 .
2023-11-06 17:30:55 -06:00
nytmyr
2702485206
[Bots] Fix invalid races from being created ( #3681 )
...
Previously this check allowed bots of invalid races to be created. If a race was neither a valid combination or a valid player race, it would pass the check and allow bots of any race to be created.
**^create 1 123 0** could create a Male Innoruuk Warrior
2023-11-06 17:03:34 -05:00
Mitch Freeman
0aadb891a1
[CRASH] Fix crash on CentOS when forming a raid with PCs or BOTs ( #3676 )
...
* [CRASH] Fix crash on CentOS
Update raid crash in CentOS. raid constructors and learnmembers used a memset that was overwriting std::string structure.
Added default initializers to RaidMember struct
* Update based on feedback
2023-11-06 13:36:59 -05:00
JJ
d812310c5b
[GCC] Compatibility fix for GCC 13 ( #3677 )
...
Fixes ` ‘uint64_t’ does not name a type ` error under GCC 13
2023-11-05 14:05:15 -05:00
regneq
1420983700
[Spells] Added IsNightTime() for Dance of the Fireflies ( #3667 )
...
* Added IsNightOnly for Dance of the Fireflies spell which should only be cast at night from 7pm to 4pm.
* Update to include IsDayTime and replace magic numbers.
2023-11-04 13:58:08 -04: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
Alex King
ed7f395612
[Parser] Cleanup Spire Parsing for crosszonemoveplayerbycharid ( #3674 )
...
# Notes
- This formatting was causing Spire not to pick up the parameters.
2023-11-04 13:13:17 -04:00
Alex King
8dceb20dd8
[Parser] Cleanup Spire Parsing for crosszonemoveplayerbygroupid ( #3673 )
...
# Notes
- This formatting was causing Spire not to pick up the parameters.
2023-11-04 12:59:25 -04:00
Alex King
6929d180ca
[Parser] Cleanup Spire Parsing for crosszonemoveplayerbyguildid ( #3672 )
...
# Notes
- This formatting was causing Spire not to pick up the parameters.
2023-11-04 12:45:21 -04:00
Alex King
011a66a75e
[Parser] Cleanup Spire Parsing for crosszonemoveplayerbyexpeditionid ( #3671 )
...
# Notes
- This formatting was causing Spire not to pick up the parameters.
2023-11-04 12:31:47 -04:00
Alex King
07120563a2
[Bug Fix] Fix Perl__worldwideremovetask package ( #3670 )
...
# Notes
- Two lines were using the same parameters.
2023-11-04 12:18:25 -04:00
JJ
cc985cbcd5
[Quest API] Add GetBaseRaceName() to Perl and Lua ( #3668 )
2023-10-31 21:43:04 -04:00
JJ
97caa79472
[Release] 22.31.3 ( #3666 )
...
* Update package.json
* Update version.h
* Update CHANGELOG.md
2023-10-31 20:26:30 -05:00
Alex King
cfa575c756
[Logs] Convert Loot Messages to Error Logs ( #3663 )
...
* [Logs] Convert Loot Messages to Error Logs
# Notes
- These messages were sending to users and not being logged.
- `Message(Chat::Red, "Error: OP_EndLootRequest: Corpse not found (ent = 0)");` sends often when corpse expires right as you try to loot, so it makes the user think there's a true error.
* Update zoning.cpp
2023-10-31 18:58:06 -04:00
JJ
85063249b4
[Bug] Force raids off content database ( #3665 )
2023-10-31 18:46:03 -04:00
Akkadius
04d6f8feea
[Release] 22.31.2
2023-10-31 09:47:18 -05:00
Akkadius
dfc1bf0381
Revert "[Crash] Fix spell in AESpell related to beacons ( #3659 )"
...
This reverts commit 0b452f4ec1 .
2023-10-31 09:46:08 -05:00
Akkadius
2237c3a056
[Release] 22.31.1
2023-10-31 08:08:29 -05:00
Akkadius
4af191c593
[Hotfix] Fix issue with blocked spells not loading properly
2023-10-31 08:06:51 -05:00
Chris Miles
0a3972deb9
[Release] 22.31.0 ( #3662 )
2023-10-29 18:50:46 -05:00
Chris Miles
9d2f258390
[Database] Add id to variables table ( #3658 )
2023-10-29 18:45:30 -05:00
Chris Miles
0b452f4ec1
[Crash] Fix spell in AESpell related to beacons ( #3659 )
2023-10-29 18:45:24 -05:00
Chris Miles
fef629e1df
[Crash] Fix crash when client pointer does not exist during #hotfix ( #3661 )
2023-10-29 18:45:18 -05:00
Chris Miles
a5a51fbe44
[Linux] Add symbols to release builds ( #3660 )
...
* [Linux] Add symbols to release builds
* Update linux-build.sh
2023-10-29 18:45:11 -05:00
Paul Coene
47db92cdb6
[Trading] Fix part 3 of Issue 932. ( #3654 )
2023-10-29 09:50:04 -04:00
Akkadius
690301e80d
[Release] 22.30.2 - Hotfix perl loading
2023-10-26 16:23:55 -05:00
Akkadius
1887e48b76
Revert "[Perl] Reload perl quests on zone bootup ( #3648 )"
...
This reverts commit 0bbfcf7adc .
2023-10-26 16:21:06 -05:00
JJ
af2691eb12
[Release] 22.30.1 ( #3656 )
...
* Update package.json
* Update CHANGELOG.md
* Update version.h
2023-10-24 20:27:54 -04:00
Alex King
2df4289588
[Bug Fix] Fix empty InsertMany in bot starting items. ( #3653 )
...
Not checking if the vector is empty before it inserts still inserts when there’s nothing.
2023-10-24 18:15:42 -04:00
Akkadius
49d4d0acc3
[Release] 22.29.0
2023-10-23 22:41:58 -05:00
Paul Coene
5a663910a5
[Pets] Disallow effect of alliance line when cast on pets. ( #3650 )
...
* [Pets] Disallow effect of alliance line when cast on pets.
* Update spell_effects.cpp
---------
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
2023-10-23 22:40:24 -05:00
Chris Miles
b027edd21e
[API] Implement Zone Sidecar ( #3635 )
...
* Zone sidecar work
* Process management work
* Merge
* Sidecar work
* API config option
* Request proxy work
* Proxy headers and params
* Change port
* Remove code
* Sim work
* Sidecar work
* Update loot_simulator_controller.cpp
* Update loot_simulator_controller.cpp
* Formatting
* Post merge change
* Windows compile fix
* Update sidecar_api.cpp
* Update strings.cpp
2023-10-23 22:39:37 -05:00
hg
0bbfcf7adc
[Perl] Reload perl quests on zone bootup ( #3648 )
...
Perl wasn't implementing quest interface's Init which is called by
Zone::Bootup. This should fix zone's that were in standby not using the
latest version of perl plugin scripts.
2023-10-23 22:39:19 -05:00
Chris Miles
7962a0bd38
[Perl] Implement eqemu-perl for Linux ( #3652 )
...
* [Perl] Implement eqemu-perl for Linux
* Update embperl.cpp
2023-10-23 22:38:46 -05:00
JJ
4d9b51df0a
[Commands] Move #suspend from content database ( #3651 )
2023-10-23 20:01:49 -04:00
Alex King
508ecec6ea
[Bug Fix] Fix Bot Starting Items SQL ( #3649 )
2023-10-23 17:19:30 -04:00
JJ
f0c6fa2a26
[Release] 22.29.1 ( #3647 )
...
* Update version.h
* Update Changelog
* Update CHANGELOG.md
* Update package.json
2023-10-21 18:36:38 -05:00
JJ
ad6dbb7beb
[DB] Fix manifest for blocked spells ( #3646 )
2023-10-21 18:01:57 -04:00
JJ
6ddbb41617
[Bug Fix] Verifying mail keys when none exist ( #3645 )
...
No need to verify mail key when none exist.
Seen in http://spire.akkadius.com/dev/release/22.28.0?id=12069
2023-10-21 13:33:24 -04:00
JJ
8a558f6a29
[Bug Fix] Hotfix command without hotfix name ( #3644 )
...
If no hotfix name is provided, the hotfix command won't need the empty string.
2023-10-21 13:33:16 -04:00
Alex King
0585be0360
[Bug Fix] Fix issue with subcommand settings not working ( #3643 )
...
* [Bug Fix] Fix issue with subcommand settings not working
# Notes
- We were checking for `arguments >= 2` when we should just be checking for if there are any arguments and comparing `sep.arg[0]` (the command) and `sep.arg[1]` (the subcommand) to our `command_subsettings` to see if it exists and if we pass the requirements.
- This fix will let operators properly set a subcommand to a lower or higher status level than the parent command.
* Remove debug message.
2023-10-20 21:33:05 -04:00
Akkadius
6927baef7f
[Release] 22.29.0
2023-10-20 17:47:35 -05:00
Alex King
52d64781b5
[Feature] Add Expansion and Content Flag support to Blocked Spells ( #3638 )
...
* [Feature] Add Expansion and Content Flag support to Blocked Spells
# Notes
- Allows operators to filter blocked spells behind expansions or content flags.
- Requested in https://github.com/EQEmu/Server/issues/3582
* [Tradeskills] Add learned_by_item_id field (#3637 )
* [Feature] Add Expansion and Content Flag support to Blocked Spells
- Allows operators to filter blocked spells behind expansions or content flags.
- Requested in https://github.com/EQEmu/Server/issues/3582
---------
Co-authored-by: Chris Miles <akkadius1@gmail.com >
2023-10-20 17:45:58 -05:00
Aeadoin
0667fe435f
[Bug Fix] Fix crash when checking Bot Group/Raid membership ( #3641 )
...
* [Bug Fix] Fix crash when checking Bot Group/Raid membership
* Update bot.cpp
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-10-20 17:45:41 -05:00
Chris Miles
9959070f24
[Perl] Static linker fix on Linux ( #3642 )
...
* Update CMakeLists.txt
* Update linux-build.sh
* test
* Test
* test
* brute force
* !?!
* Update CMakeLists.txt
* Update CMakeLists.txt
* Update CMakeLists.txt
* Update CMakeLists.txt
* Update CMakeLists.txt
* Remove testing
* Update linux-build.sh
2023-10-20 17:43:04 -05:00
Akkadius
2a91f08845
[22.28.1] Perl Linux build fix
2023-10-20 15:25:25 -05:00
Chris Miles
adc64005f1
[Rules] Add rule to configure max number of procs per round Combat:MaxProcs ( #3640 )
2023-10-20 14:57:50 -04:00
Alex King
605480f1c4
[Bug Fix] Fix Finishing Blow Proc Chance ( #3639 )
...
# Notes
- We were double adding `spellbonuses` and not adding `itembonuses` per https://github.com/EQEmu/Server/issues/3636 .
2023-10-19 16:19:43 -04:00
Chris Miles
3b95601c62
[Tradeskills] Add learned_by_item_id field ( #3637 )
2023-10-18 18:27:34 -05: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
Akkadius
e19b969541
[Release] 22.28.0 - Hotfix changelog
2023-10-15 21:56:55 -05:00
JJ
4241556f75
[Release] 22.28.0 ( #3633 )
...
* [Release] 22.28.0
* Update package.json
* Update CHANGELOG.md
2023-10-15 22:45:23 -04:00
Chris Miles
961332b40c
[Crash] Fix crash in Mob::ShowBuffs ( #3632 )
2023-10-15 21:14:55 -05:00
Chris Miles
a1a861e0c4
[Bots] Fix bot removal on zone, regression from #3611 ( #3631 )
2023-10-15 20:46:07 -04:00
JJ
4bbb1aa92f
[Scripts] Update 13th Floor importer ( #3630 )
...
* [Scripts] Update 13th Floor importer
Overhaul to script.
- Now uses `eqemu_config.json`
- More descriptive during the process
- Accounts for adjustments (`idfile`, `prockunk1`)
- No longer needs to adjust `UNK132`
* [DB] Adjust `items` structure for import (#3629 )
Our `items` table has 5 fields that need to adjust in order to pull data from 13th Floor.
* [DB] Update `version.h`
2023-10-15 20:45:50 -04:00
Alex King
1212ccefef
[Quest API] Add target ID and spell exports to events ( #3620 )
...
* [Quest API] Add target ID and spell exports to events
# Notes
- Add `$spell` export to `EVENT_CAST`, `EVENT_CAST_BEGIN`, `EVENT_CAST_BEGIN`, `EVENT_ITEM_CLICK`, `EVENT_ITEM_CLICK_CAST`, `EVENT_ITEM_CLICK_CLIENT`, `EVENT_ITEM_CLICK_CAST_CLIENT`, `EVENT_SPELL_EFFECT_BUFF_TIC_BOT`, `EVENT_SPELL_EFFECT_BUFF_TIC_CLIENT`, `EVENT_SPELL_EFFECT_BUFF_TIC_NPC`, `EVENT_SPELL_EFFECT_BOT`, `EVENT_SPELL_EFFECT_CLIENT`, `EVENT_SPELL_EFFECT_NPC`, `EVENT_SPELL_FADE`, `EVENT_DEATH`, `EVENT_DEATH_COMPLETE`, `EVENT_DEATH_ZONE`, `EVENT_DAMAGE_GIVEN`, and `EVENT_DAMAGE_TAKEN` in Perl.
- Add `$target_id` export to `EVENT_CAST`, `EVENT_CAST_BEGIN`, and `EVENT_CAST_ON` in Perl.
- Add `e.target_id` export to `EVENT_CAST`, `EVENT_CAST_BEGIN`, and `EVENT_CAST_ON` in Lua.
* Add $target/e.target exports.
* Update spells.cpp
2023-10-15 19:40:25 -04:00
Aeadoin
c203fec9b4
[Crash] Resolve crash when assigning empty raid note. ( #3628 )
...
* [Crash] Resolve crash when assigning empty raid note.
* const
2023-10-15 16:42:12 -04:00
Alex King
16ab1839e8
[Feature] Add Immune to Headshot Special Ability ( #3624 )
...
# Notes
- Allows mobs normally susceptible to Headshot to be made immune to it.
2023-10-13 21:43:33 -05:00
Mitch Freeman
f5e4c6a127
[Feature] Update Raid Functions for Titanium and Underfoot ( #3524 )
...
* Update Raid Functions
Updated various raid features for:
Titanium
- Raid window now functional, including with BOTS
- Raid delegate assist/mark work
- Raid notes work
- Raid /rmark, /clearmarks work
Underfoot
- Raid window was already functional
- Raid delegate assist/mark work
- Raid notes work
- Raid /rmark, /clearmarks work
* Updates to resolve feedback
* Slight update for overlooked case in encode for RaidUpdate for clients above Ti.
* Updates to further address feedback. Only updated translators for Ti/RoF2. Once ok, I will update the others.
* Update linux-build.sh
* Final updates for other translators and the strncpy_s issue.
* Fix for strn0cpy in raids.cpp, translators, and defines. Updated all in raids.cpp as well.
* Reveted defines change.
* Reverted accidental change
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-10-13 21:42:27 -05:00
Alex King
166c87c931
[Bots] Adjust Bot Movement Speed ( #3615 )
...
# Notes
- Bots were having a hard time keeping up with players.
- Part of this was due to using walk until a certain distance.
- Another part was their ctor only having `0.7f` run speed versus our Mob sanity check of `1.25f`.
- We check movement stuff now before idle checks so bots are more likely to start moving earlier.
2023-10-13 20:16:06 -05:00
Alex King
345dd442dd
[Quest API] Add GrantAllAAPoints() to Perl/Lua and Modify #grantaa ( #3616 )
...
# Command
- Add optional `level` argument to `#grantaa` so you can grant AAs up the specified level.
# Perl
- Add `$client->GrantAllAAPoints()`.
- Add `$client->GrantAllAAPoints(level)`.
# Lua
- Add `client:GrantAllAAPoints()`.
- Add `client:GrantAllAAPoints(level)`.
# Notes
- Grants all AA abilities up to client's current level or a specified level.
2023-10-13 20:13:55 -05:00
Alex King
565baec675
[Bug Fix] Fix #cast defaulting to cast time ( #3617 )
...
# Notes
- Defaulted to using cast time instead of instant.
2023-10-13 20:12:34 -05:00
Alex King
9884c442e9
[Crash] Fix Crash with #summon ( #3618 )
...
# Notes
- Not setting target to a default of `nullptr` or in this case `c` gave undefined behavior.
2023-10-13 20:12:01 -05:00
JJ
ad0b5d6a1c
[Scripts] Update 13th Floor script for legacy research tome bagtypes ( #3621 )
...
Legacy research tomes have the wrong bagtype (BACKPACK) blocking the clients from showing the combine button.
2023-10-13 20:10:35 -05:00
Alex King
b82b32e1d2
[Feature] Add Immune to Assassinate Special Ability ( #3622 )
...
# Notes
- Allows mobs normally susceptible to Assassinate to be made immune to it.
2023-10-13 21:01:06 -04:00
dependabot[bot]
2fb72e5729
Bump golang.org/x/net in /utils/scripts/build/should-release ( #3619 )
...
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.7.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.7.0...v0.17.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-13 19:52:58 -05:00
Alex King
3791bc788f
[Parser Fix] Fix SendIllusion Spire parsing ( #3623 )
...
# Notes
- Spire parses methods based on parameters being on the same line, so these were not being parse properly since they were newlines.
2023-10-13 19:41:28 -05:00
Alex King
833fa55fdf
[Feature] Add Extra Kick Classes ( #3613 )
...
* [Feature] Add Extra Kick Classes
# Notes
- Allows operators to add extra classes to the "Kick" skill.
- Without this only Warrior, Ranger, Monk, Beastlord, and Berserker could kick.
* Remove gotos.
2023-10-11 14:33:23 -04:00
Chris Miles
4fc3c27715
[Release] 22.27.0 ( #3614 )
...
* [Release] 22.27.0
* Update bot.cpp
2023-10-07 15:11:21 -05:00
Chris Miles
cea3ad6a42
[Crash] Fix crash in #movechar ( #3612 )
2023-10-07 14:00:27 -05:00
Chris Miles
d8926cd5f3
[Crash] Fix dangling pointer crash observed in SendHPPacketsFrom ( #3611 )
...
* [Crash] Fix dangling pointer crash observed in SendHPPacketsFrom
* Update bot.cpp
2023-10-07 14:00:19 -05:00
Chris Miles
efb03164c7
[Crash] Fix crash in CastSpell Quest API input cast ( #3610 )
2023-10-07 14:00:11 -05:00
Chris Miles
455eb2e6d9
[Crash] Fix CanUseAlternateAdvancementRank crash ( #3609 )
2023-10-07 14:00:04 -05:00
Chris Miles
b5b0e53da2
[Crash] Fix #summon crash ( #3608 )
...
* [Crash] Summon crash fix
* [Crash] Fix summon crash
2023-10-07 13:59:56 -05:00
Chris Miles
68cb94b39c
[Crash] Bot member zoned crash fix ( #3607 )
2023-10-07 13:59:47 -05:00
Chris Miles
3d95b6c184
[Crash] Fix rarer crash with File::Makedir ( #3606 )
2023-10-07 13:59:40 -05:00
Alex King
7db7631308
[Bug Fix] Fix #show group_info Popup ( #3605 )
...
# Notes
- Wasn't using `DialogueWindow::TableCell` so they weren't showing up.
- Fixed `red1` to `red_1` so it shows.
2023-10-04 14:40:05 -04:00
Akkadius
f053cd3b56
[Hotfix] Ensure Linux builds report failures
2023-10-03 11:59:50 -05:00
Alex King
cf27f2bc88
[Quest API] Add Caster ID Parameter to FindBuff in Perl/Lua ( #3590 )
...
* [Quest API] Add Caster ID Parameter to FindBuff in Perl/Lua
# Perl
- Add `$mob->FindBuff(spell_id, caster_id)`.
# Lua
- Add `mob:FindBuff(spell_id, caster_id)`.
# Notes
- Allows operators to check if the spell ID is cast by a specific entity ID.
- We don't use `Mob*` reference here since the mob may have died, left zone, etc.
* Formatting.
2023-09-29 19:38:36 -04:00
JJ
79918ebaba
[Logs] Change pathing log messages from Error to Pathing. ( #3604 )
...
Change pathing log messages from `Error` to `Pathing`.
2023-09-29 11:54:52 -04:00
Paul Coene
2a648507f2
[Bug Fix] Fix swarm pet names to use '_' instead of ' ' ( #3601 )
2023-09-19 18:21:47 -04:00
Clayton Dunwell
f395ee0508
[Bug Fix] Invis vs. Undead/Animal Breaks Charm for Pets ( #3587 )
...
* IVU & IVA break charm pets #2212
* fix typing
* fix tab spacing
* Formatting
* Formatting for CalcInvisibleLevel
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-09-19 10:16:12 -04:00
Akkadius
7166fcc650
[Hotfix] Fix an issue with schema versioning for the AA update
2023-09-18 12:19:56 -05:00
Alex King
ae8e58ddc5
[Release] 22.26.1 ( #3599 )
...
* [Release] 22.26.1
### Fixes
* Add Validation to #find, #set, and #show args ([#3598 ](https://github.com/EQEmu/Server/pull/3598 )) @Kinglykrab 2023-09-17
2023-09-17 23:15:38 -04:00
Alex King
26e72c6857
[Bug Fix] Add Validation to #find, #set, and #show args ( #3598 )
...
# Notes
- We were not validating `sep->arg[i]` so we could possibly be pushing a `nullptr` in.
2023-09-17 21:20:27 -05:00
Chris Miles
df1d740ae6
[Release] 22.26.0 ( #3596 )
2023-09-17 15:14:01 -05:00
Alex King
d7e810232a
[Bug Fix] Fix entity ID on death with #castspell ( #3592 )
...
# Notes
- Entities killed by a spell with #cast were not reporting their pre-death entity ID properly.
- Added an `entity_id_override` to `GetTargetDescription()` and added a pre-defined entity ID variable to the cast command so we can message the proper pre-death entity ID.
2023-09-17 13:40:31 -05:00
Alex King
9b992167f0
[Bug Fix] Fix Killed XYZH support in EVENT_DEATH in Perl. ( #3591 )
...
* [Bug Fix] Fix Killer XYZH support in EVENT_DEATH in Perl.
# Notes
- Fixes XYZH exports in Perl.
* Update embparser.cpp
2023-09-17 13:40:07 -05:00
Clayton Dunwell
65d4533568
[Bug Fix] Check for Song Skill Increase on Bard Pulse ( #3586 )
...
* check for song skill increase on bard pulse
* style changes
* fix spacing
2023-09-17 13:29:48 -05:00
Clayton Dunwell
eb545a18a4
[Feature] Cleanup Group Split Money Logic ( #3583 )
...
* addresses #2498
* fix some logic #2498
* fixes #2498
* derpy derp derp #2498
* leave default argument to appease build
* Formatting
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-09-17 13:22:26 -05:00
Alex King
f2f0228aa4
[Quest API] Add XYZ/XYZH Overloads to Cross Zone Move Methods ( #3581 )
...
# Perl
- Add `quest::crosszonemoveplayerbycharid(character_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveplayerbycharid(character_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveplayerbygroupid(group_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveplayerbygroupid(group_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveplayerbyraidid(raid_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveplayerbyraidid(raid_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveplayerbyguildid(guild_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveplayerbyguildid(guild_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveplayerbyexpeditionid(expedition_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveplayerbyexpeditionid(expedition_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveplayerbyclientname(client_name, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveplayerbyclientname(client_name, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveinstancebycharid(character_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveinstancebycharid(character_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveinstancebygroupid(group_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveinstancebygroupid(group_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveinstancebyraidid(raid_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveinstancebyraidid(raid_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveinstancebyguildid(guild_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveinstancebyguildid(guild_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveinstancebyexpeditionid(expedition_id, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveinstancebyexpeditionid(expedition_id, zone_short_name, x, y, z, heading)`.
- Add `quest::crosszonemoveinstancebyclientname(client_name, zone_short_name, x, y, z)`.
- Add `quest::crosszonemoveinstancebyclientname(client_name, zone_short_name, x, y, z, heading)`.
# Lua
- Add `eq.cross_zone_move_player_by_char_id(character_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_player_by_char_id(character_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_player_by_group_id(group_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_player_by_group_id(group_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_player_by_raid_id(raid_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_player_by_raid_id(raid_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_player_by_guild_id(guild_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_player_by_guild_id(guild_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_player_by_expedition_id(expedition_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_player_by_expedition_id(expedition_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_player_by_client_name(client_name, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_player_by_client_name(client_name, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_instance_by_char_id(character_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_instance_by_char_id(character_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_instance_by_group_id(group_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_instance_by_group_id(group_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_instance_by_raid_id(raid_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_instance_by_raid_id(raid_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_instance_by_guild_id(guild_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_instance_by_guild_id(guild_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_instance_by_expedition_id(expedition_id, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_instance_by_expedition_id(expedition_id, zone_short_name, x, y, z, heading)`.
- Add `eq.cross_zone_move_instance_by_client_name(client_name, zone_short_name, x, y, z)`.
- Add `eq.cross_zone_move_instance_by_client_name(client_name, zone_short_name, x, y, z, heading)`.
# Notes
- Allows operators to send players to specific coordinates across zones instead of always sending to safe coordinates.
2023-09-17 13:16:25 -05:00
Alex King
06337fe762
[Feature] Add Defensive Proc Rules for Level Gap Penalty ( #3580 )
...
# Notes
- Allows operators to modify the level gap penalty and level gap required for the penalty for defensive procs' level gap penalty.
- Setting `Spells:DefensiveProcPenaltyLevelGap` to `-1` will disable the penalty.
2023-09-17 13:15:51 -05:00
hg
604c7ad4ab
[Feature] Add opcodes for Cast and Scribe book buttons ( #3578 )
...
This is just the packet framework for the Scribe button on recipe books
and the Cast Spell button on books that allow casting spells on
targets. It will need to be hooked up to a content implementation
2023-09-17 13:14:38 -05:00
Alex King
bab16771aa
[Quest API] Add ApplySpell() and SetBuffDuration() overloads to Perl/Lua ( #3576 )
...
# Perl
- Add `$bot->ApplySpell(spell_id, duration, level)`.
- Add `$bot->ApplySpell(spell_id, duration, level, allow_pets)`.
- Add `$bot->ApplySpellGroup(spell_id, duration, level)`.
- Add `$bot->ApplySpellGroup(spell_id, duration, level, allow_pets)`.
- Add `$bot->ApplySpellRaid(spell_id)`.
- Add `$bot->ApplySpellRaid(spell_id, duration)`.
- Add `$bot->ApplySpellRaid(spell_id, duration, level)`.
- Add `$bot->ApplySpellRaid(spell_id, duration, level, allow_pets)`.
- Add `$bot->ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`.
- Add `$bot->SetSpellDuration(spell_id, duration, level)`.
- Add `$bot->SetSpellDuration(spell_id, duration, level, allow_pets)`.
- Add `$bot->SetSpellDurationGroup(spell_id, duration, level)`.
- Add `$bot->SetSpellDurationGroup(spell_id, duration, level, allow_pets)`.
- Add `$bot->SetSpellDurationRaid(spell_id)`.
- Add `$bot->SetSpellDurationRaid(spell_id, duration)`.
- Add `$bot->SetSpellDurationRaid(spell_id, duration, level)`.
- Add `$bot->SetSpellDurationRaid(spell_id, duration, level, allow_pets)`.
- Add `$bot->SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`.
- Add `$client->ApplySpell(spell_id, duration, level)`.
- Add `$client->ApplySpell(spell_id, duration, level, allow_pets)`.
- Add `$client->ApplySpellGroup(spell_id, duration, level)`.
- Add `$client->ApplySpellGroup(spell_id, duration, level, allow_pets)`.
- Add `$client->ApplySpellRaid(spell_id, duration, level)`.
- Add `$client->ApplySpellRaid(spell_id, duration, level, allow_pets)`.
- Add `$client->ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`.
- Add `$client->ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only, allow_bots)`.
- Add `$client->SetSpellDuration(spell_id, duration, level)`.
- Add `$client->SetSpellDuration(spell_id, duration, level, allow_pets)`.
- Add `$client->SetSpellDurationGroup(spell_id, duration, level)`.
- Add `$client->SetSpellDurationGroup(spell_id, duration, level, allow_pets)`.
- Add `$client->SetSpellDurationRaid(spell_id, duration, level)`.
- Add `$client->SetSpellDurationRaid(spell_id, duration, level, allow_pets)`.
- Add `$client->SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`.
- Add `$client->SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only, allow_bots)`.
- Add `$mob->ApplySpellBuff(spell_id, duration, level)`.
- Add `$mob->SetSpellDuration(spell_id, duration, level)`.
# Lua
- Add `bot:ApplySpell(spell_id, duration, level)`.
- Add `bot:ApplySpell(spell_id, duration, level, allow_pets)`.
- Add `bot:ApplySpellGroup(spell_id, duration, level)`.
- Add `bot:ApplySpellGroup(spell_id, duration, level, allow_pets)`.
- Add `bot:ApplySpellRaid(spell_id)`.
- Add `bot:ApplySpellRaid(spell_id, duration)`.
- Add `bot:ApplySpellRaid(spell_id, duration, level)`.
- Add `bot:ApplySpellRaid(spell_id, duration, level, allow_pets)`.
- Add `bot:ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`.
- Add `bot:SetSpellDuration(spell_id, duration, level)`.
- Add `bot:SetSpellDuration(spell_id, duration, level, allow_pets)`.
- Add `bot:SetSpellDurationGroup(spell_id, duration, level)`.
- Add `bot:SetSpellDurationGroup(spell_id, duration, level, allow_pets)`.
- Add `bot:SetSpellDurationRaid(spell_id, duration, level)`.
- Add `bot:SetSpellDurationRaid(spell_id, duration, level, allow_pets)`.
- Add `bot:SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`.
- Add `client:ApplySpell(spell_id, duration, level)`.
- Add `client:ApplySpell(spell_id, duration, level, allow_pets)`.
- Add `client:ApplySpellGroup(spell_id, duration, level)`.
- Add `client:ApplySpellGroup(spell_id, duration, level, allow_pets)`.
- Add `client:ApplySpellRaid(spell_id, duration, level)`.
- Add `client:ApplySpellRaid(spell_id, duration, level, allow_pets)`.
- Add `client:ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`.
- Add `client:ApplySpellRaid(spell_id, duration, level, allow_pets, is_raid_group_only, allow_bots)`.
- Add `client:SetSpellDuration(spell_id, duration, level)`.
- Add `client:SetSpellDuration(spell_id, duration, level, allow_pets)`.
- Add `client:SetSpellDurationGroup(spell_id, duration, level)`.
- Add `client:SetSpellDurationGroup(spell_id, duration, level, allow_pets)`.
- Add `client:SetSpellDurationRaid(spell_id, duration, level)`.
- Add `client:SetSpellDurationRaid(spell_id, duration, level, allow_pets)`.
- Add `client:SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only)`.
- Add `client:SetSpellDurationRaid(spell_id, duration, level, allow_pets, is_raid_group_only, allow_bots)`.
- Add `mob:ApplySpellBuff(spell_id, duration, level)`.
- Add `mob:SetSpellDuration(spell_id, duration, level)`.
# Notes
- This allows operators to override the spell level.
2023-09-17 13:14:13 -05:00
Alex
d3a414a048
[Fixes] AA System Fixes ( #3572 )
...
* -Always load AAs beyond our current expansion (Will need this for refunding invalid AAs).
-AAs beyond our current expansion will no longer be buyable or sendable to clients.
* #reload aa will now reload character aa data.
* Base Implementation of auto grant AA
* -Add DB manifest entry
-Made has already purchased fn a bit better
-Added auto grant to db entry
* -Added grantaa command.
-Reworked grantaa to not spam the client with packets, it still does spam messages because the feedback is important.
* Port suggested changes for Finish AA purchase.
---------
Co-authored-by: KimLS <KimLS@peqtgc.com >
2023-09-17 13:12:43 -05:00
Paul Coene
e85a8db8c4
[Messages] Swarm pet normal damage messages were missing ( #3594 )
2023-09-17 08:26:09 -04:00
Fryguy
12cc3c90ea
[Bug] Additional Wild Ramp param was causing an overflow it appears at least on local testing. ( #3589 )
...
* [Logging] Add logging to track down Wild Ramp issue
* [Bug] Additional Wild Ramp param was causing an overflow it appears at least on local testing.
2023-09-11 15:57:04 -05:00
Paul Coene
9c656bc498
[Messages] Remove duplicate message on tracking begin ( #3574 )
2023-09-11 08:27:25 -04:00
Fryguy
bc337979bb
[Logging] Add logging to track down Wild Ramp issue ( #3588 )
2023-09-10 21:02:44 -05:00
Paul Coene
a64425ebe6
[Commands] npc_edit faction and #setfaction duplicate and incorrect. ( #3577 )
...
* [Commands] npc_edit faction and #setfaction duplicate and incorrect.
* Fix assignment
2023-09-02 21:21:48 -04:00
Alex King
ca933fce45
[Bug Fix] Fix #set faction/#setfaction Command ( #3575 )
...
# Notes
- This was an oversight on my part in `#set` command consolidation.
2023-09-02 17:30:40 -04:00
Akkadius
9c3498b431
[Release] 22.25.0
2023-08-28 19:51:37 -05:00
Akkadius
d7e09a1f3b
[Hotfix] Zoning logging edge case safety
2023-08-28 19:51:11 -05:00
Akkadius
1652e7a976
[Hotfix] Fix to zoning logging exception
2023-08-28 19:44:56 -05:00
JJ
37dda9bf41
[Instances] Refine id selection ( #3568 )
...
* [Instances] Refine id selection
Since the IDs start above the minimum, we needed to check if the first slot was available.
* Remove else by returning early, add validation before accessing row
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-08-28 19:28:15 -05:00
Paul Coene
a2b78ff4e6
[Combat Messages] Fix issue where pet proc damage was not showing up ( #3551 )
...
* [Combat Messages] Fix issue where pet proc damage was not showing up
* Put back needed "skip" for some melee messages.
* spacing
2023-08-24 16:52:18 -04:00
Aeadoin
79a3ce8d7e
[Bots] Add Support for Mana Pool AA Bonuses. ( #3571 )
2023-08-21 18:35:14 -04:00
Paul Coene
d857fb3c48
[HotFix] Clearing target window on CHARM wear off had a side effect ( #3570 )
...
* [HotFix] Clearing target window on CHARM wear off had a side effect
* erroneous change removed
2023-08-21 18:16:22 -04:00
Chris Miles
2b4cd292e4
[Rules] Also reload rules in world when #reload rules invoked ( #3566 )
2023-08-21 17:43:55 -04:00
Aeadoin
3b7cfa6454
[Rules] Correct explanation of Bots:ManaRegen ( #3569 )
...
* [Rules] Correct explanation of Bots:ManaRegen
* update
* update
2023-08-21 17:43:02 -04:00
Vayle
c5fa7e28c8
[Bug Fix] Minor adjustment to formula calc position to fix modifier bug. ( #3565 )
...
* Fix logic error in recent PR
* Adjust formula position
2023-08-20 22:18:08 -05:00
Akkadius
5d133a2b47
[Hotfix] Instance GetUnusedInstanceID crash fox
2023-08-20 21:30:37 -05:00
Chris Miles
7122ac33b2
[Quest API] Reload content flags globally when a content flag is set ( #3564 )
2023-08-20 20:56:40 -05:00
JJ
c47644ea46
[Instances] Honor reserved instances ( #3563 )
...
* [Instances] Honor reserved instances
Logic to select next available instance id was incorrect.
The correct logic selected the max id + 1 or max reserved + 1, but then it would overwrite if we enabled recycling ids.
Additionally, it was incrementing the reserved ids and assigning ids to the max reserved id vice the next available.
Finally, it was running the logic twice.
* Fix updated SQL to use fmt
2023-08-20 19:21:51 -05:00
Vayle
a61f951d0e
[Rules] Add FinalRaidExpMultiplier Rule ( #3554 )
...
* FlatRaidExpModifierRule
* Formatting
* Remove enabled toggle
Enabled toggle not necessary as default value is 1.0
* Formatting
* Formatting
* Formatting
2023-08-20 16:31:36 -05:00
Paul Coene
4357b8c731
[Charm] Fix to update target windows on charm on/off ( #3549 )
...
* [Charm] Fix to update target windows on charm on/off
* Removed accidental change
* Removed magic #
* reformated brace style in function that was modified
* Use better names for clear variables
* Forgot header with name change
* More header name changes
2023-08-20 15:43:10 -05:00
Alex King
9cbe25f712
[Feature] Change #reload zone to reload zone headers globally. ( #3557 )
...
* [Feature] Change #reload zone to reload zone headers globally.
# Notes
- This allows operators to globally reload zone headers without going to every zone individually to do so.
* Update worldserver.cpp
* Update worldserver.cpp
2023-08-20 15:42:45 -05:00
Chris Miles
c14a17e4de
[Database] Extend dumper CLI utility to export static instance data ( #3562 )
...
* [Database] Extend dumper CLI utility to export static instance data
* Append
* Append
2023-08-20 15:42:23 -05:00
hg
ab04a4c6df
Remove hard limit on currency merchant ( #3560 )
2023-08-20 15:37:15 -05:00
Chris Miles
c0cf9bb5aa
[Expansions] Expansion settings tweaks ( #3556 )
...
* Expansion tweaks testing on PEQ
* Update zoning.cpp
* Update aa.cpp
* Update aa.cpp
* Tweak
2023-08-20 15:37:08 -05:00
JJ
b5d23389ee
[Database] Change primary key entry to NOT NULL ( #3559 )
...
Needed for MySQL 8 compatibility.
2023-08-20 15:36:51 -05:00
Alex King
dc35ab5251
[Bug Fix] Fix #motd/#set motd Command ( #3558 )
...
# Notes
- This command was non-functional since the consolidation due to an oversight on my part.
2023-08-20 09:31:26 -04:00
Chris Miles
9cbfd5c8f0
[Logging] Add detailed zoning logging ( #3555 )
...
* WIP: Add zoning logging
* Update zoning.cpp
2023-08-19 23:53:34 -05:00
Fryguy
5631a0711f
[Feature] Add adjustability for AERampage Range. ( #3548 )
...
* [Feature] Add adjustability for AERampage Range.
This functionality is needed for fights like Ture to be accurate, where their ramp range was 101% of their melee safe range.
Example in lua of utilizing this scripting
```
e.self:SetSpecialAbilityParam(SpecialAbility.area_rampage,8,101;
```
* Updates to address comments
2023-08-19 23:36:06 -05:00
Aeadoin
00e02b61ca
[Bug Fix] Fix Bot::CheckDataBucket to work with Owner Buckets. ( #3552 )
2023-08-18 16:41:24 -04:00
regneq
108397b138
[Feature] Change money type to all lower case as EQ live money shares and split has it that way. ( #3550 )
2023-08-18 15:19:58 -04:00
Aeadoin
9a07142a9b
[Bug Fix] Bots will now load AAs properly when spawned. ( #3544 )
...
* [Bug Fix] Bots will now load AAs properly when spawned.
* formatting
* formatting
* formatting
* formatting
* formatting (for real this time)
* formatting (for real this time)
* Formatting
2023-08-13 15:57:27 -04:00
Aeadoin
919a92bda3
[Bots] Remove In-Game Command References to Bot Groups ( #3545 )
2023-08-13 15:41:30 -04:00
Chris Miles
140aba9f69
[Spawns] Fixes a rarer issue where spawn2 is not being properly content filtered
2023-08-13 02:17:00 -05:00
Aeadoin
c3d41e08f4
[Bug Fix] Bots no longer drop group on death, and raid fixes. ( #3542 )
2023-08-12 21:49:01 -04:00
Vayle
5d6a1aad50
[Rules] Add rule to restrict hand in of quest items to quest flagged NPCs. ( #3536 )
...
* Add rule to restrict handin of quest items to quest flagged npcs
* Minor format tweak
* Formatting
2023-08-12 21:48:40 -04:00
hg
af91b2b41c
[CMake] Define perlbind option for all targets ( #3538 )
...
This isn't designed well and wasn't handled correctly since the perlbind
library was getting built and linked with default options while zone was
using PERLBIND_NO_STRICT_SCALAR_TYPES. This was probably leading to some
unspecified behavior.
2023-08-12 21:48:08 -04:00
hg
2660aa79ab
[CMake] Add cmake option to re-enable MSVC warnings ( #3537 )
2023-08-12 21:47:38 -04:00
Fryguy
730738faf9
[Bug] Escape item name in trader audit. ( #3540 )
...
* [Bug] Escape item name in trader audit.
Quick fix to escape the item names in Trader Audit.
* Update trading.cpp
---------
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
2023-08-12 21:47:22 -04:00
catapultam-habeo
2bb7bba724
[Rules] Add a rule to adjust the randomization range for Wizard\Caster Merc innate critical ratio. ( #3543 )
...
* initial commit
* oops.
* that wasn't supposed to be committed.
* Update effects.cpp
---------
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
2023-08-12 21:19:22 -04:00
Akkadius
e93081dde0
[Hotfix] Add character_stats_record to player tables
2023-08-11 01:46:30 -05:00
Vayle
3a46bf7383
[Rules] Add rule to toggle pets accepting quest items ( #3533 )
...
* Add rule to disable handing quests items to pets
* Logic tweak
* Tweaks
Updated formatting and minor logic change
* Minor tweaks
2023-08-06 15:32:25 -04:00
Chris Miles
aa6421afdf
[Release] 22.24.0 ( #3534 )
...
* [Release] 22.24.0
* Update CHANGELOG.md
2023-08-05 13:58:51 -05:00
Chris Miles
6a7eaae122
[Fix] Bugs table should not target content database ( #3535 )
2023-08-05 13:53:54 -05: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 1826830637 , reversing
changes made to 7c1a139991 .
* Updated syntax for 9230
Updated this syntax as to run on maria 10.1
* Revert "Updated syntax for 9230"
This reverts commit ffdd46c8b2 .
* 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
Chris Miles
33a375677e
[Fix] Fix issue with mob scanning when trying to use EVENT_SPAWN ( #3529 )
2023-08-04 13:05:33 -05:00
Chris Miles
8fce86c396
[Quest API] Adjust GetCloseMobList calls internally ( #3530 )
...
* [Quest API] Adjust GetCloseMobList calls internally
* Tweaks
2023-08-04 13:05:22 -05:00
Alex King
68b40f0239
[Cleanup] Cleanup #view zone_loot Command ( #3523 )
...
* [Cleanup] Cleanup #view zone_loot Command
# Notes
- An item ID was being required, we don't want to do that.
- Cleanup messages to only show item name/item ID
* Update zone_loot.cpp
2023-08-02 19:58:25 -04:00
Alex King
2dc2bac456
[Cleanup] Remove Strings::Commify from all identifier values ( #3528 )
...
# Notes
- Removes commification from unique identifiers.
2023-08-01 22:59:47 -05:00
Alex King
00a8a0cf88
[Bug Fix] Fix +/- 0.1 XYZ Door Manipulation ( #3527 )
...
# Notes
- We were checking if this was a number, not a float.
2023-08-01 22:16:29 -05:00
Alex King
5a466da96c
[Feature] Add Support for Drakkin Heritage Illusions ( #3521 )
...
# Notes
- Fixes an issue where Drakkin illusions that used different Drakkin Heritages were not properly applying the Drakkin Heritage due to not sending the Face Appearance.
2023-08-01 14:28:13 -05:00
Akkadius
de4f5ae491
[Release] 22.23.0
2023-07-31 20:17:17 -05:00
Alex King
fb20d92166
[Bug Fix] Fix Appearance Issues ( #3520 )
...
* [Bug Fix] Fix Appearance Issues
# Notes
- Changing race, gender, or texture of a Mob could result in it changing sizes due to use not sending the size as part of the appearance packet.
- Also converts the parameterized method to a struct parameter so that we can optionally send things without back-filling multiple arguments.
* Gender cleanup.
* Fix.
* Formatting.
2023-07-31 20:15:13 -05:00
Paul Coene
6cff433d23
[Scaling/Bug Fix] Scaling where min and max damage was bugged ( #3514 )
...
* [Scaling/Bug Fix] Scaling where min and max damage were both 0 tossed out min_dmg
* Clamp values so independant calls dont leave us in odd state
2023-07-31 20:00:48 -05:00
Alex King
2da7ddad57
[Bug Fix] Fix NPC Cast Events not parsing properly. ( #3518 )
...
* [Bug Fix] Fix NPC Cast Events not parsing properly.
# Notes
- We were not using separated values.
* Update lua_parser_events.cpp
2023-07-31 19:59:56 -05:00
Chris Miles
55161e18c8
[Databuckets] Improvements to distributed cache, reload commands ( #3519 )
...
* [Databuckets] Improvements to distributed cache, reload commands
* Add to reload_types
2023-07-31 19:58:57 -05:00
Alex King
063d4fbd1a
[Bug Fix] Fix #gm top level alias for #set gm ( #3517 )
...
# Notes
- Typo lead to `#gm on` and `#gm off` not functioning.
2023-07-30 13:20:17 -04:00
Akkadius
c25cb0cc23
[Release] 22.22.1
2023-07-30 01:36:49 -05:00
Chris Miles
ddac326239
[Doors] Add door blacklist ( #3516 )
...
* [Doors] Add door blacklist
* Renaming to simplify
2023-07-30 01:35:44 -05:00
Akkadius
14fe396510
[Database] Hotfix: Add command_subsettings to server tables
2023-07-28 22:22:43 -05:00
Chris Miles
c968a0acdc
[Release] 22.22.0 ( #3513 )
...
* [Release] 22.22.0
* Version other areas
2023-07-28 11:35:40 -05:00
Alex King
8c4cd34e01
[Quest API] Add GetMobTypeIdentifier() to Perl/Lua ( #3512 )
...
# Perl
- Add `$mob->GetMobTypeIdentifier()`.
# Lua
- Add `mob:GetMobTypeIdentifier()`.
# Notes
- Gets unique identifier independent of mob type.
2023-07-27 23:16:41 -05:00
Akkadius
0dbcf83a11
[Database] Fix console output in database:dump --dump-output-to-console
2023-07-25 11:45:26 -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
6c2886a71d
[Cleanup] Fix casing in corpse money and decay time. ( #3511 )
...
# Notes
- These were uppercase and should be lowercase.
2023-07-23 16:19:07 -04:00
Alex King
1d96ddb60d
[Bug Fix] Escape search string in #find item ( #3510 )
2023-07-22 18:20:00 -04:00
Vayle
c30074be66
[Crash Fix] Guard against Spells:MaxTotalSlotsPET being set above client allowed maximum. ( #3507 )
...
* Guard against MaxTotalSlotsPET being set too high
This prevents a crash from MaxTotalSlotsPET being set too high.
* Tweak
2023-07-22 10:20:22 -04:00
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
Chris Miles
81cee49ea1
[Databuckets] Fix rarer same bucket name scoping overlap issue ( #3509 )
2023-07-19 23:49:11 -05:00
Akkadius
2d61cd2b9a
[Release] 22.21.1
2023-07-18 20:50:56 -05:00
Vayle
b06505b80a
[Cleanup] Remove arbitrary teleport blocking in Tutorial and Load zones ( #3506 )
2023-07-18 20:56:21 -04:00
Chris Miles
4c2f9a4423
[Databuckets] Fix issue with expired databuckets not being expired and returned properly ( #3504 )
2023-07-18 17:18:36 -05:00
Alex King
fb3159b657
[Bug Fix] #set title_suffix Argument Position ( #3505 )
...
# Notes
- Off by one on argument index.
2023-07-18 18:02:25 -04:00
Michael
8ebf5bbb78
[Bug] Show Petition and Show Petition_Info fix ( #3503 )
...
Where Statement was using incorrect field name.
2023-07-18 17:15:21 -04:00
Akkadius
d2aae4d79c
[Release] 22.21.0
2023-07-18 02:54:20 -05:00
Chris Miles
f9dc9da42b
[Pathing] Improvements to roambox logic, pathing ( #3502 )
...
* [Roambox] Improvements to roambox logic
* Update npc.cpp
* Update npc.cpp
* More pathing fixes
2023-07-18 02:52:04 -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
Chris Miles
59537ae977
[Z Clipping] Don't issue zclip adjustments when NPC is not moving ( #3499 )
2023-07-16 14:52:17 -04:00
Alex King
ee45a28efe
[Quest API] Add SetLDoNPoints() to Perl/Lua ( #3496 )
...
# Perl
- Add `$client->SetLDoNPoints(theme_id, points)`.
# Lua
- Add `client:SetLDoNPoints(theme_id, points)`.
# Notes
- Allows operators to directly set LDoN Points.
2023-07-15 21:46:49 -05: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
Jonathan Sider
50ce99ce3e
[Bug Fix] Update bot naming check and add more explanation ( #3491 )
...
* Refactor my original PR
Block all puncation,numbers, and _
* Add error message
2023-07-12 21:59:17 -05:00
Alex King
4854201b2a
[Quest API] Add Mob/Entity type check methods to Perl/Lua ( #3493 )
...
* [Quest API] Add Mob/Entity type check methods to Perl/Lua
# Perl
- Add `$mob->IsAura()`.
- Add `$mob->IsEncounter()`.
- Add `$mob->IsMerc()`.
- Add `$mob->IsOfClientBot()`.
- Add `$mob->IsOfClientBotMerc()`.
- Add `$mob->IsTemporaryPet()`.
# Lua
- Add `entity:IsAura()`.
- Add `entity:IsOfClientBot()`.
- Add `entity:IsOfClientBotMerc()`.
- Add `mob:IsTemporaryPet()`.
* Update lua_entity.cpp
* Update lua_mob.cpp
2023-07-12 21:20:07 -05:00
Jonathan Sider
c81d05940a
[Bots] Remove orphaned commands related to botgroup ( #3489 )
2023-07-09 00:00:28 -04:00
Paul Coene
47be17e2af
[Bug Fix] Fix charmed pets to follow when charmed. ( #3488 )
...
* [Bug Fix] Fix charmed pets to follow when charmed.
* Added STOP (missed this on a local merge)
2023-07-08 19:58:45 -04:00
Chris Miles
809b3b6099
[Release] 22.19.0 ( #3487 )
2023-07-08 16:54:15 -05:00
Jonathan Sider
f06c7e8834
[Bots] Add Pickpocket Command ( #3484 )
...
* Add Pickpocket Command
* Formatting
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-07-08 16:51:52 -05:00
Alex King
096448d23c
[Commands] Add #itemsearch alias to #find aliases ( #3485 )
...
# Notes
- `#itemsearch` did not exist in this alias list.
2023-07-08 16:33:29 -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
Alex King
d4962bb2ab
[Cleanup] Move #find item summon links to front ( #3483 )
...
# Notes
- Move the summon links to the front so they're in a consistent location.
2023-07-04 23:08:29 -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
01a1186e63
[Commands] Add #emotesearch to #find command ( #3480 )
...
# Notes
- Missed this with initial `#find` command consolidation.
2023-07-04 14:17:42 -05:00
Alex King
7427318213
[Commands] Cleanup #copycharacter Command ( #3479 )
...
# Notes
- Cleanup messages and logic.
2023-07-04 14:14:33 -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
dc28c8d485
[Bug Fix] Fix data type of GetAggroCount() ( #3470 )
...
# Notes
- This is an `unsigned int`, not an `int`, so this fixes that.
2023-07-03 00:10:27 -05:00
Alex King
a633784f78
[Quest API] Add GetClassPlural() and GetRacePlural() to Perl/Lua ( #3468 )
...
* [Quest API] Add GetClassPlural() and GetRacePlural() to Perl/Lua
# Perl
- Add `$mob->GetClassPlural()`.
- Add `$mob->GetRacePlural()`.
# Lua
- Add `mob:GetClassPlural()`.
- Add `mob:GetRacePlural()`.
# Notes
- Allows operators to get the plural of a player class or race, example being `Warrior` as `Warriors` or `Dark Elf` as `Dark Elves`.
* Update mob.cpp
2023-07-03 00:08:04 -05:00
Alex King
5519c3e781
[Cleanup] Remove handle_npc_single_npc from zone/lua_parser_events.cpp and zone/lua_parser_events.h ( #3467 )
...
# Notes
- This is unused.
2023-07-02 23:56:04 -05:00
Alex King
9401323708
[Bug Fix] EVENT_LANGUAGE_SKILL_UP in Lua was using EVENT_SKILL_UP logic ( #3466 )
...
# Notes
- `EVENT_LANGUAGE_SKILL_UP` only takes `3` values whereas `EVENT_SKILL_UP` takes `4`.
2023-07-02 20:41:53 -04:00
Alex King
251993c61b
[Quest API] Add ItemData Class to Perl ( #3465 )
...
* [Quest API] Add ItemData Class to Perl
- Add `$questitem->GetItem()`.
- Add `$questitem->GetUnscaledItem()`.
- Add `$questitemdata->GetAGI()`.
- Add `$questitemdata->GetAC()`.
- Add `$questitemdata->GetCHA()`.
- Add `$questitemdata->GetDEX()`.
- Add `$questitemdata->GetINT()`.
- Add `$questitemdata->GetSTA()`.
- Add `$questitemdata->GetSTR()`.
- Add `$questitemdata->GetAWis()`.
- Add `$questitemdata->GetAccuracy()`.
- Add `$questitemdata->GetArtifactFlag()`.
- Add `$questitemdata->GetAttack()`.
- Add `$questitemdata->GetAttuneable()`.
- Add `$questitemdata->GetAugmentDistiller()`.
- Add `$questitemdata->GetAugmentRestrict()`.
- Add `$questitemdata->GetAugmentSlotType(slot_id)`.
- Add `$questitemdata->GetAugmentSlotUnk2(slot_id)`.
- Add `$questitemdata->GetAugmentSlotVisible(slot_id)`.
- Add `$questitemdata->GetAugmentType()`.
- Add `$questitemdata->GetAvoidance()`.
- Add `$questitemdata->GetBackstabDamage()`.
- Add `$questitemdata->GetBagSize()`.
- Add `$questitemdata->GetBagSlots()`.
- Add `$questitemdata->GetBagType()`.
- Add `$questitemdata->GetBagWeightReduction()`.
- Add `$questitemdata->GetBaneDamageAmount()`.
- Add `$questitemdata->GetBaneDamageBody()`.
- Add `$questitemdata->GetBaneDamageRace()`.
- Add `$questitemdata->GetBaneDamageRaceAmount()`.
- Add `$questitemdata->GetBardEffect()`.
- Add `$questitemdata->GetBardLevel()`.
- Add `$questitemdata->GetBardLevel2()`.
- Add `$questitemdata->GetBardType()`.
- Add `$questitemdata->GetBardSkillType()`.
- Add `$questitemdata->GetBardSkillValue()`.
- Add `$questitemdata->GetBenefitFlag()`.
- Add `$questitemdata->GetBook()`.
- Add `$questitemdata->GetBookType()`.
- Add `$questitemdata->GetCR()`.
- Add `$questitemdata->GetCastTime()`.
- Add `$questitemdata->GetCastTime_()`.
- Add `$questitemdata->GetCharmFile()`.
- Add `$questitemdata->GetCharmFileID()`.
- Add `$questitemdata->GetClairvoyance()`.
- Add `$questitemdata->GetClasses()`.
- Add `$questitemdata->GetClickName()`.
- Add `$questitemdata->GetClickEffect()`.
- Add `$questitemdata->GetClickLevel()`.
- Add `$questitemdata->GetClickLevel2()`.
- Add `$questitemdata->GetClickType()`.
- Add `$questitemdata->GetColor()`.
- Add `$questitemdata->GetCombatEffects()`.
- Add `$questitemdata->GetCorruption()`.
- Add `$questitemdata->GetDR()`.
- Add `$questitemdata->GetDSMitigation()`.
- Add `$questitemdata->GetDamage()`.
- Add `$questitemdata->GetDamageShield()`.
- Add `$questitemdata->GetDeity()`.
- Add `$questitemdata->GetDelay()`.
- Add `$questitemdata->GetDOTShielding()`.
- Add `$questitemdata->GetElementalDamageAmount()`.
- Add `$questitemdata->GetElementalDamageType()`.
- Add `$questitemdata->GetEliteMaterial()`.
- Add `$questitemdata->GetEndurance()`.
- Add `$questitemdata->GetEnduranceRegen()`.
- Add `$questitemdata->GetExpendableArrow()`.
- Add `$questitemdata->GetExtraDamageAmount()`.
- Add `$questitemdata->GetExtraDamageSkill()`.
- Add `$questitemdata->GetFR()`.
- Add `$questitemdata->GetFVNoDrop()`.
- Add `$questitemdata->GetFactionAmount1()`.
- Add `$questitemdata->GetFactionAmount2()`.
- Add `$questitemdata->GetFactionAmount3()`.
- Add `$questitemdata->GetFactionAmount4()`.
- Add `$questitemdata->GetFactionModifier1()`.
- Add `$questitemdata->GetFactionModifier2()`.
- Add `$questitemdata->GetFactionModifier3()`.
- Add `$questitemdata->GetFactionModifier4()`.
- Add `$questitemdata->GetFavor()`.
- Add `$questitemdata->GetFilename()`.
- Add `$questitemdata->GetFocusEffect()`.
- Add `$questitemdata->GetFocusName()`.
- Add `$questitemdata->GetFocusLevel()`.
- Add `$questitemdata->GetFocusLevel2()`.
- Add `$questitemdata->GetFocusType()`.
- Add `$questitemdata->GetFulfilment()`.
- Add `$questitemdata->GetGuildFavor()`.
- Add `$questitemdata->GetHP()`.
- Add `$questitemdata->GetHaste()`.
- Add `$questitemdata->GetHealAmount()`.
- Add `$questitemdata->GetHeroicAGI()`.
- Add `$questitemdata->GetHeroicCR()`.
- Add `$questitemdata->GetHeroicCHA()`.
- Add `$questitemdata->GetHeroicCorruption()`.
- Add `$questitemdata->GetHeroicDR()`.
- Add `$questitemdata->GetHeroicDEX()`.
- Add `$questitemdata->GetHeroicFR()`.
- Add `$questitemdata->GetHeroicINT()`.
- Add `$questitemdata->GetHeroicMR()`.
- Add `$questitemdata->GetHeroicPR()`.
- Add `$questitemdata->GetHeroicSTA()`.
- Add `$questitemdata->GetHeroicSTR()`.
- Add `$questitemdata->GetHeroicWIS()`.
- Add `$questitemdata->GetID()`.
- Add `$questitemdata->GetIDFile()`.
- Add `$questitemdata->GetIcon()`.
- Add `$questitemdata->GetItemClass()`.
- Add `$questitemdata->GetItemType()`.
- Add `$questitemdata->GetLDoNPrice()`.
- Add `$questitemdata->GetLDoNSellBackRate()`.
- Add `$questitemdata->GetLDoNSold()`.
- Add `$questitemdata->GetLDoNTheme()`.
- Add `$questitemdata->GetLight()`.
- Add `$questitemdata->GetLore()`.
- Add `$questitemdata->GetLoreFlag()`.
- Add `$questitemdata->GetLoreGroup()`.
- Add `$questitemdata->GetMR()`.
- Add `$questitemdata->GetMagic()`.
- Add `$questitemdata->GetMana()`.
- Add `$questitemdata->GetManaRegen()`.
- Add `$questitemdata->GetMaterial()`.
- Add `$questitemdata->GetMaximumCharges()`.
- Add `$questitemdata->GetMinimumStatus()`.
- Add `$questitemdata->GetName()`.
- Add `$questitemdata->GetNoDrop()`.
- Add `$questitemdata->GetNoPet()`.
- Add `$questitemdata->GetNoRent()`.
- Add `$questitemdata->GetNoTransfer()`.
- Add `$questitemdata->GetPR()`.
- Add `$questitemdata->GetPendingLoreFlag()`.
- Add `$questitemdata->GetPointType()`.
- Add `$questitemdata->GetPotionBelt()`.
- Add `$questitemdata->GetPotionBeltSlots()`.
- Add `$questitemdata->GetPrice()`.
- Add `$questitemdata->GetProcEffect()`.
- Add `$questitemdata->GetProcName()`.
- Add `$questitemdata->GetProcRate()`.
- Add `$questitemdata->GetProcLevel()`.
- Add `$questitemdata->GetProcLevel2()`.
- Add `$questitemdata->GetProcType()`.
- Add `$questitemdata->GetPurity()`.
- Add `$questitemdata->GetQuestItemFlag()`.
- Add `$questitemdata->GetRaces()`.
- Add `$questitemdata->GetRange()`.
- Add `$questitemdata->GetRecLevel()`.
- Add `$questitemdata->GetRecSkill()`.
- Add `$questitemdata->GetRecastDelay()`.
- Add `$questitemdata->GetRecastType()`.
- Add `$questitemdata->GetRegen()`.
- Add `$questitemdata->GetReqLevel()`.
- Add `$questitemdata->GetScriptFileID()`.
- Add `$questitemdata->GetScrollEffect()`.
- Add `$questitemdata->GetScrollName()`.
- Add `$questitemdata->GetScrollLevel()`.
- Add `$questitemdata->GetScrollLevel2()`.
- Add `$questitemdata->GetScrollType()`.
- Add `$questitemdata->GetSellRate()`.
- Add `$questitemdata->GetShielding()`.
- Add `$questitemdata->GetSize()`.
- Add `$questitemdata->GetSkillModifierType()`.
- Add `$questitemdata->GetSkillModifierValue()`.
- Add `$questitemdata->GetSlots()`.
- Add `$questitemdata->GetSpellDamage()`.
- Add `$questitemdata->GetSpellShield()`.
- Add `$questitemdata->GetStackSize()`.
- Add `$questitemdata->GetStackable()`.
- Add `$questitemdata->GetStrikeThrough()`.
- Add `$questitemdata->GetStunResist()`.
- Add `$questitemdata->GetSummonedFlag()`.
- Add `$questitemdata->GetTradeskills()`.
- Add `$questitemdata->GetWeight()`.
- Add `$questitemdata->GetWornName()`.
- Add `$questitemdata->GetWornEffect()`.
- Add `$questitemdata->GetWornLevel()`.
- Add `$questitemdata->GetWornLevel2()`.
- Add `$questitemdata->GetWornType()`.
- Fixed data type of parameters in a handful of methods.
- Allows operators to directly interact with item data without the need for `quest::getitemstat` or DBI or anything of the sort.
* Update perl_questitem.cpp
* Update lua_iteminst.cpp
* Update lua_iteminst.h
* Update lua_iteminst.h
2023-07-02 11:26:49 -04:00
Alex King
728ce0c519
[Quest API] Add GetCloseMobList() and CalculateDistance() overload to Perl/Lua ( #3455 )
...
* [Quest API] Add GetCloseMobList() and CalculateDistance() overload to Perl/Lua
# Perl
- Add `$entity_list->GetCloseMobList(mob)`.
- Add `$entity_list->GetCloseMobList(mob, distance)`.
- Add `$mob->CalculateDistance(mob)`.
- Add `$mob->GetCloseMobList()`.
- Add `$mob->GetCloseMobList(distance)`.
# Lua
- Add `eq.get_entity_list():GetCloseMobList(mob)`.
- Add `eq.get_entity_list():GetCloseMobList(mob, distance)`.
- Add `mob:CalculateDistance(mob)`.
- Add `mob:GetCloseMobList()`.
- Add `mob:GetCloseMobList(distance)`.
* Ignore Self
* Update lua_entity_list.cpp
* Cleanup
2023-07-02 10:55:27 -04: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
Alex King
d16ac99033
[Quest API] Add StatBonuses Class to Perl ( #3460 )
...
* [Quest API] Add StatBonuses Class to Perl
# Perl
- Add `$mob->GetAABonuses()`.
- Add `$mob->GetItemBonuses()`.
- Add `$mob->GetSpellBonuses()`.
- Add `$statbonuses->GetAbsorbMagicAttack(slot)`.
- Add `$statbonuses->GetAC()`.
- Add `$statbonuses->GetAccuracy(slot)`.
- Add `$statbonuses->GetAdjustedCastingSkill()`.
- Add `$statbonuses->GetAggroRange()`.
- Add `$statbonuses->GetAGI()`.
- Add `$statbonuses->GetAGICapModifier()`.
- Add `$statbonuses->GetAlterNPCLevel()`.
- Add `$statbonuses->GetAmbidexterity()`.
- Add `$statbonuses->GetAmplification()`.
- Add `$statbonuses->GetAntiGate()`.
- Add `$statbonuses->GetArcheryDamageModifier()`.
- Add `$statbonuses->GetAssassinate(slot)`.
- Add `$statbonuses->GetAssassinateLevel(slot)`.
- Add `$statbonuses->GetAssistRange()`.
- Add `$statbonuses->GetAStacker(slot)`.
- Add `$statbonuses->GetATK()`.
- Add `$statbonuses->GetAvoidMeleeChance()`.
- Add `$statbonuses->GetAvoidMeleeChanceEffect()`.
- Add `$statbonuses->GetBaseMovementSpeed()`.
- Add `$statbonuses->GetBerserkSPA()`.
- Add `$statbonuses->GetBindWound()`.
- Add `$statbonuses->GetBlockBehind()`.
- Add `$statbonuses->GetBrassModifier()`.
- Add `$statbonuses->GetBStacker(slot)`.
- Add `$statbonuses->GetBuffSlotIncrease()`.
- Add `$statbonuses->GetCHA()`.
- Add `$statbonuses->GetCHACapModifier()`.
- Add `$statbonuses->GetChannelChanceItems()`.
- Add `$statbonuses->GetChannelChanceSpells()`.
- Add `$statbonuses->GetCharmBreakChance()`.
- Add `$statbonuses->GetClairvoyance()`.
- Add `$statbonuses->GetCombatStability()`.
- Add `$statbonuses->GetConsumeProjectile()`.
- Add `$statbonuses->GetCorrup()`.
- Add `$statbonuses->GetCorrupCapModifier()`.
- Add `$statbonuses->GetCR()`.
- Add `$statbonuses->GetCRCapModifier()`.
- Add `$statbonuses->GetCripplingBlowChance()`.
- Add `$statbonuses->GetCriticalDamageModifier(slot)`.
- Add `$statbonuses->GetCriticalDoTChance()`.
- Add `$statbonuses->GetCriticalDOTDecay()`.
- Add `$statbonuses->GetCriticalHealChance()`.
- Add `$statbonuses->GetCriticalHealDecay()`.
- Add `$statbonuses->GetCriticalHealOverTime()`.
- Add `$statbonuses->GetCriticalHitChance(slot)`.
- Add `$statbonuses->GetCriticalMend()`.
- Add `$statbonuses->GetCriticalRegenDecay()`.
- Add `$statbonuses->GetCriticalSpellChance()`.
- Add `$statbonuses->GetCStacker(slot)`.
- Add `$statbonuses->GetDamageModifier(slot)`.
- Add `$statbonuses->GetDamageModifier2(slot)`.
- Add `$statbonuses->GetDamageShield()`.
- Add `$statbonuses->GetDamageShieldSpellID()`.
- Add `$statbonuses->GetDamageShieldType()`.
- Add `$statbonuses->GetDeathSave(slot)`.
- Add `$statbonuses->GetDelayDeath()`.
- Add `$statbonuses->GetDEX()`.
- Add `$statbonuses->GetDEXCapModifier()`.
- Add `$statbonuses->GetDistanceRemoval()`.
- Add `$statbonuses->GetDivineAura()`.
- Add `$statbonuses->GetDivineSaveChance(slot)`.
- Add `$statbonuses->GetDodgeChance()`.
- Add `$statbonuses->GetDOTCriticalDamageIncrease()`.
- Add `$statbonuses->GetDoTShielding()`.
- Add `$statbonuses->GetDoubleAttackChance()`.
- Add `$statbonuses->GetDoubleRangedAttack()`.
- Add `$statbonuses->GetDoubleRiposte()`.
- Add `$statbonuses->GetDoubleSpecialAttack()`.
- Add `$statbonuses->GetDR()`.
- Add `$statbonuses->GetDRCapModifier()`.
- Add `$statbonuses->GetDSMitigation()`.
- Add `$statbonuses->GetDSMitigationOffHand()`.
- Add `$statbonuses->GetDStacker(slot)`.
- Add `$statbonuses->GetDualWieldChance()`.
- Add `$statbonuses->GetEffectiveCastingLevel()`.
- Add `$statbonuses->GetEndurancePercentCap(slot)`.
- Add `$statbonuses->GetEndurance()`.
- Add `$statbonuses->GetEnduranceReduction()`.
- Add `$statbonuses->GetEnduranceRegen()`.
- Add `$statbonuses->GetExtraXTargets()`.
- Add `$statbonuses->GetExtraAttackChance()`.
- Add `$statbonuses->GetFactionModifierPercent()`.
- Add `$statbonuses->GetFearless()`.
- Add `$statbonuses->GetFeignedCastOnChance()`.
- Add `$statbonuses->GetFinishingBlow(slot)`.
- Add `$statbonuses->GetFinishingBlowLevel(slot)`.
- Add `$statbonuses->GetFlurryChance()`.
- Add `$statbonuses->GetFocusEffects(slot)`.
- Add `$statbonuses->GetFocusEffectsWorn(slot)`.
- Add `$statbonuses->GetForageAdditionalItems()`.
- Add `$statbonuses->GetFR()`.
- Add `$statbonuses->GetFRCapModifier()`.
- Add `$statbonuses->GetFrenziedDevastation()`.
- Add `$statbonuses->GetFrontalBackstabChance()`.
- Add `$statbonuses->GetFrontalBackstabMinimumDamage()`.
- Add `$statbonuses->GetFrontalStunResist()`.
- Add `$statbonuses->GetGiveDoubleAttack()`.
- Add `$statbonuses->GetGiveDoubleRiposte(slot)`.
- Add `$statbonuses->GetGivePetGroupTarget()`.
- Add `$statbonuses->GetGravityEffect()`.
- Add `$statbonuses->GetHaste()`.
- Add `$statbonuses->GetHasteType2()`.
- Add `$statbonuses->GetHasteType3()`.
- Add `$statbonuses->GetHateModifier()`.
- Add `$statbonuses->GetHeadShot(slot)`.
- Add `$statbonuses->GetHeadShotLevel(slot)`.
- Add `$statbonuses->GetHealAmt()`.
- Add `$statbonuses->GetHealRate()`.
- Add `$statbonuses->GetHeroicAGI()`.
- Add `$statbonuses->GetHeroicCHA()`.
- Add `$statbonuses->GetHeroicCorrup()`.
- Add `$statbonuses->GetHeroicCR()`.
- Add `$statbonuses->GetHeroicDEX()`.
- Add `$statbonuses->GetHeroicDR()`.
- Add `$statbonuses->GetHeroicFR()`.
- Add `$statbonuses->GetHeroicINT()`.
- Add `$statbonuses->GetHeroicMR()`.
- Add `$statbonuses->GetHeroicPR()`.
- Add `$statbonuses->GetHeroicSTA()`.
- Add `$statbonuses->GetHeroicSTR()`.
- Add `$statbonuses->GetHeroicWIS()`.
- Add `$statbonuses->GetHitChance()`.
- Add `$statbonuses->GetHitChanceEffect(slot)`.
- Add `$statbonuses->GetHP()`.
- Add `$statbonuses->GetHPPercentCap(slot)`.
- Add `$statbonuses->GetHPRegen()`.
- Add `$statbonuses->GetHPToManaConvert()`.
- Add `$statbonuses->GetHundredHands()`.
- Add `$statbonuses->GetIllusionPersistence()`.
- Add `$statbonuses->GetImmuneToFlee()`.
- Add `$statbonuses->GetImprovedReclaimEnergy()`.
- Add `$statbonuses->GetImprovedTauntslot()`.
- Add `$statbonuses->GetIncreaseBlockChance()`.
- Add `$statbonuses->GetIncreaseChanceMemoryWipe()`.
- Add `$statbonuses->GetIncreaseRunSpeedCap()`.
- Add `$statbonuses->GetInhibitMelee()`.
- Add `$statbonuses->GetINT()`.
- Add `$statbonuses->GetINTCapModifier()`.
- Add `$statbonuses->GetIsBlind()`.
- Add `$statbonuses->GetIsFeared()`.
- Add `$statbonuses->GetItemATKCap()`.
- Add `$statbonuses->GetItemHPRegenCap()`.
- Add `$statbonuses->GetItemManaRegenCap()`.
- Add `$statbonuses->GetLimitToSkill(slot)`.
- Add `$statbonuses->GetMagicWeapon()`.
- Add `$statbonuses->GetMana()`.
- Add `$statbonuses->GetManaAbsorbPercentDamage(slot)`.
- Add `$statbonuses->GetManaPercentCap(slot)`.
- Add `$statbonuses->GetManaRegen()`.
- Add `$statbonuses->GetMasteryOfPast()`.
- Add `$statbonuses->GetMaxBindWound()`.
- Add `$statbonuses->GetMaxHP()`.
- Add `$statbonuses->GetMaxHPChange()`.
- Add `$statbonuses->GetMeleeLifetap()`.
- Add `$statbonuses->GetMeleeMitigation()`.
- Add `$statbonuses->GetMeleeMitigationEffect()`.
- Add `$statbonuses->GetMeleeRune(slot)`.
- Add `$statbonuses->GetMeleeSkillCheck()`.
- Add `$statbonuses->GetMeleeSkillCheckSkill()`.
- Add `$statbonuses->GetMeleeThresholdGuard(slot)`.
- Add `$statbonuses->GetMetabolism()`.
- Add `$statbonuses->GetMinimumDamageModifier(slot)`.
- Add `$statbonuses->GetMitigateDOTRune(slot)`.
- Add `$statbonuses->GetMitigateMeleeRune(slot)`.
- Add `$statbonuses->GetMitigateSpellRune(slot)`.
- Add `$statbonuses->GetMovementSpeed()`.
- Add `$statbonuses->GetMR()`.
- Add `$statbonuses->GetMRCapModifier()`.
- Add `$statbonuses->GetNegateAttacks(slot)`.
- Add `$statbonuses->GetNegateEffects()`.
- Add `$statbonuses->GetNegateIfCombat()`.
- Add `$statbonuses->GetNoBreakAESneak()`.
- Add `$statbonuses->GetOffhandRiposteFail()`.
- Add `$statbonuses->GetPackrat()`.
- Add `$statbonuses->GetParryChance()`.
- Add `$statbonuses->GetPCPetFlurry(slot)`.
- Add `$statbonuses->GetPCPetRampage(slot)`.
- Add `$statbonuses->GetPercussionModifier()`.
- Add `$statbonuses->GetPersistentCasting()`.
- Add `$statbonuses->GetPetAvoidance()`.
- Add `$statbonuses->GetPetCriticalHit()`.
- Add `$statbonuses->GetPetFlurry()`.
- Add `$statbonuses->GetPetMaxHP()`.
- Add `$statbonuses->GetPetMeleeMitigation()`.
- Add `$statbonuses->GetPR()`.
- Add `$statbonuses->GetPRCapModifier()`.
- Add `$statbonuses->GetProcChance()`.
- Add `$statbonuses->GetProcChanceSPA()`.
- Add `$statbonuses->GetRaiseSkillCap(slot)`.
- Add `$statbonuses->GetReduceFallDamage()`.
- Add `$statbonuses->GetReduceTradeskillFail(slot)`.
- Add `$statbonuses->GetReflectChance()`.
- Add `$statbonuses->GetResistFearChance()`.
- Add `$statbonuses->GetResistSpellChance()`.
- Add `$statbonuses->GetReverseDamageShield()`.
- Add `$statbonuses->GetReverseDamageShieldSpellID()`.
- Add `$statbonuses->GetReverseDamageShieldType()`.
- Add `$statbonuses->GetRiposteChance()`.
- Add `$statbonuses->GetRoot(slot)`.
- Add `$statbonuses->GetRootBreakChance()`.
- Add `$statbonuses->GetSalvageChance()`.
- Add `$statbonuses->GetSanctuary()`.
- Add `$statbonuses->GetScreech()`.
- Add `$statbonuses->GetSecondaryDamageIncrease()`.
- Add `$statbonuses->GetSeeInvis()`.
- Add `$statbonuses->GetSEResist(slot)`.
- Add `$statbonuses->GetShieldBlock()`.
- Add `$statbonuses->GetShieldEquipDamageModifier()`.
- Add `$statbonuses->GetShroudOfStealth()`.
- Add `$statbonuses->GetSingingModifier()`.
- Add `$statbonuses->GetSkillAttackProc(slot)`.
- Add `$statbonuses->GetSkillDamageAmount(slot)`.
- Add `$statbonuses->GetSkillDamageAmount2(slot)`.
- Add `$statbonuses->GetSkillDamageTaken(slot)`.
- Add `$statbonuses->GetSkillModifier(slot)`.
- Add `$statbonuses->GetSkillModifierMax(slot)`.
- Add `$statbonuses->GetSkillProc(slot)`.
- Add `$statbonuses->GetSkillProcSuccess(slot)`.
- Add `$statbonuses->GetSkillReuseTime(slot)`.
- Add `$statbonuses->GetSlayUndead(slot)`.
- Add `$statbonuses->GetSongModifierCap()`.
- Add `$statbonuses->GetSongRange()`.
- Add `$statbonuses->GetSpellCriticalDamageIncreaseNOStack()`.
- Add `$statbonuses->GetSpellCriticalDamageIncrease()`.
- Add `$statbonuses->GetSpellDamageShield()`.
- Add `$statbonuses->GetSpellDamage()`.
- Add `$statbonuses->GetSpellOnDeath(slot)`.
- Add `$statbonuses->GetSpellOnKill(slot)`.
- Add `$statbonuses->GetSpellProcChance()`.
- Add `$statbonuses->GetSpellShield()`.
- Add `$statbonuses->GetSpellThresholdGuard(slot)`.
- Add `$statbonuses->GetSpellTriggers(slot)`.
- Add `$statbonuses->GetSTA()`.
- Add `$statbonuses->GetSTACapModifier()`.
- Add `$statbonuses->GetSTR()`.
- Add `$statbonuses->GetSTRCapModifier()`.
- Add `$statbonuses->GetStrikeThrough()`.
- Add `$statbonuses->GetStringedModifier()`.
- Add `$statbonuses->GetStunBashChance()`.
- Add `$statbonuses->GetStunResist()`.
- Add `$statbonuses->GetTradeSkillMastery()`.
- Add `$statbonuses->GetTriggerMeleeThreshold()`.
- Add `$statbonuses->GetTriggerOnValueAmount()`.
- Add `$statbonuses->GetTriggerSpellThreshold()`.
- Add `$statbonuses->GetTripleAttackChance()`.
- Add `$statbonuses->GetTripleBackstab()`.
- Add `$statbonuses->GetTwoHandBluntBlock()`.
- Add `$statbonuses->GetUnfailingDivinity()`.
- Add `$statbonuses->GetVampirism()`.
- Add `$statbonuses->GetVoiceGraft()`.
- Add `$statbonuses->GetWindModifier()`.
- Add `$statbonuses->GetWIS()`.
- Add `$statbonuses->GetWISCapModifier()`.
- Add `$statbonuses->GetXPRateModifier()`.
# Notes
- Adds methods to get mob's stat bonuses to Mob methods.
- Adds support for stat bonuses class to Perl similar to Lua.
* Update perl_stat_bonuses.cpp
* Update perl_stat_bonuses.cpp
2023-07-02 10:26:46 -04:00
Alex King
e12368f002
[Quest API] Add Hate Entry Methods to Perl ( #3459 )
...
# Perl
- Add `$hate_entry->GetFrenzy()`.
- Add `$hate_entry->SetDamage(value)`.
- Add `$hate_entry->SetEnt(mob)`.
- Add `$hate_entry->SetFrenzy(is_frenzy)`.
- Add `$hate_entry->SetHate(value)`.
# Lua
- Convert `hate_entry:GetFrenzy()` to `bool` instead of `int`, as `is_entity_frenzy` is a `bool`.
2023-07-02 10:26:37 -04:00
Alex King
a13fa07e68
[Quest API] Add Spawn2 Class to Perl ( #3456 )
...
# Perl
- Add `$spawn->Depop()`.
- Add `$spawn->Disable()`.
- Add `$spawn->Enable()`.
- Add `$spawn->ForceDespawn()`.
- Add `$spawn->GetCurrentNPCID()`.
- Add `$spawn->GetHeading()`.
- Add `$spawn->GetID()`.
- Add `$spawn->GetKillCount()`.
- Add `$spawn->GetRespawnTimer()`.
- Add `$spawn->GetSpawnCondition()`.
- Add `$spawn->GetSpawnGroupID()`.
- Add `$spawn->GetVariance()`.
- Add `$spawn->GetX()`.
- Add `$spawn->GetY()`.
- Add `$spawn->GetZ()`.
- Add `$spawn->IsEnabled()`.
- Add `$spawn->IsNPCPointerValid()`.
- Add `$spawn->LoadGrid()`.
- Add `$spawn->Repop()`.
- Add `$spawn->Repop(delay)`.
- Add `$spawn->Reset()`.
- Add `$spawn->SetCurrentNPCID(npc_id)`.
- Add `$spawn->SetNPCPointer(npc_pointer)`.
- Add `$spawn->SetRespawnTimer(new_respawn_time)`.
- Add `$spawn->SetTimer(duration)`.
- Add `$spawn->SetVariance(variance)`.
# Notes
- Adds support for Spawn2 class to Perl.
2023-07-02 10:26:32 -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
Jonathan Sider
927d379e75
[Bug Fix] Add check for underscores in botcreate command ( #3458 )
...
* Update bot_command.cpp with botcreate check
Check for underscores in bot names as the server will replace with a space and add to the database. The bot can't be deleted/summoned or changed except by editing the database
* Update bot_command.cpp
* Update bot_command.cpp
---------
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
2023-06-28 20:18:44 -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
b05f1d3218
[Bug Fix] Merchant Open Flag set only for regular Merchants ( #3454 )
...
* [Bug Fix] Merchant Open Flag set only for regular Merchants
* Update npc.cpp
2023-06-27 16:23:48 -04:00
Alex King
a004924112
[Bug Fix] Fix NPC Item Stat Bonuses ( #3444 )
...
* [Bug Fix] Fix NPC Item Stat Bonuses
# Notes
- Due to https://github.com/EQEmu/Server/pull/3136 NPCs/Mercs were not receiving stat bonuses from their items, this fixes that.
* Update npc.h
* Changes.
* Cleanup
* Cleanup
* Update loottables.cpp
* Update npc.cpp
* Update loottables.cpp
2023-06-26 00:22:10 -04: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
ef7a3cae17
[Commands] Cleanup #showbuffs Command ( #3439 )
...
* [Commands] Cleanup #showbuffs Command
# Notes
- Cleaned up messages and logic.
- Removed unnecessary itembonuses/spellbonuses stuff.
- Removed `Mob::ShowBuffList` as it's just a copy of this method.
* Update mob.cpp
* Further cleanup.
* Update mob.cpp
* Update mob.cpp
2023-06-25 22:59:47 -05:00
Alex King
050aba65b6
[Commands] Cleanup #viewcurrencies Command ( #3441 )
...
# Notes
- Utilize Dialogue Window table for cleanliness and readability.
2023-06-24 20:26:41 -04:00
Alex King
9154c90418
[Commands] Add #findlanguage Command ( #3434 )
...
# Notes
- Add `#findlanguage` command.
2023-06-24 20:26:29 -04: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
327dacdbe1
[Cleanup] Remove GetACAvoid() from zone/merc.h ( #3447 )
...
- This is unused.
2023-06-24 20:00:56 -04:00
Alex King
f2ff4245c0
[Commands] Consolidate #merchant_close_shop and #merchant_open_shop to #merchantshop ( #3433 )
...
* [Commands] Consolidate #merchant_close_shop and #merchant_open_shop to #merchantshop
# Notes
- `#merchant_close_shop` and `#merchant_open_shop` are now consolidated into `#merchantshop`.
- Command now works on any type of merchant instead of just regular merchants.
- Can be used on Merchants, Discord Merchants, Adventure Merchants, Norrath's Keepers Merchants, Dark Reign Merchants, and Alternate Currency Merchants.
* Update merchantshop.cpp
* Update merchantshop.cpp
* Update merchantshop.cpp
2023-06-24 13:14:19 -05:00
Alex King
3ceb743195
[Commands] Add #showspells Command ( #3429 )
...
* [Commands] Add #showspells Command
# Notes
- Add `#showspells` command to show your or your target's memorized spells or learned disciplines.
* Update client.cpp
2023-06-24 13:13:02 -05:00
Alex King
021f04c17d
[Cleanup] Remove command_unlock from zone/command.h ( #3431 )
...
# Notes
- This is unused.
2023-06-24 13:10:19 -05:00
Alex King
f7e2dbdce6
[Cleanup] Remove command_packetprofile from zone/command.h ( #3432 )
...
* [Cleanup] Remove command_packetprofile from zone/command.h
# Notes
- This is unused.
* Update command.h
2023-06-24 13:10:05 -05:00
Alex King
2a679f1002
[Cleanup] Remove command_showpetspell in zone/command.h ( #3430 )
...
# Notes
- This is unused.
2023-06-24 13:09:51 -05:00
Alex King
8c9849ec73
[Commands] Delete #showbonusstats Command ( #3437 )
...
# Notes
- Never seen this used, also missing 99% of the bonuses data.
2023-06-24 13:09:39 -05:00
Alex King
10086ce97c
[Commands] Delete #spellinfo Command ( #3438 )
...
# Notes
- Never seen this used, also missing 99% of the spell data.
2023-06-24 13:09:23 -05:00
Alex King
223ae22f73
[Cleanup] Delete common/worldconn.cpp ( #3436 )
...
# Notes
- This is unused.
2023-06-24 13:05:45 -05:00
Alex King
4330494f57
[Commands] Cleanup #shownpcgloballoot and #showzonegloballoot Commands ( #3440 )
...
# Notes
- Cleanup messages and logic.
- Utilize Dialogue Window tables.
2023-06-24 13:03:37 -05:00
Alex King
64ae7e4529
[Cleanup] Remove _ClearWaypints() from zone/npc.h ( #3445 )
...
# Notes
- This is unused.
2023-06-24 12:58:28 -05:00
Alex King
58c3e267e1
[Cleanup] Remove GetACMit() from zone/merc.h ( #3446 )
...
# Notes
- This is unused.
2023-06-24 12:58:13 -05:00
Alex King
598483a1a4
[Cleanup] Remove acmod() from zone/merc.h ( #3448 )
...
# Notes
- This is unused.
2023-06-24 12:57:43 -05:00
Alex King
c1122022b9
[Cleanup] Remove DatabaseCastAccepted() from zone/npc.cpp and zone/npc.h ( #3449 )
...
* [Cleanup] Remove DatabaseCastAccepted() from zone/npc.cpp and zone/npc.h
# Notes
- This is unused.
* Update npc.h
2023-06-24 12:57:21 -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
Alex King
9312261444
[Bug Fix] Fix improper condition in Water LOS checks ( #3426 )
...
# Notes
- Oversight on my part, should've been `==`, not `&&`.
2023-06-19 18:53:19 -04: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
JJ
66e377fd4a
[Readme] Update new location of database updates ( #3424 )
2023-06-19 12:12:59 -04:00
Akkadius
67c4c26f70
[Release] 22.15.1
2023-06-19 02:21:09 -05:00
Akkadius
b1c8e3890a
[Release] 22.15.0
2023-06-19 01:41:55 -05:00
Alex King
d6e06a19a7
[Commands] Add missing subcommands to #npcedit ( #3423 )
...
# Notes
- Add `#npcedit model [Race ID]` to edit an NPC's race model.
- Add `#npcedit heroic_strikethrough [Heroic Strikethrough]` to edit an NPC's heroic strikethrough.
- Add `#npcedit faction_amount [Faction Amount]` to edit an NPC's faction amount.
2023-06-19 01:40:27 -05:00
Akkadius
4092b3a2cb
[Release] 22.15.0
2023-06-19 01:38:12 -05:00
Alex King
f4f0619618
[Bug Fix] Fix possible crash with #npcedit weapon ( #3421 )
...
# Notes
- Using `#npcedit weapon` without the secondary model had a chance to crash the zone you were in, i.e `#npcedit weapon 1`.
# Crash Logs
```txt
[06-18-2023 16:26:55] [Zone] [Crash] [New LWP 802548]
[06-18-2023 16:26:55] [Zone] [Crash] [New LWP 802549]
[06-18-2023 16:26:55] [Zone] [Crash] [New LWP 802550]
[06-18-2023 16:26:55] [Zone] [Crash] [New LWP 802551]
[06-18-2023 16:26:55] [Zone] [Crash] [Thread debugging using libthread_db enabled]
[06-18-2023 16:26:55] [Zone] [Crash] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[06-18-2023 16:26:55] [Zone] [Crash] 0x00007f22b2b14207 in __GI___wait4 (pid=819104, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
[06-18-2023 16:26:55] [Zone] [Crash] [Current thread is 1 (Thread 0x7f22b29eab00 (LWP 802540))]
[06-18-2023 16:26:55] [Zone] [Crash] #0 0x00007f22b2b14207 in __GI___wait4 (pid=819104, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
[06-18-2023 16:26:55] [Zone] [Crash] #1 0x000055e4451b6b6e in print_trace () at /home/eqemu/code/common/crash.cpp:281
[06-18-2023 16:26:55] [Zone] [Crash] #2 <signal handler called>
[06-18-2023 16:26:55] [Zone] [Crash] #3 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
[06-18-2023 16:26:55] [Zone] [Crash] #4 0x00007f22b2a6e537 in __GI_abort () at abort.c:79
[06-18-2023 16:26:55] [Zone] [Crash] #5 0x00007f22b2e067ec in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:26:55] [Zone] [Crash] #6 0x00007f22b2e11966 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:26:55] [Zone] [Crash] #7 0x00007f22b2e119d1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:26:55] [Zone] [Crash] #8 0x00007f22b2e11c65 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:26:55] [Zone] [Crash] #9 0x00007f22b2e08faa in std::__throw_logic_error(char const*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:26:55] [Zone] [Crash] #10 0x000055e444216b48 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (this=0x7fff9bd06620, __beg=0x0, __end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>) at /usr/include/c++/10/bits/basic_string.tcc:212
[06-18-2023 16:26:55] [Zone] [Crash] #11 0x000055e44420dd09 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*> (this=0x7fff9bd06620, __beg=0x0, __end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>) at /usr/include/c++/10/bits/basic_string.h:247
[06-18-2023 16:26:55] [Zone] [Crash] #12 0x000055e444203977 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (this=0x7fff9bd06620, __beg=0x0, __end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>) at /usr/include/c++/10/bits/basic_string.h:266
[06-18-2023 16:26:55] [Zone] [Crash] #13 0x000055e4441f93ef in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> > (this=0x7fff9bd06620, __s=0x0, __a=...) at /usr/include/c++/10/bits/basic_string.h:527
[06-18-2023 16:26:55] [Zone] [Crash] #14 0x000055e4445469df in command_npcedit (c=0x55e448292480, sep=0x7fff9bd09a20) at /home/eqemu/code/zone/gm_commands/npcedit.cpp:540
[06-18-2023 16:26:55] [Zone] [Crash] #15 0x000055e4444e2039 in command_realdispatch (c=0x55e448292480, message="#npcedit weapon 1", ignore_status=false) at /home/eqemu/code/zone/command.cpp:602
[06-18-2023 16:26:55] [Zone] [Crash] #16 0x000055e4443b03d3 in Client::ChannelMessageReceived (this=0x55e448292480, chan_num=8 '\b', language=0 '\000', lang_skill=100 'd', orig_message=0x55e44a69e314 "#npcedit weapon 1", targetname=0x55e44a69e280 "a_willowisp000", is_silent=false) at /home/eqemu/code/zone/client.cpp:1122
[06-18-2023 16:26:55] [Zone] [Crash] #17 0x000055e444454597 in Client::Handle_OP_ChannelMessage (this=0x55e448292480, app=0x55e449156a70) at /home/eqemu/code/zone/client_packet.cpp:4478
[06-18-2023 16:26:55] [Zone] [Crash] #18 0x000055e44443c5d2 in Client::HandlePacket (this=0x55e448292480, app=0x55e449156a70) at /home/eqemu/code/zone/client_packet.cpp:495
[06-18-2023 16:26:55] [Zone] [Crash] #19 0x000055e4444b7add in Client::Process (this=0x55e448292480) at /home/eqemu/code/zone/client_process.cpp:587
[06-18-2023 16:26:55] [Zone] [Crash] #20 0x000055e44472df12 in EntityList::MobProcess (this=0x55e445df07c0 <entity_list>) at /home/eqemu/code/zone/entity.cpp:510
[06-18-2023 16:26:55] [Zone] [Crash] #21 0x000055e444c149b0 in operator() (__closure=0x55e448dc9170, t=0x7fff9bd0c4a0) at /home/eqemu/code/zone/main.cpp:562
[06-18-2023 16:26:55] [Zone] [Crash] #22 0x000055e444c19fd2 in std::__invoke_impl<void, main(int, char**)::<lambda(EQ::Timer*)>&, EQ::Timer*>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/10/bits/invoke.h:60
[06-18-2023 16:26:55] [Zone] [Crash] #23 0x000055e444c19da1 in std::__invoke_r<void, main(int, char**)::<lambda(EQ::Timer*)>&, EQ::Timer*>(struct {...} &) (__fn=...) at /usr/include/c++/10/bits/invoke.h:110
[06-18-2023 16:26:55] [Zone] [Crash] #24 0x000055e444c19ac8 in std::_Function_handler<void(EQ::Timer*), main(int, char**)::<lambda(EQ::Timer*)> >::_M_invoke(const std::_Any_data &, EQ::Timer *&&) (__functor=..., __args#0=@0x7fff9bd0bea0: 0x7fff9bd0c4a0) at /usr/include/c++/10/bits/std_function.h:291
[06-18-2023 16:26:55] [Zone] [Crash] #25 0x000055e444c1f4c5 in std::function<void (EQ::Timer*)>::operator()(EQ::Timer*) const (this=0x7fff9bd0c4a8, __args#0=0x7fff9bd0c4a0) at /usr/include/c++/10/bits/std_function.h:622
[06-18-2023 16:26:55] [Zone] [Crash] #26 0x000055e444c1d265 in EQ::Timer::Execute (this=0x7fff9bd0c4a0) at /home/eqemu/code/zone/../common/net/../event/timer.h:61
[06-18-2023 16:26:55] [Zone] [Crash] #27 0x000055e444c1d023 in EQ::Timer::Start(unsigned long, bool)::{lambda(uv_timer_s*)#1}::operator()(uv_timer_s*) const (__closure=0x0, handle=0x55e44832b570) at /home/eqemu/code/zone/../common/net/../event/timer.h:38
[06-18-2023 16:26:55] [Zone] [Crash] #28 0x000055e444c1d043 in EQ::Timer::Start(unsigned long, bool)::{lambda(uv_timer_s*)#1}::_FUN(uv_timer_s*) () at /home/eqemu/code/zone/../common/net/../event/timer.h:39
[06-18-2023 16:26:55] [Zone] [Crash] #29 0x000055e4454afb5d in uv__run_timers (loop=loop@entry=0x7f22b29ea7a8) at /home/eqemu/code/submodules/libuv/src/timer.c:178
[06-18-2023 16:26:55] [Zone] [Crash] #30 0x000055e4454b3182 in uv_run (loop=0x7f22b29ea7a8, mode=UV_RUN_DEFAULT) at /home/eqemu/code/submodules/libuv/src/unix/core.c:393
[06-18-2023 16:26:55] [Zone] [Crash] #31 0x000055e444c1ceeb in EQ::EventLoop::Run (this=0x7f22b29ea7a8) at /home/eqemu/code/zone/../common/net/../event/event_loop.h:25
[06-18-2023 16:26:55] [Zone] [Crash] #32 0x000055e444c18b6e in main (argc=1, argv=0x7fff9bd0d568) at /home/eqemu/code/zone/main.cpp:591
[06-18-2023 16:26:55] [Zone] [Crash] [Inferior 1 (process 802540) detached]
```
```txt
[06-18-2023 16:29:51] [Zone] [Crash] [New LWP 819434]
[06-18-2023 16:29:51] [Zone] [Crash] [New LWP 819436]
[06-18-2023 16:29:51] [Zone] [Crash] [New LWP 819438]
[06-18-2023 16:29:51] [Zone] [Crash] [New LWP 819440]
[06-18-2023 16:29:51] [Zone] [Crash] [Thread debugging using libthread_db enabled]
[06-18-2023 16:29:51] [Zone] [Crash] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[06-18-2023 16:29:51] [Zone] [Crash] 0x00007f489d185207 in __GI___wait4 (pid=819646, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
[06-18-2023 16:29:51] [Zone] [Crash] [Current thread is 1 (Thread 0x7f489d05bb00 (LWP 819417))]
[06-18-2023 16:29:51] [Zone] [Crash] #0 0x00007f489d185207 in __GI___wait4 (pid=819646, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
[06-18-2023 16:29:51] [Zone] [Crash] #1 0x000055d58e442b6e in print_trace () at /home/eqemu/code/common/crash.cpp:281
[06-18-2023 16:29:51] [Zone] [Crash] #2 <signal handler called>
[06-18-2023 16:29:51] [Zone] [Crash] #3 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
[06-18-2023 16:29:51] [Zone] [Crash] #4 0x00007f489d0df537 in __GI_abort () at abort.c:79
[06-18-2023 16:29:51] [Zone] [Crash] #5 0x00007f489d4777ec in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:29:51] [Zone] [Crash] #6 0x00007f489d482966 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:29:51] [Zone] [Crash] #7 0x00007f489d4829d1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:29:51] [Zone] [Crash] #8 0x00007f489d482c65 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:29:51] [Zone] [Crash] #9 0x00007f489d479faa in std::__throw_logic_error(char const*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
[06-18-2023 16:29:51] [Zone] [Crash] #10 0x000055d58d4a2b48 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (this=0x7ffdbbca2500, __beg=0x0, __end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>) at /usr/include/c++/10/bits/basic_string.tcc:212
[06-18-2023 16:29:51] [Zone] [Crash] #11 0x000055d58d499d09 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*> (this=0x7ffdbbca2500, __beg=0x0, __end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>) at /usr/include/c++/10/bits/basic_string.h:247
[06-18-2023 16:29:51] [Zone] [Crash] #12 0x000055d58d48f977 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*> (this=0x7ffdbbca2500, __beg=0x0, __end=0xffffffffffffffff <error: Cannot access memory at address 0xffffffffffffffff>) at /usr/include/c++/10/bits/basic_string.h:266
[06-18-2023 16:29:51] [Zone] [Crash] #13 0x000055d58d4853ef in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string<std::allocator<char> > (this=0x7ffdbbca2500, __s=0x0, __a=...) at /usr/include/c++/10/bits/basic_string.h:527
[06-18-2023 16:29:51] [Zone] [Crash] #14 0x000055d58d7d29df in command_npcedit (c=0x55d59219f080, sep=0x7ffdbbca5900) at /home/eqemu/code/zone/gm_commands/npcedit.cpp:540
[06-18-2023 16:29:51] [Zone] [Crash] #15 0x000055d58d76e039 in command_realdispatch (c=0x55d59219f080, message="#npcedit weapon 1", ignore_status=false) at /home/eqemu/code/zone/command.cpp:602
[06-18-2023 16:29:51] [Zone] [Crash] #16 0x000055d58d63c3d3 in Client::ChannelMessageReceived (this=0x55d59219f080, chan_num=8 '\b', language=0 '\000', lang_skill=100 'd', orig_message=0x55d591b59b44 "#npcedit weapon 1", targetname=0x55d591b59ab0 "a_whiskered_bat002", is_silent=false) at /home/eqemu/code/zone/client.cpp:1122
[06-18-2023 16:29:51] [Zone] [Crash] #17 0x000055d58d6e0597 in Client::Handle_OP_ChannelMessage (this=0x55d59219f080, app=0x55d592711c60) at /home/eqemu/code/zone/client_packet.cpp:4478
[06-18-2023 16:29:51] [Zone] [Crash] #18 0x000055d58d6c85d2 in Client::HandlePacket (this=0x55d59219f080, app=0x55d592711c60) at /home/eqemu/code/zone/client_packet.cpp:495
[06-18-2023 16:29:51] [Zone] [Crash] #19 0x000055d58d743add in Client::Process (this=0x55d59219f080) at /home/eqemu/code/zone/client_process.cpp:587
[06-18-2023 16:29:51] [Zone] [Crash] #20 0x000055d58d9b9f12 in EntityList::MobProcess (this=0x55d58f07c7c0 <entity_list>) at /home/eqemu/code/zone/entity.cpp:510
[06-18-2023 16:29:51] [Zone] [Crash] #21 0x000055d58dea09b0 in operator() (__closure=0x55d591a07f10, t=0x7ffdbbca8380) at /home/eqemu/code/zone/main.cpp:562
[06-18-2023 16:29:51] [Zone] [Crash] #22 0x000055d58dea5fd2 in std::__invoke_impl<void, main(int, char**)::<lambda(EQ::Timer*)>&, EQ::Timer*>(std::__invoke_other, struct {...} &) (__f=...) at /usr/include/c++/10/bits/invoke.h:60
[06-18-2023 16:29:51] [Zone] [Crash] #23 0x000055d58dea5da1 in std::__invoke_r<void, main(int, char**)::<lambda(EQ::Timer*)>&, EQ::Timer*>(struct {...} &) (__fn=...) at /usr/include/c++/10/bits/invoke.h:110
[06-18-2023 16:29:51] [Zone] [Crash] #24 0x000055d58dea5ac8 in std::_Function_handler<void(EQ::Timer*), main(int, char**)::<lambda(EQ::Timer*)> >::_M_invoke(const std::_Any_data &, EQ::Timer *&&) (__functor=..., __args#0=@0x7ffdbbca7d80: 0x7ffdbbca8380) at /usr/include/c++/10/bits/std_function.h:291
[06-18-2023 16:29:51] [Zone] [Crash] #25 0x000055d58deab4c5 in std::function<void (EQ::Timer*)>::operator()(EQ::Timer*) const (this=0x7ffdbbca8388, __args#0=0x7ffdbbca8380) at /usr/include/c++/10/bits/std_function.h:622
[06-18-2023 16:29:51] [Zone] [Crash] #26 0x000055d58dea9265 in EQ::Timer::Execute (this=0x7ffdbbca8380) at /home/eqemu/code/zone/../common/net/../event/timer.h:61
[06-18-2023 16:29:51] [Zone] [Crash] #27 0x000055d58dea9023 in EQ::Timer::Start(unsigned long, bool)::{lambda(uv_timer_s*)#1}::operator()(uv_timer_s*) const (__closure=0x0, handle=0x55d590f6a610) at /home/eqemu/code/zone/../common/net/../event/timer.h:38
[06-18-2023 16:29:51] [Zone] [Crash] #28 0x000055d58dea9043 in EQ::Timer::Start(unsigned long, bool)::{lambda(uv_timer_s*)#1}::_FUN(uv_timer_s*) () at /home/eqemu/code/zone/../common/net/../event/timer.h:39
[06-18-2023 16:29:51] [Zone] [Crash] #29 0x000055d58e73bb5d in uv__run_timers (loop=loop@entry=0x7f489d05b7a8) at /home/eqemu/code/submodules/libuv/src/timer.c:178
[06-18-2023 16:29:51] [Zone] [Crash] #30 0x000055d58e73f182 in uv_run (loop=0x7f489d05b7a8, mode=UV_RUN_DEFAULT) at /home/eqemu/code/submodules/libuv/src/unix/core.c:393
[06-18-2023 16:29:51] [Zone] [Crash] #31 0x000055d58dea8eeb in EQ::EventLoop::Run (this=0x7f489d05b7a8) at /home/eqemu/code/zone/../common/net/../event/event_loop.h:25
[06-18-2023 16:29:51] [Zone] [Crash] #32 0x000055d58dea4b6e in main (argc=1, argv=0x7ffdbbca9448) at /home/eqemu/code/zone/main.cpp:591
[06-18-2023 16:29:51] [Zone] [Crash] [Inferior 1 (process 819417) detached]
```
2023-06-19 01:32:36 -05:00
Alex King
71ca7f9b39
[Cleanup] Default skill type to Hand to Hand in #npcedit meleetype ( #3422 )
...
# Notes
- We default to `28` in the database, so we need to default to this in `#npcedit meleetype` in case the operator only sets the first melee type this avoids the NPC hitting with `1H Blunt (Skill ID 0)`.
2023-06-19 01:32:13 -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
Chris Miles
2a176835b1
[CI] Build static linux binaries ( #3419 )
...
* [CI] Build static linux binaries
* Fix tests
* Update linux-build.sh
2023-06-18 15:19:25 -05:00
Chris Miles
fff3e77a6e
[Binaries] Add support for static linking (portable) binaries ( #3417 )
...
* [Binaries] Add support for static linking (portable) binaries
* Update CMakeLists.txt
2023-06-18 14:41:39 -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
Chris Miles
d99c3145ad
[Strings] Add more test cases for string utils ( #3411 )
2023-06-17 18:16:14 -05:00
Alex King
57243c6799
[Telnet] Add cross zone/world wide cast and move functionality to Telnet ( #3409 )
...
* [Telnet] Add cross zone/world wide cast and move functionality to Telnet
# Notes
- Add `czcast`, `czmove`, `wwcast`, and `wwmove` to Telnet functionality.
- Allows operators to cast spells across zone/world-wide and move players across zone/world-wide from telnet.
* Update console.cpp
* Update console.cpp
* Validation
* Update console.cpp
2023-06-17 17:50:37 -05:00
Paul Coene
1100668f21
[Targeting] Fix bug when using /tar on invalid target ( #3407 )
...
* [Targetting] Fix bug when using /tar on invalid target
* Removed instrumentation.
2023-06-17 16:53:59 -05:00
nytmyr
0cf454dc29
[Feature] Add Water Line of Sight Checks ( #3408 )
...
* [Feature] Add Water Line of Sight Checks
This adds rules to enable or disable checks for spells and autofire to prevent casting or autofire from landing if the player or bot do not match their targets plane in regards to water.
Currently players and bots can cast or autofire if they are not in the water but their target is and vice versa, this should not be possible.
RuleB(Combat, WaterMatchRequiredForAutoFireLoS) set to True (default) checks that both parties are in or out of the water for AutoFire to work.
RuleB(Spells, WaterMatchRequiredForLoS) set to True (default) checks that both parties are in or out of the water for spells to land.
* Cleanup.
* Cleanup.
* Cleanup.
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2023-06-17 12:32:15 -05:00
Paul Coene
75391d96f4
[Release] 22.13.1 ( #3406 )
...
* Update version.h for /target Emergency release 22.13.1
* Update CHANGELOG.md for 22.13.1 release
* Update package.json for 22.13.1 emergency patch release
* Update CHANGELOG.md using tool as instructed
2023-06-13 17:50:33 -04:00
Paul Coene
81b07a5aa0
[Targeting] Revert #3383 ( #3405 )
2023-06-13 15:48:35 -05:00
Alex King
774aa99b29
[Release] 22.13.0 ( #3404 )
...
* [Release] 22.13.0
* Update CHANGELOG.md
2023-06-12 20:56:43 -04:00
Alex King
756e835144
[Quest API/Cleanup] Add several spell methods to Perl/Lua ( #3379 )
...
* [Quest API/Cleanup] Add several spell methods to Perl/Lua
- Add `quest::CalculateCorruptionCounters(spell_id)`.
- Add `quest::CalculateCounters(spell_id)`.
- Add `quest::CalculateCurseCounters(spell_id)`.
- Add `quest::CalculateDiseaseCounters(spell_id)`.
- Add `quest::CalculatePoisonCounters(spell_id)`.
- Add `quest::GetSpellEffectDescriptionNumber(spell_id)`.
- Add `quest::GetSpellEffectIndex(spell_id, effect_id)`.
- Add `quest::GetSpellFuriousBash(spell_id)`.
- Add `quest::GetSpellMinimumLevel(spell_id)`.
- Add `quest::GetSpellNimbusEffect(spell_id)`.
- Add `quest::GetSpellPartialMagicRuneAmount(spell_id)`.
- Add `quest::GetSpellPartialMagicRuneReduction(spell_id)`.
- Add `quest::GetSpellPartialMeleeRuneAmount(spell_id)`.
- Add `quest::GetSpellPartialMeleeRuneReduction(spell_id)`.
- Add `quest::GetSpellProcLimitTimer(spell_id)`.
- Add `quest::GetSpellResistType(spell_id)`.
- Add `quest::GetSpellResurrectionSicknessCheck(spell_id_one, spell_id_two)`.
- Add `quest::GetSpellTargetType(spell_id)`.
- Add `quest::GetSpellTriggerSpellID(spell_id)`.
- Add `quest::GetSpellViralMaximumSpreadTime(spell_id)`.
- Add `quest::GetSpellViralMinimumSpreadTime(spell_id)`.
- Add `quest::GetSpellViralSpreadRange(spell_id)`.
- Add `quest::IsAEDurationSpell(spell_id)`.
- Add `quest::IsAENukeSpell(spell_id)`.
- Add `quest::IsAERainNukeSpell(spell_id)`.
- Add `quest::IsAllianceSpell(spell_id)`.
- Add `quest::IsBardOnlyStackEffect(effect_id)`.
- Add `quest::IsBardSong(spell_id)`.
- Add `quest::IsBlankSpellEffect(spell_id, effect_index)`.
- Add `quest::IsBlindSpell(spell_id)`.
- Add `quest::IsBuffSpell(spell_id)`.
- Add `quest::IsCastNotStandingSpell(spell_id)`.
- Add `quest::IsCastOnFadeDurationSpell(spell_id)`.
- Add `quest::IsCastRestrictedSpell(spell_id)`.
- Add `quest::IsCastTimeReductionSpell(spell_id)`.
- Add `quest::IsCastWhileInvisibleSpell(spell_id)`.
- Add `quest::IsCharmSpell(spell_id)`.
- Add `quest::IsCombatSkill(spell_id)`.
- Add `quest::IsCompleteHealDurationSpell(spell_id)`.
- Add `quest::IsCompleteHealSpell(spell_id)`.
- Add `quest::IsCureSpell(spell_id)`.
- Add `quest::IsDamageSpell(spell_id)`.
- Add `quest::IsDeathSaveSpell(spell_id)`.
- Add `quest::IsDebuffSpell(spell_id)`.
- Add `quest::IsDetrimentalSpell(spell_id)`.
- Add `quest::IsDiscipline(spell_id)`.
- Add `quest::IsDisciplineBuff(spell_id)`.
- Add `quest::IsDiseaseCounterSpell(spell_id)`.
- Add `quest::IsDistanceModifierSpell(spell_id)`.
- Add `quest::IsEffectIgnoredInStacking(effect_id)`.
- Add `quest::IsFastHealSpell(spell_id)`.
- Add `quest::IsFearSpell(spell_id)`.
- Add `quest::IsFocusLimit(effect_id)`.
- Add `quest::IsFullDeathSaveSpell(spell_id)`.
- Add `quest::IsGateSpell(spell_id)`.
- Add `quest::IsImprovedDamageSpell(spell_id)`.
- Add `quest::IsImprovedHealingSpell(spell_id)`.
- Add `quest::IsIncreaseDurationSpell(spell_id)`.
- Add `quest::IsIncreaseRangeSpell(spell_id)`.
- Add `quest::IsInstrumentModifierAppliedToSpellEffect(spell_id, effect_id)`.
- Add `quest::IsInvisibleSpell(spell_id)`.
- Add `quest::IsInvulnerabilitySpell(spell_id)`.
- Add `quest::IsLDoNObjectSpell(spell_id)`.
- Add `quest::IsLifetapSpell(spell_id)`.
- Add `quest::IsMagicRuneSpell(spell_id)`.
- Add `quest::IsManaCostReductionSpell(spell_id)`.
- Add `quest::IsManaTapSpell(spell_id)`.
- Add `quest::IsMesmerizeSpell(spell_id)`.
- Add `quest::IsNoDetrimentalSpellAggroSpell(spell_id)`.
- Add `quest::IsPBAENukeSpell(spell_id)`.
- Add `quest::IsPartialDeathSaveSpell(spell_id)`.
- Add `quest::IsPartialResistableSpell(spell_id)`.
- Add `quest::IsPercentalHealSpell(spell_id)`.
- Add `quest::IsPersistDeathSpell(spell_id)`.
- Add `quest::IsPetSpell(spell_id)`.
- Add `quest::IsPoisonCounterSpell(spell_id)`.
- Add `quest::IsPulsingBardSong(spell_id)`.
- Add `quest::IsPureNukeSpell(spell_id)`.
- Add `quest::IsRegularGroupHealSpell(spell_id)`.
- Add `quest::IsRegularSingleTargetHealSpell(spell_id)`.
- Add `quest::IsResistDebuffSpell(spell_id)`.
- Add `quest::IsResistableSpell(spell_id)`.
- Add `quest::IsRestAllowedSpell(spell_id)`.
- Add `quest::IsResurrectionEffects(spell_id)`.
- Add `quest::IsRuneSpell(spell_id)`.
- Add `quest::IsRunning(spell_id)`.
- Add `quest::IsSacrificeSpell(spell_id)`.
- Add `quest::IsSelfConversionSpell(spell_id)`.
- Add `quest::IsShadowStepSpell(spell_id)`.
- Add `quest::IsShortDurationBuff(spell_id)`.
- Add `quest::IsSpellUsableInThisZoneType(spell_id)`.
- Add `quest::IsSpellUsableInThisZoneType(spell_id, zone_type)`.
- Add `quest::IsStackableDOT(spell_id)`.
- Add `quest::IsStunSpell(spell_id)`.
- Add `quest::IsSuccorSpell(spell_id)`.
- Add `quest::IsSummonItemSpell(spell_id)`.
- Add `quest::IsSummonPCSpell(spell_id)`.
- Add `quest::IsSummonPetSpell(spell_id)`.
- Add `quest::IsSummonSkeletonSpell(spell_id)`.
- Add `quest::IsSummonSpell(spell_id)`.
- Add `quest::IsSuspendableSpell(spell_id)`.
- Add `quest::IsTargetRequiredForSpell(spell_id)`.
- Add `quest::IsTargetableAESpell(spell_id)`.
- Add `quest::IsTeleportSpell(spell_id)`.
- Add `quest::IsTranslocateSpell(spell_id)`.
- Add `quest::IsValidSpell(spell_id)`.
- Add `quest::IsVeryFastHealSpell(spell_id)`.
- Add `quest::IsVirusSpell(spell_id)`.
- Add `eq.calculate_corruption_counters(spell_id)`.
- Add `eq.calculate_counters(spell_id)`.
- Add `eq.calculate_curse_counters(spell_id)`.
- Add `eq.calculate_disease_counters(spell_id)`.
- Add `eq.calculate_poison_counters(spell_id)`.
- Add `eq.get_spell_effect_description_number(spell_id)`.
- Add `eq.get_spell_effect_index(spell_id, effect_id)`.
- Add `eq.get_spell_furious_bash(spell_id)`.
- Add `eq.get_spell_level(spell_id, class_id)`.
- Add `eq.get_spell_minimum_level(spell_id)`.
- Add `eq.get_spell_nimbus_effect(spell_id)`.
- Add `eq.get_spell_partial_magic_rune_amount(spell_id)`.
- Add `eq.get_spell_partial_magic_rune_reduction(spell_id)`.
- Add `eq.get_spell_partial_melee_rune_amount(spell_id)`.
- Add `eq.get_spell_partial_melee_rune_reduction(spell_id)`.
- Add `eq.get_spell_proc_limit_timer(spell_id)`.
- Add `eq.get_spell_resist_type(spell_id)`.
- Add `eq.get_spell_resurrection_sickness_check(spell_id_one, spell_id_two)`.
- Add `eq.get_spell_target_type(spell_id)`.
- Add `eq.get_spell_trigger_spell_id(spell_id)`.
- Add `eq.get_spell_viral_maximum_spread_time(spell_id)`.
- Add `eq.get_spell_viral_minimum_spread_time(spell_id)`.
- Add `eq.get_spell_viral_spread_range(spell_id)`.
- Add `eq.is_ae_duration_spell(spell_id)`.
- Add `eq.is_ae_nuke_spell(spell_id)`.
- Add `eq.is_ae_rain_nuke_spell(spell_id)`.
- Add `eq.is_alliance_spell(spell_id)`.
- Add `eq.is_bard_only_stack_effect(spell_id)`.
- Add `eq.is_bard_song(spell_id)`.
- Add `eq.is_beneficial_spell(spell_id)`.
- Add `eq.is_blank_spell_effect(spell_id)`.
- Add `eq.is_blind_spell(spell_id)`.
- Add `eq.is_buff_spell(spell_id)`.
- Add `eq.is_cast_not_standing_spell(spell_id)`.
- Add `eq.is_cast_on_fade_duration_spell(spell_id)`.
- Add `eq.is_cast_restricted_spell(spell_id)`.
- Add `eq.is_cast_time_reduction_spell(spell_id)`.
- Add `eq.is_cast_while_invisible_spell(spell_id)`.
- Add `eq.is_charm_spell(spell_id)`.
- Add `eq.is_combat_skill(spell_id)`.
- Add `eq.is_complete_heal_duration_spell(spell_id)`.
- Add `eq.is_complete_heal_spell(spell_id)`.
- Add `eq.is_cure_spell(spell_id)`.
- Add `eq.is_damage_spell(spell_id)`.
- Add `eq.is_death_save_spell(spell_id)`.
- Add `eq.is_debuff_spell(spell_id)`.
- Add `eq.is_detrimental_spell(spell_id)`.
- Add `eq.is_discipline(spell_id)`.
- Add `eq.is_discipline_buff(spell_id)`.
- Add `eq.is_disease_counter_spell(spell_id)`.
- Add `eq.is_distance_modifier_spell(spell_id)`.
- Add `eq.is_effect_ignored_in_stacking(effect_id)`.
- Add `eq.is_effect_in_spell(spell_id, effect_id)`.
- Add `eq.is_fast_heal_spell(spell_id)`.
- Add `eq.is_fear_spell(spell_id)`.
- Add `eq.is_focus_limit(effect_id)`.
- Add `eq.is_full_death_save_spell(spell_id)`.
- Add `eq.is_gate_spell(spell_id)`.
- Add `eq.is_group_complete_heal_spell(spell_id)`.
- Add `eq.is_group_heal_over_time_spell(spell_id)`.
- Add `eq.is_group_only_spell(spell_id)`.
- Add `eq.is_group_spell(spell_id)`.
- Add `eq.is_harmony_spell(spell_id)`.
- Add `eq.is_haste_spell(spell_id)`.
- Add `eq.is_heal_over_time_spell(spell_id)`.
- Add `eq.is_health_spell(spell_id)`.
- Add `eq.is_illusion_spell(spell_id)`.
- Add `eq.is_improved_damage_spell(spell_id)`.
- Add `eq.is_improved_healing_spell(spell_id)`.
- Add `eq.is_increase_duration_spell(spell_id)`.
- Add `eq.is_increase_range_spell(spell_id)`.
- Add `eq.is_instrument_modifier_applied_to_spell_effect(spell_id, effect_id)`.
- Add `eq.is_invisible_spell(spell_id)`.
- Add `eq.is_invulnerability_spell(spell_id)`.
- Add `eq.is_ldon_object_spell(spell_id)`.
- Add `eq.is_lifetap_spell(spell_id)`.
- Add `eq.is_magic_rune_spell(spell_id)`.
- Add `eq.is_mana_cost_reduction_spell(spell_id)`.
- Add `eq.is_mana_tap_spell(spell_id)`.
- Add `eq.is_mesmerize_spell(spell_id)`.
- Add `eq.is_no_detrimental_spell_aggro_spell(spell_id)`.
- Add `eq.is_partial_death_save_spell(spell_id)`.
- Add `eq.is_partial_resistable_spell(spell_id)`.
- Add `eq.is_pbae_nuke_spell(spell_id)`.
- Add `eq.is_percental_heal_spell(spell_id)`.
- Add `eq.is_persist_death_spell(spell_id)`.
- Add `eq.is_pet_spell(spell_id)`.
- Add `eq.is_poison_counter_spell(spell_id)`.
- Add `eq.is_pulsing_bard_song(spell_id)`.
- Add `eq.is_pure_nuke_spell(spell_id)`.
- Add `eq.is_regular_group_heal_spell(spell_id)`.
- Add `eq.is_regular_single_target_heal_spell(spell_id)`.
- Add `eq.is_resist_debuff_spell(spell_id)`.
- Add `eq.is_resistable_spell(spell_id)`.
- Add `eq.is_rest_allowed_spell(spell_id)`.
- Add `eq.is_resurrection_effects(spell_id)`.
- Add `eq.is_rune_spell(spell_id)`.
- Add `eq.is_sacrifice_spell(spell_id)`.
- Add `eq.is_self_conversion_spell(spell_id)`.
- Add `eq.is_shadow_step_spell(spell_id)`.
- Add `eq.is_short_duration_buff(spell_id)`.
- Add `eq.is_spell_usable_in_this_zone_type(spell_id)`.
- Add `eq.is_spell_usable_in_this_zone_type(spell_id, zone_type)`.
- Add `eq.is_stackable_dot(spell_id)`.
- Add `eq.is_stun_spell(spell_id)`.
- Add `eq.is_succor_spell(spell_id)`.
- Add `eq.is_summon_item_spell(spell_id)`.
- Add `eq.is_summon_pc_spell(spell_id)`.
- Add `eq.is_summon_pet_spell(spell_id)`.
- Add `eq.is_summon_skeleton_spell(spell_id)`.
- Add `eq.is_summon_spell(spell_id)`.
- Add `eq.is_suspendable_spell(spell_id)`.
- Add `eq.is_target_required_for_spell(spell_id)`.
- Add `eq.is_targetable_ae_spell(spell_id)`.
- Add `eq.is_teleport_spell(spell_id)`.
- Add `eq.is_tgb_compatible_spell(spell_id)`.
- Add `eq.is_translocate_spell(spell_id)`.
- Add `eq.is_valid_spell(spell_id)`.
- Add `eq.is_very_fast_heal_spell(spell_id)`.
- Add `eq.is_virus_spell(spell_id)`.
- A lot of cleanup in the logic and naming of these methods was done.
- Missing GM restricted spells like Guide spells and GM Health buffs were added as defines.
- Good effect values were added as defines.
- Resurrection effects non-stacking value was added as a define.
- Max fast heal casting time and max very fast heal casting time were added as defines.
- `SE_Display` was uncommented so we could use it instead of the magic number `425`.
- `IsEvacSpell(spell_id)` was removed as it was unnecessary since `IsSuccorSpell(spell_id)` checks for `SE_Succor` as well.
- `GetMorphTrigger(spell_id)` was removed as it was unused.
- `GroupOnlySpell(spell_id)` was removed as it was unnecessary since `IsGroupOnlySpell(spell_id)` exists.
- `CanUseSpell(spell_id)` was removed as it was unnecessary since `GetSpellLevel(spell_id, class_id)` exists.
- `BeneficialSpell(spell_id)` was removed as it was unnecessary since `IsBeneficialSpell(spell_id)` exists.
* Update spell_effects.cpp
* Update spdat.cpp
2023-06-12 20:27:22 -04:00
Alex King
c5c575b028
[Quest API] Add GetEXPForLevel() to Perl/Lua ( #3403 )
...
# Perl
- Add `$client->GetEXPForLevel(check_level)`.
# Lua
- Add `client:GetEXPForLevel(check_level)`.
# Notes
- This allows operators to see the required experience for a level based on the client provided, this takes race/class modifiers into account as well if enabled.
2023-06-12 19:18:39 -05:00
Alex King
152e99444c
[Cleanup] Remove GetClientCount() from zone/entity.cpp and zone/entity.h ( #3392 )
...
* [Cleanup] Remove GetClientCount() from zone/entity.cpp and zone/entity.h
# Notes
- This is unused.
* Update entity.cpp
2023-06-12 19:18:17 -05:00
Alex King
795df5c597
[Cleanup] Remove CountTempPets() from zone/entity.cpp and zone/entity.h ( #3390 )
...
* [Cleanup] Remove CountTempPets() from zone/entity.cpp and zone/entity.h
# Notes
- This is unused.
* Update entity.h
2023-06-12 19:17:53 -05:00
Alex King
18eff726d0
[Commands] Assign #opcode to a #reload alias ( #3401 )
...
* [Commands] Assign #opcode to a #reload alias
# Notes
- Can use `#reload opcodes
* Add ServerOP_ReloadOpcodes
2023-06-12 18:42:39 -04:00
Alex King
f06a37a009
[Cleanup] Add GMFind_Struct to packet structures ( #3402 )
...
* [Cleanup] Add GMFind_Struct to packet structures
# Notes
- X and Y were swapped in GMSummon_Struct so it displayed XYZ incorrectly in /find, adding its own struct fixes this.
* Update eq_packet_structs.h
* Update eq_packet_structs.h
2023-06-12 18:35:04 -04:00
Paul Coene
ae53efc52c
[Targeting] /tar <bad target> should not untarget existing target ( #3383 )
...
* [Targeting] /tar <bad target> should not untarget existing target
* Forgot string Id file.
* removed unneeded this->
2023-06-12 16:40:09 -05:00
Alex King
548eb65e1d
[Cleanup] Remove InteractiveChat() and TakenAction() from zone/npc.h ( #3382 )
...
# Notes
- These are unimplemented and unused.
2023-06-12 15:14:34 -05:00
Alex King
fede8760d4
[Cleanup] Remove CheckCoordLosNoZLeaps() from zone/entity.cpp and zone/entity.h ( #3384 )
...
# Notes
- This is unused.
2023-06-12 15:13:03 -05:00
Alex King
6faa202b57
[Cleanup] Remove pDBAsyncWorkID from zone/entity.h ( #3385 )
...
# Notes
- This is unused.
2023-06-12 15:12:47 -05:00
Alex King
c406710623
[Cleanup] Remove GetClient(ip, port) from zone/entity.h ( #3386 )
...
# Notes
- This is unused.
2023-06-12 15:12:22 -05:00
Alex King
662c4012db
[Cleanup] Remove GetGroupByBot(), GetRaidByMob(), and GetRaidByLeaderName() from zone/entity.cpp and zone/entity.h ( #3387 )
...
# Notes
- These are unused.
2023-06-12 15:12:00 -05:00
Alex King
849e7b910d
[Cleanup] Remove SendAATimer() from zone/entity.h ( #3388 )
...
# Notes
- This is unused.
2023-06-12 15:11:32 -05:00
Alex King
8e33755f02
[Cleanup] Remove RemoveMob() and RemoveRaid() from zone/entity.cpp and zone/entity.h ( #3389 )
...
# Notes
- These are unused.
2023-06-12 15:11:17 -05:00
Alex King
dfaa929778
[Cleanup] Remove GateAllClients() from zone/entity.cpp and zone/entity.h ( #3391 )
...
# Notes
- This is unused.
2023-06-12 15:10:36 -05:00
Alex King
306b06745f
[Cleanup] Remove LimitCheckBoth() from zone/entity.cpp and zone/entity.h ( #3393 )
...
# Notes
- This is unused.
2023-06-12 15:05:39 -05:00
Alex King
108fc82ee0
[Cleanup] Remove Evade() from zone/entity.cpp and zone/entity.h ( #3394 )
...
# Notes
- This is unused.
2023-06-12 15:05:23 -05:00
Alex King
577f61b082
[Cleanup] Remove WriteEntityIDs() from zone/entity.cpp and zone/entity.h ( #3395 )
...
# Notes
- This is unused.
2023-06-12 15:05:09 -05:00
Alex King
a01cf0718d
[Cleanup] Remove struct DynamicZoneSafeReturn from zone/entity.h ( #3396 )
...
# Notes
- This is unused.
2023-06-12 15:04:54 -05:00
Alex King
90412ba61b
[Cleanup] Remove struct TradeEntity from zone/common.h ( #3397 )
...
# Notes
- This is unused.
2023-06-12 15:04:38 -05:00
Alex King
5cbc380c62
[Cleanup] Remove CHECK_LOS_STEP from zone/common.h ( #3398 )
...
# Notes
- This is unused.
2023-06-12 15:04:25 -05:00
Alex King
6c289a7c71
[Cleanup] Remove _BECOMENPCPET() and _NPCPET() from zone/common.h ( #3399 )
...
# Notes
- These are unused.
2023-06-12 15:04:09 -05:00
Alex King
57335b188f
[Cleanup] Remove SPECIALIZE_MANA_REDUCE from zone/common.h ( #3400 )
...
# Notes
- This is unused.
2023-06-12 15:03:55 -05:00
Alex King
056e429100
[Cleanup] Remove NPC::AddCash() from npc.cpp/npc.h ( #3380 )
...
# Notes
- This is unused.
2023-06-09 11:50:52 -04:00
Paul Coene
f548aeddb2
[Logging] Fixed statements that logged incorrect data ( #3381 )
2023-06-07 08:26:04 -04:00
Paul Coene
4ff9faa4e6
[Illusions] RandomizeFeatures and SetGender were killing db texture ( #3376 )
...
* [Illusions] RandomizeFeatures and SetGender were killing db texture
* Found actual source of the problem.
2023-06-06 08:30:41 -04:00
Alex King
17fc350d46
[Quest API] Add SendChannelMessage() to Perl/Lua ( #3378 )
...
* [Quest API] Add SendChannelMessage() to Perl/Lua
# Perl
- Add `quest::send_channel_message(channel_number, guild_id, language_id, language_skill, message)`.
- Add `quest::send_channel_message(from, channel_number, guild_id, language_id, language_skill, message)`.
- Add `quest::send_channel_message(from, to, channel_number, guild_id, language_id, language_skill, message)`.
# Lua
- Add `eq.send_channel_message(channel_number, guild_id, language_id, language_skill, message)`.
- Add `eq.send_channel_message(from, channel_number, guild_id, language_id, language_skill, message)`.
- Add `eq.send_channel_message(from, to, channel_number, guild_id, language_id, language_skill, message)`.
# Notes
- This allows operators to send channel messages from scripts like a broadcast or tell.
* Update zoneserver.cpp
* Update lua_general.cpp
* Update questmgr.h
2023-06-03 19:06:40 -05:00
Chris Miles
b18bc66b42
[Release] 22.12.0 ( #3377 )
2023-05-30 00:10:44 -05:00
Alex King
324bfd448e
[Commands] Add entity variable command ( #3345 )
...
* [Commands] Add entity variable commands
# Commands
- Add `#clearentityvariables` to clear all entity variables from yourself or your target.
- Add `#deleteentityvariable [Variable Name]` to delete an entity variable from yourself or your target.
- Add `#setentityvariable [Variable Name] [Variable Value]` to set an entity variable for yourself or your target.
- Add `#viewentityvariables [Search Criteria]` to view your or your target's entity variables.
# Notes
- `#setentityvariable` can use multi-word names/values by using double quotes like `#setentityvariable "Test Variable" "Test Value"`.
- `#viewentityvariable` does not require a search criteria, not using one shows all entity variables on yourself or your target.
* Update viewentityvariables.cpp
* Unnecessary parameter.
* Consolidate commands.
* Update entityvariable.cpp
* Update command.cpp
* Proper arguments.
2023-05-25 19:49:09 -04:00
Alex King
75560ee830
[Performance] Character tribute is now bulk saved ( #3340 )
...
* [Performance] Character tribute is now bulk saved
This pull request combines individual `character_tribute` queries during `Save()` into one.
This pull request also adds a primary key of `id` to `character_tribute` and renames the pre-existing `id` column to `character_id`, this allows us to use repositories for this table.
* Update zonedb.cpp
* Update zonedb.cpp
2023-05-25 19:21:18 -04:00
Alex King
50db7637aa
[Quest API] Add Memorize and Scribe Spell Events to Perl/Lua ( #3363 )
...
* [Quest API] Add Memorize and Scribe Spell Events to Perl/Lua
# Perl
- Add `EVENT_MEMORIZE_SPELL`.
- Add `EVENT_UNMEMORIZE_SPELL`.
- Add `EVENT_SCRIBE_SPELL`.
- Add `EVENT_UNSCRIBE_SPELL`.
# Lua
- Add `event_memorize_spell`.
- Add `event_unmemorize_spell`.
- Add `event_scribe_spell`.
- Add `event_unscribe_spell`.
# Notes
- Allows operators to perform events on memorization, unmemorization, scribe, or unscribe.
- Cleaned up target description messages for `#unscribespell`.
* Update client.cpp
2023-05-25 18:18:14 -05:00
Alex King
67fdc75df3
[Commands] Cleanup #setanim ( #3350 )
...
# Notes
- Make use of constants instead of hard-coded strings.
2023-05-25 18:04:09 -05:00
Chris Miles
9993022418
[Pets] Fix saving inconsistencies with pets ( #3375 )
2023-05-25 11:33:34 -04:00
Alex King
bd95ed44fd
[Cleanup] Remove GetMaxRank() from aa_ability.cpp/aa_ability.h ( #3347 )
...
# Notes
- This is unused.
2023-05-24 22:44:53 -05:00
Alex King
65fd323eab
[Cleanup] Remove LoadSpawn2() and PopulateZoneSpawnListClose() from spawn2.cpp/zonedb.h ( #3344 )
...
# Notes
- These are unused.
2023-05-24 22:42:20 -05:00
Aeadoin
290c58741e
[Bug Fix] Fix issue with Group Pointers/Member roles ( #3374 )
...
* [Bug Fix] Fix issue with Group Corruption
* cleanup
* Fix for Group Roles
* Fix for Group Roles
2023-05-24 22:40:59 -05:00
Alex King
39d0772a01
[Cleanup] Remove IsRaid() from raids.h ( #3361 )
...
# Notes
- This is unused.
2023-05-24 22:40:32 -05:00
Alex King
622fe50479
[Cleanup] Remove numMembers from raids.h ( #3362 )
...
# Notes
- This is unused.
2023-05-24 22:40:20 -05:00
Alex King
f41a219309
[Cleanup] Remove CalcPetHp from spdat.h ( #3364 )
...
# Notes
- This is unused.
2023-05-24 22:37:04 -05:00
Alex King
23bc3c7fd6
[Cleanup] Remove Z_AGGRO from spdat.h ( #3365 )
...
# Notes
- This is unused.
2023-05-24 22:36:52 -05:00
Alex King
3144ac1a28
[Cleanup] Cleanup #setskill and #setskillall Commands ( #3367 )
...
# Notes
- No need to cap at 400 for max skill.
- When setting skill/skills, if we go over cap, set to cap.
2023-05-24 22:36:38 -05:00
Alex King
a5106420e8
[Commands] Add #findcurrency Command ( #3368 )
...
* [Commands] Add #findcurrency Command
# Notes
- Allows you to find alternate currencies by item ID or name.
- Has a saylink for summoning a stack of the currency if the GM can use the `#summonitem` command.
* Update findcurrency.cpp
* Update findcurrency.cpp
2023-05-24 22:30:06 -05:00
Alex King
5a42c4f667
[Quest API] Add zone data methods to Perl/Lua ( #3342 )
...
# Perl
- Add `quest::GetZoneSafeX(zone_id)`.
- Add `quest::GetZoneSafeX(zone_id, version)`.
- Add `quest::GetZoneSafeY(zone_id)`.
- Add `quest::GetZoneSafeY(zone_id, version)`.
- Add `quest::GetZoneSafeZ(zone_id)`.
- Add `quest::GetZoneSafeZ(zone_id, version)`.
- Add `quest::GetZoneSafeHeading(zone_id)`.
- Add `quest::GetZoneSafeHeading(zone_id, version)`.
- Add `quest::GetZoneMinimumLevel(zone_id)`.
- Add `quest::GetZoneMinimumLevel(zone_id, version)`.
- Add `quest::GetZoneMaximumLevel(zone_id)`.
- Add `quest::GetZoneMaximumLevel(zone_id, version)`.
- Add `quest::GetZoneMinimumStatus(zone_id)`.
- Add `quest::GetZoneMinimumStatus(zone_id, version)`.
- Add `quest::GetZoneTimeZone(zone_id)`.
- Add `quest::GetZoneTimeZone(zone_id, version)`.
- Add `quest::GetZoneMaximumPlayers(zone_id)`.
- Add `quest::GetZoneMaximumPlayers(zone_id, version)`.
- Add `quest::GetZoneRuleSet(zone_id)`.
- Add `quest::GetZoneRuleSet(zone_id, version)`.
- Add `quest::GetZoneNote(zone_id)`.
- Add `quest::GetZoneNote(zone_id, version)`.
- Add `quest::GetZoneUnderworld(zone_id)`.
- Add `quest::GetZoneUnderworld(zone_id, version)`.
- Add `quest::GetZoneMinimumClip(zone_id)`.
- Add `quest::GetZoneMinimumClip(zone_id, version)`.
- Add `quest::GetZoneMaximumClip(zone_id)`.
- Add `quest::GetZoneMaximumClip(zone_id, version)`.
- Add `quest::GetZoneFogMinimumClip(zone_id)`.
- Add `quest::GetZoneFogMinimumClip(zone_id, slot)`.
- Add `quest::GetZoneFogMinimumClip(zone_id, slot, version)`.
- Add `quest::GetZoneFogMaximumClip(zone_id)`.
- Add `quest::GetZoneFogMaximumClip(zone_id, slot)`.
- Add `quest::GetZoneFogMaximumClip(zone_id, slot, version)`.
- Add `quest::GetZoneFogRed(zone_id)`.
- Add `quest::GetZoneFogRed(zone_id, slot)`.
- Add `quest::GetZoneFogRed(zone_id, slot, version)`.
- Add `quest::GetZoneFogGreen(zone_id)`.
- Add `quest::GetZoneFogGreen(zone_id, slot)`.
- Add `quest::GetZoneFogGreen(zone_id, slot, version)`.
- Add `quest::GetZoneFogBlue(zone_id)`.
- Add `quest::GetZoneFogBlue(zone_id, slot)`.
- Add `quest::GetZoneFogBlue(zone_id, slot, version)`.
- Add `quest::GetZoneSky(zone_id)`.
- Add `quest::GetZoneSky(zone_id, version)`.
- Add `quest::GetZoneZType(zone_id)`.
- Add `quest::GetZoneZType(zone_id, version)`.
- Add `quest::GetZoneExperienceMultiplier(zone_id)`.
- Add `quest::GetZoneExperienceMultiplier(zone_id, version)`.
- Add `quest::GetZoneWalkSpeed(zone_id)`.
- Add `quest::GetZoneWalkSpeed(zone_id, version)`.
- Add `quest::GetZoneTimeType(zone_id)`.
- Add `quest::GetZoneTimeType(zone_id, version)`.
- Add `quest::GetZoneFogDensity(zone_id)`.
- Add `quest::GetZoneFogDensity(zone_id, version)`.
- Add `quest::GetZoneFlagNeeded(zone_id)`.
- Add `quest::GetZoneFlagNeeded(zone_id, version)`.
- Add `quest::GetZoneCanBind(zone_id)`.
- Add `quest::GetZoneCanBind(zone_id, version)`.
- Add `quest::GetZoneCanCombat(zone_id)`.
- Add `quest::GetZoneCanCombat(zone_id, version)`.
- Add `quest::GetZoneCanLevitate(zone_id)`.
- Add `quest::GetZoneCanLevitate(zone_id, version)`.
- Add `quest::GetZoneCastOutdoor(zone_id)`.
- Add `quest::GetZoneCastOutdoor(zone_id, version)`.
- Add `quest::GetZoneHotzone(zone_id)`.
- Add `quest::GetZoneHotzone(zone_id, version)`.
- Add `quest::GetZoneInstanceType(zone_id)`.
- Add `quest::GetZoneInstanceType(zone_id, version)`.
- Add `quest::GetZoneShutdownDelay(zone_id)`.
- Add `quest::GetZoneShutdownDelay(zone_id, version)`.
- Add `quest::GetZonePEQZone(zone_id)`.
- Add `quest::GetZonePEQZone(zone_id, version)`.
- Add `quest::GetZoneExpansion(zone_id)`.
- Add `quest::GetZoneExpansion(zone_id, version)`.
- Add `quest::GetZoneBypassExpansionCheck(zone_id)`.
- Add `quest::GetZoneBypassExpansionCheck(zone_id, version)`.
- Add `quest::GetZoneSuspendBuffs(zone_id)`.
- Add `quest::GetZoneSuspendBuffs(zone_id, version)`.
- Add `quest::GetZoneRainChance(zone_id)`.
- Add `quest::GetZoneRainChance(zone_id, slot)`.
- Add `quest::GetZoneRainChance(zone_id, slot, version)`.
- Add `quest::GetZoneRainDuration(zone_id)`.
- Add `quest::GetZoneRainDuration(zone_id, slot)`.
- Add `quest::GetZoneRainDuration(zone_id, slot, version)`.
- Add `quest::GetZoneSnowChance(zone_id)`.
- Add `quest::GetZoneSnowChance(zone_id, slot)`.
- Add `quest::GetZoneSnowChance(zone_id, slot, version)`.
- Add `quest::GetZoneSnowDuration(zone_id)`.
- Add `quest::GetZoneSnowDuration(zone_id, slot)`.
- Add `quest::GetZoneSnowDuration(zone_id, slot, version)`.
- Add `quest::GetZoneGravity(zone_id)`.
- Add `quest::GetZoneGravity(zone_id, version)`.
- Add `quest::GetZoneType(zone_id)`.
- Add `quest::GetZoneType(zone_id, version)`.
- Add `quest::GetZoneSkyLock(zone_id)`.
- Add `quest::GetZoneSkyLock(zone_id, version)`.
- Add `quest::GetZoneFastRegenHP(zone_id)`.
- Add `quest::GetZoneFastRegenHP(zone_id, version)`.
- Add `quest::GetZoneFastRegenMana(zone_id)`.
- Add `quest::GetZoneFastRegenMana(zone_id, version)`.
- Add `quest::GetZoneFastRegenEndurance(zone_id)`.
- Add `quest::GetZoneFastRegenEndurance(zone_id, version)`.
- Add `quest::GetZoneNPCMaximumAggroDistance(zone_id)`.
- Add `quest::GetZoneNPCMaximumAggroDistance(zone_id, version)`.
- Add `quest::GetZoneMaximumMovementUpdateRange(zone_id)`.
- Add `quest::GetZoneMaximumMovementUpdateRange(zone_id, version)`.
- Add `quest::GetZoneMinimumExpansion(zone_id)`.
- Add `quest::GetZoneMinimumExpansion(zone_id, version)`.
- Add `quest::GetZoneMaximumExpansion(zone_id)`.
- Add `quest::GetZoneMaximumExpansion(zone_id, version)`.
- Add `quest::GetZoneContentFlags(zone_id)`.
- Add `quest::GetZoneContentFlags(zone_id, version)`.
- Add `quest::GetZoneContentFlagsDisabled(zone_id)`.
- Add `quest::GetZoneContentFlagsDisabled(zone_id, version)`.
- Add `quest::GetZoneUnderworldTeleportIndex(zone_id)`.
- Add `quest::GetZoneUnderworldTeleportIndex(zone_id, version)`.
- Add `quest::GetZoneLavaDamage(zone_id)`.
- Add `quest::GetZoneLavaDamage(zone_id, version)`.
- Add `quest::GetZoneMinimumLavaDamage(zone_id)`.
- Add `quest::GetZoneMinimumLavaDamage(zone_id, version)`.
# Lua
- Add `eq.get_zone_safe_x(zone_id)`.
- Add `eq.get_zone_safe_x(zone_id, version)`.
- Add `eq.get_zone_safe_y(zone_id)`.
- Add `eq.get_zone_safe_y(zone_id, version)`.
- Add `eq.get_zone_safe_z(zone_id)`.
- Add `eq.get_zone_safe_z(zone_id, version)`.
- Add `eq.get_zone_safe_heading(zone_id)`.
- Add `eq.get_zone_safe_heading(zone_id, version)`.
- Add `eq.get_zone_minimum_level(zone_id)`.
- Add `eq.get_zone_minimum_level(zone_id, version)`.
- Add `eq.get_zone_maximum_level(zone_id)`.
- Add `eq.get_zone_maximum_level(zone_id, version)`.
- Add `eq.get_zone_minimum_status(zone_id)`.
- Add `eq.get_zone_minimum_status(zone_id, version)`.
- Add `eq.get_zone_time_zone(zone_id)`.
- Add `eq.get_zone_time_zone(zone_id, version)`.
- Add `eq.get_zone_maximum_players(zone_id)`.
- Add `eq.get_zone_maximum_players(zone_id, version)`.
- Add `eq.get_zone_rule_set(zone_id)`.
- Add `eq.get_zone_rule_set(zone_id, version)`.
- Add `eq.get_zone_note(zone_id)`.
- Add `eq.get_zone_note(zone_id, version)`.
- Add `eq.get_zone_underworld(zone_id)`.
- Add `eq.get_zone_underworld(zone_id, version)`.
- Add `eq.get_zone_minimum_clip(zone_id)`.
- Add `eq.get_zone_minimum_clip(zone_id, version)`.
- Add `eq.get_zone_maximum_clip(zone_id)`.
- Add `eq.get_zone_maximum_clip(zone_id, version)`.
- Add `eq.get_zone_fog_minimum_clip(zone_id)`.
- Add `eq.get_zone_fog_minimum_clip(zone_id, slot)`.
- Add `eq.get_zone_fog_minimum_clip(zone_id, slot, version)`.
- Add `eq.get_zone_fog_maximum_clip(zone_id)`.
- Add `eq.get_zone_fog_maximum_clip(zone_id, slot)`.
- Add `eq.get_zone_fog_maximum_clip(zone_id, slot, version)`.
- Add `eq.get_zone_fog_red(zone_id)`.
- Add `eq.get_zone_fog_red(zone_id, slot)`.
- Add `eq.get_zone_fog_red(zone_id, slot, version)`.
- Add `eq.get_zone_fog_green(zone_id)`.
- Add `eq.get_zone_fog_green(zone_id, slot)`.
- Add `eq.get_zone_fog_green(zone_id, slot, version)`.
- Add `eq.get_zone_fog_blue(zone_id)`.
- Add `eq.get_zone_fog_blue(zone_id, slot)`.
- Add `eq.get_zone_fog_blue(zone_id, slot, version)`.
- Add `eq.get_zone_sky(zone_id)`.
- Add `eq.get_zone_sky(zone_id, version)`.
- Add `eq.get_zone_ztype(zone_id)`.
- Add `eq.get_zone_ztype(zone_id, version)`.
- Add `eq.get_zone_experience_multiplier(zone_id)`.
- Add `eq.get_zone_experience_multiplier(zone_id, version)`.
- Add `eq.get_zone_walk_speed(zone_id)`.
- Add `eq.get_zone_walk_speed(zone_id, version)`.
- Add `eq.get_zone_time_type(zone_id)`.
- Add `eq.get_zone_time_type(zone_id, version)`.
- Add `eq.get_zone_fog_density(zone_id)`.
- Add `eq.get_zone_fog_density(zone_id, version)`.
- Add `eq.get_zone_flag_needed(zone_id)`.
- Add `eq.get_zone_flag_needed(zone_id, version)`.
- Add `eq.get_zone_can_bind(zone_id)`.
- Add `eq.get_zone_can_bind(zone_id, version)`.
- Add `eq.get_zone_can_combat(zone_id)`.
- Add `eq.get_zone_can_combat(zone_id, version)`.
- Add `eq.get_zone_can_levitate(zone_id)`.
- Add `eq.get_zone_can_levitate(zone_id, version)`.
- Add `eq.get_zone_cast_outdoor(zone_id)`.
- Add `eq.get_zone_cast_outdoor(zone_id, version)`.
- Add `eq.get_zone_hotzone(zone_id)`.
- Add `eq.get_zone_hotzone(zone_id, version)`.
- Add `eq.get_zone_instance_type(zone_id)`.
- Add `eq.get_zone_instance_type(zone_id, version)`.
- Add `eq.get_zone_shutdown_delay(zone_id)`.
- Add `eq.get_zone_shutdown_delay(zone_id, version)`.
- Add `eq.get_zone_peqzone(zone_id)`.
- Add `eq.get_zone_peqzone(zone_id, version)`.
- Add `eq.get_zone_expansion(zone_id)`.
- Add `eq.get_zone_expansion(zone_id, version)`.
- Add `eq.get_zone_bypass_expansion_check(zone_id)`.
- Add `eq.get_zone_bypass_expansion_check(zone_id, version)`.
- Add `eq.get_zone_suspend_buffs(zone_id)`.
- Add `eq.get_zone_suspend_buffs(zone_id, version)`.
- Add `eq.get_zone_rain_chance(zone_id)`.
- Add `eq.get_zone_rain_chance(zone_id, slot)`.
- Add `eq.get_zone_rain_chance(zone_id, slot, version)`.
- Add `eq.get_zone_rain_duration(zone_id)`.
- Add `eq.get_zone_rain_duration(zone_id, slot)`.
- Add `eq.get_zone_rain_duration(zone_id, slot, version)`.
- Add `eq.get_zone_snow_chance(zone_id)`.
- Add `eq.get_zone_snow_chance(zone_id, slot)`.
- Add `eq.get_zone_snow_chance(zone_id, slot, version)`.
- Add `eq.get_zone_snow_duration(zone_id)`.
- Add `eq.get_zone_snow_duration(zone_id, slot)`.
- Add `eq.get_zone_snow_duration(zone_id, slot, version)`.
- Add `eq.get_zone_gravity(zone_id)`.
- Add `eq.get_zone_gravity(zone_id, version)`.
- Add `eq.get_zone_type(zone_id)`.
- Add `eq.get_zone_type(zone_id, version)`.
- Add `eq.get_zone_sky_lock(zone_id)`.
- Add `eq.get_zone_sky_lock(zone_id, version)`.
- Add `eq.get_zone_fast_regen_hp(zone_id)`.
- Add `eq.get_zone_fast_regen_hp(zone_id, version)`.
- Add `eq.get_zone_fast_regen_mana(zone_id)`.
- Add `eq.get_zone_fast_regen_mana(zone_id, version)`.
- Add `eq.get_zone_fast_regen_endurance(zone_id)`.
- Add `eq.get_zone_fast_regen_endurance(zone_id, version)`.
- Add `eq.get_zone_npc_maximum_aggro_distance(zone_id)`.
- Add `eq.get_zone_npc_maximum_aggro_distance(zone_id, version)`.
- Add `eq.get_zone_maximum_movement_update_range(zone_id)`.
- Add `eq.get_zone_maximum_movement_update_range(zone_id, version)`.
- Add `eq.get_zone_minimum_expansion(zone_id)`.
- Add `eq.get_zone_minimum_expansion(zone_id, version)`.
- Add `eq.get_zone_maximum_expansion(zone_id)`.
- Add `eq.get_zone_maximum_expansion(zone_id, version)`.
- Add `eq.get_zone_content_flags(zone_id)`.
- Add `eq.get_zone_content_flags(zone_id, version)`.
- Add `eq.get_zone_content_flags_disabled(zone_id)`.
- Add `eq.get_zone_content_flags_disabled(zone_id, version)`.
- Add `eq.get_zone_underworld_teleport_index(zone_id)`.
- Add `eq.get_zone_underworld_teleport_index(zone_id, version)`.
- Add `eq.get_zone_lava_damage(zone_id)`.
- Add `eq.get_zone_lava_damage(zone_id, version)`.
- Add `eq.get_zone_minimum_lava_damage(zone_id)`.
- Add `eq.get_zone_minimum_lava_damage(zone_id, version)`.
# Notes
- These methods add support for reading every value that the `zone` table contains, allowing operators to get any information about a specific zone and version they could need.
2023-05-24 17:59:18 -04:00
Alex King
a3107cc54d
[Bug Fix] Fix duplicate messages in #npcedit ( #3372 )
...
# Notes
- `#npcedit special_attacks` and `#npcedit special_abilities` send duplicate messages since the `d` variable wasn't being set and a message was being sent instead, meaning a message was sent inside the condition as well as a blank message at the bottom of the command.
2023-05-21 18:56:51 -04:00
Alex King
f0152cef66
[Rules] Add World:MaximumQuestErrors Rule ( #3349 )
...
* [Rules] Add World:MaximumQuestErrors Rule
# Notes
- Allows operators to display more than 30 errors with #questerrors if they want.
* Update quest_interface.h
2023-05-21 18:48:30 -04:00
Alex King
21755a9f9e
[Bug Fix] Fix typos in #zheader ( #3370 )
...
# Notes
- Argument 2 and 3 were being used when it should have been arguments 1 and 2.
2023-05-21 18:48:22 -04:00
Alex King
b329515a07
[Quest API] Cleanup The Darkened Sea Quest Methods Names ( #3369 )
...
# Notes
- These were spelled incorrectly.
2023-05-21 18:48:15 -04:00
Alex King
ff4b117cfa
[Cleanup] Fix #spawn command NPCs having 0 health ( #3371 )
...
# Notes
- NPCs when spawned with this command have 0 health by default, requiring operators to manually edit their health if they're using this NPC as an NPC in their hub.
2023-05-21 18:48:08 -04:00
Paul Coene
e305ba852b
[Bug Fix] NPC Armor Upgrade to a slot not handled correctly ( #3366 )
...
* [NPC Armor - Bug] NPC upgardes in armor not correct
* Revert "[NPC Armor - Bug] NPC upgardes in armor not correct"
This reverts commit d5a68654a7 .
* [NPC item bonuses] Upgrades not processed correctly
* Update loottables.cpp
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2023-05-19 22:28:01 -04:00
RekkasGit
b8c91cf4f9
[Bug Fix] Mob scaling issue with min dmg set to zero while max dmg is not ( #3351 )
...
* fix for mob scaling issue with min dmg set to zero while max dmg is not.
* Cleanup
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2023-05-19 22:11:11 -04:00
Alex King
cd82bd8472
[Cleanup] Remove DumpMerchantList() from zone.cpp/zone.h ( #3343 )
...
# Notes
- This is unused.
2023-05-17 09:02:14 -04:00
Alex King
20bed20f47
[Cleanup] Delete message.h ( #3348 )
...
# Notes
- This is unsued.
2023-05-17 09:00:38 -04:00
Alex King
c93054421f
[Cleanup] Remove CountNPC() and QueueManaged() from entity.cpp/entity.h ( #3346 )
...
# Notes
- These are unused.
2023-05-17 08:58:50 -04:00
Alex King
b7a1fc6644
[Cleanup] Remove IsEntityInFrenzyMode() from hate_list.cpp/hate_list.h ( #3352 )
...
# Notes
- This is unused.
2023-05-17 08:58:27 -04:00
Alex King
6bfb8fca2e
[Cleanup] Remove GetEscapingEntOnHateList() from hate_list.cpp/hate_list.h ( #3353 )
...
# Notes
- This is unused.
2023-05-17 08:58:13 -04:00
Alex King
9d6a7ad743
[Cleanup] Remove SetGraveyard() from zone.cpp/zone.h ( #3354 )
...
# Notes
- This is unused.
2023-05-17 08:58:02 -04:00
Alex King
076b88be9a
[Cleanup] Remove TypeToSkill() from tradeskills.cpp/object.h ( #3355 )
...
# Notes
- This is unused.
2023-05-17 08:57:51 -04:00
Alex King
84a779c4df
[Cleanup] Remove SetTradeCash() from trading.cpp/common.h ( #3356 )
...
# Notes
- This is unused.
2023-05-17 08:57:09 -04:00
Alex King
3fb479e612
[Cleanup] Remove TraderUpdate() from trading.cpp/client.h ( #3357 )
...
# Notes
- This is unused.
2023-05-17 08:56:42 -04:00
Alex King
c1f4ee0e65
[Cleanup] Remove GetDamageReceived() and GetHealReceived() from combat_record.cpp/combat_record.h ( #3358 )
...
# Notes
- These are unused.
2023-05-17 08:56:09 -04:00
RekkasGit
32f7dc3d1b
[Quest API] Add GetHateListClosest(), GetHateListClosestBot(), GetHateListClosestClient(), and GetHateListClosestNPC() methods/overloads to Perl/Lua ( #3359 )
...
* Add HateListClosestClient available for scripting.
* Add other methods.
* Use pre-existing constants.
* Typos
* Update mob.h
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2023-05-15 21:23:19 -04:00
RekkasGit
fa55fd1664
[Bug Fix] Fix Heroic INT/WIS Bonuses ( #3341 )
...
* fix for heroic int/wis for hybrids
* Update classes.cpp
* Update classes.cpp
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
2023-05-15 10:52:53 -04:00
Chris Miles
c44c0d4efa
[Performance] Character buffs now save in bulk ( #3336 )
...
* [Performance] Character buffs now save in bulk
* Only insert if we have buffs to insert
* Swap for .empty()
2023-05-09 13:28:34 -05:00
Chris Miles
50c63b95db
[Performance] Character pet bulk saving ( #3337 )
...
* [Performance] Character pet bulk saving
* Update zonedb.cpp
2023-05-09 13:27:17 -05:00
Chris Miles
612029de6e
[Performance] Character bind is now bulk saved ( #3338 )
...
* [Performance] Character bind is now bulk saved
* Fix bind heading
2023-05-09 13:22:57 -05:00
Chris Miles
dbc6346fe8
[Performance] Mail key is now cached during player load ( #3339 )
...
* [Performance] Mail key is now cached during player load
* More refactoring
2023-05-09 13:22:43 -05:00
nytmyr
93a4153a4b
[Rules] ResurrectionEffectBlock to prevent/allow/move buffs. ( #3288 )
...
* [Rules] ResurrectionEffectsBlock to prevent/allow/move buffs.
This removes the rule ResurrectionEffectsBlock (Bool) and creates ResurrectionEffectsBlock (Int)
Default = 2
Setting to 0 = Functions as it did before any blocking changes, Focus of Spirit and Strength buffs can overwrite Resurrection Effects.
Setting to 1 = Blocks all buffs that could overwrite Resurrection Effects.
Setting to 2 = Allows all buffs that would overwrite Resurrection Effects to land, however they will be moved to a new buff slot if one is available to allow both the beneficial buff to land and detrimental effects of Resurrection Effects to stay in effect until the duration is expired.
* Update logging
---------
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-05-08 08:32:21 -05:00
Akkadius
434f270f68
Revert "[Bug Fix] ReloadQuests() on Zone::Init() to avoid cached global quests/plugins ( #3333 )"
...
This reverts commit 8c23eee42a .
2023-05-07 23:33:43 -05:00
Alex King
5ba33b88bd
[Cleanup] Set GetAugmentType() to int again ( #3335 )
...
# Notes
- Augment type can be `-1` for all augment types.
2023-05-07 21:40:45 -04:00
Alex King
ce1de9997b
[Quest API] Add GetPet() to Perl ( #3309 )
...
# Perl
- Add `$mob->GetPet()`.
# Notes
- This exists in Lua, but not Perl.
2023-05-07 19:13:26 -05:00
Chris Miles
8814ab26cd
[Hotfix] Fix mob item bonus calc ( #3334 )
2023-05-07 18:23:22 -05:00
Alex King
8c23eee42a
[Bug Fix] ReloadQuests() on Zone::Init() to avoid cached global quests/plugins ( #3333 )
...
# Notes
- Before this, quests/plugins would be cached in an old state, so you'd have to either enter the zone and `#reload quest` or `#reload world` to get them to update.
2023-05-07 14:41:57 -04:00
Alex King
5475615448
[Bug Fix] #augmentitem bypasses augment restrictions ( #3332 )
...
* [Bug Fix] #augmentitem bypasses augment restrictions
# Notes
- `Object::HandleAugmentation` did not properly check for `augrestrict` values. This allowed augment restrictions to be bypassed with `#augmentitem` or anything else that uses this method.
- `Client::SummonItem` already properly checked these, so I just broke it out into a `Client::IsAugmentRestricted()` method.
* Update item_instance.h
2023-05-07 11:40:04 -04:00
Chris Miles
4a5559022f
[Memory Leak] Fix large memory leak introduced in CalcItemBonuses ( #3331 )
2023-05-07 09:47:03 -04:00
Paul Coene
5be2041085
[Messages] Remove duplicate heal message for healing yourself ( #3329 )
2023-05-03 16:50:54 -04:00
Jasdac
9f4d60ec36
[Feature] Intoxication setter/getter for source, getter for Perl/Lua ( #3330 )
...
* Add setter and getter methods for intoxication
Add GetIntoxication functions for perl and Lua
* Remove trailing tab
* Use clamp instead of min/max
2023-05-03 16:19:53 -04:00
Chris Miles
c64a2aec94
[Release] 22.11.0 ( #3328 )
...
* [Release] 22.11.0
* Update version.h
2023-04-29 20:37:04 -05:00
Alex King
0e582eda82
[Quest API] Add HasSpellEffect() to Perl/Lua ( #3319 )
...
* [Quest API] Add HasSpellEffect() to Perl/Lua
# Perl
- Add `$mob->HasSpellEffect(effect_id)`.
# Lua
- Add `mob:HasSpellEffect(effect_id)`.
# Notes
- Allows operators to see if a Mob has an effect ID from any of their buffs.
* Update mob.cpp
2023-04-29 20:09:00 -05:00
Alex King
7eff6ada87
[Cleanup] Remove unused code in zone/pets.cpp ( #3310 )
...
# Notes
- This code is unused.
2023-04-29 20:00:37 -05:00
Alex King
291997d35b
[Cleanup] Remove pDontCastBefore_casting_spell from zone/npc.h ( #3311 )
...
# Notes
- This is unused.
2023-04-29 20:00:20 -05:00
Alex King
ac4572bf79
[Cleanup] Remove unused methods in zone/client.cpp and zone/client.h ( #3312 )
...
* [Cleanup] Remove unused methods in zone/client.cpp and zone/client.h
# Notes
- Remove `CheckAccess()` in `zone/client.cpp`.
- Remove `CheckAccess()` in `zone/client.h`.
- Remove `CheckQuests()` in `zone/client.h`.
- Remove `MakeCorpse()` in `zone/client.h`.
- Remove `HPTick()` in `zone/client.h`.
- These methods are unused.
* Update client.h
2023-04-29 20:00:08 -05:00
Alex King
f0a9578b6a
[Cleanup] Remove GetClassHPFactor() from zone/merc.h ( #3314 )
...
# Notes
- This is unused.
2023-04-29 19:59:50 -05:00
Alex King
baa824d8fb
[Cleanup] Remove GetClassHPFactor() from zone/client_mods.cpp and zone/client.h ( #3313 )
...
# Notes
- This is unused.
2023-04-29 19:59:19 -05:00
Alex King
b19d3ac8a2
[Cleanup] Remove unused methods in zone/bot.cpp and zone/bot.h ( #3315 )
...
# Notes
- Remove `DoFinishedSpellAETarget()`.
- Remove `SendBotArcheryWearChange()`.
- These are unused.
2023-04-29 19:59:05 -05:00
Alex King
6a393bf0c3
[Quest API] Add GetDefaultRaceSize() overloads to Perl/Lua ( #3320 )
...
# Perl
- Add `$mob->GetDefaultRaceSize(race_id)`.
- Add `$mob->GetDefaultRaceSize(race_id, gender_id)`.
# Lua
- Add `mob:GetDefaultRaceSize(race_id)`.
- Add `mob:GetDefaultRaceSize(race_id, gender_id)`.
# Notes
- This allows you to get a default size for a race and gender that isn't the current mob's race and gender.
2023-04-29 19:53:49 -05:00
Alex King
09a5551de1
[Cleanup] quest::setallskill() had always true condition. ( #3301 )
...
# Notes
- Remove unnecessary double check of `initiator`.
- Cleanup logic to use `EQ::skills::GetSkillTypeMap()`.
2023-04-29 19:52:30 -05:00
Alex King
6e2e035d66
[Cleanup] Remove unused variable in common/crash.cpp ( #3308 )
...
# Notes
- This variable is unused.
2023-04-29 19:51:41 -05:00
Alex King
ac5922bb32
[Cleanup] Use default ctor/dtor in oriented_bounding_box.h ( #3307 )
...
# Notes
- Use default ctor/dtor instead of empty ones.
2023-04-29 19:51:21 -05:00
Chris Miles
ecf2a369cc
[Discord] Add Discord webhook callback processing to world ( #3322 )
2023-04-29 20:49:06 -04:00
Chris Miles
95b306599f
[Maps] Update download with faster releases link ( #3321 )
2023-04-29 19:39:24 -05:00
Chris Miles
497d20512a
[Crash] Fix UCS crash that occurs during log reloading ( #3324 )
2023-04-29 19:39:13 -05:00
Aeadoin
db916e946e
[Bug Fix] Fix issue with spawning Mercs ( #3327 )
2023-04-29 18:45:35 -04:00
Alex King
958549b407
[Bug Fix] Possible issues with SummonItem in Client::QuestReward() methods ( #3325 )
...
# Notes
- These methods were ignoring the sixth augment slot and could cause item to be summoned attuned being `EQ::invslot::slotCursor` is a non-zero value.
2023-04-26 21:28:24 -04:00
Paul Coene
71ebf1b2d4
[Messages] Remove duplicate you have lost a level message ( #3323 )
2023-04-25 17:42:31 -04:00
Paul Coene
e19b8d3056
[Bug Fix] Fix issue with NPCs no longer using some armor. ( #3318 )
...
* [BugFix/NPCs] Fix issue with NPCs no longer using some armor.
* Removed redundant memory clear
2023-04-24 17:05:29 -04:00
Alex King
8b1d64a043
[Cleanup] quest::createBot() unnecessary check against nullptr ( #3302 )
...
# Notes
- We initialize this variable, so it can never be a nullptr.
2023-04-23 15:08:50 -04:00
Alex King
576f99f292
[Cleanup] Add initiator/owner checks to various methods in questmgr.cpp ( #3306 )
...
* [Cleanup] Add initiator/owner checks to various methods in questmgr.cpp
# Notes
- Add `initiator` check to `quest::permaclass()`.
- Add `initiator` check to `quest::permarace()`.
- Add `initiator` check to `quest::permagender()`.
- Add `initiator` check to `quest::scribespells()`.
- Add `initiator` check to `quest::traindiscs()`.
- Add `initiator` check to `quest::unscribespells()`.
- Add `initiator` check to `quest::untraindiscs()`.
- Cleanup `initiator` check in `quest::pvp()`.
- Cleanup `initiator` check in `quest::movepc()`.
- Cleanup `initiator` check in `quest::gmmove()`.
- Cleanup `initiator` check in `quest::movegrp()`.
- Add `owner` check to `quest::doanim()`.
- Cleanup `initiator` check in `quest::addskill()`.
- Cleanup `initiator` check in `quest::setlanguage()`.
- Cleanup `initiator` check in `quest::setskill()`.
* Update questmgr.cpp
* Update questmgr.cpp
* Update questmgr.cpp
* Update questmgr.cpp
2023-04-23 15:08:32 -04:00
Alex King
e3761cf2a3
[Cleanup] Add check for owner in quest::resumetimer() ( #3305 )
...
# Notes
- We didn't check for owner before doing `owner->GetName()`.
2023-04-23 15:07:49 -04:00
Alex King
ad1764b464
[Cleanup] Add cehck for owner in quest::pausetimer() ( #3304 )
...
# Notes
- We didn't check for `owner` before doing `owner->GetName()`.
2023-04-23 15:07:09 -04:00
Alex King
1c9ea57a4e
[Cleanup] Fix possible nullptr in quest::addloot() ( #3303 )
...
# Notes
- We didn't check for `owner` before calling `owner->IsNPC()`.
2023-04-23 15:06:53 -04:00
Alex King
03c158b674
[Crash] Fix possible nullptr in Client::GetCharMaxLevelFromQGlobal() ( #3317 )
...
# Notes
- We could possibly not have a `zone` here, causing a crash.
- http://spire.akkadius.com/dev/release/22.9.1?id=3051
- http://spire.akkadius.com/dev/release/22.9.1?id=3052
- http://spire.akkadius.com/dev/release/22.9.1?id=3073
- http://spire.akkadius.com/dev/release/22.9.1?id=3102
- http://spire.akkadius.com/dev/release/22.9.1?id=3103
- http://spire.akkadius.com/dev/release/22.9.1?id=3104
- http://spire.akkadius.com/dev/release/22.9.1?id=3107
- http://spire.akkadius.com/dev/release/22.9.1?id=3108
- http://spire.akkadius.com/dev/release/22.9.1?id=3109
- http://spire.akkadius.com/dev/release/22.9.1?id=3110
- http://spire.akkadius.com/dev/release/22.9.1?id=3111
- http://spire.akkadius.com/dev/release/22.9.1?id=3112
- http://spire.akkadius.com/dev/release/22.9.1?id=3113
- http://spire.akkadius.com/dev/release/22.9.1?id=3114
2023-04-23 15:05:47 -04:00
Aeadoin
39b5374e92
[Crash] Fix possible dereference of nullptr in Client::CalcHPRegen ( #3316 )
2023-04-23 14:27:43 -04:00
Aeadoin
2d3ddcb574
[Release] 22.10.0 ( #3300 )
2023-04-22 10:17:20 -04:00
Aeadoin
ed09281f66
[Bug Fix] Camping was causing player to leave raid, causing unexpected behavior ( #3299 )
2023-04-22 10:03:40 -04:00
Paul Coene
8e51bf8b19
Fix crash when Removing empty password protected channel. ( #3298 )
2023-04-22 08:49:34 -04:00
Alex King
844efa7e20
[Cleanup] Breaks in wrong spot in cases in spell_effects.cpp ( #3297 )
...
* [Cleanup] Breaks in wrong spot in cases in spell_effects.cpp
# Notes
- These breaks were inside conditions, meaning the case wasn't always broken.
* Update spell_effects.cpp
2023-04-22 08:49:13 -04:00
Alex King
fa3a5c7a72
[Feature] Make ornamentations work with any augment type ( #3281 )
...
* [Feature] Make ornamentations work with any augment type
# Notes
- On Live there are augments that are not type 20/21 and are ornamentations.
- We also only allow a singular augment type to be ornamentation augment types, this will allow you to use any augment type as an ornamentation if it has a proper Hero's Forge model or a non-IT63/non-IT64 idfile.
* Update ruletypes.h
* Update client_packet.cpp
* Update item_instance.cpp
* Cleanup.
2023-04-16 10:26:19 -04:00
Aeadoin
93db35658a
[Crash] Add additional raid integrity checks on Bot Spawn. ( #3295 )
...
* simple cleanup before changes
* can't be in a raid yet
* change to sizeof
* change to use sizeof
2023-04-16 10:06:19 -04:00
Alex King
d45a57056a
[Cleanup] Remove getd(), geti(), InUse(), lasterr(), my_get_sv(), and VarExists() in embperl.cpp/embperl.h ( #3283 )
...
* [Cleanup] Remove getd(), geti(), InUse(), lasterr(), and VarExists() in embperl.cpp/embperl.h
# Notes
- These are unused.
* Update embperl.h
* Update embperl.cpp
2023-04-15 13:20:18 -04:00
Alex King
ff40dbc710
[Cleanup] Utilize IsTaunting(), SetPetPower(), SetPetType(), and SetTaunting() ( #3275 )
...
* [Cleanup] Utilize SetPetPower() in zone/pets.cpp
# Notes
- This wasn't used before.
* Utilize other methods.
* Update special_attacks.cpp
2023-04-15 13:20:04 -04:00
Aeadoin
7523c972fa
[Crash] Fix crash with uninitialized item instance, and Bot timeout ( #3296 )
2023-04-15 13:12:48 -04:00
Alex King
4320c1429e
[Cleanup] Remove _GetMovementSpeed() from mob.h ( #3276 )
...
# Notes
- This is unused.
2023-04-14 19:42:48 -04:00
Alex King
dc8bfddd7a
[Cleanup] Remove IsFullHP from mob.cpp/mob.h ( #3277 )
...
# Notes
- This is unused.
2023-04-14 19:42:39 -04:00
Alex King
a8cdfb07e6
[Cleanup] Remove pendinggroup from mob.h ( #3278 )
...
# Notes
- This is unused.
2023-04-14 19:42:27 -04:00
Alex King
011de2692e
[Cleanup] Remove IsMeleeDmg() from skills.cpp/skills.h ( #3279 )
...
# Notes
- This is unused.
2023-04-14 19:42:14 -04:00
Alex King
0cc76ab489
[Cleanup] Remove position_same_update_count from client.cpp/client.h ( #3280 )
...
# Notes
- This is unused.
2023-04-14 19:42:01 -04:00
Alex King
c5c9985e0d
[Cleanup] Remove ExportVarComplex() from embparser.cpp/embparser.h ( #3282 )
...
# Notes
- This is unused.
2023-04-14 19:41:23 -04:00
Alex King
a7e95d7818
[Cleanup] Delete embxs.cpp/embxs.h ( #3284 )
...
* [Cleanup] Delete embxs.cpp/embxs.h
# Notes
- These files and the one method in them are unused.
* Update embperl.cpp
2023-04-14 19:40:51 -04:00
Alex King
933d856b5b
[Cleanup] Remove GetQGlobal() from qglobals.cpp/qglobals.h ( #3285 )
...
# Notes
- This is unused.
2023-04-14 19:40:35 -04:00
Alex King
285cc3af29
[Cleanup] Remove item_timers from questmgr.cpp/questmgr.h ( #3286 )
...
* [Cleanup] Remove item_timers from questmgr.cpp/questmgr.h
# Notes
- This is unused.
* Update questmgr.h
2023-04-14 19:40:21 -04:00
Alex King
de8ae7afa6
[Cleanup] Cleanup zone/zoning.cpp ( #3289 )
...
# Notes
- Duplicate outcome cases in `Client::Handle_OP_ZoneChange`.
- Use `.length()` over `strlen` in array defintition.
- Remove unnecessary `else if` in `Client::ZonePC`
2023-04-14 19:40:01 -04:00
Alex King
1b272cba50
[Cleanup] Remove unused ctor and use default dtor in xtargetautohaters.h ( #3290 )
...
* [Cleanup] Remove unused ctor and use default dtor in xtargetautohaters.h
# Notes
- Utilize default dtor.
- Remove unused ctor.
* Update zone_event_scheduler.cpp
2023-04-14 19:39:25 -04:00
Alex King
e35e38b039
[Cleanup] Remove unused variables and use reference in task_manager.cpp ( #3291 )
...
# Notes
- Remove unused `query` and `item` variable.
- Use a reference for task data instead of calling `cts->m_completed_tasks[task_index]` over and over.
2023-04-14 19:39:07 -04:00
Alex King
9215ba7a8a
[Cleanup] Remove always true statements in task_client_state.cpp ( #3292 )
...
# Notes
- `!tasks_enabled.empty()` is always true.
- `tasks_disabled.size()` is always true.
2023-04-14 19:38:35 -04:00
Alex King
3f4334985b
[Cleanup] Remove unnecessary condition and cleanup variable name in tasks.cpp ( #3293 )
...
# Notes
- `task_state` is verified by `safe_delete`.
- `size` is the name of a member variable, we should just use `sizeof(uint32_t)` instead.
2023-04-14 19:38:28 -04:00
Alex King
21002c2e8a
[Quest API] Fix LDoN Methods in Perl/Lua ( #3287 )
...
# Perl
- Add `quest::removeldonloss(theme_id)`.
- Add `quest::removeldonwin(theme_id)`.
# Lua
- Fix `eq.remove_ldon_win(theme_id)` as it was using `quest_manager.addldonwin(theme_id)` instead of `quest_manager.removeldonwin(theme_id)`.
2023-04-10 16:16:54 -04:00
Alex King
445f967ed6
[Quest API] Add ApplySpellRaid() and SetSpellDurationRaid() to Bots in Perl/Lua ( #3274 )
...
# Perl
- Add `$bot->ApplySpellRaid(spell_id)`.
- Add `$bot->ApplySpellRaid(spell_id, duration)`.
- Add `$bot->ApplySpellRaid(spell_id, duration, allow_pets)`.
- Add `$bot->ApplySpellRaid(spell_id, duration, allow_pets, is_raid_group_only)`.
- Add `$bot->SetSpellDuration(spell_id)`.
- Add `$bot->SetSpellDuration(spell_id, duration)`.
- Add `$bot->SetSpellDuration(spell_id, duration, allow_pets)`.
- Add `$bot->SetSpellDuration(spell_id, duration, allow_pets, is_raid_group_only)`.
# Lua
- Add `bot:ApplySpellRaid(spell_id)`.
- Add `bot:ApplySpellRaid(spell_id, duration)`.
- Add `bot:ApplySpellRaid(spell_id, duration, allow_pets)`.
- Add `bot:ApplySpellRaid(spell_id, duration, allow_pets, is_raid_group_only)`.
- Add `bot:SetSpellDuration(spell_id)`.
- Add `bot:SetSpellDuration(spell_id, duration)`.
- Add `bot:SetSpellDuration(spell_id, duration, allow_pets)`.
- Add `bot:SetSpellDuration(spell_id, duration, allow_pets, is_raid_group_only)`.
# Notes
- These methods weren't added initially as we did not support bots in raid groups until recently.
2023-04-09 12:00:12 -04:00
Alex King
57a15d473f
[Quest API] Add GetBuffSpellIDs() to Perl/Lua ( #3273 )
...
# Perl
- Add `$mob->GetBuffSpellIDs()`.
# Lua
- Add `$mob->GetBuffSpellIDs()`.
# Notes
- These methods allow operators to get a list of a mob's buff IDs without having to loop through their buffs themselves.
2023-04-09 10:58:35 -04:00
Trent
df92c578d2
[Rules] Optional summoning when already in melee range ( #3204 )
...
* Add summon melee range rule
* Fix compilation
* Remove redundant range check for HateSummon
2023-04-08 18:04:17 -04:00
Aeadoin
3af43a8e8d
[Hotfix] Resolve loading of inventory ( #3272 )
2023-04-08 17:45:06 -04:00
Aeadoin
647bcce30b
[Crash] Resolve crash due to uninitialized pointer. ( #3271 )
2023-04-08 17:21:53 -04:00
Alex King
25b527156c
[Cleanup] Fix possible nullptr inst in GetSharedBank() ( #3190 )
...
* [Cleanup] Fix possible nullptr inst in GetSharedBank()
# Notes
- We weren't continuing if we had a `nullptr`.
* Update shareddb.cpp
* Fix.
2023-04-08 09:42:10 -04:00
Aeadoin
b3ab7deb80
[Bots] Cleanup GetBotTables() ( #3270 )
2023-04-06 17:43:57 -05:00
Alex King
4a9cb07132
[Cleanup] Remove unnecessary setting of reuse variable in Bot::DoClassAttacks() ( #3233 )
...
# Notes
- Bash, Kick, and Taunt have the same reuse time, no reason to set it to the same value.
2023-04-05 19:17:15 -04:00
Alex King
8f1b62d166
[Cleanup] Remove always true/false conditions from bot.cpp ( #3237 )
...
* [Cleanup] Remove always true/false conditions from bot.cpp
# Notes
- Some of these conditions were always true or false based on previous conditions.
* Update bot.cpp
2023-04-05 19:05:49 -04:00
Alex King
7e9994b5d4
[Cleanup] Fix ornamentation augment icons in inspect requests ( #3264 )
...
* [Cleanup] Fix ornamentation augment icons in inspect requests
# Notes
- We were not setting `aug_item` to the ornamentation augment when we found one.
* Update client.cpp
2023-04-05 19:04:32 -04:00
Chris Miles
f2f8fae58b
[Telnet] Telnet encoding fix ( #3269 )
2023-04-05 12:16:25 -04:00
Alex King
3a1e88f9ed
[Cleanup] Remove unused SetConfigFile in common/eqemu_config.h ( #3208 )
...
# Notes
- This is unused.
2023-04-05 12:15:10 -04:00
Alex King
4e101aa6d6
[Cleanup] Use default dtor instead of empty dtor for EQTime in eqtime.cpp/eqtime.h ( #3210 )
...
# Notes
- This is better than using an empty dtor.
2023-04-05 12:15:02 -04:00
Alex King
ef411ee154
[Cleanup] Use default ctor instead of an empty ctor. ( #3206 )
...
# Notes
- Use `= default;` instead of an empty ctor.
- https://pvs-studio.com/en/docs/warnings/v832/
2023-04-05 12:14:22 -04:00
Alex King
93b3f97f24
[Cleanup] Cleanup discord.cpp and discord_manager.cpp ( #3205 )
...
# Notes
- Unused variables in `discord.cpp`.
- Use `.clear()` instead of setting to `""` in `discord_manager.cpp`.
2023-04-05 12:14:14 -04:00
Alex King
c1d4cb90b9
[Cleanup] Cleanup cheap-to-copy reference to use value instead in eq_stream_ident.cpp/eq_stream_ident.h ( #3209 )
...
# Notes
- More performant to pass by value than by reference.
2023-04-05 12:14:01 -04:00
Alex King
e939c82717
[Cleanup] Convert equipable_slot_list to std::vector from std::list in bot_command.cpp ( #3253 )
...
# Notes
- No need to use a `std::list` here.
2023-04-05 11:35:04 -04:00
Alex King
7d03479f41
[Cleanup] Use constant reference and check for empty string properly in dbcore.cpp ( #3203 )
...
# Notes
- Passing by constant reference is more performant.
- Checking for empty string with `!= '\0'` is more performant.
- https://pvs-studio.com/en/docs/warnings/v805/
- https://pvs-studio.com/en/docs/warnings/v813/
2023-04-05 11:27:50 -04:00
Alex King
ff440e16b6
[Cleanup] Use .clear() and .empty() instead of comparing to empty string or setting to empty string in CheckDatabaseConvertPPBlob() ( #3201 )
...
# Notes
- Use these methods to increase performance.
2023-04-05 11:27:12 -04:00
Alex King
c6bb0f6495
[Cleanup] Move variable definition to more relevant scope in DatabaseDumpService::Dump() ( #3200 )
...
# Notes
- This was unused except for in this one spot, move to scope of condition where it's used.
- https://pvs-studio.com/en/docs/warnings/v821/
2023-04-05 11:26:21 -04:00
Alex King
d142bc552a
[Cleanuo] Only define row if we have results in Database::GetCharacterID() ( #3199 )
...
# Notes
- This is more performant and we don't unnecessarily define a variable we can't use.
- https://pvs-studio.com/en/docs/warnings/v821/
2023-04-05 11:25:28 -04:00
Alex King
7dc57c3b05
[Cleanup] Utilize .empty() instead of checking for an empty string in Database::ReserveName() ( #3198 )
...
# Notes
- This is more performant.
- https://pvs-studio.com/en/docs/warnings/v815/
2023-04-05 11:24:54 -04:00
Alex King
ea9b09cf1f
[Cleanup] Remove unused variable in Database::CopyCharacter() ( #3197 )
...
# Notes
- This variable was created but never used.
- https://pvs-studio.com/en/docs/warnings/v808/
2023-04-05 11:24:27 -04:00
Alex King
968278d8f8
[Cleanup] Use .clear() instead of setting string to empty in eqemu_command_handler.cpp ( #3195 )
...
# Notes
- `x = ""` has less performance than `x.clear()`.
- https://pvs-studio.com/en/docs/warnings/v815/
2023-04-05 11:24:12 -04:00
Alex King
aa910864c8
[Cleanup] Remove unused macros in common/types.h ( #3194 )
...
# Notes
- These are unused.
2023-04-05 11:23:37 -04:00
Alex King
1499f3338e
[Cleanup] Remove always true condition in Strings::Commify() ( #3193 )
...
# Notes
- `i < 0` was always true.
2023-04-05 11:23:24 -04:00
Alex King
fef2f9fc61
[Cleanup] Fix shared_tasks.cpp/shared_tasks.cpp variable named same as class member ( #3192 )
...
* [Cleanup] Fix shared_tasks.cpp/shared_tasks.cpp variable named same as class member
# Notes
- This variable was named `m_db_shared_task` which is the same as `SharedTask:;m_db_shared_task`.
* Single letter receiver of complex type.
2023-04-05 11:22:42 -04:00
Alex King
8afbc585da
[Cleanup] Remove bool return from GetSharedPlatinum() ( #3191 )
...
# Notes
- This was returning `false` and implicitly converting it to an integer.
2023-04-05 11:22:23 -04:00
Alex King
457ce85746
[Cleanup] Cleanup always true/false statements in shareddb.cpp ( #3189 )
...
# Notes
- `parent_index < EQ::invslot::SLOT_BEGIN` was always `false`.
- `item->LoreGroup != -1` was always `true`.
2023-04-05 11:21:43 -04:00
Alex King
49c093dc62
[Cleanup] Remove always true statement in say_link.cpp ( #3188 )
...
# Notes
- This is always true since we check `!saylinks.empty()` prior to this.
2023-04-05 11:20:52 -04:00
Alex King
beccd557a8
[Cleanup] Cleanup item_instance.cpp always true statements and reassigning of same values ( #3187 )
...
# Notes
- Some things were always true.
- Some values were reassigned to the value they already were.
2023-04-05 11:20:36 -04:00
Alex King
e11610b9fa
[Cleanup] Remove unnecessary check for IsStackable() in DeleteItem() ( #3186 )
...
# Notes
- We check the opposites therefore we don't need either.
- https://pvs-studio.com/en/docs/warnings/v728/
2023-04-05 11:20:13 -04:00
Alex King
3e652b98bc
[Cleanup] Cleanup macros in features.h ( #3185 )
...
# Notes
- These needed to either be wrapped in parentheses or simplified to their values.
- https://pvs-studio.com/en/docs/warnings/v1003/
2023-04-05 11:18:22 -04:00
Alex King
d43af28de4
[Cleanup] Multiple cases with same outcome in GetDiscordPayloadFromEvent() ( #3184 )
...
# Notes
- All 4 of these use `FormatWithNodata`.
2023-04-05 11:17:52 -04:00
Alex King
f5106b6af6
[Cleanup] Remove unused code in eq_packet.cpp/eq_packet.h ( #3183 )
...
# Notes
- These are unused.
2023-04-05 11:17:29 -04:00
Alex King
3386d13d2d
[Cleanup] results variable is assigned but never used in SaveCharacterCreate() ( #3180 )
...
# Notes
- This was unnecessary since `QueryDatabase()` runs regardless.
2023-04-05 11:17:10 -04:00
Alex King
d1b7c675f9
[Cleanup] Validate for nullptrs in bot.cpp ( #3232 )
...
* [Cleanup] Validate for nullptrs in bot.cpp
# Notes
- Validate for nullptrs in these spots in bot.cpp before using the variable.
* Update bot.cpp
2023-04-05 11:15:46 -04:00
Alex King
a40e1cf893
[Cleanup] Add missing breaks and returns in bonuses.cpp ( #3231 )
...
# Notes
- Many spots were missing a `break;` or a `return` for their value.
2023-04-05 11:15:22 -04:00
Alex King
c81ab00764
[Cleanup] Set bonuses to use spell ID instead of boolean ( #3230 )
...
# Notes
- Spell bonuses `Illusion` is the spell ID, not a boolean.
2023-04-05 11:14:55 -04:00
Alex King
025ef5e1d6
[Cleanup] Move unreachable code in ApplySpellsBonuses() ( #3229 )
...
# Notes
- This code was unreachable since it was inside the switch and should have been checked on its own in the condition where we verify we are using AISpellEffects.
2023-04-05 11:14:28 -04:00
Alex King
1f29a40e6d
[Cleanup] Remove extraneous check for NegateAttacks in SE_NegateAttacks ( #3228 )
...
# Notes
- We checked both, we only need to check one.
2023-04-05 11:12:02 -04:00
Alex King
66cadd599b
[Cleanup] Remove extraneous parentheses around math in Mob::ApplySpellsBonuses() ( #3227 )
...
# Notes
- Extra parentheses.
2023-04-05 11:11:41 -04:00
Alex King
aa0345c1f1
[Cleanup] Cleanup duplicate conditions in negate bonuses in bonuses.cpp ( #3226 )
...
# Notes
- Lots of duplicate conditions.
2023-04-05 11:11:22 -04:00
Alex King
73b11c5036
[Cleanup] SE_StrikeThrough and SE_StrikeThrough2 are the same in bonuses.cpp ( #3223 )
...
# Notes
- These were the same code duplicated.
2023-04-05 11:05:59 -04:00
Alex King
efbeb2dbb7
[Cleanup] SE_AttackSpeed3 effect_value is always less than 0 ( #3222 )
...
# Notes
- This was always false.
2023-04-05 11:05:44 -04:00
Alex King
8c97c20727
[Cleanup] Fix skill_used being used as boolean in Mob::CommonDamage() ( #3220 )
...
# Notes
- This is unnecessary as we always have a skill value.
2023-04-05 11:03:28 -04:00
Alex King
f2d07e5c69
[Cleanup] Remove unnecessary break in while loop in Mob::AddToHateList() ( #3219 )
...
# Notes
- This is unnecessary and breaks the loop for no reason.
2023-04-05 10:31:57 -04:00
Alex King
64d5b54e65
[Cleanup] Fix filter condition in attack.cpp ( #3218 )
...
# Notes
- This condition was causing them to be used as `booleans` versus being checked individually.
2023-04-05 10:31:34 -04:00
Alex King
89b3a04eb3
[Cleanup] Identical conditions right beside each other in aa.cpp ( #3213 )
...
# Notes
- These conditions were identical and could be consolidated.
2023-04-05 10:30:27 -04:00
Alex King
1bafe0b6b3
[Cleanup] other is always defined in these cases in attack.cpp ( #3217 )
...
# Notes
- `other` is always defined since we check it prior to checking here.
2023-04-05 10:30:13 -04:00
Alex King
82762c3f5a
[Cleanup] Use variable for character instead of a loop ( #3268 )
...
# Notes
- Store character in a variable instead of looping a list of 1 entry.
2023-04-05 10:29:16 -04:00
Alex King
2742eca119
[Cleanup] Remove unnecessary conditions in Client::SendFactionMessage() ( #3267 )
...
# Notes
- `faction_value < this_faction_max` and `faction_value > this_faction_min` are always true if they get to that point in the code.
2023-04-05 10:27:15 -04:00
Alex King
8fc7f3a732
[Cleanup] Cleanup unnecessary condition in Client::SendAlternateCurrencyValue() ( #3266 )
...
# Notes
- `value == 0` is unnecessary as it can only be 0 if we fail the `value > 0` check.
2023-04-05 10:27:01 -04:00
Alex King
39ce0178f9
[Cleanup] Remove unnecessary conditions in Client::Consume() ( #3265 )
...
# Notes
- We check `increase < 0` prior to this, so this can't ever happen.
2023-04-05 10:26:32 -04:00
Alex King
3d2f560436
[Cleanup] Fix GetLastName() length check in Client::SendWindow() ( #3263 )
...
# Notes
- `target->GetLastName()` was always true, we need to make sure the target has a last name.
2023-04-05 10:23:54 -04:00
Alex King
a0768d2d28
[Cleanup] Remove unnecessary conditions in Client::FilteredMessageCheck() ( #3262 )
...
# Notes
- We check `FilterHide` prior to the secondary conditions, so it can never show up.
2023-04-05 10:23:33 -04:00
Alex King
9009a7aa23
[Cleanup] Remove extra assignment of current_endurance in Client ctor ( #3261 )
...
# Notes
- We already assign `current_endurance` to `0`, no need to do it again.
2023-04-05 10:23:20 -04:00
Alex King
67b03b4e31
[Cleanup] Combine similar cases in Client::InitInnates() ( #3260 )
...
# Notes
- These cases were the same, consolidating them is better.
2023-04-05 10:23:05 -04:00
Alex King
b08975aefb
[Cleanup] Use .empty() in Client::ScribeSpells() and Client::LearnDisciplines() ( #3259 )
...
* [Cleanup] Use .empty() in Client::ScribeSpells() and Client::LearnDisciplines()
# Notes
- Use `.empty()` instead of using a variable storing size in condition.
* Update client.cpp
2023-04-05 10:22:36 -04:00
Alex King
ea3a7cae0b
[Cleanup] Remove always true conditions and unreachable code in Client::SendMercPersonalInfo() ( #3258 )
...
* [Cleanup] Remove unreachable code in Client::SendMercPersonalInfo()
# Notes
- This cannot be reached due to prior returns.
* Update client.cpp
* Update client.cpp
2023-04-05 10:14:07 -04:00
Alex King
81314a3315
[Cleanup] Fix check for !this in Client::SendHPUpdateMarquee() ( #3257 )
...
# Notes
- `!this` isn't valid, as `this` can never be nullptr.
2023-04-05 10:13:24 -04:00
Alex King
d33cfad567
[Cleanup] Fix always false conditions in Client::IncStats() ( #3256 )
...
# Notes
- Value can never be less than `0` as it's unsigned.
2023-04-05 10:12:32 -04:00
Alex King
c1698a5bdd
[Cleanup] Fix possible overflows in Client::AddPlatinum() and Client::TakePlatinum() ( #3255 )
...
# Notes
- Fix possible overflows by casting properly.
2023-04-05 10:10:33 -04:00
Alex King
2a094e8792
[Cleanup] Use variable for c->GetTarget() instead of calling multiple times in bot_command.cpp ( #3254 )
...
# Notes
- Calling multiple times is less performant than using a variable.
2023-04-05 10:09:19 -04:00
Alex King
4a0725e278
[Cleanup] Cleanup string -> char* -> string conversions in bot_command.cpp ( #3252 )
...
# Notes
- We were converting back and forth between types unnecessarily.
2023-04-05 09:59:43 -04:00
Alex King
218ffbb2c5
[Cleanup] Delete unused strings in bot_command.cpp ( #3251 )
...
# Notes
- These are unused.
2023-04-05 09:59:24 -04:00
Chris Miles
3e30e78158
[Backups] Fix database dump error reporting ( #3175 )
...
* [Backups] Fix database dump error reporting
* Update database_dump_service.cpp
2023-04-04 00:14:23 -05:00
Aeadoin
ff2af0c49e
[Release] 22.9.1 ( #3250 )
2023-04-03 17:49:39 -04:00
Alex King
cd5697bc81
[Cleanup] Multiple cases same outcome and set skip variable to same value ( #3216 )
...
# Notes
- `skip` is set to `attacker` before it's set to `attacker` again.
- Multiple spots in `Mob::AttackAnimation` use the same animations.
2023-04-03 17:24:27 -04:00
Alex King
b1571cd062
[Cleanup] Wake The Dead argument was named the same as a member variable in Mob ( #3214 )
...
# Notes
- Member variable is also named `target`.
2023-04-03 17:23:48 -04:00
Alex King
3e5d0a0601
[Cleanup] Unconditional return in for loop in GetRaidByCharID() ( #3179 )
...
# Notes
- This is improper and should just check if we have no result, return `0`, otherwise return `row[0]` of the row we queried.
2023-04-03 17:23:32 -04:00
Alex King
6a80a061dd
[Cleanup] Multiple cases with same outcome in GetGMSayColorFromCategory() ( #3182 )
...
# Notes
- Both cases have the same return.
- https://pvs-studio.com/en/docs/warnings/v1037/
2023-04-03 17:20:43 -04:00
Alex King
509fd0615e
[Cleanup] Remove unused query variable in Database::DeleteInstance() ( #3202 )
...
# Notes
- Variable was defined but never used.
2023-04-03 17:18:40 -04:00
Alex King
da5e672a28
[Cleanup] Remove unnecessary group validation in Bot::Death() ( #3235 )
...
# Note
- We already break if there is no group above, revalidation is unnecessary.
2023-04-03 17:15:09 -04:00
Alex King
7090382074
[Cleanup] Remove unnecessary skill_to_use check in Bot::DoClassAttacks() ( #3236 )
...
# Notes
- `skill_to_use` will never be `-1` as it passes through the switch and checks class.
2023-04-03 17:11:56 -04:00
Alex King
26eabcd7a4
[Cleanup] Explicitly cast to float for more precision in Bot::GenerateBastHitPoints() ( #3238 )
...
# Notes
- Not casting explicitly we lost precision.
2023-04-03 17:05:48 -04:00
Alex King
60091015d3
[Cleanup] Remove unnecessary >= 0 checks for procs in botspellsai.cpp ( #3242 )
...
# Notes
- These are always `>= 0` since they're `uint16`.
2023-04-03 17:05:03 -04:00
Alex King
470392021b
[Cleanup] Remove unnecessary setting of spell_type_index in Bot::GetChanceToCastBySpellType() ( #3243 )
...
# Notes
- The default is already `SPELL_TYPE_COUNT`, no need to set it again.
2023-04-03 17:04:51 -04:00
Alex King
90984c3215
[Cleanup] Remove unnecessary spell_list validation check in botspellsai.cpp ( #3244 )
...
# Notes
- We check if valid above, no need to do it again.
2023-04-03 17:03:56 -04:00
Alex King
da2296d416
[Cleanup] Remove unnecessary hpr checks in Bot::BotCastHeal() ( #3245 )
...
# Notes
- These checks are unnecessary as we know it doesn't pass previous checks.
2023-04-03 17:03:36 -04:00
Alex King
c9221f239c
[Cleanup] Remove unnecessary botCaster check in Bot::GetDebuffBotSpell() ( #3246 )
...
# Notes
- We already check if `botCaster` is invalid above, no need to do so again.
2023-04-03 17:02:48 -04:00
Alex King
f4edc69a87
[Cleanup] Cleanup unnecessary string -> char* -> string conversions in eqemu_config.cpp ( #3207 )
...
# Notes
- These conversions are unnecessary since we can just use the string itself.
2023-04-03 17:01:44 -04:00
Alex King
7d04608c4d
[Cleanup] summon_count > MAX_SWARM_PETS is always false in aa.cpp ( #3212 )
...
# Notes
- This was always false.
2023-04-03 17:00:08 -04:00
Alex King
32be049d96
[Cleanup] Remove extraneous loottable_id setting in WakeTheDead in aa.cpp ( #3215 )
...
# Notes
- We already set `made_npc->loottable_id` to `0` above.
2023-04-03 16:59:06 -04:00
Alex King
26fd52fb06
[Cleanup] Fix SEResist array settings duplicate code ( #3225 )
...
# Notes
- These conditions did the same thing, combining them is simpler.
2023-04-03 16:53:48 -04:00
Alex King
5dd849ac75
[Cleanup] Fix typo where itembonuses should have been used instead of spellbonuses ( #3221 )
...
# Notes
- `itembonuses` was the proper name here, not `spellbonuses`.
2023-04-03 16:51:22 -04:00
Alex King
f484fe4176
[Cleanup] gid is assigned 2 values simultaneously in bot.cpp ( #3234 )
...
# Notes
- Unnecessarily assigning the value twice simultaneously.
2023-04-03 16:47:46 -04:00
Alex King
3d20c0d6aa
[Cleanup] Change level to bot_level in Bot::DoClassAttacks() to not overlap member variable ( #3239 )
...
# Notes
- Member variable is named `level`, change variable to `bot_level` so we don't cause issues.
2023-04-03 16:47:31 -04:00
Alex King
0297045cc5
[Cleanup] Move cases in Bot::AICastSpell() ( #3247 )
...
# Notes
- These all returned `false`, no need to be separate.
2023-04-03 16:46:31 -04:00
Alex King
cb90d00832
[Cleanup] Cleanup variable names in Bot::AddSpellToBotList() ( #3248 )
...
# Notes
- `max_hp` was named after a member variable.
2023-04-03 16:45:36 -04:00
Aeadoin
f752b57a55
[Cleanup] Cleanup uses of insert/push_back when a temp object is used. ( #3170 )
2023-04-03 16:45:01 -04:00
Alex King
2bb15271c5
[Cleanup] Fix possible dereferencing of invalid iterator in constants ( #3181 )
...
# Notes
- Possible dereferencing of invalid iterator based on logic: https://pvs-studio.com/en/docs/warnings/v783/
2023-04-03 16:42:45 -04:00
Alex King
6976e27501
[Cleanup] Use a constant reference for content_flags in SetContentFlags() ( #3196 )
...
# Notes
- This is more performant.
- https://pvs-studio.com/en/docs/warnings/v813/
- https://pvs-studio.com/en/docs/warnings/v820/
2023-04-03 16:38:20 -04:00
Alex King
c9f27d6f90
[Cleanup] Remove possible dereferenced nullptrs in bot.cpp ( #3241 )
...
# Notes
- Possible dereferenced nullptrs based on logic.
2023-04-03 16:30:46 -04:00
Alex King
cb129efcad
[Cleanup] Fix loop and code duplication for SE_ProcOnKillShot ( #3224 )
...
* [Cleanup] Fix loop for SE_ProcOnKillShot
# Notes
- We were doing `e = 3` instead of doing `e += 3`.
* Update bonuses.cpp
2023-04-03 16:28:15 -04:00
Aeadoin
d653989b03
[Bug Fix] Fix issue with Bot Raid invites not working. ( #3249 )
...
* [Bug Fix] Fix issue with Bot Raid invites not always working.
* ordering
2023-04-03 16:28:05 -04:00
Alex King
ea9b373180
[Cleanup] Further bot.cpp nullptr checks ( #3240 )
...
# Notes
- `nullptr` validation
2023-04-03 16:25:00 -04:00
Aeadoin
a4e006fbfb
[Bug Fix] Correct Forward Declaration compilation warning ( #3176 )
...
* [Bug Fix] Correct Forward Declaration compilation warning
* no need for include
2023-04-02 12:19:43 -04:00
Aeadoin
1ffdd4cb34
[Performance] Change to use Pass by reference where valid. ( #3163 )
...
* [Performance] Change to use Pass by reference where valid.
* typo
2023-04-01 22:55:40 -04:00
Aeadoin
7f7ba2e6c2
[Cleanup] Remove unused Includes under zone files ( #3162 )
2023-04-01 22:55:28 -04:00
Aeadoin
090086f50c
[Release] 22.9.0 ( #3174 )
2023-04-01 14:27:52 -04:00
Alex King
407b003f7d
[Cleanup] Add client pointer validation to Zone::GetClosestZonePoint() ( #3173 )
...
# Notes
- We were not validating pointer here, could cause issues.
2023-04-01 14:22:52 -04:00
Alex King
b6d315d803
[Cleanup] Remove unnecessary validation check in Zone::ClearBlockedSpells() ( #3172 )
...
# Notes
- This is unnecessary, since `safe_delete_array` checks for validity.
2023-04-01 13:59:03 -04:00
Aeadoin
6927177291
[Fix] Correct SE_SlayUndead & SE_HeadShotLevel limit Value when applied. ( #3171 )
2023-04-01 13:31:13 -04:00
Aeadoin
31ede355a8
[Cleanup] Cleanup excessive type casting: string -> char * -> string ( #3169 )
...
* [Cleanup] Cleanup excessive type casting: string -> char * -> string
* [Cleanup] Cleanup excessive type casting: string -> char * -> string
2023-04-01 12:45:16 -04:00
Aeadoin
0df84e1ee6
[Crash] Fix out of bound arrays, other potential crashes ( #3166 )
2023-04-01 12:44:41 -04:00
Aeadoin
0d509a7f3a
[Crash] Add Checks for valid pointers or fix existing. ( #3164 )
2023-04-01 12:44:00 -04:00
Aeadoin
4c2271ff69
[Fix] Prevent VerifyGroup from setting OOZ membername to Null character. ( #3168 )
2023-04-01 12:40:55 -04:00
Aeadoin
ca2072e7bf
[Bots] Remove Bot Groups Functionality ( #3165 )
...
* [Bots] Remove Bot Groups Functionality
* in-class initializers for member variables.
2023-03-31 21:37:52 -04:00
Alex King
e1eb1ff738
[Quest API] Add missing Luabind definitions to lua_general.cpp ( #3167 )
...
# Notes
- These definitions were missing somehow.
2023-03-31 21:05:01 -04:00
Aeadoin
25f5898bae
[Release] 22.8.2 ( #3161 )
2023-03-30 09:22:58 -04:00
Aeadoin
934ff3dadf
[Bug Fix] Correct logic checks for Bot rule AllowOwnerOptionAltCombat ( #3158 )
...
* [Bug Fix] Correct logic checks for Bot rule AllowOwnerOptionAltCombat
* fix ordering of raid/group checks
2023-03-30 08:31:57 -04:00
Aeadoin
e4ff76dceb
[Bug Fix] Fix for OOZ Group updates when removing/inviting Bots ( #3159 )
...
* [Bug Fix] Fix for Cross Zone Group updates with Bots when disbanding/joining groups.
* check for nullptr
2023-03-30 08:31:50 -04:00
Alex King
6960a1a682
[Bug Fix] Fix issues with Lua tables not starting at index 1 ( #3160 )
...
* [Bug Fix] Fix issues with Lua tables not starting at index 1
# Notes
- This would cause the first item in the table to be inaccessible since Lua tables start at index `1` instead of index `0`.
- All other spots using Lua tables have their indexes starting at `1`.
* Update lua_general.cpp
2023-03-30 06:02:53 -04:00
Aeadoin
d4174ca236
[Fix] Fix strcpy-param-overlap ( #3157 )
2023-03-29 08:33:06 -04:00
Aeadoin
7854130a93
[Bug Fix] Check Rule "Bots Enabled" to prevent bot database calls on connect ( #3154 )
...
* [Bug Fix] Check for Rule "Bots Enabled" to prevent bot database calls if not enabled.
* formatting
* check if LoadBotsList failed, or is bots_list empty
2023-03-28 22:44:47 -04:00
Alex King
e9c63c7d94
[Rules] Remove Guild Bank Zone ID Rule ( #3156 )
...
# notes
- This rule is useless as guild bank zone ID is hard-coded into the client.
2023-03-28 21:58:58 -04:00
Aeadoin
27e0665aae
[Bug Fix] Fix bot_raid_members.sql for MYSQL. ( #3155 )
2023-03-28 15:25:16 -04:00
Alex King
ea2f431fce
[Fix] Fix an issue with EVENT_DISCONNECT not firing on regular /camp ( #3153 )
...
* [Fix] Fix an issue with EVENT_DISCONNECT not firing on regular /camp
# Notes
- We were only sending `EVENT_DISCONNECT` on GM instant camps or linkdeads.
* Update client_process.cpp
2023-03-27 21:45:02 -04:00
Aeadoin
8bdcf7cb94
[Crash] Add Checks for out of bounds & dereferencing nullptrs ( #3151 )
...
* [Crash] Add Checks for out of bounds/nullptr dereferences
* formatting
* formatting
* formatting
* Update bot.cpp
---------
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
2023-03-27 21:43:46 -04:00
Aeadoin
87cb74b851
[Release] 22.8.1 ( #3152 )
2023-03-27 17:55:48 -04:00
Alex King
26c267db1b
[Cleanup] "equipped" not "equiped", "dual" not "duel". ( #3149 )
...
* [Cleanup] "equipped" not "equiped", "dual" not "duel".
# Notes
- These are spelled incorrectly.
* Update spdat.h
* Formatting further.
* Update api_service.cpp
2023-03-27 17:55:37 -04:00
Aeadoin
99f8e6cef5
[Bug Fix] Fix for NPCs having spells interrupted. ( #3150 )
2023-03-27 16:57:08 -04:00
Aeadoin
b6917ec782
[Release] 22.8.0 ( #3148 )
2023-03-25 20:48:43 -04:00
Aeadoin
eb51550109
[Cleanup] Cleanup Strings::ToInt uses. ( #3142 )
...
* [Cleanup] Cleanup Strings::ToInt uses.
* fix for conversion
* remove != 0
* cleanup
2023-03-25 20:32:30 -04:00
Alex King
9d1ace627c
[Feature] Add support for -1 extradmgskill to allow all skills to be scaled. ( #3136 )
...
* [Feature] Add support for -1 extradmgskill to allow all skills to be scaled.
- `$mob->GetSkillDmgAmt(skill_id)` now uses `int` instead of `uint16`.
- `statbonuses:GetSkillDamageAmount(skill_id)` now uses `-1` properly.
- `mob:GetSkillDmgAmt(skill_id)` now uses `int` instead of `uint16`.
- A `-1` value in `extradmgskill` denotes the ability to scale all skills at once.
- Consolidated `AddItemBonuses()`, `AdditiveWornBonuses()`, `CalcItemBonuses()`, and `CalcRecommendedLevelBonus()` to mob-based methods to avoid code duplication.
- Bots, NPCs, and Mercs can now use additive worn effects if the rule is enabled, as well as all other proper stat bonuses that only clients had before.
- No SQL update required to change `extradmgskill` and `extradmgamt` to `int` as they already are this type in the database, just had to adjust `item_data.h` and `shareddb.cpp`.
* Update mob.cpp
* Cleanup.
* Cleanup.
* Move #include <vector> to header.
* Add method for GetExtraDamageSkills
* fix additembonuses
* Update bonuses.cpp
* Update mob.cpp
* Out of bounds.
* Update bonuses.cpp
---------
Co-authored-by: Aeadoin <109764533+Aeadoin@users.noreply.github.com >
2023-03-25 20:26:01 -04:00
Aeadoin
ec3ef411a1
[Fix] Fix for SQL Query in npc_scale_global_base ( #3144 )
2023-03-25 20:08:40 -04:00
Aeadoin
1394b6a4d2
[Hotfix] Fix for Items looted from corpses. ( #3147 )
2023-03-25 20:00:31 -04:00
Aeadoin
7f41547963
[Crash] Fix for crash in Raid::QueuePacket ( #3145 )
...
* [Crash] Fix for crash in Raid::QueuePacket
* bots can't be a part of BalanceMana
* corrected additions
* adding additional is_bot gates
* updating raid for loops to be range based.
* typo
* formatting
* formatting
2023-03-25 18:02:05 -04:00
Alex King
2e4071cdcf
[Cleanup] Remove extern bool Critical ( #3146 )
...
# Notes
- This is unused.
2023-03-25 17:48:40 -04:00
Aeadoin
dc475a1bd7
[Release] 22.7.0 ( #3143 )
2023-03-24 15:11:42 -05:00
Aeadoin
59ad91a140
[Feature] Add Data Bucket support for scaling of Heroic Stats. ( #3058 )
...
* [Feature] Add Data Bucket support for scaling of Heroic Stats.
* update
* fixes, still reworking logic
* fixes, still reworking logic
* logic done
* logic done
* fixes
* Cleanup
* Cleanup
* Cleanup naming, verify behaviors
* formatting
* formatting
* fix issue with endurance and mana.
* update rule desc
* cleanup
* DataBucket Struct
* Cleanup data_bucket.cpp and add constants
* cleanup
* changes
* formatting
* fix from merge
* escape keyword `key`
* Add `key` to generator, run repository-generator.pl
* fix for change to key
* cleanup
* formatting
* formatting
* typo
2023-03-23 21:42:13 -04:00
Aeadoin
abc27ab423
[Bug Fix] Fix edge cases where camped bots would be left in a raid ( #3139 )
...
* [Bug Fix] Fix edge cases where camped bots would be left in a raid
* formatting
2023-03-23 19:23:34 -04:00
Aeadoin
c975dc2412
[Bug Fix] Fix for transferring Raid Leader ( #3140 )
2023-03-23 19:04:59 -04:00
Aeadoin
e085f271f5
[Bug Fix] Fix for incorrect bindpoint x,y,z,headings ( #3141 )
2023-03-23 18:55:56 -04:00
Alex
5a6314e1a9
[Fix] Fixes for corpses not properly saving some item instance data correctly. ( #3123 )
...
* Convert ZoneDb::LoadCharacterCorpseData to use a cleaner api that has a better layout.
* Update corpse save methods to use a new cleaner api.
* Add item to corpse will use a few new fields that don't yet save.
* Fix for some issues moving data to corpses.
* Make CreateItem more explicit to avoid overlooking places it's used and add more arguments.
* DB changes
* Revert of the changes to the database.CreateItem api change.
* Missed one.
* Fixes for mr Krab
* Small formatting
---------
Co-authored-by: KimLS <KimLS@peqtgc.com >
Co-authored-by: Akkadius <akkadius1@gmail.com >
2023-03-23 01:16:52 -05:00
Aeadoin
dc45e0d280
[Fix] Change SPA 193 Weapon Damage to allow values over 65,535 ( #3138 )
2023-03-23 01:06:51 -05:00
Aeadoin
2e2c4d64fe
[Cleanup] Cleanup uses of Strings::ToInt to match correct type. ( #3054 )
...
* [Cleanup] Cleanup uses of Strings::ToInt to match correct type.
* cleanup
2023-03-22 12:22:03 -04:00
Aeadoin
c5add503ab
[Bug Fix] Fix for Raid Disband if leader not in same zone. ( #3135 )
2023-03-21 19:16:01 -04:00
Aeadoin
fe2dcb6544
[Crash] Fix dangling Group member pointers for Bots. ( #3134 )
...
* [Crash] Fix dangling Group member pointers for Bots.
* fixes for edge cases
2023-03-21 11:57:04 -04:00
Alex King
4fe44f4cb6
[Quest API] Add Timer related methods to Mobs in Perl/Lua ( #3133 )
...
* [Quest API] Add Timer related methods to Mobs in Perl/Lua
# Perl
- Add `quest::ispausedtimer(timer_name)`.
- Add `quest::pausetimer(timer_name)`.
- Add `quest::resumetimer(timer_name)`.
- Add `$mob->GetRemainingTimeMS(timer_name)`.
- Add `$mob->GetTimerDurationMS(timer_name)`.
- Add `$mob->HasTimer(timer_name)`.
- Add `$mob->IsPausedTimer(timer_name)`.
- Add `$mob->PauseTimer(timer_name)`.
- Add `$mob->ResumeTimer(timer_name)`.
- Add `$mob->SetTimer(timer_name)`.
- Add `$mob->SetTimerMS(timer_name)`.
- Add `$mob->StopTimer(timer_name)`.
# Lua
- Add `mob:GetRemainingTimeMS(timer_name)`.
- Add `mob:GetTimerDurationMS(timer_name)`.
- Add `mob:HasTimer(timer_name)`.
- Add `mob:IsPausedTimer(timer_name)`.
- Add `mob:PauseTimer(timer_name)`.
- Add `mob:ResumeTimer(timer_name)`.
- Add `mob:SetTimer(timer_name)`.
- Add `mob:SetTimerMS(timer_name)`.
- Add `mob:StopTimer(timer_name)`.
# Notes
- The mob-based methods allow operators to loop entity list or whatever to set, stop, resume, pause, etc for timers.
* StopAllTimers()
* Update questmgr.cpp
2023-03-20 16:18:51 -04:00
Alex King
63a8d2d641
[Cleanup] Delete zone_numbers.h ( #3129 )
...
* [Cleanup] Delete zone_numbers.h
# Notes
- This is unused.
* Update client_packet.cpp
* Update client_packet.cpp
2023-03-20 12:06:40 -04:00
Alex King
abcb5d069f
[Cleanup] Remove FindPatch() from struct_category.cpp and struct_category.h ( #3130 )
...
# Notes
- This is unused.
2023-03-20 12:06:10 -04:00
Aeadoin
d6b954a4b9
[Cleanup] Cleaning up Raid.cpp ( #3125 )
...
* [Cleanup] Cleanup Raid.cpp
* cleanup
* fix is_bot instances
* bracket cleanup
* bracket cleanup
* rename variables in struct
* fix for merge
2023-03-20 11:39:14 -04:00
Alex King
2415645b86
[Fix] Fix typo for bot_id raid_members column in db_update_manifest.txt ( #3132 )
...
# Notes
- This was causing this query to run over and over.
2023-03-19 22:32:35 -04:00
Aeadoin
e77a83f8c3
[Rule] Add Rule to allow ExtraDmgSkill/SPA 220 to effect Spell Skills ( #3124 )
...
* [Rule] Add Rule to allow ExtraDmgSkill/SPA 220 to effect Spell Skills
* add support for rule "ItemExtraSkillDamageCalcAsPercent"
2023-03-19 12:16:32 -04:00
Alex King
a5d564a6fb
[Cleanup] Remove ChangeHP() from mob.h ( #3128 )
...
# Notes
- This is unused.
2023-03-19 10:18:31 -04:00
Alex King
2f4c91824e
[Feature] Add Item Extra Skill Damage Percent Modifier ( #3127 )
...
* [Feature] Add Item Extra Skill Damage Percent Modifier
# Notes
- Allows `Character:ItemExtraDmgCap` to be disabled if set to `-1` or lower.
- Allows operators to set `Character:ItemExtraSkillDamageCalcAsPercent` to `true` to allow skill damage for Frenzy, Backstab, Bash, Slam, Kick, and all Monk attacks to scale with a percentage based on `extradmgamt` values from items and spells.
* > 0
2023-03-19 09:59:13 -04:00
Aeadoin
53e6f931c9
[Crash] Fixes Crash when Zoning with XTarget when Bots are in group. ( #3126 )
2023-03-19 08:26:16 -04:00
Alex King
a6efb1e8b5
[Cleanup] Remove GetStartCount() and InitStartTimer() from zone_launch.cpp and zone_launch.h ( #3121 )
...
# Notes
- These are unused.
2023-03-17 19:21:50 -04:00
Alex King
b2757143a8
[Cleanup] Remove SetConnection() from loginserver/world_server.h ( #3120 )
...
# Notes
- This is unused.
2023-03-17 19:21:44 -04:00
Alex King
6e5da0e558
[Cleanup] Remove GetServerByAddress() from server_manager.h ( #3119 )
...
# Notes
- This is unused.
2023-03-17 19:21:38 -04:00
Alex King
6b8e74a29f
[Cleanup] Remove PlayerLogin_Struct from login_types.h ( #3118 )
...
# Notes
- This is unused.
2023-03-17 19:21:30 -04:00
Alex King
203e63101a
[Cleanup] Remove IsConnected() from loginserver/database.h ( #3117 )
...
# Notes
- This is unused.
2023-03-17 19:21:18 -04:00
Alex King
91257d599b
[Cleanup] Remove unused methods in loginserver/client.h ( #3116 )
...
* [Cleanup] Remove LoginOnNewConnection(), LoginOnPacketRecv(), and LoginOnStatusChange() from loginserver/client.h
# Notes
- These are unused.
* Cleanup.
2023-03-17 19:21:08 -04:00
Alex King
491b358e28
[Cleanup] Remove UpdateLoginserverWorldAdminAccountPasswordById() from account_management.cpp ( #3115 )
...
# Notes
- This is unused.
2023-03-17 19:20:56 -04:00
Alex King
180c3088ca
[Cleanup] Remove DBInitVars() and HandleMysqlError() from queryserv/database.h ( #3114 )
...
# Notes
- These are unused.
2023-03-17 19:20:47 -04:00
Alex King
97e4547192
[Cleanup] Remove DBInitVars(), HandleMysqlError(), and IsChatChannelInDB() in ucs/database.h ( #3113 )
...
# Notes
- These are unused.
2023-03-17 19:20:41 -04:00
Aeadoin
0caee9026a
[Rule] Add Task System Rule ExpRewardsIgnoreLevelBasedEXPMods ( #3112 )
...
* [Rule] Add Task System Rule ExpRewardsIgnoreLevelBasedEXPMods
* description
2023-03-17 19:15:02 -04:00
Aeadoin
0be7ead1d1
[Bug Fix] Fix Bard Bot Casting ( #3122 )
2023-03-17 19:07:54 -04:00
Aeadoin
950489bc34
[Bug Fix] Fix Raid methods that could cause crashes with Bots in raid ( #3111 )
2023-03-17 16:19:29 -04:00
Mitch Freeman
45da8cab61
[Bots] Add Basic Bot Raiding Functionality ( #2782 )
...
* 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
* Delete .gitignore
* Revert "Delete .gitignore"
This reverts commit 8523658d3b .
* Fixed a packet issue
* Merged upstream/master
Merged upstream/master and removed ifdef BOTS as per recent dev approach for BOTS. Functionality is there, compiles and tests ok. A few problems to be resolved though this is a good baseline.
* Added sql update for raid_members to add isbot
* Updated Bot Follow Function
Bot will now follow the Group Leader if IsClient, otherwise follows the Bot Owner
* Updates to Bot Raid System
When camping a client, remove them from the raid. If they are leader, place leadership to the next client.
Update a few crash checks in bot_raid.cpp
* [BOTS] Added RuleB Enabled checks and updated base repo for raid_members
Updated several RuleB(Bots, Enabled) checks
Updated the base repo to be autogenerated.
Raid functionality should work with a non-bots enabled database.
* Few quick updates
* Updates
Corrected a number of comments. Compiled and tested against bot and non-bot database though requires the isbot column in raid_members for both.
Moved the db update out of the bot stream to make bot check code easier.
* Formatting and other small updates
* A few more RuleB(Bots, Enabled) additions
* Fix issue with conflict of bot ID versus character ID.
* Delete CMakeSettings.json
* Comment Updates and other
Several updates including
- fixed comments from PR
- added id to raid_members and unique index on name to avoid botid and charid conflicts
- updated a few raid functions for iterators
- reordered several raid operations to ensure send leader packet to be the last item to ensure proper updating on the client
- update sql to use Replace instead of Insert for botid conflicting with charid
* Exploit fix for Raid Bots
Added item from @Nite to disallow spawning or camping bots if Raid is engaged. Avoids abusive situations.
* Initial Commit
* fix Raid Window after zoning
The raid window was not fully updating for clients not in the zone.
* Cleanup
* Update
Fixed comments
* Resolve crash for MOTD
Fixed a crash situation sending a raid MOTD to BOTS.
* Update ruletypes.h
* Updated to resolve a few recent comments
Fixed some comments within attack.cpp
* fix sql query
* update repository
* prevent duplicate entries in raid after group invite, and cleanup
* fixes for botgroups not following, and add already in raid messages.
* fix messagestring
* fixes
* Cleanup, and resolving issues with disbanding
* refactoring
* more cleanup/fixing.
* fixes for removing from ground in raid
* Refactoring/fixing multiple clients
* fix for compiling
* Bugs from refactoring fixed
* Testing completed, cleaning up unwanted items/duplicate code.
* Cleaned up AICastSpell
* fix typos
* Refactoring
* Adding Raid checks to AI_Process/cleanup
* Fix a typo
Was getting a SQL error on BOT spawn. Fixed typo.
* fix for crash
* Fixed crash when inviting player, more refactoring
* AI_Process Refactoring work
* More Refactoring/fixes for follow
* Finish Refactoring AI_Process
* cleanup
* cleanup
* cleanup
* cleanup
* fix melee attack loop
* fix for leashowner.
* fix for leashowner.
* Bots persist in raid after client death/LD/Camp
* Fix Bot Groups when zoning after death.
* Fix Bots in group following after client death
* remove unnecessary query
* Allow Raid members to invite Bots if owner is in raid. cleanup
* optimization of raid verification
* remove this
* Code Cleanup
* formatting
* formatting
* formatting
* fix for macro
* add return for TryClassAttacks
* fix query
* fix for crash
* restrict camping/spawn in combat.
* Fix other crash issue.
* update learnmembers to use Strings::To, cleanup magic numbers
* fix for merge.
---------
Co-authored-by: Kinglykrab <kinglykrab@gmail.com >
Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com >
Co-authored-by: Aeadoin <109764533+Aeadoin@users.noreply.github.com >
2023-03-17 11:19:59 -04:00
Alex King
e778041198
[Cleanup] Remove ownHiddenTrigger from trap.cpp and trap.h ( #3092 )
...
# Notes
- This is unsued.
2023-03-17 08:37:36 -04:00
Alex King
97e50ced93
[Cleanup] Delete deprecated/perlxs folder ( #3110 )
...
# Notes
- This entire folder is unused.
2023-03-17 06:23:30 -04:00
Alex King
4491bb9a70
[Cleanup] Remove is_authenticatd, LSShutDownUpdate(), and SetInstanceID() from zoneserver.h ( #3109 )
...
# Notes
- These are unsued.
2023-03-17 06:23:19 -04:00
Alex King
04fba27467
[Cleanup] Remove StoreCharacter() from worlddb.h ( #3108 )
...
# Notes
- This is unused.
2023-03-17 06:23:10 -04:00
Alex King
fa47dd7f93
[Cleanup] Remove DisableStats(), EnableStats(), DisableLoginserver(), and EnableLoginserver() from world_config.h ( #3107 )
...
# Notes
- These are unused.
2023-03-17 06:23:01 -04:00
Alex King
b3fb5f00ab
[Cleanup] Remove MakeGuildMembers() from wguild_mgr.h ( #3106 )
...
# Notes
- This is unused.
2023-03-17 06:22:51 -04:00
Alex King
e17fad9ae0
[Cleanup] Cleanup unused methods and variables in world/main.cpp and world/main.h ( #3105 )
...
# Notes
- These are unused.
2023-03-17 06:22:41 -04:00
Alex King
bbdaacd3b0
[Cleanup] Remove AllConnected(), CanUpdate(), and SendInfo() from login_server_list.cpp and login_server_list.h ( #3104 )
...
# Notes
- These are unused.
2023-03-17 06:22:34 -04:00
Alex King
61bd485449
[Cleanup] Remove unused methods in eql_config.cpp, eql_config.h, launcher_list.cpp, and launcher_list.h ( #3103 )
...
# Notes
- These are unused.
2023-03-17 06:22:01 -04:00
Alex King
4b405fe9fe
[Cleanup] Remove authenticated from launcher_link.cpp and launcher_link.h ( #3101 )
...
# Notes
- This is unused.
2023-03-17 06:21:51 -04:00
Alex King
d5aaf7cee5
[Cleanup] Remove CountZones() from launcher_link.h ( #3100 )
...
# Notes
- This is unused.
2023-03-17 06:21:41 -04:00
Alex King
12e9e0f71d
[Cleanup] Delete world/console.old.cpp ( #3099 )
...
# Notes
- This is unused.
2023-03-17 06:21:23 -04:00
Alex King
0a64e26672
[Cleanup] Remove FindCLEByLSID(), GetCLE(), GetCLEIPCount(), and RemoveCLEByLSID() from clientlist.h ( #3098 )
...
# Notes
- These are unused.
2023-03-17 06:21:14 -04:00
Alex King
11fc5a9e93
[Cleanup] Remove SendGuildPacket() from clientlist.cpp, clientlist.h, and wguild_mgr.cpp ( #3097 )
...
# Notes
- This is unused.
2023-03-17 06:21:00 -04:00
Alex King
7bbcdfb479
[Cleanup] Remove FindByName(charname) from clientlist.h ( #3096 )
...
# Notes
- This is unused.
2023-03-17 06:20:46 -04:00
Alex King
3a530eb43b
[Cleanup] Remove CheckAuth(), SetOnline(), and pMD5Pass from cliententry.h ( #3095 )
...
# Notes
- These are unused.
2023-03-17 06:20:36 -04:00
Alex King
48a60114b7
[Cleanup] Remove CommandRequirement() from zonedb.h ( #3094 )
...
# Notes
- This is unused.
2023-03-17 06:20:25 -04:00
Alex King
06f1f36c95
[Cleanup] Utilize GetScheduler() in zone/worldserver.cpp ( #3093 )
...
# Notes
- This was unused.
2023-03-17 06:20:13 -04:00
Alex King
ccd9bd7d4c
[Cleanup] Utilize SetHiddenTrigger in trap.cpp ( #3091 )
...
# Notes
- This was unused.
2023-03-17 06:17:53 -04:00
Alex King
fea6cbf633
[Cleanup] Remove RemoveSpawnGroup() from spawngroup.h ( #3090 )
...
# Notes
- This is unused.
2023-03-17 06:17:44 -04:00
Alex King
460739d35c
[Cleanup] Delete queues.h ( #3089 )
...
# Notes
- This is unsued.
2023-03-17 06:17:32 -04:00
Alex King
11e1edc99f
[Cleanup] Remove IsOrigin(glm::vec2) from position.h ( #3088 )
...
# Notes
- This is unused.
2023-03-17 06:17:20 -04:00
Alex King
7374660045
[Cleanup] Remove last_insert_id from petitions.h ( #3087 )
...
# Notes
- This is unused.
2023-03-17 06:17:10 -04:00
Alex King
9e8d365ca7
[Cleanup] Remove SetSentTime2 in petitions.h ( #3086 )
...
# Notes
- This is unused.
2023-03-17 06:17:00 -04:00
Alex King
14d69a0a14
[Cleanup] Remove perlparser.h ( #3085 )
...
# Notes
- This is unused.
2023-03-17 06:16:51 -04:00
Alex King
fe063637e9
[Cleanup] Remove GetTransformation() and GetInvertedTransformation() from oriented_bounding_box.h ( #3084 )
...
# Notes
- These are unused.
2023-03-17 06:16:40 -04:00
Alex King
232b1028d7
[Cleanup] Remove m_inuse, m_z, and m_heading from object.h ( #3083 )
...
# Notes
- These are unsued.
2023-03-16 21:47:27 -04:00
Alex King
3624307385
[Cleanup] Remove SetDBID() from object.h ( #3082 )
...
# Notes
- This is unused.
2023-03-16 21:36:03 -04:00
Alex King
c0055cf357
[Cleanup] Remove npc_ai.cpp/npc_ai.cpp ( #3081 )
...
# Notes
- These files were unused.
2023-03-16 21:17:23 -04:00
Alex King
f9c1683d36
[Cleanup] Remove GetAILevel() from npc.h ( #3080 )
...
# Notes
- This is unused.
2023-03-16 21:06:24 -04:00
Alex King
64df993c10
[Cleanup] Remove FlushLootStats() from npc.h ( #3079 )
...
# Notes
- This is unused.
2023-03-16 21:06:10 -04:00
Alex King
890ef696fe
[Cleanup] Remove GetDestination() from doors.h ( #3078 )
...
# Notes
- This is unused.
2023-03-16 20:47:40 -04:00
Alex King
3f1848b01a
[Cleanup] Remove can_corpse_be_rezzed from corpse.h ( #3077 )
...
# Notes
- This is unused.
2023-03-16 20:47:25 -04:00
Alex King
f7c4f1ff75
[Cleanup] Remove _baseBotStance from bot.h ( #3076 )
...
# Notes
- This is unused.
2023-03-16 20:25:45 -04:00
Alex King
dcb127f4b6
[Cleanup] Remove _botRole from bot.h ( #3075 )
...
# Notes
- This is unused.
2023-03-16 20:25:35 -04:00
Alex King
669b068978
[Cleanup] Remove _previousTarget from bot.h ( #3074 )
...
# Notes
- This is unused.
2023-03-16 20:25:25 -04:00
Alex King
db2aeca38f
[Cleanup] remove _botOrderAttack from bot.h ( #3073 )
...
# Notes
- This is unused.
2023-03-16 20:25:16 -04:00
Alex King
1b3ca95f8c
[Cleanup] Remove firstlogin and realfirstlogin from world/client.h ( #3072 )
...
# Notes
- These are unused.
2023-03-16 20:25:03 -04:00
Alex King
c05baac551
[Cleanup] Remove CLIENT_TIMEOUT from world/client.h and zone/client.h ( #3071 )
...
# Notes
- This is unused.
2023-03-16 20:24:53 -04:00
Alex King
939fc79d19
[Cleanup] Remove IsAffectedByBuff() ( #3068 )
...
# Notes
- This is unused.
2023-03-16 20:24:44 -04:00
Alex King
a0e6fce057
[Cleanup] Remove fixedZ from mob.h ( #3065 )
...
# Notes
- This is unused.
2023-03-16 20:24:35 -04:00
Alex King
452389b7a5
[Cleanup] Remove class EQStream from client.h ( #3070 )
...
# Notes
- This is unused.
2023-03-16 20:24:08 -04:00
Alex King
dd184fa8b6
[Cleanup] Remove inWater from mob.h ( #3069 )
...
# Notes
- This is unused.
2023-03-16 20:23:56 -04:00
Alex King
4a3e6b5edc
[Cleanup] Remove current_buff_count ( #3067 )
...
# Notes
- This was unused.
2023-03-16 20:23:41 -04:00
Alex King
7961d7afa8
[Cleanup] Utilize GetPlayerState() in mob methods ( #3066 )
...
# Notes
- This method was unused, make use of it.
2023-03-16 20:23:34 -04:00
Alex King
cc6bcf3295
[Cleanup] Remove casting_spell_type from mob.h ( #3064 )
...
# Notes
- This is unused.
2023-03-16 20:23:21 -04:00
Alex King
b73c2016cf
[Cleanup] Remove last_max_hp from mob.h ( #3063 )
...
# Notes
- This is unused.
2023-03-16 20:23:11 -04:00
Alex King
db7e8241ac
[Cleanup] Remove DoBuffWearOffEffect() from mob.h ( #3062 )
...
# Notes
- This is unused.
2023-03-16 20:12:01 -04:00
Paul Coene
b7747b07db
[Illusions] Fix bug where spells like Ignite Bones left NPC size incorrect. ( #3061 )
2023-03-16 18:59:09 -04:00
Alex King
02ada0e496
[Quest API] Add SendIllusion overloads/parameters to Perl/Lua ( #3059 )
...
* [Quest API] Add SendIllusion methods to Perl.
# Perl
- Add `$mob->SendIllusion(race, gender, texture, helmtexture, face, hairstyle, haircolor, beard, beardcolor, drakkin_heritage, drakkin_tattoo, drakkin_details, size, target)`.
- Add `$mob->SendIllusionPacket(illusion_table_ref)`.
* Change defaults.
* Remove debug message
* Cleanup.
* Cleanup
* Update perl_mob.cpp
2023-03-15 20:37:37 -04:00
Alex King
7c819539c8
[Quest API] Add Spell GetActX methods to Perl/Lua ( #3056 )
...
# Perl
- Add `$mob->GetActDoTDamage(spell_id, value, target)`.
- Add `$mob->GetActDoTDamage(spell_id, value, target, from_buff_tic)`.
- Add `$mob->GetActReflectedSpellDamage(spell_id, value, effectiveness)`.
- Add `$mob->GetActSpellDamage(spell_id, value, target)`.
- Add `$mob->GetActSpellHealing(spell_id, value, target)`.
- Add `$mob->GetActSpellHealing(spell_id, value, target, from_buff_tic)`.
# Lua
- Add `mob:GetActDoTDamage(spell_id, value, target)`.
- Add `mob:GetActDoTDamage(spell_id, value, target, from_buff_tic)`.
- Add `mob:GetActReflectedSpellDamage(spell_id, value, effectiveness)`.
- Add `mob:GetActSpellCasttime(spell_id, cast_time)`.
- Add `mob:GetActSpellCost(spell_id, cost)`.
- Add `mob:GetActSpellDamage(spell_id, value)`.
- Add `mob:GetActSpellDamage(spell_id, value, target)`.
- Add `mob:GetActSpellDuration(spell_id, duration)`.
- Add `mob:GetActSpellHealing(spell_id, value)`.
- Add `mob:GetActSpellHealing(spell_id, value, target)`.
- Add `mob:GetActSpellHealing(spell_id, value, target, from_buff_tic)`.
- Add `mob:GetActSpellRange(spell_id, range)`.
# Notes
- Allows operators to get various spell related values.
2023-03-12 15:36:43 -04:00
Alex King
e670c89163
[Cleanup] Remove unused lua_hate_entry.cpp ( #3057 )
...
# Notes
- This is unused and causes duplication of these methods in Spire Quest API Explorer.
2023-03-12 15:36:20 -04:00
Aeadoin
9ecdf057db
[Feature] Add Heroic Strikethrough & HP Regen Per Second to GM Entity Info ( #3055 )
...
* [Feature] Add Heroic Strikethrough to GM Entity Info
* [Feature] Add Heroic Strikethrough to GM Entity Info
* typo
2023-03-11 20:46:31 -05:00
Aeadoin
b6448c840f
[Bug Fix] Fix Raid Invites causing client desync issues ( #3053 )
2023-03-11 11:42:52 -05:00
Aeadoin
0ba90df1f1
[Bug Fix] Fix issue with overflow on min/max hit dmg in npc scaling calculations ( #3052 )
...
* [Cleanup] Cleanup npc.cpp and npc scaling
* fix issue with min/max damage overflows
* formatting
2023-03-10 09:36:59 -05:00
Alex King
12dcbd0871
[Bug Fix] Fix Heal Scale and Spell Scale in NPC Scaling ( #3051 )
...
# Notes
- These had typos and didn't work.
2023-03-09 22:32:47 -05:00
Aeadoin
b0be4ca8bd
[Feature] Add Avoidance and HP Regen Per Second too NPC Scaling. ( #3050 )
2023-03-09 11:07:03 -05:00
nytmyr
412eb5deaa
[Bots] Prevent interrupt spam when OOM ( #3011 )
...
Notes:
Bots currently do not do a mana check until the spell cast has already been started which results in an interrupt immediately after. If it is the last spell for a bot to cast, it tends to result in interrupt spam until the bot has enough mana. This will block the interrupt spam if the spell is invalid.
2023-03-07 18:17:09 -05:00
Alex King
f030461bc7
[Feature] Add Heroic Strikethrough to NPC Scaling ( #3028 )
...
* [Feature] Add Heroic Strikethrough to NPC Scaling
# Notes
- Adds Heroic Strikethrough support to NPC scaling.
- Cleans up `std::stoul` to use `Strings::ToUnsignedInt` since recent changes.
- Sets default values to sane values and removes support for `NULL` values.
* Update 2023_03_04_npc_scale_global_base_heroic_strikethrough.sql
2023-03-05 22:36:53 -05:00
Alex King
8f5e7978ab
[Commands] Remove #equipitem Command ( #3040 )
...
* [Commands] Remove #equipitem Command
# Notes
- This command causes issues with cursor and inventory slot desynchronizations and seems to largely be unused/unnecessary.
* Remove from command files.
2023-03-05 22:36:04 -05:00
Alex King
2e55da2b2d
[Fix] Checkmarks and X characters in popup messages ( #3041 )
...
# Notes
- Due to changing the popups to use strings, these show as squares, instead of the proper character.
2023-03-05 22:35:52 -05:00
Alex King
16a8f88ae5
[Commands] Cleanup #haste Command ( #3042 )
...
* [Commands] Cleanup #haste Command
# Notes
- Cleanup messages and logic.
- No longer requires you to re-equip your weapon for the haste to take effect.
- Can now use on targeted client if you have `#gm on` enabled.
* Update haste.cpp
2023-03-05 22:35:42 -05:00
Alex King
22d7ef6763
[Commands] Cleanup #hideme Command ( #3043 )
...
# Notes
- Cleanup messages and logic.
2023-03-05 22:35:30 -05:00
Alex King
457e800c73
[Commands] Cleanup #interrupt Command ( #3044 )
...
* [Commands] Cleanup #interrupt Command
# Notes
- Cleanup messages and logic.
* Update command.cpp
2023-03-05 22:35:23 -05:00
Alex King
8393e50aa8
[Commands] Cleanup #level Command ( #3045 )
...
# Notes
- Cleanup messages and logic.
- Defaults target to GM so that you don't have to target yourself to use the command.
2023-03-05 22:34:33 -05:00
Alex King
b6497cdd6a
[Commands] Cleanup #resetaa and #resetaa_timer ( #3047 )
...
# Notes
- Cleanup messages and logic.
2023-03-05 22:34:21 -05:00
Alex King
218ef80f96
[Commands] Cleanup #picklock Command ( #3046 )
...
* [Commands] Cleanup #picklock Command
# Notes
- Cleanup messages and logic.
* Update picklock.cpp
2023-03-05 22:34:05 -05:00
Alex King
a90d41480a
[Commands] Cleanup #wc Command ( #3049 )
...
# Notes
- Cleanup messages and logic.
2023-03-05 22:18:35 -05:00