11961 Commits

Author SHA1 Message Date
KimLS
2f46da5d99 WIP Spawn struct, need to go confirm struct for cphysics 2024-11-15 22:52:52 -08:00
KimLS
200b7fa604 Add prelim support for CharacterGuid to spawn struct. 2024-11-14 22:32:26 -08:00
KimLS
c20439dbb4 Merge fix 2024-11-14 22:19:27 -08:00
KimLS
fa91559a85 Starting work on character guids 2024-11-14 22:13:36 -08:00
Mitch Freeman
9967384ab8
[Fix] Fix for mult-instanced bazaar zones (#4541)
* Enable bazaar for multiple instances.

* Enable buyer for multiple instances.

* Update to buyer/barter for multiple instances and attuned items.
2024-11-14 19:44:03 -06:00
Mitch Freeman
d3da2e5501
[Fix] Fix for bazaar search of containers. (#4540) 2024-11-14 19:32:19 -06:00
Chris Miles
33f5c4c6a7
[Bug Fix] Fix issue where NPC's are being hidden as traders (#4539)
* [Fix] Fix issue where NPC's are being hidden as traders

* Fix

* Update mob.cpp
2024-11-14 19:15:03 -05:00
Akkadius
e4aa6a6957 [Release] 22.59.1 v22.59.1 2024-11-13 20:52:46 -06:00
Chris Miles
e4d812f4b4
[Release] 22.59.0 (#4538) v22.59.0 2024-11-13 20:08:03 -06:00
hg
bcedfe7032
[Quest API] Add Native Database Querying Interface (#4531)
* Add database quest API

API functions are named to be similar to LuaSQL and perl DBI

New connections are made for Database objects. These can either use
credentials from the server eqemu_config or manual connections.

* Add option to use zone db connections
2024-11-12 20:01:18 -06:00
Paul Johnson
c1df3fbcb0
[Rules] Add Rule for restricting client versions to world server (#4527)
* add rule for supported clients, unsupported client packet

* whitespace

* PR feedback - Update client.cpp

* PR Feedback - Update client.cpp

* Update client.cpp

* Update client.cpp

---------

Co-authored-by: Paul Johnson <Paul@PJOHNSOMAC-6366.digi.box>
2024-11-12 11:00:22 -05:00
Akkadius
011e1d05e7 [Hotfix] Check if the mob is already in the close mobs list before inserting 2024-11-10 23:19:40 -06:00
KimLS
ce728c4d0d This is close but no cigar yet. 2024-11-10 10:07:32 -08:00
Akkadius
3f0f95976c [Hotfix] ScanCloseMobs - Ensure scanning mob has an entity ID 2024-11-10 06:47:42 -06:00
Chris Miles
77de9619b5
[Databuckets] Add database index to data_buckets (#4535)
* [Databuckets] Add database index to data_buckets

* Update database_update_manifest.cpp
2024-11-08 22:26:00 -05:00
Mitch Freeman
20d3ab2ac5
[Bug Fix] Bazaar two edge case issues resolved (#4533)
This update resolves two bazaar issues that have been reported.
- If parcel delivery is used to purchase an item, and the seller has several of the same items, that have various charges, the item would not be removed from the db.  This allowed for incorrect purchases.
- If a player 'reclaims' an alt currency item that they also have for sale with an active trader,  the item would remain for sale, and be reclaimed.  This impacted custom alt currency items that were no trade.
2024-11-08 22:15:12 -05:00
Chris Miles
0ea47fadee
[Performance] Improvements to ScanCloseMobs logic (#4534)
* [Performance] Minor improvements to ScanCloseMobs

* Remove timer checks one level up to reduce branching

* Reserve memory in m_close_mobs to avoid frequent re-allocations if not already reserved.
2024-11-08 17:48:39 -06:00
KimLS
d29937cba6 WIP player profile 2024-11-07 23:03:38 -08:00
KimLS
799593c394 Working on zone packets. 2024-11-05 21:38:10 -08:00
Chris Miles
1ce51ca3b0
[Release] 22.58.0 (#4532) v22.58.0 2024-11-05 22:02:32 -06:00
hg
25ef3d2cdb
[Code] Update perlbind to 1.1.0 (#4529)
- Adds a perl::ref alias for perl::reference

- Optimizes array return pushes by accessing SV* values directly instead
  of using operator[] scalar_proxy

- Allows functions with a perl::hash parameter to accept hashes with any
  scalar key type instead of requiring explicit string keys

  e.g., foo(123 => 1) will now work on functions accepting a perl::hash
2024-11-05 20:14:29 -06:00
hg
95249889a6
[Code] Add mysql prepared statement support (#4530)
This adds support for using prepared statements for MySQL queries. It is
intended for use in a database quest API but it can be used in source
with some caveats:

 - It uses exceptions for error handling instead of returning a fake
   result that needs checked. Usage must be wrapped in try/catch.

 - DBcore has a connection mutex which indicates the connection might be
   shared with other threads. This mutex is locked for certain stmt
   operations in an attempt to make it safe to use with multi threaded
   connections.

 - Prepared statements should only be used on the main thread since the
   internal logging is not synchronized.

 - Unlike the current query API which retrieves all results as strings,
   results are stored in buffers that represent the db field type.
   Getter functions are available to retrieve values as desired types.
2024-11-05 20:12:17 -06:00
mmcgarvey
428cccfa50
[Feature] Focus Skill Attack Spells (#4528)
* Add Rule Spells:AllowFocusOnSkillDamageSpells

* Currently, focus mods defaults to 0 when processing spell effect 193.
* The default value for this rule is false.
* When false, the rule will retain the current default behavior.
* When true, the aforementioned focus effects will allow focus effects (185, 459, and 482) to modify spell effect 193.

* Removed undesirable whitespace

* Update spell_effects.cpp

---------

Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com>
2024-10-31 08:13:16 -04:00
KimLS
b7c93e12de Add some sanity checking for stream_parser so it's less likely to pickup other protocols as an everquest protocol. 2024-10-26 10:03:57 -07:00
KimLS
c1651b7dca Fix char select 2024-10-25 22:47:27 -07:00
KimLS
4093b505d3 wip char select 2024-10-24 21:11:01 -07:00
KimLS
dbb0288a13 Filled out a lot of the version stuff for a new client version (oh my lawd this could be easier!) 2024-10-24 20:35:53 -07:00
KimLS
0a9a941b6b WIP on membership 2024-10-23 21:53:24 -07:00
Alex King
41dd8a5754
[Quest API] Add Spawn Circle/Grid Methods to Perl/Lua (#4524)
* [Quest API] Add Spawn Circle/Grid Methods to Perl/Lua

* Update lua_general.cpp

* Update questmgr.cpp

* Update questmgr.cpp
2024-10-23 23:40:25 -04:00
Alex King
d02d766563
[Bug Fix] Fix cross_zone_set_entity_variable_by_char_id in Lua (#4526) 2024-10-23 22:47:02 -04:00
Alex King
dfd2729b28
[Bug Fix] Add Missing Lua Registers (#4525) 2024-10-23 22:37:21 -04:00
KimLS
702024fe04 Encode OP_LogServer 2024-10-23 18:15:40 -07:00
KimLS
acdd65b55c Distracted by world server issues 2024-10-22 20:08:31 -07:00
KimLS
6db7c624e9 Larion expansion data 2024-10-22 17:52:14 -07:00
Chris Miles
b92eafd21b
[Release] 22.57.1 (#4523) v22.57.1 2024-10-22 00:02:14 -05:00
nytmyr
d6d5d992cb
[Bots] Fix pet buffs from saving duplicates every save (#4520)
* [Bots] Fix pet buffs from saving duplicates every save

Previously we were not checking the pet index properly when clearing buffs in the database before saving which resulted in no prior data being deleted.

This corrects the logic for the save and also will clean up any buffs for pets that don't exist in the table.

* Changes

* Update world_boot.cpp

---------

Co-authored-by: Akkadius <akkadius1@gmail.com>
2024-10-21 23:57:42 -05:00
Alex King
d524cb6a5a
[Bots] Enable Bot Commands Only if Rule Enabled (#4519) 2024-10-21 23:49:36 -05:00
Alex
e6469878ce
[Loginserver] Automatifc Opcode File Creation (#4521)
* Loginserver will auto create the opcodes file if it doesn't exist on load.

* Use path manager in login opcodes.

---------

Co-authored-by: KimLS <KimLS@peqtgc.com>
2024-10-21 23:48:43 -05:00
KimLS
f485dfd8d3 WIP logserver struct 2024-10-21 19:31:45 -07:00
KimLS
823bacf08a Starting to poke at op_logserver 2024-10-20 19:18:32 -07:00
Chris Miles
9583099ace
[Release] 22.57.0 (#4517) v22.57.0 2024-10-20 16:17:15 -05:00
nytmyr
cf3483b402
[Bots] Fix timers loading on spawn and zone (#4516)
Timers were not properly checking their expiration time on spawn and load and could cause invalid timers to load if the server was restarted resulting in improper lockouts.
2024-10-20 10:44:30 -04:00
KimLS
b8ecb297ec Beginning of world opcodes 2024-10-19 22:34:43 -07:00
carolus21rex
311af7bbe9
[Cleanup] Fixed a typo in Zoning.cpp (#4515)
* Fixed a typo in Zoning.cpp changed reguest to request.

* Update zoning.cpp

---------

Co-authored-by: Alex King <89047260+Kinglykrab@users.noreply.github.com>
2024-10-19 21:59:10 -04:00
KimLS
7f7c80eab7 Merge branch 'stream_parser' into lsong_world 2024-10-19 18:54:20 -07:00
KimLS
0c87af7d6b Decompress wont default to false 2024-10-18 17:32:55 -07:00
KimLS
2e087cde5b Force add stream_parser.sln 2024-10-18 17:23:12 -07:00
KimLS
a7c1c85f71 Initial 2024-10-18 17:18:37 -07:00
KimLS
d1c7c00f19 Binary dumping; not yet implemented 2024-10-18 15:49:49 -07:00
KimLS
999ccdcb19 Add experimental decompression support. 2024-10-17 22:53:33 -07:00