* shield ability initial work
* updates
* update
* updates
* Update client_process.cpp
* major updates
optimized
pet support
perl support
* updates
* minor update
* fix merge error
* requested changes
* variable fix
* optimization
* minor update
* Revert "optimization"
This reverts commit 27e11e758b23933ba8b6878d12d3eeb1e780aeda.
* fix
reset variables on shield_target if shielder dies or zones during shielding.
* edge case fix
Catch and fix situations where shield target doesn't have shielder variable cleared. Can occur if shielder . uses ability when target is not in combat then zones.
* combined packet and mob function
Shield now uses a common pathway through ShieldAbility, added parameters to perl function
* Addressing formatting for Kayen
* Fix function typo
Co-authored-by: Akkadius <akkadius1@gmail.com>
* Work started on SPA 476
defines
* bonus structure add
bonus structure set up
* updates spa476
updates spa476
* spell bonus now functional
spell bonus working well.
* major update with debug messages
aa, item and spell now working
* Pre clean up, effect implemented
working for AA, spells, items, all checked for stacking issues.
* removed debug messages
removed debug messages
* spdat description added
spdat description added
* minor fix
removed debug shout
removed unneeded code check.
* syntax updates, minor fixes
syntax updates, minor fixes
* syntax fixes
syntax fixes
* improvements to code
moved function to check at swap item. Easier to manage and more live like behavior. Required minor adjustment
Still working on AA toggle.
* updates to aa buy, functionalish
* Syntax / Formatting
* Add break / default to switch
* updates
* completed v2
* Major revisions
Main function check moved to when items are swapped and out of when ever bonus are recalculated.
AA Toggle and data structure now more accurate to live.
* Update aa.cpp
* debug removed
* implemented SE_Buy_AA_Rank
Closer to live.
* Update aa.cpp
broadening AA toggle to be more general use.
* improved various checks
aa toggle is now broadly implemented to be usable with any passive effect.
Co-authored-by: Akkadius <akkadius1@gmail.com>
* fix for charges not being sold correctly
https://github.com/EQEmu/Server/issues/1350 this fixes this issue
* Update client_packet.cpp
* Update zone.cpp
this completes the fix for all charge items being sold to merchants
* code opmizations
could probably be fixed up better but this is a little cleaner
* Update snake_casing
Co-authored-by: Chris Miles <akkadius1@gmail.com>
This moves members from expeditions so other systems can use them
Replace expedition_members table with dynamic_zone_members
Move 'EnableInDynamicZoneStatus' rule to DynamicZone namespace
Modify #dz list to show dz members (not instance players) and type name
Move various queries to repository methods
* For as long as I can remember people have had issues with zoning in, facing the wrong way, and walking through a zone line.
With this we will be able to set zone's safe heading as well as preserve heading on summon (NPC or GM) and teleports between zones.
This affects several pre-existing quest methods and extends their parameters to allow for the addition of heading.
The following functions have had heading added.
Lua
- client:SetBindPoint()
- client:SetStartZone()
Perl
- $client->SetBindPoint()
- $client->SetStartZone()
- quest::rebind()
SetStartZone parameter list was fixed also.
This converts some pre-existing methods from glm::vec3() to glm::vec4() and has an overload where necessary to use a glm::vec3() method versus glm::vec4() method.
This shouldn't affect any pre-existing servers and will allow PEQ and others to document safe headings for zones properly.
* Removed possible memory leaks.
* Fix SQL.
* Fix client message.
* Fix debug log.
* Fix log message.
* Fix call in rebind overload.
* Fix floats.
* Add default to column.
* Fix x/y offsets from client to reflect EQ x/y instead of boat heading x/y
* Use std version of math calls and reduce the # of calls
* Remove errant instrumentation
Co-authored-by: Noudess <noudess@gmail.com>
* Rename dynamic zone source files
* Store description and leader name on dz
Removes the DynamicZoneInfo struct used for switch list window. This
data can be stored on DynamicZone and kept updated by its owning system
* Separate create compass packet method
Cleanup MarkSingleCompassLoc
* Add a std::string overload for Database::SetMQDetectionFlag
* Replace calls to MakeAnyLenString in client_packet.cpp
At least the SetMQDetectionFlag ones
* Replace MakeAnyLenString calls in client_process
At least SetMQDectectionFlag ones
* Replace MakeAnyLenString in embparser
fmtlib actually is gross here, oh well.
* Replace MakeAnyLenString in merc
* Replace MakeAnyLenString in inventory
Also if'd out an unfinished implementation of Client::GetItemLinkHash
* Replace AppendAnyLenString in zonelist
* Replace AppendAnyLenString in zonelist
* Replace MakeAnyLenString in clientlist
* Nuke MakeAnyLenString/AppendAnyLenString
* Fix formatting string in zonelist
These cases probably are exceedingly rare, but they still need to be
accounted for. (As in, I don't think anyone has run into these cases too
often to cause problems)
Add DynamicZone sql table schema
Add DynamicZones logging category
Modify CreateExpedition to take DynamicZone and ExpeditionRequest objects
Implement DynamicZone compass, safereturn, and zone-in coordinates.
Implement live-like DynamicZone instance kick timer for removed members
Implement updating multiple client compasses (supports existing quest compass)
fix: Send client compass update after entering zones to clear existing compass
Implement Client::MovePCDynamicZone to invoke DynamicZoneSwitchListWnd
when entering a zone where client has multiple dynamic zones assigned
Implement OP_DzChooseZoneReply handling
Add Lua api methods for expedition's associated dynamic zone
Add #dz list gm command to list current DynamicZone instances from database
Add Expeditions logging category
Add handlers for all Dynamic Zone/Expedition related opcodes
Add FormatName string_util function to format character names
Add Zone::IsZone helper method
Add cross zone MessageString support with variable parameters
Add static Client method helpers for cross zone messaging
Add #dz gm command to debug expedition cache for current zone
- Add $client->SetRadiantCrystals(value) to Perl.
- Add $client->SetEbonCrystals(value) to Perl.
- Add client:SetRadiantCrystals(value) to Lua.
- Add client:SetEbonCrystals(value) to Lua.
Co-authored-by: Chris Miles <akkadius1@gmail.com>
* Scanning optimizations this more properly applies idle / moving scanning algorithms and applies update_others when a client is moving
* Fix bots
* Perform a self and other scan when npc's pop
This fixes the problem, but I believe someone with better knowledge of the client than I can find a more "correct" solution.
Posted as a PR per @joligario to solve it for now. Was also asked to put SE_Invisibility in there so that this "hack" is a catch all.
This still doesn't add support for /autosplit in a raid, how should that
work?
This changes the Raid::SplitMoney to take a group ID and fails when
provided with RAID_GROUPLESS. This does change behavior, but I'm not
sure if it was ever used so ...