diff --git a/prefab/items/resignationCertificate.tscn b/prefab/items/resignationCertificate.tscn index a5c5197..99a037a 100644 --- a/prefab/items/resignationCertificate.tscn +++ b/prefab/items/resignationCertificate.tscn @@ -17,6 +17,7 @@ collision_layer = 8 collision_mask = 34 angular_damp = -1.0 script = ExtResource("1_nydte") +FiringIntervalAsMillisecond = 1000 [node name="DamageArea2D" type="Area2D" parent="."] collision_layer = 8 diff --git a/scripts/inventory/ResignationCertificate.cs b/scripts/inventory/ResignationCertificate.cs index 95566c6..67c7c64 100644 --- a/scripts/inventory/ResignationCertificate.cs +++ b/scripts/inventory/ResignationCertificate.cs @@ -1,6 +1,6 @@ using ColdMint.scripts.character; using ColdMint.scripts.damage; -using ColdMint.scripts.pickable; +using ColdMint.scripts.weapon; using Godot; namespace ColdMint.scripts.inventory; @@ -9,13 +9,12 @@ namespace ColdMint.scripts.inventory; /// ResignationCertificate /// 离职证明 /// -public partial class ResignationCertificate : PickAbleTemplate +public partial class ResignationCertificate : WeaponTemplate { private readonly Damage _damage = new() { MaxDamage = 1, MinDamage = 1, - CriticalStrikeProbability = 100, Type = Config.DamageType.Magic }; @@ -30,7 +29,7 @@ public partial class ResignationCertificate : PickAbleTemplate { get => Config.ItemType.Item; } - public override bool Use(Node2D? owner, Vector2 targetGlobalPosition) + protected override bool DoFire(Node2D? owner, Vector2 enemyGlobalPosition) { if (Owner is CharacterTemplate characterTemplate) { diff --git a/scripts/pickable/PickAbleTemplate.cs b/scripts/pickable/PickAbleTemplate.cs index 93a1ac3..0ae4099 100644 --- a/scripts/pickable/PickAbleTemplate.cs +++ b/scripts/pickable/PickAbleTemplate.cs @@ -57,7 +57,7 @@ public partial class PickAbleTemplate : RigidBody2D, IItem /// Enabled contact injury /// 启用接触伤害 /// - public bool EnableContactInjury; + public virtual bool EnableContactInjury { get; set; } [Export] private int _minContactInjury = 1; [Export] private int _maxContactInjury = 2; diff --git a/scripts/spell/SpellPickAble.cs b/scripts/spell/SpellPickAble.cs index 441d199..252d5f0 100644 --- a/scripts/spell/SpellPickAble.cs +++ b/scripts/spell/SpellPickAble.cs @@ -18,6 +18,16 @@ public partial class SpellPickAble : PickAbleTemplate, ISpell [Export] private string? _projectilePath; + /// + /// Spells do no collision damage + /// 法术没有碰撞伤害 + /// + public override bool EnableContactInjury + { + get => false; + set { } + } + private PackedScene? _projectileScene; public override void _Ready() {