Commit Graph

100 Commits

Author SHA1 Message Date
P0nk
38c700ca48 Rename and clean up MapleLifeFactory 2021-09-09 22:04:57 +02:00
P0nk
14344568f2 Rename and clean up MapleExpeditionType 2021-09-09 22:00:48 +02:00
P0nk
5a6ed83545 Rename and clean up MapleExpeditionBossLog 2021-09-09 21:59:43 +02:00
P0nk
1e00505671 Rename and clean up MapleExpedition 2021-09-09 21:59:17 +02:00
P0nk
bfc37a345d Rename and clean up MapleEvent 2021-09-09 21:55:40 +02:00
P0nk
5089f23f79 Rename and clean up MapleDataProviderFactory 2021-09-09 21:51:34 +02:00
P0nk
2281aec440 Rename and clean up MapleData 2021-09-09 21:48:28 +02:00
P0nk
63a2aeee10 Rename and clean up MaplePartyCharacter 2021-09-09 21:45:27 +02:00
P0nk
714df342d9 Rename and clean up MapleParty 2021-09-09 21:44:09 +02:00
P0nk
559d3a42b3 Rename and clean up MapleGuild 2021-09-09 21:34:29 +02:00
P0nk
5e5f7b12ca Rename and clean up MapleAlliance 2021-09-09 21:33:36 +02:00
P0nk
aea3a7921d Rename and clean up MapleEventRecallCoordinator 2021-09-09 21:31:22 +02:00
P0nk
d35ead558f Rename and clean up MapleStat 2021-09-09 21:25:35 +02:00
P0nk
8f91d8e7ac Rename and clean up MapleSkinColor 2021-09-09 21:24:36 +02:00
P0nk
8af0999510 Rename and clean up MapleQuestStatus 2021-09-09 21:23:06 +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
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
ba647db6cf Rename and clean up MapleInventoryProof 2021-09-09 20:48:32 +02:00
P0nk
1b945bca10 Rename and clean up MapleInventory 2021-09-09 08:34:01 +02:00
P0nk
c841e9952b Respect charset when loading scripts 2021-09-08 18:46:16 +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
P0nk
14a405adb2 Consistent handling of wz files and their paths 2021-07-10 17:49:04 +02:00
P0nk
d9d63a1b44 Refactor event max lobbies - is no longer a range
It's no longer a range because it:
1. Makes no sense for it to be a range
2. Makes for simpler scripts since returning a JS array is a hassle with Graal
2021-05-21 20:54:51 +02:00
P0nk
095008a20f Fix event scripts' getEligibleParty
Cannot return a JavaScript array straight up
(otherwise you'll get a PolyglotMap):
it has to be converted first from inside the script.
2021-05-21 19:09:40 +02:00
P0nk
bcefd42093 Handle reactor scheduling outside of script
No longer need to make all invocations synchronized
2021-05-21 08:15:01 +02:00
P0nk
f9aec05779 Update GraalVM to latest version (21.1.0) 2021-05-20 22:22:26 +02:00
P0nk
406c43b0ec Make all event script invocations thread safe
Simple solution for avoiding concurrent access
of the same evaluated script, but I would be surprised
if performance is not affected for the worse.
The same Invocable is used for all instances of an event,
so more active instances means higher contention of the single Invocable.
Hopefully the number of instances required for it to be noticeably slow
is high enough that this is not an issue.
2021-05-20 22:03:11 +02:00
P0nk
cdfb7074ec Make all reactor script invocations thread safe
Might be a bit overkill to force synchronization
for every single method invocation when the only
scheduling done in reactor scripts are:
- 5511000 (summon Targa)
- 5511001 (summon Scarlion)
2021-05-20 21:30:46 +02:00
P0nk
2ce6041ef8 Add thread safe wrapper for Invocable 2021-05-20 21:00:48 +02:00
P0nk
cd6415b061 Enforce implementation of PortalScript 2021-04-18 12:31:01 +02:00
P0nk
46c2d92082 refactor: use Invocable instead of ScriptEngine in script managers
- Make fields final
- Inject event script variable earlier
- Remove redundant fields
2021-04-18 11:26:05 +02:00
P0nk
58e69654a2 Let scripts access Java classes
Fix script attempting to schedule with non-long (double) time value
2021-04-17 22:26:18 +02:00
P0nk
a18a1cb8ce Replace NashornScriptEngine with implicit GraalJSScriptEngine
GraalJSScriptEngine implements Invocable, which is why casting to it works.
However, this is just a quick and ugly fix to make it compile.
A better solution would be to cast it once, immediately after `eval`,
and from then on only handle it as Invocable.

Scripts still need to be fixed. They are still using Rhino and Nashorn-specific
ways of importing packages.
Usages of "importPackage" and "Packages" need to be replaced with
the Graal specific "Java.type".
2021-04-17 15:12:19 +02:00
P0nk
dd7c2a697a Load skillbook source information async on startup 2021-04-13 08:14:11 +02:00
P0nk
202f2d8bc5 cleanup: use bulk operation instead of iteration 2021-04-08 17:49:21 +02:00
P0nk
3434c7334b cleanup: remove redundant cast 2021-04-08 17:39:55 +02:00
P0nk
5730b3b42d cleanup: use implicit generic type with diamond operator 2021-04-08 07:42:10 +02:00
P0nk
8aa44711e3 cleanup: use Integer#parseInt where applicable 2021-04-08 07:40:42 +02:00
P0nk
5c6f515d18 cleanup: use for-each loop where applicable 2021-04-08 07:36:38 +02:00
P0nk
f37d4063fb cleanup: remove unnecessary interface modifiers 2021-04-08 07:33:52 +02:00
P0nk
5e3b346053 cleanup: use Java-style array declaration 2021-04-08 07:17:03 +02:00
P0nk
ed5a444753 cleanup: remove unnecessary unboxing 2021-04-07 23:52:58 +02:00
P0nk
6253169e35 cleanup: replace anonymous inner class with lambda 2021-04-07 23:45:28 +02:00
P0nk
69635f5e6c refactor: use try-with-resources for db operations in various places 2021-04-05 00:19:59 +02:00
P0nk
813643036b Switch to Maven file structure 2021-03-30 21:56:34 +02:00