From 106a69c89e0feb0c5e990b8f98f8b47384619179 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A0=91=E8=90=8C=E8=8A=BD?= <3205788256@qq.com> Date: Mon, 14 Jul 2025 11:58:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A9=E6=B0=94=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MainGame.tscn | 258 +++++++++++++++++++----- Scene/Particle/Rain.tscn | 28 +++ Scene/Particle/WillowLeafRain.tscn | 25 +++ Scene/Particle/snow.tscn | 20 +- Server/TCPGameServer.py | 141 ++++++++++--- Server/config/stamina_config.json | 23 +++ Server/game_saves/2143323382.json | 254 +++++++++++------------ assets/天气系统图片/柳叶1.webp | Bin 0 -> 3174 bytes assets/天气系统图片/柳叶1.webp.import | 34 ++++ assets/天气系统图片/柳叶2.webp | Bin 0 -> 3448 bytes assets/天气系统图片/柳叶2.webp.import | 34 ++++ assets/天气系统图片/柳叶3.webp | Bin 0 -> 3154 bytes assets/天气系统图片/柳叶3.webp.import | 34 ++++ assets/天气系统图片/栀子花1.webp | Bin 0 -> 4230 bytes assets/天气系统图片/栀子花1.webp.import | 34 ++++ assets/天气系统图片/栀子花2.webp | Bin 0 -> 3524 bytes assets/天气系统图片/栀子花2.webp.import | 34 ++++ assets/天气系统图片/栀子花3.webp | Bin 0 -> 5268 bytes assets/天气系统图片/栀子花3.webp.import | 34 ++++ assets/天气系统图片/樱花1.webp | Bin 0 -> 7126 bytes assets/天气系统图片/樱花1.webp.import | 34 ++++ assets/天气系统图片/樱花2.webp | Bin 0 -> 5878 bytes assets/天气系统图片/樱花2.webp.import | 34 ++++ assets/天气系统图片/樱花3.webp | Bin 0 -> 7218 bytes assets/天气系统图片/樱花3.webp.import | 34 ++++ game_camera.gd | 2 +- server/game_saves/3205788256.json | 2 +- 27 files changed, 842 insertions(+), 217 deletions(-) create mode 100644 Scene/Particle/Rain.tscn create mode 100644 Scene/Particle/WillowLeafRain.tscn create mode 100644 Server/config/stamina_config.json create mode 100644 assets/天气系统图片/柳叶1.webp create mode 100644 assets/天气系统图片/柳叶1.webp.import create mode 100644 assets/天气系统图片/柳叶2.webp create mode 100644 assets/天气系统图片/柳叶2.webp.import create mode 100644 assets/天气系统图片/柳叶3.webp create mode 100644 assets/天气系统图片/柳叶3.webp.import create mode 100644 assets/天气系统图片/栀子花1.webp create mode 100644 assets/天气系统图片/栀子花1.webp.import create mode 100644 assets/天气系统图片/栀子花2.webp create mode 100644 assets/天气系统图片/栀子花2.webp.import create mode 100644 assets/天气系统图片/栀子花3.webp create mode 100644 assets/天气系统图片/栀子花3.webp.import create mode 100644 assets/天气系统图片/樱花1.webp create mode 100644 assets/天气系统图片/樱花1.webp.import create mode 100644 assets/天气系统图片/樱花2.webp create mode 100644 assets/天气系统图片/樱花2.webp.import create mode 100644 assets/天气系统图片/樱花3.webp create mode 100644 assets/天气系统图片/樱花3.webp.import diff --git a/MainGame.tscn b/MainGame.tscn index ff32014..413b5f0 100644 --- a/MainGame.tscn +++ b/MainGame.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=72 format=3 uid="uid://dgh61dttaas5a"] +[gd_scene load_steps=85 format=3 uid="uid://dgh61dttaas5a"] [ext_resource type="Script" uid="uid://2pt11sfcaxf7" path="res://MainGame.gd" id="1_v3yaj"] [ext_resource type="Texture2D" uid="uid://du2pyiojliasy" path="res://assets/游戏UI/经验球.webp" id="2_6jgly"] @@ -53,6 +53,15 @@ [ext_resource type="Texture2D" uid="uid://dswjorjhf1i6f" path="res://assets/灌木丛图片/灌木丛2.webp" id="50_sqnmr"] [ext_resource type="Texture2D" uid="uid://go3n3qnpancf" path="res://assets/灌木丛图片/灌木丛3.webp" id="51_2i8fe"] [ext_resource type="Texture2D" uid="uid://dk4yl4ghmxaa2" path="res://assets/天气系统图片/雪花.webp" id="53_4ka7t"] +[ext_resource type="PackedScene" uid="uid://cvg38nsrm77jy" path="res://Scene/Particle/WillowLeafRain.tscn" id="53_nf3jg"] +[ext_resource type="Texture2D" uid="uid://chcgrmluhfxuk" path="res://assets/天气系统图片/樱花1.webp" id="53_tdq2s"] +[ext_resource type="Texture2D" uid="uid://c1qqalp7owgy2" path="res://assets/天气系统图片/栀子花1.webp" id="53_xyeuq"] +[ext_resource type="Texture2D" uid="uid://dfkgmj7e0555q" path="res://assets/天气系统图片/樱花2.webp" id="54_dygjy"] +[ext_resource type="Texture2D" uid="uid://bfducebx4c4il" path="res://assets/天气系统图片/柳叶3.webp" id="54_jiccn"] +[ext_resource type="Texture2D" uid="uid://cd7x78uyi2csh" path="res://assets/天气系统图片/栀子花2.webp" id="54_t4s8j"] +[ext_resource type="Texture2D" uid="uid://dl58ie2lneq77" path="res://assets/天气系统图片/柳叶1.webp" id="55_e8wx8"] +[ext_resource type="Texture2D" uid="uid://q0difb6wjkgm" path="res://assets/天气系统图片/樱花3.webp" id="55_edvcq"] +[ext_resource type="Texture2D" uid="uid://cqqyc3ddwtvpn" path="res://assets/天气系统图片/栀子花3.webp" id="55_iluto"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5dq3w"] @@ -110,8 +119,13 @@ shadow_size = 30 [sub_resource type="Environment" id="Environment_m6fch"] background_mode = 3 ambient_light_energy = 0.0 +glow_enabled = true +glow_intensity = 1.0 glow_bloom = 0.3 glow_blend_mode = 0 +glow_hdr_threshold = 2.0 +volumetric_fog_emission_energy = 281.25 +volumetric_fog_gi_inject = 1.38 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_6ylhg"] border_width_left = 10 @@ -126,44 +140,98 @@ corner_detail = 20 shadow_size = 20 shadow_offset = Vector2(3, 3) -[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_nf3jg"] -lifetime_randomness = 1.0 -particle_flag_disable_z = true -emission_shape = 3 -emission_box_extents = Vector3(1, 1, 1) -gravity = Vector3(0, 98, 0) -scale_min = 0.5 -scale_max = 0.5 -turbulence_enabled = true - -[sub_resource type="Curve" id="Curve_4ka7t"] -_data = [Vector2(0, 0.951807), 0.0, 0.0, 0, 0, Vector2(0.0153846, 1), 0.0, 0.0, 0, 0, Vector2(0.0461538, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] -point_count = 4 - -[sub_resource type="CurveTexture" id="CurveTexture_nf3jg"] -curve = SubResource("Curve_4ka7t") - -[sub_resource type="Gradient" id="Gradient_adtqp"] -offsets = PackedFloat32Array(0.52, 0.697143) -colors = PackedColorArray(1, 1, 1, 0.352941, 1, 1, 1, 1) - -[sub_resource type="GradientTexture1D" id="GradientTexture1D_5dq3w"] -gradient = SubResource("Gradient_adtqp") - -[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_jiccn"] -lifetime_randomness = 0.07 +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_tdq2s"] particle_flag_disable_z = true emission_shape = 3 emission_box_extents = Vector3(1000, 1, 1) -gravity = Vector3(46, 80, 0) +gravity = Vector3(-30, 80, 0) scale_min = 0.2 scale_max = 0.3 -color_initial_ramp = SubResource("GradientTexture1D_5dq3w") -alpha_curve = SubResource("CurveTexture_nf3jg") turbulence_enabled = true +turbulence_noise_speed = Vector3(10, 0, 0) +turbulence_influence_min = 0.02 +turbulence_influence_max = 0.07 + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_dygjy"] +particle_flag_disable_z = true +emission_shape = 3 +emission_box_extents = Vector3(1000, 1, 1) +gravity = Vector3(-30, 80, 0) +scale_min = 0.2 +scale_max = 0.3 +turbulence_enabled = true +turbulence_noise_speed = Vector3(10, 0, 0) +turbulence_influence_min = 0.02 +turbulence_influence_max = 0.07 + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_e8wx8"] +particle_flag_disable_z = true +emission_shape = 3 +emission_box_extents = Vector3(1000, 1, 1) +gravity = Vector3(-30, 80, 0) +scale_min = 0.4 +scale_max = 0.5 +turbulence_enabled = true +turbulence_noise_speed = Vector3(10, 0, 0) +turbulence_influence_min = 0.02 +turbulence_influence_max = 0.07 + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_4ka7t"] +particle_flag_disable_z = true +emission_shape = 3 +emission_box_extents = Vector3(1000, 1, 1) +gravity = Vector3(-45, 80, 0) +scale_min = 0.4 +scale_max = 0.5 +turbulence_enabled = true +turbulence_noise_speed = Vector3(10, 0, 0) +turbulence_influence_min = 0.02 +turbulence_influence_max = 0.07 + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_jiccn"] +lifetime_randomness = 0.6 +particle_flag_disable_z = true +emission_shape = 3 +emission_box_extents = Vector3(1000, 1, 1) +direction = Vector3(0, 1, 0) +spread = 0.0 +initial_velocity_min = 100.0 +initial_velocity_max = 400.0 +gravity = Vector3(0, 98, 0) +scale_min = 4.0 +scale_max = 6.0 +color = Color(0, 0.380392, 1, 1) turbulence_influence_min = 0.02 turbulence_influence_max = 0.08 +[sub_resource type="Curve" id="Curve_5dq3w"] +_data = [Vector2(0, 0.987952), 0.0, 0.0, 0, 0, Vector2(1e-05, 1), 0.0, 0.0, 0, 0, Vector2(0.0153846, 1), 0.0, 0.0, 0, 0, Vector2(0.838462, 0.253012), -2.16867, -2.16867, 0, 0, Vector2(0.976923, 0), 0.0, 0.0, 0, 0, Vector2(0.99999, 0), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] +point_count = 7 + +[sub_resource type="CurveTexture" id="CurveTexture_jiccn"] +curve = SubResource("Curve_5dq3w") + +[sub_resource type="Gradient" id="Gradient_e8wx8"] +offsets = PackedFloat32Array(0.372727, 0.718182) +colors = PackedColorArray(0.886, 0.886, 0.886, 0.313, 1, 1, 1, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_tdq2s"] +gradient = SubResource("Gradient_e8wx8") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_nf3jg"] +particle_flag_disable_z = true +emission_shape = 3 +emission_box_extents = Vector3(1000, 1, 1) +gravity = Vector3(45, 98, 0) +scale_min = 0.4 +scale_max = 0.5 +color_initial_ramp = SubResource("GradientTexture1D_tdq2s") +alpha_curve = SubResource("CurveTexture_jiccn") +turbulence_enabled = true +turbulence_noise_speed = Vector3(10, 0, 0) +turbulence_influence_min = 0.02 +turbulence_influence_max = 0.07 + [node name="main" type="Node"] script = ExtResource("1_v3yaj") @@ -1562,9 +1630,9 @@ offset_bottom = -61.0 anchor_mode = 0 position_smoothing_enabled = true script = ExtResource("10_o8l48") -max_zoom = 2.0 +max_zoom = 1.8 bounds_enabled = true -bounds_min = Vector2(-500, -500) +bounds_min = Vector2(-500, -400) bounds_max = Vector2(500, 500) [node name="WorldEnvironment" type="WorldEnvironment" parent="."] @@ -4277,27 +4345,125 @@ vertical_alignment = 1 [node name="WeatherSystem" type="Node2D" parent="."] +[node name="CherryBlossomRain" type="Node2D" parent="WeatherSystem"] +visible = false +position = Vector2(934, -469) + +[node name="CherryBlossomRain1" type="GPUParticles2D" parent="WeatherSystem/CherryBlossomRain"] +self_modulate = Color(0.7, 0.7, 0.7, 1) +z_index = 10 +position = Vector2(-143, 11) +amount = 50 +texture = ExtResource("53_xyeuq") +lifetime = 20.0 +preprocess = 10.0 +visibility_rect = Rect2(-900, 0, 2300, 2000) +process_material = SubResource("ParticleProcessMaterial_tdq2s") + +[node name="CherryBlossomRain2" type="GPUParticles2D" parent="WeatherSystem/CherryBlossomRain"] +self_modulate = Color(0.7, 0.7, 0.7, 1) +z_index = 10 +position = Vector2(-143, 11) +amount = 50 +texture = ExtResource("54_t4s8j") +lifetime = 20.0 +preprocess = 10.0 +visibility_rect = Rect2(-900, 0, 2300, 2000) +process_material = SubResource("ParticleProcessMaterial_tdq2s") + +[node name="CherryBlossomRain3" type="GPUParticles2D" parent="WeatherSystem/CherryBlossomRain"] +self_modulate = Color(0.7, 0.7, 0.7, 1) +z_index = 10 +position = Vector2(-143, 11) +amount = 50 +texture = ExtResource("55_iluto") +lifetime = 20.0 +preprocess = 10.0 +visibility_rect = Rect2(-900, 0, 2300, 2000) +process_material = SubResource("ParticleProcessMaterial_tdq2s") + +[node name="GardeniaRain" type="Node2D" parent="WeatherSystem"] +position = Vector2(759, -370) + +[node name="WillowLeafRain1" type="GPUParticles2D" parent="WeatherSystem/GardeniaRain"] +self_modulate = Color(0.9, 0.9, 0.9, 1) +z_index = 10 +amount = 50 +texture = ExtResource("53_tdq2s") +lifetime = 20.0 +preprocess = 10.0 +visibility_rect = Rect2(-900, 0, 2300, 2000) +process_material = SubResource("ParticleProcessMaterial_dygjy") + +[node name="WillowLeafRain2" type="GPUParticles2D" parent="WeatherSystem/GardeniaRain"] +self_modulate = Color(0.9, 0.9, 0.9, 1) +z_index = 10 +amount = 50 +texture = ExtResource("54_dygjy") +lifetime = 20.0 +preprocess = 10.0 +visibility_rect = Rect2(-900, 0, 2300, 2000) +process_material = SubResource("ParticleProcessMaterial_dygjy") + +[node name="WillowLeafRain3" type="GPUParticles2D" parent="WeatherSystem/GardeniaRain"] +self_modulate = Color(0.9, 0.9, 0.9, 1) +z_index = 10 +amount = 50 +texture = ExtResource("55_edvcq") +lifetime = 20.0 +preprocess = 10.0 +visibility_rect = Rect2(-900, 0, 2300, 2000) +process_material = SubResource("ParticleProcessMaterial_dygjy") + +[node name="WillowLeafRain" type="Node2D" parent="WeatherSystem"] +visible = false +position = Vector2(882, -469) + +[node name="WillowLeafRain1" parent="WeatherSystem/WillowLeafRain" instance=ExtResource("53_nf3jg")] +visible = false + +[node name="WillowLeafRain2" type="GPUParticles2D" parent="WeatherSystem/WillowLeafRain"] +visible = false +self_modulate = Color(0.7, 0.7, 0.7, 1) +z_index = 10 +amount = 50 +texture = ExtResource("55_e8wx8") +lifetime = 20.0 +preprocess = 10.0 +visibility_rect = Rect2(-900, 0, 2300, 2000) +process_material = SubResource("ParticleProcessMaterial_e8wx8") + +[node name="WillowLeafRain3" type="GPUParticles2D" parent="WeatherSystem/WillowLeafRain"] +self_modulate = Color(0.7, 0.7, 0.7, 1) +z_index = 10 +amount = 50 +texture = ExtResource("54_jiccn") +lifetime = 20.0 +preprocess = 10.0 +visibility_rect = Rect2(-900, 0, 2300, 2000) +process_material = SubResource("ParticleProcessMaterial_4ka7t") + [node name="Rain" type="GPUParticles2D" parent="WeatherSystem"] visible = false -position = Vector2(-170, -272) -amount = 16 -sub_emitter = NodePath(".") -texture = ExtResource("53_4ka7t") -lifetime = 15.0 -randomness = 0.5 -process_material = SubResource("ParticleProcessMaterial_nf3jg") +z_index = 10 +position = Vector2(246, -482) +amount = 450 +lifetime = 10.0 +preprocess = 20.0 +speed_scale = 1.5 +visibility_rect = Rect2(-900, 0, 2000, 2000) +trail_lifetime = 0.01 +process_material = SubResource("ParticleProcessMaterial_jiccn") [node name="Snow" type="GPUParticles2D" parent="WeatherSystem"] -z_index = 10 -position = Vector2(249, -262) +visible = false +position = Vector2(16, -520) amount = 300 texture = ExtResource("53_4ka7t") -lifetime = 15.0 +lifetime = 18.0 preprocess = 30.0 -visibility_rect = Rect2(-900, 0, 2000, 2000) -trail_sections = 2 -trail_section_subdivisions = 1 -process_material = SubResource("ParticleProcessMaterial_jiccn") +visibility_rect = Rect2(-900, 0, 2300, 2000) +process_material = SubResource("ParticleProcessMaterial_nf3jg") [node name="DayNightSystem" type="Node2D" parent="."] diff --git a/Scene/Particle/Rain.tscn b/Scene/Particle/Rain.tscn new file mode 100644 index 0000000..ed4fd89 --- /dev/null +++ b/Scene/Particle/Rain.tscn @@ -0,0 +1,28 @@ +[gd_scene load_steps=2 format=3 uid="uid://3cr6q4he2y0x"] + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_jiccn"] +lifetime_randomness = 0.6 +particle_flag_disable_z = true +emission_shape = 3 +emission_box_extents = Vector3(1000, 1, 1) +direction = Vector3(0, 1, 0) +spread = 0.0 +initial_velocity_min = 100.0 +initial_velocity_max = 400.0 +gravity = Vector3(0, 98, 0) +scale_min = 4.0 +scale_max = 6.0 +color = Color(0, 0.380392, 1, 1) +turbulence_influence_min = 0.02 +turbulence_influence_max = 0.08 + +[node name="Rain" type="GPUParticles2D"] +visible = false +z_index = 10 +amount = 450 +lifetime = 10.0 +preprocess = 20.0 +speed_scale = 1.5 +visibility_rect = Rect2(-900, 0, 2000, 2000) +trail_lifetime = 0.01 +process_material = SubResource("ParticleProcessMaterial_jiccn") diff --git a/Scene/Particle/WillowLeafRain.tscn b/Scene/Particle/WillowLeafRain.tscn new file mode 100644 index 0000000..31863b7 --- /dev/null +++ b/Scene/Particle/WillowLeafRain.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=3 format=3 uid="uid://cvg38nsrm77jy"] + +[ext_resource type="Texture2D" uid="uid://bnv6wb0k443fv" path="res://assets/天气系统图片/柳叶2.webp" id="1_tq8cs"] + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_tdq2s"] +particle_flag_disable_z = true +emission_shape = 3 +emission_box_extents = Vector3(1000, 1, 1) +gravity = Vector3(-30, 80, 0) +scale_min = 0.4 +scale_max = 0.5 +turbulence_enabled = true +turbulence_noise_speed = Vector3(10, 0, 0) +turbulence_influence_min = 0.02 +turbulence_influence_max = 0.07 + +[node name="WillowLeafRain1" type="GPUParticles2D"] +self_modulate = Color(0.7, 0.7, 0.7, 1) +z_index = 10 +amount = 50 +texture = ExtResource("1_tq8cs") +lifetime = 20.0 +preprocess = 10.0 +visibility_rect = Rect2(-900, 0, 2300, 2000) +process_material = SubResource("ParticleProcessMaterial_tdq2s") diff --git a/Scene/Particle/snow.tscn b/Scene/Particle/snow.tscn index 08cdda5..632527b 100644 --- a/Scene/Particle/snow.tscn +++ b/Scene/Particle/snow.tscn @@ -1,10 +1,10 @@ -[gd_scene load_steps=7 format=3 uid="uid://b5j2tonaoiku5"] +[gd_scene load_steps=7 format=3 uid="uid://dx7rtwu53mgxh"] -[ext_resource type="Texture2D" uid="uid://dk4yl4ghmxaa2" path="res://assets/天气系统图片/雪花.webp" id="1_nqr5d"] +[ext_resource type="Texture2D" uid="uid://dk4yl4ghmxaa2" path="res://assets/天气系统图片/雪花.webp" id="1_yj638"] [sub_resource type="Curve" id="Curve_4ka7t"] -_data = [Vector2(0, 0.951807), 0.0, 0.0, 0, 0, Vector2(0.0153846, 1), 0.0, 0.0, 0, 0, Vector2(0.0461538, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] -point_count = 4 +_data = [Vector2(0, 0.951807), 0.0, 0.0, 0, 0, Vector2(1e-05, 0.963855), 0.0, 0.0, 0, 0, Vector2(0.0153846, 1), 0.0, 0.0, 0, 0, Vector2(0.0461538, 1), 0.0, 0.0, 0, 0, Vector2(0.561538, 0.819277), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] +point_count = 6 [sub_resource type="CurveTexture" id="CurveTexture_nf3jg"] curve = SubResource("Curve_4ka7t") @@ -16,7 +16,7 @@ colors = PackedColorArray(1, 1, 1, 0.352941, 1, 1, 1, 1) [sub_resource type="GradientTexture1D" id="GradientTexture1D_5dq3w"] gradient = SubResource("Gradient_adtqp") -[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_jiccn"] +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_4ka7t"] particle_flag_disable_z = true emission_shape = 3 emission_box_extents = Vector3(1000, 1, 1) @@ -30,8 +30,10 @@ turbulence_influence_min = 0.02 turbulence_influence_max = 0.08 [node name="Snow" type="GPUParticles2D"] -amount = 200 -texture = ExtResource("1_nqr5d") -lifetime = 10.0 +visible = false +amount = 300 +texture = ExtResource("1_yj638") +lifetime = 18.0 preprocess = 30.0 -process_material = SubResource("ParticleProcessMaterial_jiccn") +visibility_rect = Rect2(-900, 0, 2300, 2000) +process_material = SubResource("ParticleProcessMaterial_4ka7t") diff --git a/Server/TCPGameServer.py b/Server/TCPGameServer.py index c94eec8..0a3fd40 100644 --- a/Server/TCPGameServer.py +++ b/Server/TCPGameServer.py @@ -849,7 +849,9 @@ class TCPGameServer(TCPServer): # 检查并更新体力值 stamina_updated = self._check_and_update_stamina(player_data) if stamina_updated: - self.log('INFO', f"玩家 {username} 体力值已更新:{player_data.get('体力值', 20)}", 'SERVER') + stamina_system = player_data.get("体力系统", {}) + current_stamina = stamina_system.get("当前体力值", 20) + self.log('INFO', f"玩家 {username} 体力值已更新:{current_stamina}", 'SERVER') # 检查并更新每日点赞次数 likes_updated = self._check_and_update_daily_likes(player_data) @@ -864,6 +866,9 @@ class TCPGameServer(TCPServer): # 检查并清理新手礼包历史数据 self._cleanup_new_player_gift_history(player_data) + # 检查并清理体力系统历史数据 + self._cleanup_stamina_system_history(player_data) + # 检查并更新已存在玩家的注册时间 self._check_and_update_register_time(player_data, username) @@ -5103,6 +5108,62 @@ class TCPGameServer(TCPServer): self.log('INFO', f"已清理玩家数据中的旧英文新手礼包格式", 'SERVER') + def _cleanup_stamina_system_history(self, player_data): + """清理旧的体力系统数据,迁移到新的"体力系统"对象""" + if "体力值" in player_data or "体力上次刷新时间" in player_data or "体力上次恢复时间" in player_data: + # 加载体力系统配置 + stamina_config = self._load_stamina_config() + max_stamina = stamina_config.get("最大体力值", 20) + + # 保存旧的体力数据 + old_stamina = player_data.get("体力值", 20) + old_refresh_time = player_data.get("体力上次刷新时间", "") + old_recovery_time = player_data.get("体力上次恢复时间", 0) + + # 创建新的体力系统对象 + if "体力系统" not in player_data: + player_data["体力系统"] = {} + + stamina_system = player_data["体力系统"] + + # 迁移数据到新格式 + stamina_system["当前体力值"] = old_stamina + stamina_system["最大体力值"] = max_stamina + stamina_system["上次刷新时间"] = old_refresh_time + stamina_system["上次恢复时间"] = old_recovery_time + + # 移除旧的体力数据 + if "体力值" in player_data: + del player_data["体力值"] + if "体力上次刷新时间" in player_data: + del player_data["体力上次刷新时间"] + if "体力上次恢复时间" in player_data: + del player_data["体力上次恢复时间"] + + self.log('INFO', f"已清理玩家数据中的旧体力系统格式,迁移到新的体力系统对象", 'SERVER') + + def _load_stamina_config(self): + """加载体力系统配置""" + try: + config_path = os.path.join(os.path.dirname(__file__), "config", "stamina_config.json") + with open(config_path, 'r', encoding='utf-8') as file: + config_data = json.load(file) + return config_data.get("体力系统配置", {}) + except FileNotFoundError: + self.log('WARNING', f"体力系统配置文件未找到,使用默认配置", 'SERVER') + return { + "最大体力值": 20, + "每小时恢复体力": 1, + "恢复间隔秒数": 3600, + "新玩家初始体力": 20 + } + except json.JSONDecodeError as e: + self.log('ERROR', f"体力系统配置文件格式错误: {e}", 'SERVER') + return {} + except Exception as e: + self.log('ERROR', f"加载体力系统配置时发生错误: {e}", 'SERVER') + return {} + #==========================点赞玩家处理========================== @@ -5131,37 +5192,50 @@ class TCPGameServer(TCPServer): current_time = time.time() current_date = datetime.datetime.now().strftime("%Y-%m-%d") - # 初始化体力值相关字段 - if "体力值" not in player_data: - player_data["体力值"] = 20 - if "体力上次刷新时间" not in player_data: - player_data["体力上次刷新时间"] = current_date - if "体力上次恢复时间" not in player_data: - player_data["体力上次恢复时间"] = current_time + # 加载体力系统配置 + stamina_config = self._load_stamina_config() + max_stamina = stamina_config.get("最大体力值", 20) + recovery_amount = stamina_config.get("每小时恢复体力", 1) + recovery_interval = stamina_config.get("恢复间隔秒数", 3600) + initial_stamina = stamina_config.get("新玩家初始体力", 20) + + # 获取或创建体力系统对象 + if "体力系统" not in player_data: + player_data["体力系统"] = { + "当前体力值": initial_stamina, + "最大体力值": max_stamina, + "上次刷新时间": current_date, + "上次恢复时间": current_time + } + + stamina_system = player_data["体力系统"] + + # 确保最大体力值与配置同步 + stamina_system["最大体力值"] = max_stamina # 检查是否需要每日重置 - last_refresh_date = player_data.get("体力上次刷新时间", "") + last_refresh_date = stamina_system.get("上次刷新时间", "") if last_refresh_date != current_date: # 新的一天,重置体力值 - player_data["体力值"] = 20 - player_data["体力上次刷新时间"] = current_date - player_data["体力上次恢复时间"] = current_time + stamina_system["当前体力值"] = max_stamina + stamina_system["上次刷新时间"] = current_date + stamina_system["上次恢复时间"] = current_time return True # 发生了重置 # 检查每小时恢复 - last_recovery_time = player_data.get("体力上次恢复时间", current_time) + last_recovery_time = stamina_system.get("上次恢复时间", current_time) time_diff = current_time - last_recovery_time - # 如果超过1小时(3600秒),恢复体力值 - if time_diff >= 3600: - hours_passed = int(time_diff // 3600) - current_stamina = player_data.get("体力值", 0) + # 如果超过恢复间隔时间,恢复体力值 + if time_diff >= recovery_interval: + recovery_cycles = int(time_diff // recovery_interval) + current_stamina = stamina_system.get("当前体力值", 0) - # 体力值恢复,但不能超过20 - new_stamina = min(20, current_stamina + hours_passed) + # 体力值恢复,但不能超过最大值 + new_stamina = min(max_stamina, current_stamina + (recovery_cycles * recovery_amount)) if new_stamina > current_stamina: - player_data["体力值"] = new_stamina - player_data["体力上次恢复时间"] = current_time + stamina_system["当前体力值"] = new_stamina + stamina_system["上次恢复时间"] = current_time return True # 发生了恢复 return False # 没有变化 @@ -5169,18 +5243,20 @@ class TCPGameServer(TCPServer): #消耗体力值 def _consume_stamina(self, player_data, amount, action_name): """消耗体力值""" - current_stamina = player_data.get("体力值", 20) + stamina_system = player_data.get("体力系统", {}) + current_stamina = stamina_system.get("当前体力值", 20) if current_stamina < amount: return False, f"体力值不足!{action_name}需要 {amount} 点体力,当前体力:{current_stamina}" - player_data["体力值"] = current_stamina - amount - return True, f"消耗 {amount} 点体力,剩余体力:{player_data['体力值']}" + stamina_system["当前体力值"] = current_stamina - amount + return True, f"消耗 {amount} 点体力,剩余体力:{stamina_system['当前体力值']}" #检查体力值是否足够 def _check_stamina_sufficient(self, player_data, amount): """检查体力值是否足够""" - current_stamina = player_data.get("体力值", 20) + stamina_system = player_data.get("体力系统", {}) + current_stamina = stamina_system.get("当前体力值", 20) return current_stamina >= amount def _check_and_update_register_time(self, player_data, username): @@ -5437,6 +5513,9 @@ class TCPGameServer(TCPServer): last_login_timestamp = self._parse_login_time_to_timestamp(last_login_str) # 获取所需的玩家信息 + stamina_system = player_data.get("体力系统", {}) + current_stamina = stamina_system.get("当前体力值", 20) + player_info = { "user_name": player_data.get("user_name", account_id), "player_name": player_data.get("player_name", player_data.get("user_name", account_id)), @@ -5444,7 +5523,7 @@ class TCPGameServer(TCPServer): "level": player_data.get("level", 1), "money": player_data.get("money", 0), "experience": player_data.get("experience", 0), - "体力值": player_data.get("体力值", 20), + "体力值": current_stamina, "seed_count": seed_count, "last_login_time": last_login_str, "last_login_timestamp": last_login_timestamp, @@ -5591,6 +5670,9 @@ class TCPGameServer(TCPServer): self._check_and_fix_wisdom_tree_config(target_player_data, target_username) # 返回目标玩家的农场数据(只返回可见的数据,不包含敏感信息如密码) + target_stamina_system = target_player_data.get("体力系统", {}) + target_current_stamina = target_stamina_system.get("当前体力值", 20) + safe_player_data = { "user_name": target_player_data.get("user_name", target_username), "player_name": target_player_data.get("player_name", target_username), @@ -5598,7 +5680,7 @@ class TCPGameServer(TCPServer): "level": target_player_data.get("level", 1), "money": target_player_data.get("money", 0), "experience": target_player_data.get("experience", 0), - "体力值": target_player_data.get("体力值", 20), + "体力值": target_current_stamina, "farm_lots": target_player_data.get("farm_lots", []), "player_bag": target_player_data.get("player_bag", []), "作物仓库": target_player_data.get("作物仓库", []), @@ -5653,6 +5735,9 @@ class TCPGameServer(TCPServer): self.log('INFO', f"玩家 {username} 返回了自己的农场", 'SERVER') # 返回玩家自己的农场数据 + my_stamina_system = player_data.get("体力系统", {}) + my_current_stamina = my_stamina_system.get("当前体力值", 20) + return self.send_data(client_id, { "type": "return_my_farm_response", "success": True, @@ -5664,7 +5749,7 @@ class TCPGameServer(TCPServer): "level": player_data.get("level", 1), "money": player_data.get("money", 0), "experience": player_data.get("experience", 0), - "体力值": player_data.get("体力值", 20), + "体力值": my_current_stamina, "farm_lots": player_data.get("farm_lots", []), "player_bag": player_data.get("player_bag", []), "宠物背包": player_data.get("宠物背包", []), diff --git a/Server/config/stamina_config.json b/Server/config/stamina_config.json new file mode 100644 index 0000000..e8e1a34 --- /dev/null +++ b/Server/config/stamina_config.json @@ -0,0 +1,23 @@ +{ + "体力系统配置": { + "最大体力值": 20, + "每小时恢复体力": 1, + "恢复间隔秒数": 3600, + "新玩家初始体力": 20, + "体力消耗": { + "浇水": 1, + "施肥": 1, + "挖地": 2, + "收获": 1, + "种植": 1, + "除草": 1, + "偷菜": 2 + }, + "提示消息": { + "体力不足": "体力值不足!当前体力:{current_stamina},需要:{required_stamina}", + "体力恢复": "体力已恢复到:{current_stamina}", + "体力重置": "新的一天,体力已重置为:{current_stamina}", + "体力消耗": "消耗 {amount} 点体力,剩余体力:{remaining_stamina}" + } + } +} \ No newline at end of file diff --git a/Server/game_saves/2143323382.json b/Server/game_saves/2143323382.json index 3ec126d..9ea2706 100644 --- a/Server/game_saves/2143323382.json +++ b/Server/game_saves/2143323382.json @@ -1,32 +1,32 @@ { - "experience": 2926, + "experience": 3039, "level": 32, - "money": 1250116, + "money": 1224518, "farm_name": "柚大青の小农场", "player_name": "柚大青", "user_name": "2143323382", "user_password": "tyh@19900420", - "last_login_time": "2025年07月12日23时02分19秒", - "total_login_time": "5时14分13秒", + "last_login_time": "2025年07月14日08时03分08秒", + "total_login_time": "5时36分14秒", "farm_lots": [ { - "crop_type": "", - "grow_time": 0, + "crop_type": "番茄", + "grow_time": 724, "is_dead": false, "is_diged": true, - "is_planted": false, - "max_grow_time": 650, + "is_planted": true, + "max_grow_time": 720, "已浇水": false, "已施肥": false, - "土地等级": 2 + "土地等级": 4 }, { - "crop_type": "", - "grow_time": 0, + "crop_type": "小麦", + "grow_time": 300, "is_dead": false, "is_diged": true, - "is_planted": false, - "max_grow_time": 720, + "is_planted": true, + "max_grow_time": 300, "已浇水": false, "已施肥": false, "土地等级": 2 @@ -43,45 +43,45 @@ "土地等级": 3 }, { - "crop_type": "", - "grow_time": 0, + "crop_type": "龙果", + "grow_time": 14492, "is_dead": false, "is_diged": true, - "is_planted": false, + "is_planted": true, + "max_grow_time": 14400, + "已浇水": false, + "已施肥": false, + "土地等级": 4 + }, + { + "crop_type": "小麦", + "grow_time": 318, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 300, + "已浇水": false, + "已施肥": false, + "土地等级": 1 + }, + { + "crop_type": "玉米", + "grow_time": 918, + "is_dead": false, + "is_diged": true, + "is_planted": true, "max_grow_time": 900, "已浇水": false, "已施肥": false, "土地等级": 1 }, { - "crop_type": "", - "grow_time": 0, + "crop_type": "小麦", + "grow_time": 316, "is_dead": false, "is_diged": true, - "is_planted": false, - "max_grow_time": 3000, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 7800, - "已浇水": false, - "已施肥": false, - "土地等级": 1 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 900, + "is_planted": true, + "max_grow_time": 300, "已浇水": false, "已施肥": false, "土地等级": 1 @@ -120,78 +120,78 @@ "土地等级": 0 }, { - "crop_type": "", - "grow_time": 0, + "crop_type": "小麦", + "grow_time": 300, "is_dead": false, "is_diged": true, - "is_planted": false, - "max_grow_time": 240, - "已浇水": false, - "已施肥": false, - "土地等级": 2 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, + "is_planted": true, "max_grow_time": 300, "已浇水": false, "已施肥": false, "土地等级": 2 }, { - "crop_type": "", - "grow_time": 0, + "crop_type": "玉米", + "grow_time": 912, "is_dead": false, "is_diged": true, - "is_planted": false, - "max_grow_time": 600, + "is_planted": true, + "max_grow_time": 900, "已浇水": false, "已施肥": false, "土地等级": 2 }, { - "crop_type": "", - "grow_time": 0, + "crop_type": "杂交树1", + "grow_time": 21632, "is_dead": false, "is_diged": true, - "is_planted": false, - "max_grow_time": 720, + "is_planted": true, + "max_grow_time": 21600, + "已浇水": false, + "已施肥": false, + "土地等级": 2 + }, + { + "crop_type": "小麦", + "grow_time": 314, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 300, "已浇水": false, "已施肥": false, "土地等级": 1 }, { - "crop_type": "", - "grow_time": 0, + "crop_type": "稻谷", + "grow_time": 614, "is_dead": false, "is_diged": true, - "is_planted": false, - "max_grow_time": 7000, + "is_planted": true, + "max_grow_time": 600, "已浇水": false, "已施肥": false, "土地等级": 1 }, { - "crop_type": "", - "grow_time": 0, + "crop_type": "胡萝卜", + "grow_time": 240, "is_dead": false, "is_diged": true, - "is_planted": false, + "is_planted": true, "max_grow_time": 240, "已浇水": false, "已施肥": false, "土地等级": 1 }, { - "crop_type": "", - "grow_time": 0, + "crop_type": "花椰菜", + "grow_time": 1334, "is_dead": false, "is_diged": true, - "is_planted": false, - "max_grow_time": 650, + "is_planted": true, + "max_grow_time": 1320, "已浇水": false, "已施肥": false, "土地等级": 1 @@ -230,38 +230,38 @@ "土地等级": 0 }, { - "crop_type": "", - "grow_time": 0, + "crop_type": "番茄", + "grow_time": 726, "is_dead": false, "is_diged": true, - "is_planted": false, - "max_grow_time": 650, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, - "max_grow_time": 240, - "已浇水": false, - "已施肥": false, - "土地等级": 0 - }, - { - "crop_type": "", - "grow_time": 0, - "is_dead": false, - "is_diged": true, - "is_planted": false, + "is_planted": true, "max_grow_time": 720, "已浇水": false, "已施肥": false, "土地等级": 0 }, + { + "crop_type": "土豆", + "grow_time": 486, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 480, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, + { + "crop_type": "土豆", + "grow_time": 486, + "is_dead": false, + "is_diged": true, + "is_planted": true, + "max_grow_time": 480, + "已浇水": false, + "已施肥": false, + "土地等级": 0 + }, { "crop_type": "", "grow_time": 0, @@ -564,32 +564,32 @@ { "name": "稻谷", "quality": "普通", - "count": 2 + "count": 1 }, { "name": "土豆", "quality": "普通", - "count": 3 + "count": 6 }, { "name": "小麦", "quality": "普通", - "count": 5 + "count": 8 }, { "name": "胡萝卜", "quality": "普通", - "count": 5 + "count": 7 }, { "name": "玉米", "quality": "优良", - "count": 6 + "count": 4 }, { "name": "番茄", "quality": "普通", - "count": 5 + "count": 3 }, { "name": "辣椒", @@ -604,7 +604,7 @@ { "name": "花椰菜", "quality": "优良", - "count": 2 + "count": 1 }, { "name": "葡萄", @@ -634,7 +634,7 @@ { "name": "龙果", "quality": "稀有", - "count": 2 + "count": 1 }, { "name": "松露", @@ -646,11 +646,6 @@ "quality": "传奇", "count": 1 }, - { - "name": "杂交树1", - "quality": "传奇", - "count": 1 - }, { "name": "杂交树2", "quality": "传奇", @@ -658,9 +653,6 @@ } ], "last_water_reset_date": "2025-06-05", - "体力值": 20, - "体力上次刷新时间": "2025-07-12", - "体力上次恢复时间": 1752323298.9468062, "注册时间": "2025年05月21日15时00分00秒", "个人简介": "其实我是一个梨子,真的,不骗你", "作物仓库": [], @@ -816,29 +808,27 @@ "当前生命值": 106 }, "签到历史": { - "2025年07月12日21时05分47秒": "金币249 经验75 土豆x3" + "2025年07月12日21时05分47秒": "金币249 经验75 土豆x3", + "2025年07月13日07时26分04秒": "金币302 经验63 土豆x5 小麦x3" }, "在线礼包": { - "当前日期": "2025-07-12", - "今日在线时长": 100008.91207242012, - "已领取礼包": [ - "1分钟", - "3分钟", - "5分钟", - "10分钟", - "30分钟", - "1小时", - "3小时", - "5小时" - ], - "登录时间": 1752329209.0102558 + "当前日期": "2025-07-14", + "今日在线时长": 0.0, + "已领取礼包": [], + "登录时间": 1752451388.1583223 }, "点赞系统": { - "今日剩余点赞次数": 0, - "点赞上次刷新时间": "2025-07-12" + "今日剩余点赞次数": 10, + "点赞上次刷新时间": "2025-07-14" }, "新手礼包": { "已领取": true, "领取时间": "2025-07-12 23:02:25" + }, + "体力系统": { + "当前体力值": 20, + "最大体力值": 20, + "上次刷新时间": "2025-07-14", + "上次恢复时间": 1752451388.157905 } } \ No newline at end of file diff --git a/assets/天气系统图片/柳叶1.webp b/assets/天气系统图片/柳叶1.webp new file mode 100644 index 0000000000000000000000000000000000000000..e94efee7dccb94fc44b9268da6a22aedc75c684e GIT binary patch literal 3174 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 Mj&3}$UjP6A09F<`j{pDw literal 0 HcmV?d00001 diff --git a/assets/天气系统图片/柳叶1.webp.import b/assets/天气系统图片/柳叶1.webp.import new file mode 100644 index 0000000..d4a0d2a --- /dev/null +++ b/assets/天气系统图片/柳叶1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dl58ie2lneq77" +path="res://.godot/imported/柳叶1.webp-398a016f09f48b59043f7f62f266a003.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/天气系统图片/柳叶1.webp" +dest_files=["res://.godot/imported/柳叶1.webp-398a016f09f48b59043f7f62f266a003.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/天气系统图片/柳叶2.webp b/assets/天气系统图片/柳叶2.webp new file mode 100644 index 0000000000000000000000000000000000000000..9312ff3d0c1ccc7e08c945aad145a239c3ba863e GIT binary patch literal 3448 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 literal 0 HcmV?d00001 diff --git a/assets/天气系统图片/柳叶3.webp.import b/assets/天气系统图片/柳叶3.webp.import new file mode 100644 index 0000000..22b19df --- /dev/null +++ b/assets/天气系统图片/柳叶3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bfducebx4c4il" +path="res://.godot/imported/柳叶3.webp-babc0a99bab5569728c5730a5eced834.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/天气系统图片/柳叶3.webp" +dest_files=["res://.godot/imported/柳叶3.webp-babc0a99bab5569728c5730a5eced834.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/天气系统图片/栀子花1.webp b/assets/天气系统图片/栀子花1.webp new file mode 100644 index 0000000000000000000000000000000000000000..7121767917f0ee1615dd747ba5da2de419cdb4f0 GIT binary patch literal 4230 zcmV;15P9!XNk&F~5C8yIMM6+kP&il$0000G0001g004gg06|PpND~ME01fbN+uGX3 z+P2N(I0bg>q$&)>%nXZ}VH2(mxb}{jnXkoEw3v!3Aj^XDm=`#TBe`0;eqC2YOaT7x z|Nk0`sDMU}IsrHw(I^O6l(~&E5m5r5fg2IgVEoXS+`E*N;ONpI3IfoIqOc8!MnTkl zCHD7zocP>Em53YLy;Kr*>%-m#RKqQYy7Ga*ZM*kjGPmW&YXz_Y?0qnq2GP-cN5)i9GgM+ABFo)opz~{v^*zudT5VX`1;_Bu?WKbGK4& z;`Tn$%6{@?>5T*0ar^jcQjmm(b1!}Q>z>&tin?u0Q*V%Pc2^tM?SNV)+Yyvv^ry! ztQAd*_B{CMor0*Sfp(sq{N?AKYMw;ZFbp%~1^}w6uJz<$|IUJWT6rbK*ONu5z0&zxGg9gr7=ee2BQmZzQ0#Q{LKYmQ@ zqr1T)JAZjOw?;vPB&rKsd%QK1Bn5{6K;q6=Te~5WG;{Ou^35D<5Csro!#eir!l#Kh zV#7kwFgX2a;IAx~-b|<-o@lTTLv>@bV`*U+0z~50#N-&#UT!3)Af-{mR;PfG*tn=` zJ$UlH+nF~b0U?^NHVlY>Acm;nSa;D@GEagSjY8othVG<&>ipaH3L~+;urUIFsI^EK zZJBc`nUQF`s1pTfo>m`dbmr8RJGqf)zH7y82bM|J_fV1A%+B^QPhtd0_o*4D;=lOa zYENB=nu>EmBT-%02tjxzXty0#F1`2eQLO@OUl>K~a4gSp*-Eoa82(AIvtcfz5Gz9^tU5XC|03vU>vum(oIa&x4?On$tj%XsqS^#7o=NOEqYn z+iUM9MedCthELfvTG{{mhbJc-YAvoEcXn*eR&ygsG}`iP?ek(Hl6t|-JR84#yI&fK z&8BP)&1Y}CcXl!q)LS@lAh?lwlGuF8rdZKWzD~BrikcJm{(5Xl2|*nRS%WNRfHk7e)4$z3zbkZF4*&!N8@2M< zYo(sp(GCLvKre()C=dz(DgW_BRu&~|Li*&L+ovbu$Vqde#eI>gDuewx8`=HpqH9)O>zgT_CotO;ZRE9u$5Kg5M z%>Y%|5b4uA`ExSU(t6R#-tX=`)N!paa*&OXdC_MSMuAkI&oduHkprZfWkvFf(&+o|U1xl5##KRi=Z%%_=`9KoRauAhz1Qvr|B|30<>ueB{M?v`hEe3!%Zudi_h#Bo&_ti*eP6zvBiykk z)(ZU(KQG6>u_v@E39ASv4%~X}FFk_YQ^XCE%5=im- zN<90`!>+fS87sieo?iat&u)<#oSzmBlH#3v)3KnrWSaH8Eq|JWLWq+9;qJw=OCMz@ zO5*?u0C7=}<}1BYP+nW}LI9==_D#o%CL29{`Qd9NK!pTR5X2YuKOEi7j3fbgh^Ydi zKS-W}!QMQ*BpQZ+UjJk^7&L;#wRdg1zEb3cH-M;U zYd4D4)vOpl+9@W&%#A7uT>Ij}jnw#`s7U(NZ>Rg-zRUc0E4X>EEh9=anwwp_*Y}1E z(idgFr-3Vc`K`5Z`$RaR#0BxO^I!Hn$!gyFwM+ism;#peQWpn;5fyHo53l!1BdQW) z^5xw(qp3&$GZLd)<-ijk+%CyV=DqjX_irqA0>yt4Bb-v)i6=x*+4rw6o3^^K!+ntc z(jRs`z~ee&A+|+ zk^P(ecZz3Ve`fap{t5h7{7?2D+z<6%2p_!uQvY=K2lC(gugou?Z{y#}KfQlm{}2BI z{7?VS`G060yT4lfhJRDdUmYyPnt2v*p!xn!$>ToLTC9KFl87S}KZ%l8TXyI9dtmHy zI7)Di6n!XqF`VG)x(Z*lHfIIAP56)i=7@$&wH-@QDH9S>8Mc~6=BBadAg7gzG)!InQ(e{{9Bg00948*0N4cd+3Jh?iCVNBL)7V6WviNxzdfP0v}D~ z?gt)-t^T?OYz~&R)~;MC?g$NV%W7-P!A#)*|3go0U?b`&f6nPa{rP?hlS?1d)Bn)1E-s zPmkQVTw@a4h2(4|c)HCtqu57eM>2wR6SK+(47Tkf4;eE11@Z72hC0lAugh^-gSV7J zcw*=qUbqfSXU1k0q0&>#x|McJOmW0o;0@0Aif7DGKIq>JH`;~M~;k8Hj{GRl|L5puyp>db0T7;roE+tgnC(%??fy_$WaOlBvtOIQo2swVF?Lic{?fE(VE`q-DQ3Ue3tjzt&rGHJ4|l$WOl+r(_X5&SCJprlSu z;Am#jv3-=s;_ipL{NleW_iAmwv%({+W`9$C+bV7?6F)A%1%0uN{>- z^oqBGIRxZl}fqeWAx5Of+M*kPeWN9)8y{&1t zJwm7{(^#_g=2mK015%{+faB$pF6o_+eeLLp)@I$giF!>f)l?PmknMadJ+ii7i1WfJ zR&Iew7I1x|W*{Pb;wBBJmH@!|6P69r;=G8GZ4gW+;;gI{#@MP!)D6*f`_SBeaoTAr zwPVu2`0!v3=C9nI`?)xc_y8Ee^_sShNdSW{{_V0|B*z8x>=8nrU9>bVTNvT}Jksb? zC$;McDSDYlBb(ljksXy&XJJVZemFbJ>v(@86*=E`H>>Qm+4AkJk6i|&{(;Y+D`mSj2>E)7W&vHi# zAM34$kj2mz&YktphGvNkk((j?qod>~3=vCn~a)_)ot@pf7on(y34 zYWL6ORAcgu)(P{=zU%c*FQ<8@Ks|fq^PFq~kO`!tOU`9=fBs0ofdd{=A!PfIXfW-B zspNm_KuGcFq4`pb;A(Wmj}ruzneBzX%|`OwF=Vf)xrQ+F5LXRr|x7{IMbGg@mK>o-2a;?f+*x|{az0E$HPwf2~t0;u_0Nxn<>OonI zzd>MDsvfU9TmD4iKP_Xc;~CE~4ojrA9WEZI%FX>x>PZ^X-261Qno*G6^g_wt!aB3E zBW(zj9Bw78r9vdrur*_Q=FNZdyu4fKhqLd3P5O}a0!IDrBSa?y-Wx~+4+gr~F7QZu5M}Jm9SzHb_Uo{}GM2Mi1EBt8k-H;?)g?-`P zm9#NSvCUq&5Vk;Aa<>N|bd{P5=M4`YEA6GzND$D<1s`Lw~W3OV-_ z1cfQISYZamGh!w`iPF_U#~DKFGW;VGn2d09|GnOOM(HqEwB=;Lynm=lG{(cVTP$${ z43i2>zXCTf(5AL)ucqtr{w@a;C%M5-`l4s!1P(wv5*kaoWQjD#%AKBtgEP>*!|rn5 zr60DFV8;U)@Se`p-cdu8REl|27b8v*Tg0$NP?>C0c9#8P7fXvwN@p_oD)Lm!^( c^eH6O6vuwePTtL@ztE%?2N};bwg3PC0JZyESpWb4 literal 0 HcmV?d00001 diff --git a/assets/天气系统图片/栀子花1.webp.import b/assets/天气系统图片/栀子花1.webp.import new file mode 100644 index 0000000..51abeed --- /dev/null +++ b/assets/天气系统图片/栀子花1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c1qqalp7owgy2" +path="res://.godot/imported/栀子花1.webp-c96e2437381ef6ec97a91ec278d747a7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/天气系统图片/栀子花1.webp" +dest_files=["res://.godot/imported/栀子花1.webp-c96e2437381ef6ec97a91ec278d747a7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/天气系统图片/栀子花2.webp b/assets/天气系统图片/栀子花2.webp new file mode 100644 index 0000000000000000000000000000000000000000..bb90b8cbda31b23372f0c29806bb4da80d1f3b75 GIT binary patch literal 3524 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 yW#mymp}iTL^qGb|Q~Qfu{ikDw literal 0 HcmV?d00001 diff --git a/assets/天气系统图片/栀子花2.webp.import b/assets/天气系统图片/栀子花2.webp.import new file mode 100644 index 0000000..2958def --- /dev/null +++ b/assets/天气系统图片/栀子花2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cd7x78uyi2csh" +path="res://.godot/imported/栀子花2.webp-378a97ef3111167708ae38b3b4fbc8da.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/天气系统图片/栀子花2.webp" +dest_files=["res://.godot/imported/栀子花2.webp-378a97ef3111167708ae38b3b4fbc8da.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/天气系统图片/栀子花3.webp b/assets/天气系统图片/栀子花3.webp new file mode 100644 index 0000000000000000000000000000000000000000..25b41e9f0ef0801b3512e1c2bbbf39373c6335ce GIT binary patch literal 5268 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 MEzKAJ000000MH1;Hvj+t literal 0 HcmV?d00001 diff --git a/assets/天气系统图片/樱花1.webp.import b/assets/天气系统图片/樱花1.webp.import new file mode 100644 index 0000000..b892969 --- /dev/null +++ b/assets/天气系统图片/樱花1.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chcgrmluhfxuk" +path="res://.godot/imported/樱花1.webp-e6e58e29a3d25ab80c42c1cce97b5c4f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/天气系统图片/樱花1.webp" +dest_files=["res://.godot/imported/樱花1.webp-e6e58e29a3d25ab80c42c1cce97b5c4f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/天气系统图片/樱花2.webp b/assets/天气系统图片/樱花2.webp new file mode 100644 index 0000000000000000000000000000000000000000..6fb0bad9109b72d64d36341851acd9bbd0cdde48 GIT binary patch literal 5878 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 MkQZPO000000N|yimjD0& literal 0 HcmV?d00001 diff --git a/assets/天气系统图片/樱花2.webp.import b/assets/天气系统图片/樱花2.webp.import new file mode 100644 index 0000000..3066501 --- /dev/null +++ b/assets/天气系统图片/樱花2.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dfkgmj7e0555q" +path="res://.godot/imported/樱花2.webp-bf8a60ab8c1f4ffeb88bc69a58c7c758.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/天气系统图片/樱花2.webp" +dest_files=["res://.godot/imported/樱花2.webp-bf8a60ab8c1f4ffeb88bc69a58c7c758.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/assets/天气系统图片/樱花3.webp b/assets/天气系统图片/樱花3.webp new file mode 100644 index 0000000000000000000000000000000000000000..ec5c08d4873601245759f01b3c54e9d7f1ae376e GIT binary patch literal 7218 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 A-v9sr literal 0 HcmV?d00001 diff --git a/assets/天气系统图片/樱花3.webp.import b/assets/天气系统图片/樱花3.webp.import new file mode 100644 index 0000000..12e1f49 --- /dev/null +++ b/assets/天气系统图片/樱花3.webp.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://q0difb6wjkgm" +path="res://.godot/imported/樱花3.webp-1b2f7e3262067dca93e303e328cc1ff6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/天气系统图片/樱花3.webp" +dest_files=["res://.godot/imported/樱花3.webp-1b2f7e3262067dca93e303e328cc1ff6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.01 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/game_camera.gd b/game_camera.gd index bbfca6a..4ffb7cf 100644 --- a/game_camera.gd +++ b/game_camera.gd @@ -15,7 +15,7 @@ extends Camera2D @export var bounds_min: Vector2 = Vector2(-1000, -1000) @export var bounds_max: Vector2 = Vector2(1000, 1000) -var current_zoom_level: float = 2 +var current_zoom_level: float = 1.6 # 触摸相关变量 var is_dragging: bool = false diff --git a/server/game_saves/3205788256.json b/server/game_saves/3205788256.json index 5a9c8c0..fc53f97 100644 --- a/server/game_saves/3205788256.json +++ b/server/game_saves/3205788256.json @@ -967,5 +967,5 @@ "高度": 53, "上次护理时间": 1752051799 }, - "点赞数": 32 + "点赞数": 42 } \ No newline at end of file