Commit Graph
100 Commits
Author SHA1 Message Date
P0nk e35060da2a Handle ban solely through BanService 2024-09-29 20:25:11 +02:00
P0nk c0ee1f8ffe Encapsulate account creation in AccountService 2024-09-29 19:33:20 +02:00
P0nk 99006c2dda Set ban through AccountService 2024-09-29 19:30:24 +02:00
P0nk f142e21bbb Fix broken test 2024-09-29 18:14:05 +02:00
P0nk 1c6245fa6c birthday represented as LocalDate 2024-09-29 18:09:05 +02:00
P0nk a307afae3c Unify ban handling on login 2024-09-29 17:55:51 +02:00
P0nk 50524a7740 Show correct ban reason 2024-09-29 17:30:09 +02:00
P0nk d00b4ed678 Rename "temp_ban_timestamp" -> "temp_banned_until" 2024-09-29 16:34:04 +02:00
P0nk b45620154c LoginState enum 2024-09-29 16:22:32 +02:00
P0nk 5450c29178 Reduce login state updates, fix multi-login on same acc 2024-09-29 15:55:25 +02:00
P0nk fa666c98e6 Rename loginattempt 2024-09-29 14:24:56 +02:00
P0nk 902f1a154e Log out in PG on exit game
Can nog log in, enter game, exit game and re-login successfully.
2024-09-29 09:26:55 +02:00
P0nk 4e1aa1eb1a Rename NOT_LOGGED_IN -> LOGGED_OUT 2024-09-29 09:15:01 +02:00
P0nk a580e44bc9 Rename AccountService methods 2024-09-29 09:14:32 +02:00
P0nk da4a467453 Set in transition on log in, now able to enter the game
The state is not set properly on logout though, so once you log out you can't log back in
2024-09-29 08:22:26 +02:00
P0nk 0bb14e415e Log in through AccountService on player login 2024-09-29 07:52:42 +02:00
P0nk 0a8591aa08 Merge "serverTransition" and "inTransition" fields
They serve the same purpose, no point in separating
2024-09-29 07:43:47 +02:00
P0nk 813768ec47 Remove AddWorld,AddChannel,RemoveWorld,RemoveChannel cmds
These are incredibly error prone and hinder the database migration work.
2024-09-29 07:32:20 +02:00
P0nk 5595f5763b Log in through AccountService 2024-09-28 18:30:41 +02:00
P0nk 1be775394e Disable slow tests that don't provide much value 2024-09-28 18:30:31 +02:00
P0nk 55c9d4abbb Log out through AccountService 2024-09-28 18:26:23 +02:00
P0nk 93bbe868cb Use LoginState everywhere 2024-09-28 07:02:05 +02:00
P0nk ec39f0fa06 Avoid additional db query to get login state during login 2024-09-28 06:55:45 +02:00
P0nk 439280947c Save gender to PG 2024-09-27 23:20:02 +02:00
P0nk 5abae50be5 Rework login, get account from PG 2024-09-27 22:52:12 +02:00
P0nk 082e0c0486 Save chr slots to PG 2024-09-27 17:59:26 +02:00
P0nk 2044166967 Save pic to PG 2024-09-27 17:34:36 +02:00
P0nk f33d4fbc1c Save pin to PG 2024-09-27 06:50:07 +02:00
P0nk 0f2ef341ce Save accepted ToS to PG 2024-09-26 21:14:52 +02:00
P0nk c7f835da0d Add DatabaseTest to easily test repositories 2024-09-26 19:51:18 +02:00
P0nk 647e67f6e8 Auto-create account in both MySQL and PG 2024-09-26 07:59:27 +02:00
P0nk bf9c02bc16 Fix failed chr save due to null jail expiration 2024-09-26 07:59:11 +02:00
P0nk 1d5c26e67c Remove SHA-512 password migration 2024-09-26 06:48:13 +02:00
P0nk b85233359f Save new chr to PG (doesn't work yet because no account) 2024-09-25 18:31:38 +02:00
P0nk 7335914695 Simplify sp saving 2024-09-25 18:07:50 +02:00
P0nk b4e673baab Make some chr stats nullable to ease migration to PG 2024-09-25 17:48:12 +02:00
P0nk 767c4402e7 Route chr creation to dummy CharacterCreator 2024-09-25 07:21:27 +02:00
P0nk a9967d53b1 Fix chr loading due to "monster_card" table not found 2024-09-25 06:58:19 +02:00
P0nk 00fc3ed1a1 Handle created chr with spec 2024-09-25 06:33:03 +02:00
P0nk 98d76ad45e Prepare centralized chr creation 2024-09-25 06:32:43 +02:00
P0nk 0c9643fd7e CharacterSaver integration test with Testcontainers 2024-09-15 11:41:03 +02:00
P0nk ce5dee39ae Reorder migration scripts - move acc+chr creation earlier 2024-09-14 17:48:20 +02:00
P0nk e57d2a9ee2 Create account, chr tables & save chr to Postgres 2024-09-14 17:44:48 +02:00
P0nk f827e23ccc Clean up rewardpoints 2024-09-14 15:39:06 +02:00
P0nk f8726640c3 Remove configurable language feature 2024-09-14 15:34:01 +02:00
P0nk 4778482cdd Remove quest point feature 2024-09-14 15:02:51 +02:00
P0nk 7297cd09b6 Separate PG from MySQL chr saving 2024-09-14 14:56:15 +02:00
P0nk 08eeeb54dc Rename ...Dao -> ...Repository 2024-09-14 12:06:09 +02:00
P0nk abbec8120e Restructure chr saving - gather stats in record 2024-09-14 11:57:54 +02:00
P0nk 23a8a33e5f Move transaction handling to CharacterSaver 2024-09-13 23:59:29 +02:00
P0nk 758347f7bc Small refactor of disconnectInternal for readability 2024-09-13 23:23:35 +02:00
P0nk 1b6c0167de Fix buddy staying online in buddy list if dc in cash shop 2024-09-13 23:17:42 +02:00
P0nk 8bce0922d9 Fix broken global drops since merge from master 2024-09-13 23:02:12 +02:00
P0nk f41268cdde Handle disconnect solely in TransitionService 2024-09-13 22:59:55 +02:00
P0nk 719b079cbc Refactor unnecessary wrapper boolean 2024-09-13 21:47:52 +02:00
P0nk 7bd5fa387d Merge branch 'refs/heads/master' into feat/postgresql-database 2024-09-13 21:29:50 +02:00
P0nk 09a75e89c9 Merge branch 'refs/heads/master' into feat/postgresql-database
# Conflicts:
#	src/main/java/server/life/MonsterInformationProvider.java
#	src/main/java/server/maps/MapleMap.java
2024-09-03 17:45:27 +02:00
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
P0nk dbf1a1bb36 Fix global drops thread issue
This randomly caused global drops to stop working after a while.
Originally reported by Crabo of MapleHorizons.
2024-08-28 21:22:47 +02:00
P0nk 5064ee936a Fix staggered exploding mesos
Thanks teto: "the staggering should only go up to 400ms [attack.attackDelay + (index++ % 5) * 100], and the total delay should be capped at 1000ms according to the BMS implementation"
2024-08-27 07:41:24 +02:00
P0nk acac203e42 Scheduler free timing for reactor drops 2024-08-20 20:32:33 +02:00
P0nk cdd1c8cb61 Proper timing on removing exploded meso
No longer using scheduling on server side but rather
a delay value inherent to the "remove item from map" packet.
2024-08-20 20:13:01 +02:00
P0nk 439753eb6d Fix drop delay for Meso Explosion 2024-08-20 19:44:16 +02:00
P0nk e30700de66 Fix drop delay from summon attack 2024-08-17 21:27:43 +02:00
P0nk 994d1723b6 Remove unnecessary "spawn loot on animation" feature
No longer needed since item drop timing is now dictated by the client
since two commits back.
2024-08-17 19:14:04 +02:00
P0nk 2d40a89c55 Overload damageMonster for when no delay is needed 2024-08-17 19:13:38 +02:00
P0nk 802cc2b5f5 Use delay from packets for drop timing 2024-08-17 19:13:36 +02:00
P0nk 2ffca90d29 Add attack delay to AttackInfo
Meant to be used in item drop packet for timing handled by the client
rather than scheduling item drop packets on the server.
2024-08-14 07:45:06 +02:00
P0nk cad10c4d5c Remove rebirth system 2024-07-19 17:16:14 +02:00
P0nk 3850b63cec Add migration for <v0.14.0 to fix shop dc 2024-07-17 19:24:19 +02:00
P0nk a7df8a4f49 Remove banish scroll from WZ files 2024-07-17 18:50:44 +02:00
P0nk 7071b13e41 Remove banish scroll from shops 2024-07-17 18:39:50 +02:00
P0nk 2324ae7f9e Refactor BanishInfo - make it a record 2024-07-17 18:11:50 +02:00
P0nk 402163c33d Remove "banishable town scroll" feature 2024-07-17 17:45:38 +02:00
P0nk 3356e42e71 Remove "spikes avoid banish" feature 2024-07-16 20:17:21 +02:00
P0nk 205e263255 Specify required Java version 2024-07-16 20:16:26 +02:00
P0nk 5a4bdd343c Fix Energy charge crashing certain other players
Crabo in #bug-report (2024-06-10):
"(...) this will crash everyone in the map besides the bucc and 1 character, when a bucc (or TB) charges energy and a character with an ID that's a multiple of 102 is in the same map (and the energy reaches that number so if character ID is 204 it will reach that after 2 hits and DC the whole map besides the bucc and that char with id 204).
 Thanks to others for helping me fix it. Thought I'd report it!"
2024-06-16 19:09:21 +02:00
P0nk 1791365e0f Fix able to get package from Cash shop surprise
Packages aren't real items and crash the client.
2024-06-16 16:06:29 +02:00
P0nk 5aeed01e38 Fix not using the selected Cash shop surprise
If you have multiple, it would always use the first one. Now it uses whichever you select (as expected).
2024-06-16 15:08:48 +02:00
P0nk 6ab1af99da Add tests for CashShopSurpriseHandler 2024-06-16 13:56:54 +02:00
P0nk c7b2d218ef Fix count not being updated after last Cash shop surprise 2024-06-16 12:59:30 +02:00
P0nk 01ae462b72 Refactor CashShop - add constants for cash types 2024-06-16 12:19:16 +02:00
P0nk b67b29def5 Fix cash shop surprise count not properly updated on usage
This reverts the hacky solution made in db82cbcfae
2024-06-15 08:31:24 +02:00
P0nk 4e743128e9 Remove all wildcard imports 2024-05-22 08:33:44 +02:00
P0nk 2ed35db216 Add IntelliJ code style settings (no wildcard imports) 2024-05-22 08:06:46 +02:00
P0nk 9fe6ba4483 Add new wz files zip (reduced size by ~400mb)
Removed: Base.wz, Effect.wz, Morph.wz, Sound.wz, TamingMob.wz
2024-05-21 22:47:47 +02:00
P0nk dee8651e61 Add DevtestCommand to easily test without restarting server 2024-05-21 21:36:54 +02:00
P0nk 948a9de667 Remove Spirit of Rock die sound 2024-05-21 20:23:34 +02:00
P0nk d55437ddf3 Remove subway whistle 2024-05-21 19:56:09 +02:00
P0nk 98fd8c13d4 Remove brazil anthem 2024-05-21 19:54:30 +02:00
P0nk 04a92fe0c1 Remove buyback custom feature 2024-05-21 19:44:25 +02:00
P0nk dc1a712f52 Re-add section about running from jar 2024-05-10 22:26:04 +02:00
P0nk 7a6d3e1b68 Add feature request issue template 2024-05-10 21:29:09 +02:00
P0nk 970fb3155f Complement pom.xml 2024-05-09 22:29:15 +02:00
P0nk 0eb78e2d9e Use root db user by default 2024-05-09 22:08:28 +02:00
P0nk 7d42870abd Fix sql script not being runnable on newer versions of MySQL 2024-05-09 21:26:09 +02:00
P0nk c7b9e0eee3 Major rewrite of README 2024-05-09 21:11:53 +02:00
P0nk c5089881b3 Tidy pom
mvn tidy:pom
2024-05-09 14:24:03 +02:00
P0nk 9c1406f75d Update pull request template 2024-05-09 12:33:50 +02:00
P0nk 92226483be Merge branch 'refs/heads/master' into feat/project-update 2024-05-09 12:30:14 +02:00