Commit Graph

17 Commits

Author SHA1 Message Date
Ceikry 07065c7e79 Random Events should now spawn correctly
Fixed an issue that was causing tick event hooks to not fire
2022-05-16 12:22:29 +00:00
Ceikry 8835799230 Refactored equipment.add, fixes bug #420 (blaze it) 2022-05-16 11:54:23 +00:00
Ceikry 9ab9885eef Introduced modular components for authentication, including the storage backend
Servers in dev mode now have a no-auth equivalent that allows any user/pass combo without registration
Added a ban command
Added a mute command
Hooked up the mute functionality of the report screen (for pmods+)
Cleaned up all the now-unused classes for player SQL stuff
Player SQL stuff now uses entirely prepared statements
No longer storing PC name, MAC address, serial number as these are inauthentic components of the protocol Packet to be corrected in the future to allow closer compatibility with authentic clients
Used less threading for the SQL queries/updates as these were causing issues both with the old system and the new
Updated ::resetpassword and ::setpasswordother commands to use the new server authentication pipeline (to ensure things are always correctly set)
Refactored the login read event, now handles more exceptions and edge cases
2022-05-16 11:51:42 +00:00
Ceikry 966a5e1c55 Fixed the load order of configs with plugins - many configs are now loaded after plugins so that npc/item/object handlers in the old plugin system are set properly 2022-05-15 23:22:30 +00:00
Ceikry 24cea604fc Class scanning now distinguishes side effectful plugins from our pure content interfaces
Server store is now loaded and parsed ***before*** side effectful plugins
2022-05-15 11:20:27 +00:00
Ryan ebc540c7c7 selling items for tokkul now returns the correct amount of tokkul (10x less) 2022-05-14 13:23:27 +00:00
Ceikry 90060fde21 Item sets now appear and can be unpacked at the GE
Added a proper mock session that gets used for mock players in unit tests. Allows verifying that certain packets made it to the IoSession (the stage right before sending it to the client)
2022-05-14 10:24:47 +00:00
Ceikry 7478f68d40 fixed a bug that allowed purchasing 0-stock items (you would only lose gold without getting an item) 2022-05-14 06:24:47 +00:00
Ryan d91396d0ea adjusted price calculation formula used when selling items to shops 2022-05-06 22:54:32 +00:00
Ceikry a5f9c64dbb New dynamic region abstraction, consumed in construction 2022-05-03 23:18:11 +00:00
Ceikry 8438ecdbd7 Fixed an exception thrown when buying from player stock
Fix issue where malformed stock could shift following shop items
2022-05-02 10:22:36 +00:00
Ceikry b5a78fe18a Add more unit tests for shops and quest related architecture
Fixed bug where quests could be repeatedly finished
Fixed bug where ironman status wasn't checked when buying overstocked items
Fixed bug where selling multiple items at a time that weren't listed in a shop would not succeed
Fixed bug where shop restocking would sometimes interrupt if a shop stock item was in a null slot
2022-04-26 03:48:20 +00:00
Ceikry 96abfe6ab1 Add symlink for unit test cache access 2022-04-25 12:41:59 +00:00
Ceikry fb98015536 Added unit tests for the GE
GE should now favor the buy offer if it's newer than the paired sell offer (buyer gets GP back)
GE should now favor the sell offer if it's newer than the paired buy offer (buyer does NOT get gp back)
GE should now always award bot offers to the highest bidder
2022-04-25 12:35:51 +00:00
Ceikry 933dc72a48 Added unit tests for regions (now requires cache at Server/src/resources/cache)
Reverted some really old changes (2019) to house loading code (Might fix construction? Probably not.)
2022-04-25 12:15:56 +00:00
Ceikry eab32ccef8 Add unit tests for slayer
Kill server networking as soon as shutdown process starts
2022-04-24 15:08:08 +00:00
Ceikry 1b9e330f68 Added unit testing framework 2022-04-18 06:23:41 +00:00