Commit graph

7761 commits

Author SHA1 Message Date
Maneco2
0ed9224d33 Copyright update EnterWorld 2026-04-30 23:41:35 -03:00
Zoey76
6dcf41f646 Fix data loss when parsing transformations with multiple levels
- Ensure each level tag creates its own `StatsSet` instance.
- Correctly add each level's data to the template individually,
preventing overwrites.
- Modernize modified block using final `var` for local variables.
- Add `TransformDataTest` to verify correct parsing of multi-level
transformation data.

Reported by: genuinelyinsane
2026-04-14 13:11:22 -03:00
Evghenii
2b419307c4 Fixed exp restoration in siegeable clan halls 2026-03-08 23:10:41 +03:00
Evghenii
cf67dd0a47 Fixed Eilhalder von Hellmann respawn after he was killed 2026-03-04 20:47:40 +03:00
Zoey76
f88eebd902 Minor pipeline update 2026-03-01 04:44:06 -03:00
Zoey76
e69bfccbf2 Fixing "The value of the lambda parameter k is not used" warnings
AntiFeedManager: Fixed race condition in `tryAddClient` by using atomic
`getAndUpdate` for limit checks.
ListenersContainer: Optimized volatile access using local snapshots to
reduce memory barriers.
RaidBossPointsManager: Switched inner maps to `ConcurrentHashMap` to
ensure thread-safe updates to player raid points.
Quest: Optimized lazy initialization with local variable snapshots and
resolved unused lambda parameters.
SummonEffectsTable: Enhanced thread safety and efficiency using
ConcurrentHashMap and atomic computeIfAbsent refactoring.

Explicitly left out "com.l2jserver.gameserver.model.drops.strategy"
lambda warnings, I want to review the the drop strategy on another
commit.
2026-02-18 14:13:38 -03:00
Zoey76
deb9335dd1 Adding Unit Tests to IPConfigData
Updated copyright notices in tests.
2026-02-10 20:37:13 -03:00
Yeiij
5e06635c08 Fix: Improved Fear movement consistency and Turn Undead behavior 2026-02-10 16:27:06 -03:00
Zoey76
630a4535be Fixing NPE on Quest loading 2026-02-10 13:09:37 -03:00
Zoey76
bb1d922155 Multilingual Support
Enabled `SystemMessageId` and `NpcStringId` localization loading on
`GameServer`.
Set Spanish (`es`) as example language for all features.
Changed `MultiLangSystemMessageAllowed` and `MultiLangNpcStringAllowed`
to Set for better performance.
Added support for localized `NpcStringId` and `SystemMessageId`.
Upgraded and cleaned up related code.
Simplified duplicated code.
2026-01-16 01:48:45 -03:00
Zoey76
1561d3ad2c Updated Maven Wrapper to 3.3.4 2025-12-26 14:15:00 -03:00
Zoey76
09fec286ef Java 25 Upgrade
Updated SLF4J from 2.0.16 to 2.0.17
Updated Log4J from 2.24.3 to 2.25.3
Updated Gson from 2.12.1 to 2.13.2
Updated L2j Server Commons from 2.6.8.1 to 2.6.9.0
Updated JUnit from 5.11.4 to 6.0.1
Updated Mockito from 5.15.2 to 5.21.0
Updated AssertJ from 3.27.0 to 3.27.6
Updated DependencyCheck from 12.0.2 to 12.1.9
Updated Assembly from 3.7.1 to 3.8.0
Updated Compiler from 3.13.0 to 3.14.1
Updated JAR from 3.4.2 to 3.5.0
Updated Surefure from 3.5.2 to 3.5.4
2025-12-26 13:25:06 -03:00
Zoey76
9915ad7dc2 Copyright update 2025-12-26 13:25:05 -03:00
Maneco2
4147f4e6c4 Minor fix geodata corner cut towards north west, thanks HorridoJoho for
review
2025-10-31 15:04:56 -03:00
Zoey76
516f718262 Unhardcode data to datapack JSON and load via Gson
- Added data/stats/agathions.json
- Refactored AgathionRepository to parse the new file
- Converted Agathion to a Java record
2025-09-27 16:29:49 -03:00
Charus
e9971ae348 feature/merchants 2025-08-03 13:43:58 +03:00
Charus
2604b71d31 feature/Teleporter 2025-07-04 20:49:23 +03:00
Charus
c25066bf80 feature/rift_update 2025-03-21 14:19:32 +02:00
HorridoJoho
6377e34548 Fix: Target is excluded when using a skill with the RANGE affect scope.
This fix makes the RANGE affect scope include the target.
2025-03-06 22:14:10 +01:00
HorridoJoho
8e95f13052 Fix: Equipment loses enchantment when picked up in a party.
When PartyEvenlyDistributeAllOtherItems is True or an equipment was
added to the PartyEvenlyDistributeItems list, equipment would lose it's
enchantment when picking it up while in a party.

With this fix, only items with a count above 1 are evenly distributed.
2025-03-06 20:55:33 +01:00
Charus
1bdfeca156 feature/guide_mission 2025-03-01 18:09:25 +02:00
Zoey76
ae2865148b Reducing boilerplate code related to the Quest constructor 2025-02-20 15:59:39 -03:00
Zoey76
39e9cb066f Adding Quest#showFHTML(..) similar to Quest#showQuestFHTML(..)
Adding clan Id to Fort entity.
2025-02-18 23:10:59 -03:00
Zoey76
1bd178f13b Updated Dependencies
Gson from 2.11.0 to 2.12.1
JDA from 5.2.1 to 5.3.0
Mockito from 5.14.2 to 5.15.2
Dependency Check Maven from 11.1.1 to 12.0.2
2025-02-08 22:08:26 -03:00
Zoey76
946dfa539c Some Quest JavaDocs 2025-02-08 21:16:21 -03:00
Zoey76
c9e52d52da Removing return type String from `Quest#onItemTalk(..) 2025-02-08 21:03:58 -03:00
Zoey76
4b195f483d Quest HTML methods rework
Removed `Quest#showResult(L2PcInstance player, String res)` method.
Removed `Quest#showPage(L2PcInstance player, String fileName, boolean
haveQuest)` method.
Removed `Quest#showHtmlFile(L2PcInstance player, String filename)`
method.
Deprecated and changed to private method
`Quest#showHtmlFile(L2PcInstance player, String filename, L2Npc npc)`.
Removed methods`QuestState#showHtmlFile(String filename)` and
`QuestState#showHtmlFile(String filename, L2Npc npc)`.
2025-02-08 19:23:05 -03:00
Zoey76
bc8f78e8fe Reworking Radar Maker
Simplified method names.
Removed `Quest#showRadar(..)` method.
Removed `QuestState#addRadar(..)`, `QuestState#removeRadar(..)`,
`QuestState#clearRadar(..)` methods.
Refactored RadarControl packet.
Added/Fixed JavaDocs in `Quest` HTML-related methods.
2025-02-08 19:01:56 -03:00
Zoey76
3ce0f8dffd Removed unused String return on Quest#onKill(..) 2025-02-05 00:03:24 -03:00
Zoey76
af01c40416 Removed NpcCreatureSee unused isSummon parameter.
Removed several unneeded notify and set event.
Removed unused `String` return on `Quest#onDeath(..)`.
Removed unused `String` return on `Quest#onItemEvent(..)`.
Removed unused `String` return on `Quest#onItemUse(..)`.
Removed unused `String` return on `Quest#onSeeCreature(..)`.
Removed unused `String` return on `Quest#onEnterWorld(..)`.
Removed unused `String` return on `Quest#onTutorialQuestionMark(..)`.
Removed unused `String` return on `Quest#onTutorialCmd(..)`.
Removed unused `String` return on `Quest#onEnterZone(..)`.
Removed unused `String` return on `Quest#onExitZone(..)`.
2025-02-04 22:12:42 -03:00
Zoey76
d9e5a04ba1 Removed unused String return on Quest#onAggroRangeEnter(..) 2025-02-03 02:01:27 -03:00
Zoey76
e479bf5b6f Removed unused String return on Quest#onAttack(..)
Removed useless code at AbstractScript.
2025-02-03 01:42:16 -03:00
Zoey76
6c476bd008 Removed unused String return on Quest#onFactionCall(..) 2025-02-03 01:04:19 -03:00
Zoey76
84f1bce834 Removed invalid String return on Quest#onSpawn(..) 2025-02-03 00:49:30 -03:00
Zoey76
e33668089c Removed unused String return from Quest#onTrapAction(..) 2025-02-03 00:29:10 -03:00
Zoey76
717f4d5e6a Removing unused String return on Quest#onSkillSee(..) 2025-02-03 00:16:58 -03:00
Zoey76
bfb9c8c38c Refactoring NPC Skill Finished event
Removed unused `String` return.
2025-02-02 23:50:29 -03:00
Zoey76
59477a8a48 Adding broadcastScriptEvent methods on L2Npc.
Adding integer parameters to `NpcEventReceived`.
Removed `notifyEventReceived` method.
Changed `onEventReceived` method to receive a `NpcEventReceived`, and
removed unused `String` return.
Added `Quest#showQuestFHTML(..)` method for formatted HTMLs displayed to
players.
Simplified `Quest#showQuestPage(..)` method.
2025-01-24 22:50:12 -03:00
Zoey76
f91a7a0423 For Experience Gain mod, if Exp is not gained then do not show it in the
system message

Reported-by: Raphael
2025-01-01 23:37:30 -03:00
Zoey76
16130a5b76 Copyright Update 2025-01-01 01:57:46 -03:00
Zoey76
aa41aa7940 Added support for XP Voiced Handler 2024-12-28 16:59:08 -03:00
Zoey76
3b5262ddbf Adding missing custom configurations
Minor cleanup.
2024-12-28 16:58:38 -03:00
Zoey76
df606564d1 Updated Dependencies
Updated Log4J from 2.24.1 to 2.24.3
Updated JDA from 5.1.2 to 5.2.1
Updated L2J Commons from 2.6.8.0 to 2.6.8.1
Updated JUnit Jupiter from 5.11.3 to 5.11.4
Updated AssertJ Core from 3.26.3 to 3.27.0
Updated Maven Surefire plugin from 3.5.1 to 3.5.2
2024-12-26 21:02:45 -03:00
Zoey76
4f63b137b3 Fixing Configuration issues
- Changed configurations that should be converted to milliseconds.
- Implemented Day to Millisecond converter.
- Added missing JavaDocs.
- Added relevant unit tests.
2024-12-09 22:40:32 -03:00
Zoey76
961861ddbb Refactored configurations to avoid auto boxing/unboxing performance
issues

- Removed static constants for Olympiad and Siege, allowing reloading of
these configurations without server restart.

Improvements on startup:
From 110s on IDE on debug mode, down to 65s (on my machine).
From 32s on IDE, down to 24s (on my machine).

Reported-by: finaldestination4016
2024-12-09 00:58:51 -03:00
Zoey76
7bbabd8945 Minor cleanup 2024-12-04 22:39:51 -03:00
Zoey76
76c21c6ce2 Fixed pet summoning.
Reported-by: Hanovel
2024-11-14 16:15:27 -03:00
Zoey76
49b5c82a6e Unhardcoding Adventure Guildsman 2024-11-10 20:11:09 -03:00
Kita
19d7e5e85e Merged in feature/logging-slf4j (pull request #126)
Migrated logging to slf4j

* style: Added load times logging to Gameserver

* refactor(logging): Migrated logging to slf4j

Fixed some warnings along the way

* refactor(logging): Removed slf4j bridge and JUL

* Minor changes to loggers refactor

Approved-by: Zoey76
2024-11-09 21:43:03 +00:00
Kita
1c9a8fe89e fix(enchant): Fixed enchant support items not usable on the last level of their range 2024-11-07 17:36:58 +00:00