fixed inventory + using Sync bindings
This commit is contained in:
@@ -12,6 +12,7 @@ public class ExplodingSwordBehavior(PackedScene explosion, float radius) : IAbil
|
||||
{
|
||||
if (context.Owner is not Node3D owner)
|
||||
{
|
||||
GD.Print("Owner isn't a Node3D");
|
||||
context.InstanceHandle.End();
|
||||
return;
|
||||
}
|
||||
@@ -30,7 +31,6 @@ public class ExplodingSwordBehavior(PackedScene explosion, float radius) : IAbil
|
||||
}
|
||||
explo.Radius = radius;
|
||||
|
||||
GD.Print("explosion");
|
||||
owner.GetTree().GetRoot().CallDeferred(Node.MethodName.AddChild, explo);
|
||||
explo.CallDeferred(Node3D.MethodName.SetGlobalPosition, owner.GlobalPosition);
|
||||
|
||||
|
||||
@@ -1,13 +1,20 @@
|
||||
using Gamesmiths.Forge.Abilities;
|
||||
using Gamesmiths.Forge.Effects;
|
||||
using Gamesmiths.Forge.Godot.Resources;
|
||||
using Gamesmiths.Forge.Godot.Resources.Abilities;
|
||||
using Godot;
|
||||
|
||||
namespace Movementtests.forge.abilities;
|
||||
|
||||
public class InstantEndBehavior : IAbilityBehavior
|
||||
public class InstantEndBehavior(ForgeEffectData? effectData) : IAbilityBehavior
|
||||
{
|
||||
public void OnStarted(AbilityBehaviorContext context)
|
||||
{
|
||||
if (effectData != null)
|
||||
{
|
||||
var effect = new Effect(effectData.GetEffectData(), new EffectOwnership(context.Owner, context.Owner));
|
||||
context.Owner.EffectsManager.ApplyEffect(effect);
|
||||
}
|
||||
context.AbilityHandle.CommitAbility();
|
||||
context.InstanceHandle.End();
|
||||
}
|
||||
@@ -19,5 +26,6 @@ public class InstantEndBehavior : IAbilityBehavior
|
||||
[GlobalClass]
|
||||
public partial class ForgeInstantEndBehavior : ForgeAbilityBehavior
|
||||
{
|
||||
public override IAbilityBehavior GetBehavior() => new InstantEndBehavior();
|
||||
[Export] public ForgeEffectData? OptionalEffectData { get; set; }
|
||||
public override IAbilityBehavior GetBehavior() => new InstantEndBehavior(OptionalEffectData);
|
||||
}
|
||||
@@ -1,84 +1,21 @@
|
||||
[gd_resource type="Resource" script_class="ForgeAbilityData" format=3 uid="uid://dccuj66egxfwh"]
|
||||
|
||||
[ext_resource type="Resource" uid="uid://c4ea6ktafqe0r" path="res://forge/resources/effect_datas/temp_invincibility.tres" id="1_ent4t"]
|
||||
[ext_resource type="Script" uid="uid://c7s5v7ii4nujg" path="res://forge/abilities/ForgeInstantEndBehavior.cs" id="2_ent4t"]
|
||||
[ext_resource type="Script" uid="uid://cw525n4mjqgw0" path="res://addons/forge/resources/ForgeTagContainer.cs" id="2_prg0a"]
|
||||
[ext_resource type="Script" uid="uid://dngf30hxy5go4" path="res://addons/forge/resources/components/ModifierTags.cs" id="3_k72m0"]
|
||||
[ext_resource type="Script" uid="uid://cn3b4ya15fg7e" path="res://addons/forge/resources/magnitudes/ForgeScalableFloat.cs" id="4_5fdax"]
|
||||
[ext_resource type="Script" uid="uid://2gm1hdhi8u08" path="res://addons/forge/resources/magnitudes/ForgeModifierMagnitude.cs" id="5_5qmmj"]
|
||||
[ext_resource type="Script" uid="uid://1hgogislo1l6" path="res://addons/forge/resources/magnitudes/ForgeScalableInt.cs" id="6_yi0bg"]
|
||||
[ext_resource type="Script" uid="uid://b83hf13nj37k3" path="res://addons/forge/resources/ForgeEffectData.cs" id="7_0rp6y"]
|
||||
[ext_resource type="Script" uid="uid://cl5hudinl1rex" path="res://forge/abilities/ForgeEffectApplicationBehavior.cs" id="7_ent4t"]
|
||||
[ext_resource type="Resource" uid="uid://dn7b8frkoxpxr" path="res://forge/resources/cues/player_mana_changed_cue.tres" id="8_0olwd"]
|
||||
[ext_resource type="Resource" uid="uid://cw2ytd34jsxj" path="res://forge/resources/tag_containers/immune_damage.tres" id="8_ent4t"]
|
||||
[ext_resource type="Script" uid="uid://bdfcavbjyhxxa" path="res://addons/forge/resources/ForgeModifier.cs" id="9_wluo0"]
|
||||
[ext_resource type="Script" uid="uid://dhxfbxh54pyxp" path="res://addons/forge/resources/abilities/ForgeAbilityData.cs" id="10_2sq4o"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_xltxv"]
|
||||
script = ExtResource("3_k72m0")
|
||||
TagsToAdd = ExtResource("8_ent4t")
|
||||
metadata/_custom_type_script = "uid://dngf30hxy5go4"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_60xl1"]
|
||||
script = ExtResource("4_5fdax")
|
||||
BaseValue = 1.0
|
||||
|
||||
[sub_resource type="Resource" id="Resource_2rev5"]
|
||||
script = ExtResource("4_5fdax")
|
||||
|
||||
[sub_resource type="Resource" id="Resource_kxytj"]
|
||||
script = ExtResource("4_5fdax")
|
||||
|
||||
[sub_resource type="Resource" id="Resource_e5nje"]
|
||||
script = ExtResource("4_5fdax")
|
||||
BaseValue = 1.0
|
||||
|
||||
[sub_resource type="Resource" id="Resource_xc8ja"]
|
||||
script = ExtResource("4_5fdax")
|
||||
|
||||
[sub_resource type="Resource" id="Resource_tan32"]
|
||||
script = ExtResource("4_5fdax")
|
||||
|
||||
[sub_resource type="Resource" id="Resource_l52b0"]
|
||||
script = ExtResource("4_5fdax")
|
||||
BaseValue = 0.3
|
||||
metadata/_custom_type_script = "uid://cn3b4ya15fg7e"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_6jn6y"]
|
||||
script = ExtResource("5_5qmmj")
|
||||
ScalableFloat = SubResource("Resource_l52b0")
|
||||
Coefficient = SubResource("Resource_e5nje")
|
||||
PreMultiplyAdditiveValue = SubResource("Resource_tan32")
|
||||
PostMultiplyAdditiveValue = SubResource("Resource_xc8ja")
|
||||
CalculatorCoefficient = SubResource("Resource_60xl1")
|
||||
CalculatorPreMultiplyAdditiveValue = SubResource("Resource_kxytj")
|
||||
CalculatorPostMultiplyAdditiveValue = SubResource("Resource_2rev5")
|
||||
metadata/_custom_type_script = "uid://2gm1hdhi8u08"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ev6w4"]
|
||||
script = ExtResource("6_yi0bg")
|
||||
BaseValue = 1
|
||||
|
||||
[sub_resource type="Resource" id="Resource_u8xa8"]
|
||||
script = ExtResource("6_yi0bg")
|
||||
BaseValue = 1
|
||||
|
||||
[sub_resource type="Resource" id="Resource_xsfte"]
|
||||
script = ExtResource("7_0rp6y")
|
||||
Name = "ApplyInvincibility"
|
||||
Modifiers = []
|
||||
Components = Array[Object]([SubResource("Resource_xltxv")])
|
||||
Executions = null
|
||||
DurationType = 2
|
||||
Duration = SubResource("Resource_6jn6y")
|
||||
StackLimit = SubResource("Resource_u8xa8")
|
||||
InitialStack = SubResource("Resource_ev6w4")
|
||||
Cues = null
|
||||
metadata/_custom_type_script = "uid://b83hf13nj37k3"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_xh53a"]
|
||||
script = ExtResource("7_ent4t")
|
||||
EffectData = SubResource("Resource_xsfte")
|
||||
Name = "Apply invincibility"
|
||||
metadata/_custom_type_script = "uid://cl5hudinl1rex"
|
||||
script = ExtResource("2_ent4t")
|
||||
OptionalEffectData = ExtResource("1_ent4t")
|
||||
metadata/_custom_type_script = "uid://c7s5v7ii4nujg"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_h116a"]
|
||||
script = ExtResource("2_prg0a")
|
||||
@@ -245,5 +182,5 @@ script = ExtResource("10_2sq4o")
|
||||
Name = "Empowered Action"
|
||||
CooldownEffects = [SubResource("Resource_egh2b")]
|
||||
CostEffect = SubResource("Resource_mtef8")
|
||||
AbilityBehavior = SubResource("Resource_xh53a")
|
||||
AbilityBehavior = SubResource("Resource_xltxv")
|
||||
metadata/_custom_type_script = "uid://dhxfbxh54pyxp"
|
||||
|
||||
70
forge/resources/effect_datas/temp_invincibility.tres
Normal file
70
forge/resources/effect_datas/temp_invincibility.tres
Normal file
@@ -0,0 +1,70 @@
|
||||
[gd_resource type="Resource" script_class="ForgeEffectData" format=3 uid="uid://c4ea6ktafqe0r"]
|
||||
|
||||
[ext_resource type="Resource" uid="uid://cw2ytd34jsxj" path="res://forge/resources/tag_containers/immune_damage.tres" id="1_suvh6"]
|
||||
[ext_resource type="Script" uid="uid://dngf30hxy5go4" path="res://addons/forge/resources/components/ModifierTags.cs" id="2_7y7k0"]
|
||||
[ext_resource type="Script" uid="uid://cn3b4ya15fg7e" path="res://addons/forge/resources/magnitudes/ForgeScalableFloat.cs" id="3_wdmyo"]
|
||||
[ext_resource type="Script" uid="uid://2gm1hdhi8u08" path="res://addons/forge/resources/magnitudes/ForgeModifierMagnitude.cs" id="4_m2dme"]
|
||||
[ext_resource type="Script" uid="uid://1hgogislo1l6" path="res://addons/forge/resources/magnitudes/ForgeScalableInt.cs" id="5_uck3v"]
|
||||
[ext_resource type="Script" uid="uid://b83hf13nj37k3" path="res://addons/forge/resources/ForgeEffectData.cs" id="6_gt48y"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_xltxv"]
|
||||
script = ExtResource("2_7y7k0")
|
||||
TagsToAdd = ExtResource("1_suvh6")
|
||||
metadata/_custom_type_script = "uid://dngf30hxy5go4"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_60xl1"]
|
||||
script = ExtResource("3_wdmyo")
|
||||
BaseValue = 1.0
|
||||
|
||||
[sub_resource type="Resource" id="Resource_2rev5"]
|
||||
script = ExtResource("3_wdmyo")
|
||||
|
||||
[sub_resource type="Resource" id="Resource_kxytj"]
|
||||
script = ExtResource("3_wdmyo")
|
||||
|
||||
[sub_resource type="Resource" id="Resource_e5nje"]
|
||||
script = ExtResource("3_wdmyo")
|
||||
BaseValue = 1.0
|
||||
|
||||
[sub_resource type="Resource" id="Resource_xc8ja"]
|
||||
script = ExtResource("3_wdmyo")
|
||||
|
||||
[sub_resource type="Resource" id="Resource_tan32"]
|
||||
script = ExtResource("3_wdmyo")
|
||||
|
||||
[sub_resource type="Resource" id="Resource_l52b0"]
|
||||
script = ExtResource("3_wdmyo")
|
||||
BaseValue = 0.3
|
||||
metadata/_custom_type_script = "uid://cn3b4ya15fg7e"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_6jn6y"]
|
||||
script = ExtResource("4_m2dme")
|
||||
ScalableFloat = SubResource("Resource_l52b0")
|
||||
Coefficient = SubResource("Resource_e5nje")
|
||||
PreMultiplyAdditiveValue = SubResource("Resource_tan32")
|
||||
PostMultiplyAdditiveValue = SubResource("Resource_xc8ja")
|
||||
CalculatorCoefficient = SubResource("Resource_60xl1")
|
||||
CalculatorPreMultiplyAdditiveValue = SubResource("Resource_kxytj")
|
||||
CalculatorPostMultiplyAdditiveValue = SubResource("Resource_2rev5")
|
||||
metadata/_custom_type_script = "uid://2gm1hdhi8u08"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ev6w4"]
|
||||
script = ExtResource("5_uck3v")
|
||||
BaseValue = 1
|
||||
|
||||
[sub_resource type="Resource" id="Resource_u8xa8"]
|
||||
script = ExtResource("5_uck3v")
|
||||
BaseValue = 1
|
||||
|
||||
[resource]
|
||||
script = ExtResource("6_gt48y")
|
||||
Name = "ApplyInvincibility"
|
||||
Modifiers = []
|
||||
Components = Array[Object]([SubResource("Resource_xltxv")])
|
||||
Executions = []
|
||||
DurationType = 2
|
||||
Duration = SubResource("Resource_6jn6y")
|
||||
StackLimit = SubResource("Resource_u8xa8")
|
||||
InitialStack = SubResource("Resource_ev6w4")
|
||||
Cues = []
|
||||
metadata/_custom_type_script = "uid://b83hf13nj37k3"
|
||||
Reference in New Issue
Block a user