diff --git a/components/Bullets/Parrier.tscn b/components/Bullets/Parrier.tscn index 55e5e13..a48efce 100644 --- a/components/Bullets/Parrier.tscn +++ b/components/Bullets/Parrier.tscn @@ -40,6 +40,18 @@ tracks/2/keys = { "update": 0, "values": [Color(1, 1, 1, 1)] } +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("%texture/..:parryRate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [1.0] +} [sub_resource type="Animation" id="Animation_ksxds"] resource_name = "spawn" @@ -78,6 +90,18 @@ tracks/2/keys = { "update": 0, "values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)] } +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("%texture/..:parryRate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [1.0, 0.0] +} [sub_resource type="AnimationLibrary" id="AnimationLibrary_k4ctn"] _data = { @@ -90,6 +114,7 @@ size = Vector2(54, 204) [node name="Parrier" instance=ExtResource("1_57y3f")] script = ExtResource("2_li4th") +parryRate = 1.0 baseDamage = 0.0 penerate = 1.0 autoSpawnAnimation = true diff --git a/components/Effects/Parry.tscn b/components/Effects/Parry.tscn index 7077b7e..d685149 100644 --- a/components/Effects/Parry.tscn +++ b/components/Effects/Parry.tscn @@ -79,7 +79,6 @@ libraries = { } [node name="texture" type="AnimatedSprite2D" parent="." index="3"] -modulate = Color(0.5922946, 1, 0.5, 1) scale = Vector2(0.5, 0.5) sprite_frames = SubResource("SpriteFrames_qcypm") frame = 7 diff --git a/scripts/Contents/Bullets/Parrier.gd b/scripts/Contents/Bullets/Parrier.gd index 7189aa1..dca8cf6 100644 --- a/scripts/Contents/Bullets/Parrier.gd +++ b/scripts/Contents/Bullets/Parrier.gd @@ -1,10 +1,12 @@ extends BulletBase class_name ParrierBullet +@export var parryRate: float = 1 + func hitBullet(bullet: BulletBase): if BulletTool.canDamage(bullet, launcher): - var eff = EffectController.create(ComponentManager.getEffect("Parry"), position) - eff.modulate = bullet.modulate - eff.shot() - bullet.tryDestroy() - tryDestroy() + if MathTool.rate(parryRate): + var eff = EffectController.create(ComponentManager.getEffect("Parry"), position + (bullet.position - position).normalized() * 100) + eff.modulate = bullet.modulate + eff.shot() + bullet.tryDestroy() diff --git a/scripts/Contents/Wave.gd b/scripts/Contents/Wave.gd index 8e4a8ac..50355bf 100644 --- a/scripts/Contents/Wave.gd +++ b/scripts/Contents/Wave.gd @@ -47,7 +47,7 @@ static var WAVE_TESTBOSS_CHICK = [ Wave.create("Chick", 0, 0, true, 0, INF, 10), ] static var WAVE_EMPTY = [] -static var data = WAVE_NORMAL if WorldManager.isRelease() else WAVE_NORMAL +static var data = WAVE_NORMAL if WorldManager.isRelease() else WAVE_TESTBOSS_BEAR static func create( entity_: String,