diff --git a/components/Characters/Rooster.tscn b/components/Characters/Rooster.tscn index 25515f1..eb8fba7 100644 --- a/components/Characters/Rooster.tscn +++ b/components/Characters/Rooster.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=14 format=3 uid="uid://bm7ymrri6pykb"] +[gd_scene load_steps=17 format=3 uid="uid://bm7ymrri6pykb"] [ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_e5pl8"] [ext_resource type="Script" uid="uid://cthtupc6dtbav" path="res://scripts/Contents/Characters/Rooster.gd" id="2_oqdqd"] @@ -46,6 +46,24 @@ animations = [{ [sub_resource type="CircleShape2D" id="CircleShape2D_h1v0q"] radius = 61.204575 +[sub_resource type="Curve" id="Curve_0omr3"] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="CurveTexture" id="CurveTexture_joj4g"] +curve = SubResource("Curve_0omr3") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_0omr3"] +particle_flag_disable_z = true +angle_min = 1.0728835e-05 +angle_max = 360.00003 +direction = Vector3(0, -1, 0) +initial_velocity_max = 30.0 +gravity = Vector3(0, 0, 0) +scale_min = 5.0 +scale_max = 20.0 +alpha_curve = SubResource("CurveTexture_joj4g") + [node name="Rooster" instance=ExtResource("1_e5pl8")] script = ExtResource("2_oqdqd") displayName = "公鸡" @@ -58,10 +76,10 @@ process_mode = 4 [node name="RedCrystal" parent="weaponStore" index="0" instance=ExtResource("3_0omr3")] offset_bottom = 374.0 -debugRebuild = false [node name="PurpleCrystal" parent="weaponStore" index="1" instance=ExtResource("3_jluqw")] offset_bottom = 350.0 +debugRebuild = false [node name="BlueCrystal" parent="weaponStore" index="2" instance=ExtResource("4_0omr3")] @@ -95,6 +113,12 @@ shape = SubResource("CircleShape2D_h1v0q") [node name="normal" type="Node2D" parent="texture/weapons" index="0"] position = Vector2(54, -45) +[node name="stepParticle" type="GPUParticles2D" parent="texture" index="9"] +z_index = -1 +position = Vector2(23, 58) +amount = 20 +process_material = SubResource("ParticleProcessMaterial_0omr3") + [node name="statebar" parent="." index="4" node_paths=PackedStringArray("entity")] position = Vector2(0, -202) entity = NodePath("..") diff --git a/components/Scenes/World.tscn b/components/Scenes/World.tscn index 464bfa1..eb16a7c 100644 --- a/components/Scenes/World.tscn +++ b/components/Scenes/World.tscn @@ -80,10 +80,10 @@ spawn_path = NodePath("..") [node name="camera" type="Camera2D" parent="."] process_mode = 3 -offset = Vector2(0, -80) process_callback = 0 position_smoothing_enabled = true script = ExtResource("5_mk7bv") +constantOffset = Vector2(0, -80) [node name="animator" type="AnimationPlayer" parent="camera"] unique_name_in_owner = true diff --git a/components/Weapons/RedCrystal.tscn b/components/Weapons/RedCrystal.tscn index b6c24da..9125e95 100644 --- a/components/Weapons/RedCrystal.tscn +++ b/components/Weapons/RedCrystal.tscn @@ -11,7 +11,7 @@ avatarTexture = ExtResource("2_3e8g7") displayName = "红水晶簇" typeTopic = 1 store = { -"atk": 40, +"atk": 60, "radius": 150.0 } storeType = { @@ -20,7 +20,6 @@ storeType = { } descriptionTemplate = "发射[b]红水晶[/b],在3秒后以$radius的半径爆炸,造成$atk点伤害。" cooldown = 2000.0 -debugRebuild = true [node name="attack" parent="sounds" index="0"] stream = ExtResource("4_qt0vq") diff --git a/scripts/Tools/Managers/CameraManager.gd b/scripts/Tools/Managers/CameraManager.gd index d99a111..8bd893b 100644 --- a/scripts/Tools/Managers/CameraManager.gd +++ b/scripts/Tools/Managers/CameraManager.gd @@ -2,6 +2,8 @@ extends Camera2D class_name CameraManager +@export var constantOffset: Vector2 = Vector2.ZERO + @onready var animator: AnimationPlayer = $"%animator" var shakeIntensity: float = 0 @@ -12,8 +14,9 @@ func _ready(): instance = self func _physics_process(_delta): if is_instance_valid(UIState.player): - position = UIState.player.position + position = UIState.player.position + constantOffset position += MathTool.randomVector2In(shakeIntensity) + offset += ((get_global_mouse_position() - UIState.player.position).clampf(0, 100) - offset) * 0.15 static func shake(millseconds: float, intensity: float = 10, steper: Callable = func(currentValue, _totalValue, _restPercent): return currentValue): var startTime = WorldManager.getTime()