Repository navigation
Conversation
Mass spells only ran on the caster's client, and hazards like the fire from wall spells skipped the local player since it isn't hostile to a remote player. Send self-cast area attacks to the other clients, and let hazards and explosions from a remote player reach the local player while PvP is on. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018fvQxQEu7yvi9eRZyKsEur
A cloak's copy on the victim's client can't be relied on, since a concentration cloak only lasts while it's cast on the wearer's client. Let that client decide on the hits and send them to the victim, whose own checks can still refuse them, and ignore the hits from the copy's cloak. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018fvQxQEu7yvi9eRZyKsEur
Cloak damage only lands on targets hostile to the caster, and some area effects skip the player's base form outright, so hits sent to the victim were refused. Pass those two conditions for an attack from another player, as other conditions like resistances still apply, and send concentration area effects from the caster's client too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018fvQxQEu7yvi9eRZyKsEur
It's the same ice form paralysis that has been kept away from players, and its effect refuses them on purpose. Stop overriding that condition for paralysis and stop sending the channeled kind to the victim. The cloak's frost damage and Mass Paralysis, which has no such condition, still land. 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.
Part of tiltedphoques#938 (item 5, including the AE "Unbounded" spells from
ccbgssse014-spellpack01.esl). Everything is gated on PvP being on, so PvE and PvP-off behave as before.Changes
Files:
Code/client/Games/Skyrim/Actor.cpp,Code/client/Games/Skyrim/Magic/MagicTarget.cpp,Code/client/Events/AddTargetEvent.h,Code/client/Services/Generic/MagicService.cppHookAddTargetdrops the hit on the remote copyIsHostileToActor37537)HookAddTarget, and the cloak damage effect has anIsHostileToActorcondition that a remote player failsmagicProjectileStormScript) and Unbounded Freezing paralysis (0x813)GetIsID(Player) == 0Condition override: for a remote player's hostile effect on the local player,
IsHostileToActor(21472) passes andGetIsID(21487) doesn't match the player. No other condition changes. Keywords, perks and resistances still apply, and NPCs, heals, buffs and PvP-off aren't affected. Perk-gated extras like Disintegrate won't fire without feat/pvp-offensive-perks.Verified in Ghidra on 1.6.1170: 34410, 43959 → 43987, 43847 → 38560,
CloakEffect::Update0x1405b5630 (callback vtable 205851), and effect conditions evaluated only on add (34525 → 0x140146300; re-evaluation 34062 uses per-spell conditions, which these spells don't have). On 1.7.104 I only checked that the IDs resolve. The ESL was only read. No ESP edits.Not verified yet
RemoteCaston the victim's client hitting the local player with the remote copy as caster.Test plan (two clients, PvP on)
Merge note: overlaps in
MagicTarget.cppwith fix/pvp-disarm, feat/pvp-summons-attack-players, fix/pvp-poisons and feat/pvp-offensive-perks.🤖 Generated with Claude Code
https://claude.ai/code/session_018fvQxQEu7yvi9eRZyKsEur