Made a menu to select abilities and grant them (with a few hardcoded stuff)
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 26s
Create tag and build when new code gets to main / Export (push) Successful in 6m13s

This commit is contained in:
2026-04-19 11:37:55 +02:00
parent 9464fc7caa
commit 5a59d50be5
12 changed files with 164 additions and 114 deletions

View File

@@ -251,7 +251,7 @@ public partial class WeaponSystem : RigidBody3D, IDamageDealer, IForgeEntity
FlyingTick
}
public void GrantNewAbilityForEvent(WeaponEvent forEvent, ForgeAbilityData ability)
public void GrantNewAbilityForEvent(WeaponEvent forEvent, ForgeAbilityBehavior abilityBehavior)
{
var abilitiesMap = new Dictionary<WeaponEvent, List<ActiveEffectHandle>>
{
@@ -260,8 +260,20 @@ public partial class WeaponSystem : RigidBody3D, IDamageDealer, IForgeEntity
{ WeaponEvent.FlyingTick, _grantedWeaponFlyingTickAbilities },
};
var eventTagsMap = new Dictionary<WeaponEvent, Tag>
{
{ WeaponEvent.StartedFlying, WeaponStartedFlyingEventTag },
{ WeaponEvent.StoppedFlying, WeaponStoppedFlyingEventTag },
{ WeaponEvent.FlyingTick, WeaponFlyingTickEventTag },
};
var ability = new AbilityData(
"Ability",
behaviorFactory: abilityBehavior.GetBehavior,
abilityTriggerData: AbilityTriggerData.ForEvent(eventTagsMap[forEvent]));
var leftGrantAbilityConfig = new GrantAbilityConfig(
ability.GetAbilityData(),
ability,
ScalableLevel: new ScalableInt(1),
RemovalPolicy: AbilityDeactivationPolicy.CancelImmediately,
InhibitionPolicy: AbilityDeactivationPolicy.CancelImmediately,