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
a6a7a26ebc
Clean up Steal stuff in MIP
2023-03-15 22:41:36 +01:00
P0nk
7ed7b25268
Fix race condition when concurrently Stealing
2023-03-15 22:38:54 +01:00
P0nk
703ae30a27
Move "steal item" logic to DropProvider
2023-03-15 22:22:14 +01:00
P0nk
6bf8785f22
Fix error in monster_drop query
2023-03-15 22:17:42 +01:00
P0nk
53768555a2
Add table, data, and provider method for global drops
2023-03-09 20:08:20 +01:00
P0nk
a70f4e303d
Add DropProvider and dao for monster drops
2023-03-08 22:46:24 +01:00
P0nk
7a848cf6a1
Add monster_drop table with data
2023-03-08 22:31:14 +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
9d6574d3ba
Cache maker info with Caffeine
2023-03-04 21:27:18 +01:00
P0nk
f2ca67aba4
Add tests for MakerInfoProvider
...
These are going to be handy soon,
as I'm about to add Caffeine for caching.
2023-03-04 21:02:04 +01:00
P0nk
6073b20d65
Cache MakerRecipe, move stimulant to MakerInfoProvider
2023-03-04 17:20:16 +01:00
P0nk
b329709776
Expose containerized databases to host
...
This way you can connect with your favorite db client
2023-03-04 16:04:18 +01:00
P0nk
932f9fc443
Merge branch 'master' into feat/postgresql-database
...
# Conflicts:
# pom.xml
2023-03-02 18:40:27 +01:00
P0nk
f4062e5ebb
Upgrade dependencies
2023-03-02 18:31:21 +01:00
P0nk
10945927c1
Fix writeString not fully respecting charset
...
The string would be cut short for charsets
with characters more than 1 byte.
2023-03-02 18:11:41 +01:00
P0nk
c0c0a2d2d9
Get maker reagent from PG db, rework processor (no statics)
2023-03-02 08:18:13 +01:00
P0nk
5cecb7adb6
Add maker_random_reward table and data (formerly "makerrewarddata")
2023-03-01 21:09:32 +01:00
P0nk
26357a8d7b
Add maker_reagent table and data (formerly "makerreagentdata")
2023-03-01 20:51:26 +01:00
P0nk
9819fd5bb1
Add maker_recipe_ingredient table and data (formerly "makerrecipedata")
2023-03-01 20:45:51 +01:00
P0nk
adbdb89917
Add maker_recipe table and data (formerly "makercreatedata")
2023-03-01 20:34:48 +01:00
P0nk
b7c79800eb
Fix note not showing if case mismatch in name
...
This wouldn't be a problem in the first case,
if there was a foreign key connection between
note and character tables.
Can't add that quite yet though.
2023-02-28 21:30:20 +01:00
P0nk
55e1f65bbd
Fix server not able to use note sequence
2023-02-27 19:55:01 +01:00
P0nk
d018b0f5e5
Add note receiver index
...
Only makes a difference if there is
a large amount of notes in the database.
Better be safe than sorry.
2023-02-27 18:16:23 +01:00
P0nk
12745c207d
Move notes to the Postgres database
2023-02-25 00:40:36 +01:00
P0nk
f6f3c9c3e3
Initiate Postgres connection pool on startup
2023-02-25 00:11:33 +01:00
P0nk
8bb825ef02
Add Docker compose support for Postgres
2023-02-24 23:42:13 +01:00
P0nk
f1192279bf
Add Flyway, run db migration in local PostgreSQL db
...
First step in my plan to switch away from MySQL.
2023-02-24 21:49:00 +01:00
P0nk
b30e03ffb3
Fix portal in Zenumist society not working for GM chr
2023-02-17 00:42:33 +01:00
P0nk
82157c7bd1
Flatten ChangeMapHandler
2023-02-16 23:46:13 +01:00
P0nk
b1ef94ef60
Fix handbook file encoding
...
All handbook files are now UTF-8
2023-02-04 19:49:54 +01:00
P0nk
f89392b476
Refactor IdCommand
2023-02-04 19:46:09 +01:00
P0nk
404c00c2bf
Merge branch 'master' into feat/note-dao
2022-12-27 15:09:38 +01:00
P0nk
771b69d151
Merge branch 'master' into feat/note-dao
2022-12-27 14:21:43 +01:00
P0nk
14d80dc2f3
Fix saving "Illegal program claim" report
...
No chatlog is provided in the packet for this type
2022-12-27 14:08:20 +01:00
P0nk
cb38bcd270
Fix wrong timestamp format when saving report
2022-12-27 14:08:20 +01:00
P0nk
37a9a4121f
Show confirmation after note is sent
2022-12-27 12:31:47 +01:00
P0nk
4731c0c60d
Add tests for NoteService
2022-12-27 12:18:58 +01:00
P0nk
65111ae209
Create packet class for PacketCreator::showNotes
2022-12-27 12:18:36 +01:00
P0nk
2a460de911
Disable logging in tests
2022-12-27 12:05:51 +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
387437cada
Workaround for Guild dependence on NoteDao
2022-12-27 11:05:00 +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
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