Skip to content

Feature/offlevel party#718

Draft
eduardosmaniotto wants to merge 25 commits intoMUnique:masterfrom
eduardosmaniotto:feature/offlevel-party
Draft

Feature/offlevel party#718
eduardosmaniotto wants to merge 25 commits intoMUnique:masterfrom
eduardosmaniotto:feature/offlevel-party

Conversation

@eduardosmaniotto
Copy link
Contributor

@eduardosmaniotto eduardosmaniotto commented Mar 22, 2026

Offline Leveling Party Support

Summary
This PR adds party support for the offline leveling feature. It allows the offline leveling player to function within a party, receiving heals and buffs from party members.

New Features

  • Party Integration: Offline leveling now works with party members - the offline player can receive heals and buffs from other party members.
  • Pet Support: Added PetHandler for offline pet management.
  • Party Auto-Rejoin: Added PartyAutoRejoinPlugIn to automatically rejoin parties when reconnecting
    Core Changes
  • OfflineLevelingPlayer: Now tracks party membership and can receive party-based heals/buffs
  • BuffHandler: Extended to support party buff casting with proper range checks.
  • HealingHandler: Added party healing support - heals nearby party members when below threshold
  • CombatHandler: Added conditional skill support with timer-based and condition-based skill activation
    Data Model & Interfaces.
  • Added OfflinePartyMember class to represent offline party members.
  • Extended IPartyManager with offline party member handling.
  • Updated Party class with ReplaceMemberAsync.
  • Added tests for all offline leveling handlers.

# Conflicts:
#	src/Persistence/Initialization/Updates/UpdateVersion.cs
# Conflicts:
#	src/GameLogic/GameContext.cs
#	src/GameLogic/OfflineLeveling/OfflineLevelingManager.cs
#	src/GameLogic/Properties/PlugInResources.resx
# Conflicts:
#	src/AttributeSystem/StatAttribute.cs
# Conflicts:
#	src/GameLogic/OfflineLeveling/OfflineLevelingManager.cs
# Conflicts:
#	src/GameLogic/OfflineLeveling/OfflineLevelingIntelligence.cs
#	src/GameLogic/OfflineLeveling/OfflineLevelingPlayer.cs
# Conflicts:
#	src/GameLogic/OfflineLeveling/OfflineLevelingIntelligence.cs
<ItemGroup Condition="'$(ci)'!='true'">
<PackageReference Include="BuildWebCompiler2022" />
</ItemGroup>
<ItemGroup Condition="'$(ci)'!='true' and '$(OS)'=='Windows_NT'">
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sven-n I added this check as a QOL for Linux users, let me know if this could cause problems in Windows, I can remove.

<ProjectReference Include="..\ItemEditor\MUnique.OpenMU.Web.ItemEditor.csproj" />
</ItemGroup>

<Target Name="CompileSass" BeforeTargets="Build" Condition="'$(ci)'!='true' and '$(OS)'!='Windows_NT'">
Copy link
Contributor Author

@eduardosmaniotto eduardosmaniotto Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sven-n Also a QOL feature for Linux. Build the assets with sass. It's ignored if its not installed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants