Commit Graph
1006 Commits
Author SHA1 Message Date
P0nk f6d06ba82a Extract "char list" from Client to handler 2023-08-06 21:14:32 +02:00
P0nk bbee8d7caa Merge chr name + id wrappers into new CharacterIdentity record 2023-08-06 20:35:26 +02:00
P0nk 5b5888cf65 Remove unused stuff in Client 2023-08-06 20:11:32 +02:00
P0nk 48d9aaa871 Clean up Client - visibleWorlds & canRequestCharlist
canRequestCharlist is a relic from the past when "View all char"
functionality was hacked together with wrong packets.

visibleWorlds I'm less sure about. I suppose it's useful if you add world
(via command) while someone is still on the login screen.
But the functionality of adding/removing worlds live is a recipe for disaster
and will eventually (likely) be removed.
2023-08-06 20:02:39 +02:00
P0nk f44083aeba Refactor Client#finishLogin 2023-08-06 17:26:34 +02:00
P0nk 810dbcc1d7 Remove "reward points" feature 2023-08-06 16:55:58 +02:00
P0nk 449ab01bc2 Remove "vote points" feature 2023-08-06 16:55:34 +02:00
P0nk 2686b2b02d Disconnect client by throwing exception in handler
This makes it easier to add checks in handlers, which should improve security over time.
I think this approach is more readable and testable than calling Client#disconnect straight up,
while it also decentralizes the handling.
2023-08-06 15:48:49 +02:00
P0nk e9819fac87 Save cooldowns and diseases as part of normal flow 2023-08-04 16:34:59 +02:00
P0nk 4e39142fb3 Direct almost all chr saving through CharacterSaver
Client#disconnectInternal remains.
Had to remove some configurable save points to keep it simple.
2023-08-04 16:14:51 +02:00
P0nk e52f646558 Fix batch insert monster cards
batch.add() clears all bindings, unlike vanilla JDBC
2023-08-04 15:38:14 +02:00
P0nk 02d4ff524a Fix global drops not dropping
No longer able to shuffle the list since DropProvider
return an unmodifiable list in the case of global drops.
2023-08-04 15:23:02 +02:00
P0nk 05b7ec77c8 Add ChannelService to handle cc'ing 2023-08-04 15:01:49 +02:00
P0nk f6aa8ceba6 Rewrite MonsterBook, touch up chr loading
Temporarily disabled loading monster cards from db
2023-07-25 21:27:35 +02:00
P0nk b3ec325e95 Add monster card table and initial dao 2023-07-25 18:46:03 +02:00
P0nk e31465a1b5 Add MonsterCard 2023-07-25 17:52:38 +02:00
P0nk 84ad5b4db8 Remove scroll generator (custom feature)
This allowed me to remove the getCardTierSize db query
2023-07-25 17:20:16 +02:00
P0nk 855b66c459 Merge branch 'master' into feat/postgresql-database 2023-07-25 17:03:35 +02:00
Ponk d307eff71f Merge pull request #177 from LynxStar/patch/mini-dungeons #patch
Fix mini-dungeon portals for parties
2023-07-10 23:09:51 +02:00
Arthur Charlton b935725096 Handle the potentially null portal based on the name.
Matches the behavior of warping a character to a named portal.
2023-07-10 17:01:48 -04:00
Arthur Charlton 07eb0f5e8e Untangle nested control flow conditions. 2023-07-05 14:16:09 -04:00
Arthur Charlton cfb5fc25c3 Calling code assumes the pair never null and uses -1 to signify not found. 2023-07-05 14:12:42 -04:00
Arthur Charlton 3816e1c5bd Add the warp party function that the scripts use 2023-07-03 18:25:14 -04:00
P0nk 46f767d79c Merge branch 'master' into feat/postgresql-database 2023-05-29 15:56:53 +02:00
Ponk c9d551cd39 Merge pull request #173 from MatthewHinds/gm-security #minor
GM security changes to prevent item/mesos abuse
2023-05-29 15:50:03 +02:00
Matthew Hinds 95bf0473f3 Adjusted based on feedback 2023-05-29 14:32:01 +12:00
Matthew Hinds a9d92b78a2 Meso drop restricted by GM level 2023-05-29 12:57:01 +12:00
Matthew Hinds 4546fd44ff To prevent abuse, GMs should be permission restricted (via GM level) to trade with other non GM players, use their storage (prevent transferring to their other characters), send via Duey and to drop items. GM level is configurable. 2023-05-12 18:02:08 +12:00
Matthew Hinds 216fa9341b Removed level up messages as it is non GMS like and a bit cringey 2023-05-12 14:47:18 +12:00
Shahar6 cbc0b2707e Fix dupe glitch with wedding
PoC for the glitch:
https://www.youtube.com/watch?v=EoVGQtMkJOA&ab_channel=ThirtyOneFifty
2023-04-21 20:27:59 +03:00
Sukishyou 301f65ce16 Add null check to duey packet edit check 2023-04-15 14:36:00 -05:00
Sukishyou f1b95fe45e Fix exploit with Duey Send Items 2023-04-14 19:43:51 -05:00
P0nk 785f74ed21 Fix HelpCommand not working without static CommandsExecutor 2023-03-31 07:59:43 +02:00
P0nk 699da37f06 Simplify NPC script start 2023-03-31 07:33:49 +02:00
P0nk c3badba73b Convert ShopItem to record 2023-03-30 07:07:33 +02:00
P0nk 5f0e9a355b Move Shop stuff to own package 2023-03-30 06:47:07 +02:00
P0nk 39d759595d Get shop as Optional 2023-03-30 06:41:13 +02:00
P0nk fe9dd75a23 Instantiate shops in ShopFactory 2023-03-29 21:59:00 +02:00
P0nk 2139147dcd Add getShop to DAO, preparing to refactor shop loading 2023-03-29 21:14:19 +02:00
P0nk c71ca7f4d5 Inject ShopFactory 2023-03-29 20:51:31 +02:00
P0nk 705efb4340 Remove access to shops from scripts 2023-03-29 20:38:34 +02:00
P0nk ec1450cec1 Rewrite Mo NPC script to be GMS-like 2023-03-29 19:54:59 +02:00
P0nk 290bf78db3 Notes about difficulties of DI for scripts 2023-03-18 16:04:01 +01:00
P0nk 02c1fe46f3 Remove custom shops
These custom shops we introduced in HeavenMS.
2082014 - Asia selling scrolls
9201101 - T-1337 selling special potions
2023-03-18 15:14:00 +01:00
P0nk a496c0f2b4 Add ShopDao 2023-03-18 14:32:21 +01:00
P0nk ab0239ba84 Add shop and shop_item PG tables with data 2023-03-17 20:53:16 +01:00
P0nk f2f3abdb32 Move last pieces of monster drops to DropProvider 2023-03-16 18:55:33 +01:00
P0nk 5a35b55d7a Cache continent drops 2023-03-16 18:03:43 +01:00
P0nk 02aa4a237f Global monster drops are retrieved from DropProvider (postgres db) 2023-03-16 18:00:21 +01:00
P0nk cc88d382e6 Monster drops are retrieved from DropProvider (postgres db)
This commit emphasizes the need for events to be reworked.
This is the chain of constructors the DropProvider has to pass through to reach MapleMap:
Channel -> EventScriptManager -> EventManager -> EventInstanceManager -> MapManager -> MapleMap
2023-03-16 08:31:38 +01:00