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
5f1f5b7dcd
Fix saving note
2022-12-27 10:24:47 +01:00
P0nk
7e3be4c45d
Update README - explain hide
2022-12-26 18:09:09 +01:00
P0nk
c82881e6f2
Get rid of Character#sendNote, refactor usages of it
2022-12-26 18:09:09 +01:00
P0nk
6be1fabc55
Send wedding invitation note directly via dao
2022-12-26 18:07:41 +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
P0nk
605f2e212e
Add NoteDao, used by NoteActionHandler to delete note when read
2022-12-26 18:07:41 +01:00
P0nk
188eb74a70
Add Note model object
2022-12-26 18:07:41 +01:00
P0nk
2d7d113458
Initial jdbi setup
2022-12-26 18:07:41 +01:00
P0nk
f267b1fc0b
Fix error summoning master guardians on CWKPQ last stage
2022-10-16 12:30:01 +02:00
P0nk
4004b36bfa
Tag the merge commit instead of last commit in the PR
...
The merge commit is more suitable since it provides some context
and groups up all the commits.
2022-10-16 11:53:29 +02:00
P0nk
584fccec92
Activate bump-version action
2022-10-16 10:04:35 +02:00
P0nk
41cf8b4485
Update README - add "Working with GitHub", "Versioning"
2022-10-16 10:02:03 +02:00
P0nk
e12d853499
Update build workflow - new name and updated dependencies
2022-10-16 08:48:32 +02:00
P0nk
5c7fcdae06
Add action to automatically tag commits
...
Using this action: https://github.com/marketplace/actions/github-tag-bump
The idea is that the repo will be versioned in SemVer format, such as "v0.5.3".
When a PR is merged, a new version will automatically be added.
The new version is generated based on the latest tag, and the part that is bumped
is dictated by the merge commit message, either #major, #minor (default) or #patch.
This way I (the repo owner) has control over versioning, and other contributors
don't have to bother with anything.
2022-10-16 08:34:45 +02:00
P0nk
1a28fc98ac
Commit to "tameness" name over "closeness" for pets, fix scripts
2022-09-15 17:12:21 +02:00
P0nk
650b1ff89b
Fix mob summoning mobskill not working
2022-09-14 07:27:48 +02: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
319d65a0c3
Add tests for MobSkillFactory
2022-09-07 18:58:26 +02:00
P0nk
fd793d6b04
Fix not reading mpCon from MobSkill
2022-09-07 18:58:02 +02:00
P0nk
15c4188d48
Make MCSkill immutable with record
2022-09-03 14:44:14 +02:00
P0nk
9e0479fe9f
Clean up Monster usedSkills
2022-09-03 14:31:43 +02:00
P0nk
a6ec6adbb5
Combine type and skillLevel in MobSkill
2022-09-03 14:07:24 +02:00
P0nk
7cdaabf6f8
Simplify Monster skills with Set instead of List
...
Doable now with MobSkillId records
2022-09-03 13:31:47 +02:00
P0nk
c47ca4d6a4
Fix MobSkillType always being ATTACK_UP
2022-09-03 13:11:45 +02:00
P0nk
930d365752
Add record MobSkillId for mob skill type + level combination
...
Pair is nasty to work with when they are passed around all over
2022-09-03 11:01:51 +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
66b04969fd
Delete ArrayMap which filled no function
2022-09-03 04:32:09 +02:00
P0nk
aeaad4194a
Refactor MobSkill#applyEffect, split into multiple smaller methods
2022-09-03 04:22:06 +02:00
P0nk
455d4b2195
Make MobSkill immutable using builder pattern
2022-09-02 08:45:55 +02:00
P0nk
6e62a6a45d
Break off mob skill loading into separate method
2022-09-02 07:58:52 +02:00
P0nk
3c9be7d70b
Lessen magic numbers around mob skills with new "type" enum
2022-09-02 07:39:26 +02:00
P0nk
958286e078
Make Riche text MSEA-like (at least)
...
MSEA text is likely not the same as GMS text, but it's better than making things up.
2022-08-31 22:04:58 +02:00
P0nk
ea76880b7f
Use act() in reactor scripts where possible, provide empty act() otherwise
...
"function hit()" has triggered on each reactor hit,
while "function act()" is only triggered once it's destroyed or reached an end state
2022-08-31 21:34:49 +02:00
P0nk
298457a007
Clean up old way of damaging area boss with reactor
2022-08-30 08:33:10 +02:00
P0nk
7d28e00e4f
Make Riche killable after destroying the reactor
2022-08-29 23:32:59 +02:00
P0nk
0118844c2e
Make Scholar Ghost killable after triggering the reactor
2022-08-29 23:05:25 +02:00
P0nk
8c418f197a
Make Rurumo killable after triggering the reactor
2022-08-29 22:53:29 +02:00
P0nk
7fa677d766
Fix act for scripts that reset to initial state after some time
2022-08-29 22:46:46 +02:00
P0nk
17ae269cc9
Make Security Camera killable after talking to control device
2022-08-29 22:04:07 +02:00
P0nk
535b6c3e8e
Make Deet and Roi killable after talking to magic pentagram
2022-08-29 21:58:58 +02:00
P0nk
f1d0cb6b4d
Make Shade killable after talking to lamp post
2022-08-29 21:42:57 +02:00
P0nk
7fffd0bb64
Make Snow Witch killable after reactor activation
2022-08-29 21:20:51 +02:00
P0nk
84890ac308
Support sealing mob skill
2022-08-29 19:40:24 +02:00
P0nk
d1da1d67e0
Add test for evaluating all reactor scripts
2022-08-19 20:00:28 +02:00
P0nk
5b0715d5d0
Add test for evaluating all quest scripts
2022-08-19 19:58:17 +02:00
P0nk
cf27c6301f
Add test for evaluating all portal scripts
2022-08-19 19:57:15 +02:00
P0nk
3354345cef
Add test for evaluating all item scripts
2022-08-19 19:55:27 +02:00
P0nk
6ae2235083
Add test for evaluating all event scripts
2022-08-19 19:53:07 +02:00
P0nk
c5d2e90e5b
Add test for evaluating all NPC scripts
2022-08-19 19:45:40 +02:00
P0nk
6ea4e3cfc1
Fix one-time lens coupon for female
...
Last commit fixed Orbis, this one fixes:
Henesys, Showa, NLC, Mu Lung, Ludibrium, Singapore, Amoria, Ariant
2022-08-11 21:14:26 +02:00
P0nk
ae7b832e00
Fix Orbis one-time lens coupon for female
2022-08-11 20:20:45 +02:00
P0nk
79ab28a52e
Break up Orbis lens NPC script into multiple functions
2022-08-11 19:10:57 +02:00
P0nk
d691dc1e18
Prefer Path.of() over Paths.get()
2022-08-11 19:01:40 +02:00
P0nk
297d5b25f0
Fix default wz location
2022-08-11 18:54:01 +02:00
P0nk
229252cd63
Fix deprecations
2022-08-11 15:18:09 +02:00
P0nk
618f312b84
Remove thread tracker system
2022-08-11 14:57:26 +02:00
P0nk
4fb632ecdb
Remove monitored locks (fair), use basic version
2022-08-11 14:45:48 +02:00
P0nk
54878ebe8c
Remove monitored locks with default fairness, use basic version
2022-08-11 14:26:23 +02:00
P0nk
8657b765b1
Remove monitored read/write locks, use basic version
2022-08-11 14:16:06 +02:00
P0nk
8ab2058ecc
Stop using monitored locks in EventInstanceManager
2022-08-11 13:56:12 +02:00
P0nk
42043c3d6c
Stop using monitored locks in MapleMap
2022-08-11 13:38:16 +02:00
P0nk
28e8862254
Stop using monitored locks in World
2022-08-11 13:31:55 +02:00
P0nk
7e848618e8
Stop using monitored locks in Server
2022-08-11 12:07:38 +02:00
P0nk
b6c17e944a
Stop using monitored locks in Channel
2022-08-11 11:55:56 +02:00
P0nk
c7af125afc
Remove FaceExpressionService
...
Face expressions are automatically defaulted back after 5 seconds by the client, anyway
2022-08-11 11:48:11 +02:00
P0nk
65f8a6e335
Bump dependencies (maven plugins + JUnit)
2022-08-11 01:19:36 +02:00
P0nk
58277574b5
Refactor QuestItemFetcher, remove commons-io dependency
2022-08-11 01:15:34 +02:00
P0nk
7aba5f4578
Refactor MapInfoRetriever, stop using FileUtils from commons
2022-08-11 01:01:08 +02:00
P0nk
28bc5ee925
Refactor EventMethodFiller, stop using FileUtils from commons
2022-08-11 00:43:08 +02:00
P0nk
62ce462c0f
Make jar multi-release to align with log4j2, get rid of warning
2022-08-11 00:08:19 +02:00
P0nk
e2b8236b59
Fix negated comparison
2022-08-05 22:49:42 +02:00
P0nk
bfb2c1cb3d
Fix various other scripts with broken comparisons
2022-08-05 22:46:01 +02:00
P0nk
fcdf3d6e1e
Fix helios tower elevator portal script
2022-08-05 22:30:35 +02:00
P0nk
67a6273f6f
Merge branch 'master' into various-fixes
2022-08-03 08:41:07 +02:00
P0nk
3f1a6ecc8c
Fix NPC script at end of Puppeteer's Secret Passage (910510100)
2022-08-03 08:29:57 +02:00
P0nk
2b680c02c8
Mute GraalVM warning spam on startup
2022-08-03 07:57:01 +02:00
P0nk
c2b28b5148
Merge branch 'master' into various-fixes
2022-08-03 07:43:02 +02:00
P0nk
8ce3be5efb
Merge branch 'master' into various-fixes
2022-08-03 07:04:44 +02:00
P0nk
e57dc96fd1
Update README
2022-08-02 19:27:44 +02:00
P0nk
5afb09d798
Refactor various minor things
2022-08-02 17:45:47 +02:00
P0nk
8d213e4d6e
Fix broken dojo scripts since introduction of MapId constants
2022-08-02 16:31:15 +02:00
P0nk
89ababc5c0
Fix logs being cut off during shutdown
2022-06-19 07:58:17 +02:00
P0nk
570499f6ab
Fix mixed up world ids
2022-03-26 16:30:59 +01:00
P0nk
513c9b615d
Rework View all characters - fix packet and limit max chrs
...
Thanks to Lehava#4668 for finding the packet structure
2022-03-26 15:51:16 +01:00
P0nk
084e7b22fa
Consolidate HexTool methods and add more tests
2022-02-14 19:48:21 +01:00
P0nk
1daddbf302
Use HexFormat for converting from bytes to hex string and the other way round
2022-02-14 18:37:30 +01:00
P0nk
0e32f439fb
Add unit tests for HexTool
2022-02-14 18:20:02 +01:00
P0nk
e991c5a96f
Bump dependency versions
...
Slf4j: 1.7.32 -> 1.7.36
Netty: 4.1.67.Final -> 4.1.74.Final
JUnit: 5.7.2 -> 5.8.2
HikariCP: 5.0.0 -> 5.0.1
MySQL connector: 8.0.26 -> 8.0.28
2022-02-12 18:02:33 +01:00
P0nk
ef70dac1a0
Bump to Java 17
2022-02-12 17:22:54 +01:00
P0nk
aceb410331
Stop using java.util.logging.Logger, start using slf4j
2022-02-10 21:49:47 +01:00
P0nk
2bbfd46105
Stop logging with System.out.println, start using slf4j
2022-02-10 21:40:54 +01:00
P0nk
c879e36a9c
Migrate last set of calls to FilePrinter, delete FilePrinter
2022-02-10 19:53:22 +01:00
P0nk
8b630f7357
Migrate yet another batch of FilePrinter users to Slf4j
...
One FilePrinter.printError() method removed, one more to go
2022-02-09 21:05: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
53465bba25
Migrate some users of FilePrinter to slf4j.Logger
...
At least we got rid of one printError method
2022-01-19 18:36:19 +01:00