P0nk
559fe2d550
Merge branch 'refs/heads/master' into feat/postgresql-database
...
# Conflicts:
# config.yaml
# docker-compose.yml
# pom.xml
# src/main/java/client/Character.java
# src/main/java/client/Client.java
# src/main/java/client/MonsterBook.java
# src/main/java/client/command/commands/gm0/BuyBackCommand.java
# src/main/java/client/processor/stat/AssignAPProcessor.java
# src/main/java/config/ServerConfig.java
# src/main/java/net/server/channel/Channel.java
# src/main/java/net/server/channel/handlers/AbstractDealDamageHandler.java
# src/main/java/net/server/channel/handlers/BuddylistModifyHandler.java
# src/main/java/net/server/channel/handlers/CloseRangeDamageHandler.java
# src/main/java/net/server/channel/handlers/EnterMTSHandler.java
# src/main/java/net/server/channel/handlers/NPCTalkHandler.java
# src/main/java/net/server/channel/handlers/RangedAttackHandler.java
# src/main/java/net/server/channel/handlers/SummonDamageHandler.java
# src/main/java/net/server/channel/handlers/UseCashItemHandler.java
# src/main/java/net/server/handlers/login/CreateCharHandler.java
# src/main/java/net/server/world/World.java
# src/main/java/scripting/npc/NPCConversationManager.java
# src/main/java/server/ItemInformationProvider.java
# src/main/java/server/life/Monster.java
# src/main/java/server/life/MonsterInformationProvider.java
# src/main/java/server/maps/MapleMap.java
# src/main/java/tools/PacketCreator.java
# src/test/java/service/NoteServiceTest.java
# src/test/java/testutil/Any.java
2024-09-02 20:43:55 +02:00
Noir
94a08d86a0
Min HP / MP needs to check against post-AP-reset value
2024-06-18 21:42:52 -04:00
Noir
a878a4f3f9
Fix minimum HP and MP checks on AP reset
2024-06-17 18:48:13 -04:00
P0nk
4e743128e9
Remove all wildcard imports
2024-05-22 08:33:44 +02:00
P0nk
04a92fe0c1
Remove buyback custom feature
2024-05-21 19:44:25 +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
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
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
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
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
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
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
Đạt Nhân Trương
0ef3e69638
Clean up code, replace switch and try-with-resource where possible.
2022-08-07 21:51:10 +07:00
P0nk
c879e36a9c
Migrate last set of calls to FilePrinter, delete FilePrinter
2022-02-10 19:53:22 +01:00
P0nk
0c60606b4e
Migrate another batch of FilePrinter users to slf4j.Logger
...
Another FilePrinter method removed.
2022-02-08 21:08:59 +01:00
P0nk
4efd356cbf
Turn item id magic numbers into constants
2021-11-07 11:39:09 +01:00
P0nk
8b60684103
Fix missing static imports of TimeUnit
2021-09-10 19:18:20 +02:00
P0nk
cdc17ef3dd
Use TimeUnit for time calculations
2021-09-10 19:08:58 +02:00
P0nk
9bf1b68924
Reformat and clean up "client" package
2021-09-09 23:22:44 +02:00
P0nk
5883626020
Rename and clean up MapleTrade
2021-09-09 22:53:53 +02:00
P0nk
e9c8a82b47
Rename and clean up MapleStorage
2021-09-09 22:51:39 +02:00
P0nk
18e1f6c50b
Rename and clean up MapleStatEffect
2021-09-09 22:51:02 +02:00
P0nk
9c8abf6f62
Rename and clean up MapleItemInformationProvider
2021-09-09 22:45:55 +02:00
P0nk
d35969dea5
Rename and clean up MapleHiredMerchant
2021-09-09 22:22:34 +02:00
P0nk
2332458ed9
Rename and clean up MapleDataTool
2021-09-09 21:52:32 +02:00
P0nk
5089f23f79
Rename and clean up MapleDataProviderFactory
2021-09-09 21:51:34 +02:00
P0nk
1592d3efc8
Rename and clean up MapleDataProvider
2021-09-09 21:51:05 +02:00
P0nk
d35ead558f
Rename and clean up MapleStat
2021-09-09 21:25:35 +02:00
P0nk
3e1b5b93d5
Rename and clean up MapleJob
2021-09-09 21:21:04 +02:00
P0nk
b07e6799dc
Rename and clean up MapleClient
2021-09-09 21:13:48 +02:00
P0nk
7dc3a2159a
Rename and clean up MapleCharacter
2021-09-09 21:09:45 +02:00
P0nk
065ef632ac
Rename and clean up MapleKarmaManipulator
2021-09-09 20:55:47 +02:00
P0nk
b2cbb65c6a
Rename and clean up MapleInventoryManipulator
2021-09-09 20:55:07 +02:00
P0nk
6ca5abd896
Rename and clean up MaplePet
2021-09-09 20:51:30 +02:00
P0nk
5ed7cf73d1
Rename and clean up MapleInventoryType
2021-09-09 20:49:05 +02:00
P0nk
1b945bca10
Rename and clean up MapleInventory
2021-09-09 08:34:01 +02:00
P0nk
faf993cae6
Remove LittleEndianAccessor class hierarchy
2021-08-23 22:11:58 +02:00
P0nk
da2d8abc56
Handlers read from InPacket instead of SeekableLittleEndianAccessor
2021-08-22 22:10:19 +02:00
P0nk
8f6860d7d7
All packet creating methods now create Packet instead of byte[]
...
This commit got way too big...
- Remove deprecated methods for sending packets
- Favor OutPacket & Packet over MaplePacketLittleEndianWriter, LittleEndianWriter, and byte array
- Split up some packet creating methods into separate classes
2021-08-21 01:36:51 +02:00
P0nk
e184f25184
Remove "Maple" prefix from MaplePacketCreator name
2021-08-19 21:31:57 +02:00