Repository navigation
Conversation
Commanded actors aren't hostile to a remote copy, as it has no combat group of its own to mark them as enemies. Force the target while a fight between the two players lasts. Also stop a remote player's summon from hurting the local player with PvP off, which only remote players themselves were kept from doing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018fvQxQEu7yvi9eRZyKsEur
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Eric · project thread
Part of tiltedphoques#938 ("Conjurations being able to attack other players").
Why summons ignored players
A commanded actor only counts as hostile to someone whose combat group targets its commander or itself (0x1406796b0, called from
IsHostileToActor). A remote player's copy has no such group, so a summon never picks it as a target.What
StartCombat.kSummonAggroSeconds), or sooner if the target dies, leaves or PvP turns off. Stopping usesStopCombat, which also drops any NPC the summon was fighting.CombatComponent, which was unused live; its only reader (CombatController::UpdateTarget) is behind a disabled hook.HookDamageActorandHookAddTargetnow block damage and hostile spells from a remote player's summon. Before, only remote players were blocked. Friendly spells from those summons still apply.Verified vs assumed
Verified in Ghidra, SkyrimSE 1.6.1170:
StartCombat(0x1409eae60) only refuses when the actor is the player, either side is dead or has no AI process, or the actor is in dialogue; otherwise it queues task 0x2a.Assumed:
Testing
Not built locally (CI builds it) and not tested in game. Two clients, PvP on:
PvP off: summons never attack players; a remote player's summon swinging at an NPC next to you does no damage and its area spells don't affect you; everything else as on dev.
Merge note: touches the same
HookAddTargetblock as #30, #31 and #33, so expect small conflicts when combining them on a playtest branch.Generated by Claude Code