Skip to content

Conversation

@SzymonKaminski
Copy link
Contributor

@SzymonKaminski SzymonKaminski commented Feb 9, 2025

PR changes few things based on comparing ability/status effect chains and their names from various patches:

  • adds experimental implementations of multiple aptitude commands
  • adds params and/or comments to instances of server commands
  • tested are different implementions of commands related to target stacks and registers
  • limits Owner of AptitudeEntity to CharacterEntity
  • In Begin/EndInteraction commands player is now the target and the interaction entity is the initiator
  • pattern matching is used in more places, remaining entity classes are sealed

@eXpl0it3r
Copy link
Collaborator

GitHub has broken the .NET 8 installation on the Windows image. So the failure can be ignore and/or rebased onto master, where I ignore the failure.

Copy link
Contributor

@Xsear Xsear left a comment

Choose a reason for hiding this comment

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

Awesome work

Comment on lines +18 to +23
// occurs often after TargetClear -> TargetSelf
foreach (var target in context.Targets)
{
context.Shard.EntityMan.Remove((IEntity)target);
}

Copy link
Contributor

Choose a reason for hiding this comment

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

Are there some good reference examples?
Just slightly worried about deleting any type of target here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Maybe effect 10130, which has TargetClear -> TargetSelf -> TargetOwnedDeployables -> DestroyAbilityObject
or ability 31280. Hardpoint delete me and my object ; Deletes object sitting on this hardpoint
that has it after TargetFromStatusEffect, or ability 39416 that has it after TargetCharacterNPCs.
Out of 1049 instances of the command in 766 cases there's chain: TargetClear -> TargetSelf -> DestroyAbilityObject

Copy link
Contributor

Choose a reason for hiding this comment

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

This command throws me for a loop but there seems to be an association with a concept of "Loadout Enhancement Modules". My current assumption is that based on some value it picks one of the 11 register values, as in almost all of the instances these span a range, e.g. 0-1 in 0.1 steps, and so on.

@SzymonKaminski SzymonKaminski marked this pull request as ready for review May 3, 2025 12:12
@SzymonKaminski SzymonKaminski requested a review from Xsear May 3, 2025 12:12
@SzymonKaminski SzymonKaminski requested a review from Xsear May 5, 2025 18:14
@Xsear Xsear merged commit 72b7eb1 into themeldingwars:master May 17, 2025
6 checks passed
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.

3 participants