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
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
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
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
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
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
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
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
c71ca7f4d5
Inject ShopFactory
2023-03-29 20:51:31 +02:00
P0nk
f2f3abdb32
Move last pieces of monster drops to DropProvider
2023-03-16 18:55:33 +01:00
P0nk
fa3481fa99
Pass CommandContext to commands
...
CommandContext is the carrier of dependencies.
Currently, it only carries a DropProvider, but
it will grow bit by bit as more static singletons
and other similar structures get refactored.
2023-03-15 23:19:04 +01:00
P0nk
eed94ec34a
Refactor CommandsExecutor - is no longer static singleton
...
Preparing for change in Command#handle,
which is going to take a CommandContext as an additional argument.
This way we can pass in command dependencies in a safe way
instead of requiring them to access static methods.
2023-03-15 22:56:40 +01:00
P0nk
0be48568d7
Get MakerItemCreateEntry from new info provider
2023-03-08 21:09:47 +01:00
P0nk
1fd0963401
Fix maker disassembly fee not being applied
2023-03-04 22:53:05 +01:00
P0nk
d2d4b442d2
Maker disassembly info to MakerInfoProvider
...
MakerProcessor is such a mess...
2023-03-04 22:33:34 +01:00
P0nk
6073b20d65
Cache MakerRecipe, move stimulant to MakerInfoProvider
2023-03-04 17:20:16 +01:00
P0nk
c0c0a2d2d9
Get maker reagent from PG db, rework processor (no statics)
2023-03-02 08:18:13 +01:00
P0nk
f89392b476
Refactor IdCommand
2023-02-04 19:46:09 +01:00
P0nk
cee82a08ba
Remove ItemInformationProvider field in Character
...
This field prevented creation of Character mock in tests
2022-12-27 11:59:14 +01:00
P0nk
af14da987e
Replace FredrickProcessor dependence on NoteDao
2022-12-27 11:04:11 +01:00
P0nk
389b3ad2a4
Add NoteService to handle note operations
...
NoteService should be the only class with access to NoteDao;
nowhere else should NoteDao be accessed directly.
Channel dependencies are static in PacketProcessor, for now.
Ideally they would be injected in the constructor,
but since the constructor is private and I don't want to open
up that can of worms, I'll leave it like this.
At the very least, now we have a way of injecting services into
the handlers. This will make further restructuring way easier.
2022-12-27 10:34:55 +01:00
P0nk
c82881e6f2
Get rid of Character#sendNote, refactor usages of it
2022-12-26 18:09:09 +01:00
P0nk
4d480660b5
Rework sending notes to chr, get rid of the first method
...
Sending notes should not be the handled by Character
2022-12-26 18:07:41 +01:00
P0nk
1f4ce98998
Show notes using NoteDao
2022-12-26 18:07:41 +01:00
Matthew Hinds
32f6194a75
Adjusting name
...
Adjusting name and added it to the config
2022-10-13 21:27:57 +13:00
Matthew Hinds
dd260e7b2a
Toggle the NX coupon loot notice
...
Added a toggle to the showHint that announces the NX gain on a NX coupon loot
2022-10-13 21:23:49 +13:00
P0nk
1a28fc98ac
Commit to "tameness" name over "closeness" for pets, fix scripts
2022-09-15 17:12:21 +02:00
Windyboy
388ee5c805
Fix dead people could be revived with a party hp potion
2022-09-15 01:02:34 +08:00
P0nk
d31f4806fc
Fix mob using attack with no diseaseSkill causing errors
2022-09-12 20:31:38 +02:00
P0nk
df5159e34c
MobSkillFactory throws exception instead of returning null
2022-09-07 19:25:30 +02:00
P0nk
a6ec6adbb5
Combine type and skillLevel in MobSkill
2022-09-03 14:07:24 +02:00
P0nk
7a784a7938
Disease and MCSkill hold MobSkillType instead of int
2022-09-03 05:20:54 +02:00
P0nk
fba49e7eec
MobSkillFactory takes MobSkillType instead of int as id argument
2022-09-03 04:52:55 +02:00
P0nk
84890ac308
Support sealing mob skill
2022-08-29 19:40:24 +02:00