Commit Graph
96 Commits
Author SHA1 Message Date
P0nk fdd2ef7b3a Move MapleBossHpBarFetcher to main module 2021-07-10 18:28:09 +02:00
P0nk bc6593fd81 Move MapleArrowFetcher to the main module 2021-07-10 18:12:36 +02:00
P0nk 14a405adb2 Consistent handling of wz files and their paths 2021-07-10 17:49:04 +02:00
Ponk 0b17725e8e Merge pull request #35 from ronancpl7/fix-change-maps-disorder
Fix mob status crash & dmg from map hazard
2021-05-23 07:44:17 +02:00
Ronan Lana 3d5db5d79c fix: incurred ambiguity import 2021-05-22 14:48:44 -03:00
Ronan Lana d330376706 fix: missed stream import 2021-05-22 11:56:37 -03: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
Ronan Lana 2aa09f89db fix: Minor code typo 2021-05-20 13:01:42 -03:00
Ronan Lana f4a4acf742 Encode status patch
Filter out some status crashing players.
2021-05-18 20:21:38 -03:00
Ronan Lana 458de52dbc Broadcast damage from map hazard
Fix taking damage from map hazard not showing to other players.
2021-05-18 18:16:46 -03: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 5a5110d905 Use existing connection for loading new year + family
Move async tasks earlier for lower chance of having to wait
2021-04-16 20:41:17 +02:00
P0nk 8335e77f2e Load developer room async on startup 2021-04-13 22:44:20 +02:00
P0nk dd7c2a697a Load skillbook source information async on startup 2021-04-13 08:14:11 +02:00
P0nk 055ee01ae9 Load quests async on startup 2021-04-12 22:05:57 +02:00
P0nk a59b55db57 Load cash items async on startup 2021-04-12 21:44:47 +02:00
P0nk 415376ce08 Load skills async on startup 2021-04-12 21:06:05 +02:00
P0nk ab56d18bd3 Log startup time 2021-04-11 14:02:25 +02:00
P0nk 68239bc0b5 Make database operations during startup consistent
Use the same Connection. and log things in a similar fashion
2021-04-11 13:52:35 +02:00
P0nk 858fcd2a3a Actually perform name changes & world transfers on startup
No changes were being committed
2021-04-11 13:05:12 +02:00
ronancpl d4e4150a6e cleanup: adjust syntax 2021-04-10 09:43:05 -03:00
ronancpl 7a3d5d2b94 Allow local/LAN/WAN login-phase connections
Allow clients connecting from different IP domains (local/LAN/WAN) to get past login phase and clean unnecessary local server check.
2021-04-09 20:54:53 -03:00
P0nk a5b42b8a43 cleanup: use primitive type instead of wrapper type 2021-04-08 17:49:22 +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 ebb3aa7ba3 cleanup: prefer List#sort over Collections#sort 2021-04-08 07:44:02 +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 7ff8190977 cleanup: remove unnecessary boxing 2021-04-08 07:39:02 +02:00
P0nk 5c6f515d18 cleanup: use for-each loop where applicable 2021-04-08 07:36:38 +02:00
P0nk 0ff8a80ef2 cleanup: remove unnecessary semicolon 2021-04-08 07:34:56 +02:00
P0nk f37d4063fb cleanup: remove unnecessary interface modifiers 2021-04-08 07:33:52 +02:00
P0nk dde52653e5 cleanup: remove unnecessary conversion to String 2021-04-08 07:30:12 +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 b3c1259580 Use new logging for all startup messages 2021-04-07 18:40:47 +02:00
RubenD96 e8d2256683 Fix exploit for negative itemId's in PetExcludeItemsHandler 2021-04-07 17:26:55 +02:00
RubenD96 28707fa0f3 Fix exploit for invalid skill macro name length 2021-04-07 17:26:49 +02:00
P0nk 2f34b3ed8b Fix ranking update query using a keyword for field name
"Rank" is a reserved keyword in MySQL 8.
This caused an SQLSyntaxErrorException during the task run.
2021-04-06 21:12:23 +02:00
P0nk 02256e04ed Fix SQL type conversion error during ranking move update
Caused by prior upgrade to MySQL 8 which seems more strict when it comes to type conversions.
2021-04-06 21:11:56 +02:00