准备发布正式版

This commit is contained in:
2025-07-31 22:59:40 +08:00
parent 048600e95d
commit ea42a1563d
173 changed files with 3926 additions and 4295 deletions

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=3 format=3 uid="uid://smypui0vyso5"]
[gd_scene load_steps=4 format=3 uid="uid://smypui0vyso5"]
[ext_resource type="Script" uid="uid://c0jfbtkh0mj5b" path="res://Script/BigPanel/DailyCheckInPanel.gd" id="1_fj7a7"]
@@ -9,6 +9,8 @@ border_width_right = 15
border_width_bottom = 15
corner_detail = 20
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4gvib"]
[node name="DailyCheckInPanel" type="Panel"]
offset_left = 441.0
offset_right = 1041.0
@@ -33,12 +35,19 @@ text = "📅每日签到📅"
horizontal_alignment = 1
[node name="Label" type="Label" parent="."]
modulate = Color(0.642982, 0.510828, 1, 1)
layout_mode = 0
offset_top = 419.0
offset_right = 600.0
offset_bottom = 468.0
offset_left = 23.0
offset_top = 360.0
offset_right = 585.0
offset_bottom = 409.0
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/shadow_offset_x = 2
theme_override_constants/shadow_offset_y = 2
theme_override_constants/outline_size = 15
theme_override_constants/shadow_outline_size = 10
theme_override_font_sizes/font_size = 30
theme_override_styles/normal = SubResource("StyleBoxFlat_4gvib")
text = "🎉签到奖励🎉"
horizontal_alignment = 1
vertical_alignment = 1
@@ -66,9 +75,10 @@ text = "签到"
[node name="Scroll" type="ScrollContainer" parent="."]
layout_mode = 0
offset_left = 23.0
offset_top = 77.0
offset_right = 600.0
offset_bottom = 419.0
offset_right = 577.0
offset_bottom = 360.0
[node name="DailyCheckInHistory" type="RichTextLabel" parent="Scroll"]
layout_mode = 2
@@ -79,13 +89,24 @@ threaded = true
[node name="DailyCheckInReward" type="RichTextLabel" parent="."]
layout_mode = 0
offset_top = 481.0
offset_right = 600.0
offset_bottom = 649.0
offset_left = 23.0
offset_top = 409.0
offset_right = 577.0
offset_bottom = 630.0
theme_override_font_sizes/normal_font_size = 20
bbcode_enabled = true
text = "+500 经验,+400 钱币,+5 普通-番茄种子,+1 传奇-火龙果种子 "
horizontal_alignment = 1
[node name="ConfirmDialog" type="ConfirmationDialog" parent="."]
title = "标题"
initial_position = 3
size = Vector2i(450, 350)
current_screen = 0
ok_button_text = "✅ 确定"
dialog_text = "弹窗内容"
dialog_autowrap = true
cancel_button_text = "❌ 取消"
[connection signal="pressed" from="QuitButton" to="." method="_on_quit_button_pressed"]
[connection signal="pressed" from="DailyCheckInButton" to="." method="_on_daily_check_in_button_pressed"]

View File

@@ -18,6 +18,7 @@ theme_override_styles/panel = SubResource("StyleBoxFlat_n8m38")
script = ExtResource("1_xnwaq")
[node name="LoginVBox" type="VBoxContainer" parent="."]
visible = false
layout_mode = 2
[node name="Title" type="Label" parent="LoginVBox"]
@@ -100,7 +101,6 @@ text = "连接状态"
horizontal_alignment = 1
[node name="RegisterVbox" type="VBoxContainer" parent="."]
visible = false
layout_mode = 2
[node name="Title" type="Label" parent="RegisterVbox"]
@@ -226,6 +226,11 @@ layout_mode = 2
theme_override_font_sizes/font_size = 30
text = "注册"
[node name="Register2LoginButton" type="Button" parent="RegisterVbox"]
layout_mode = 2
theme_override_font_sizes/font_size = 30
text = "返回登录"
[node name="Note" type="Label" parent="RegisterVbox"]
modulate = Color(1, 0.552941, 1, 1)
layout_mode = 2
@@ -321,6 +326,11 @@ layout_mode = 2
theme_override_font_sizes/font_size = 30
text = "确认"
[node name="Forget2LoginButton" type="Button" parent="ForgetPasswordVbox"]
layout_mode = 2
theme_override_font_sizes/font_size = 30
text = "确认"
[node name="Note" type="Label" parent="ForgetPasswordVbox"]
modulate = Color(1, 0.552941, 1, 1)
layout_mode = 2
@@ -337,3 +347,6 @@ layout_mode = 2
theme_override_font_sizes/font_size = 30
text = "连接状态"
horizontal_alignment = 1
[connection signal="pressed" from="RegisterVbox/Register2LoginButton" to="." method="_on_register_2_login_button_pressed"]
[connection signal="pressed" from="ForgetPasswordVbox/Forget2LoginButton" to="." method="_on_forget_2_login_button_pressed"]

View File

@@ -117,6 +117,16 @@ layout_mode = 2
theme_override_font_sizes/font_size = 35
text = "抽奖"
[node name="ConfirmDialog" type="ConfirmationDialog" parent="."]
title = "标题"
initial_position = 3
size = Vector2i(450, 350)
current_screen = 0
ok_button_text = "🎲 确定抽奖"
dialog_text = "弹窗内容"
dialog_autowrap = true
cancel_button_text = "❌ 取消"
[connection signal="pressed" from="QuitButton" to="." method="_on_quit_button_pressed"]
[connection signal="pressed" from="HBox/FiveLuckyDrawButton" to="." method="_on_five_lucky_draw_button_pressed"]
[connection signal="pressed" from="HBox/TenLuckyDrawButton" to="." method="_on_ten_lucky_draw_button_pressed"]

View File

@@ -95,7 +95,7 @@ var berserker_triggered: bool = false # 是否已触发过狂暴(防止重复
var is_berserker: bool = false # 是否处于狂暴状态
var berserker_end_time: float = 0.0 # 狂暴结束时间
#技能-自爆
#技能-死亡自爆
var enable_self_destruct_skill: bool = false
var self_destruct_damage: float = 50.0 # 自爆伤害值
@@ -112,6 +112,12 @@ var respawn_health_percentage: float = 0.3 # 重生时恢复的血量百分比
var max_respawn_count: int = 1 # 最大重生次数
var current_respawn_count: int = 0 # 当前已重生次数
#技能-反弹伤害
var enable_damage_reflection_skill: bool = false
var damage_reflection_cooldown: float = 10.0 # 反弹伤害冷却时间(秒)
var damage_reflection_cooldown_end_time: float = 0.0 # 反弹伤害冷却结束时间
var damage_reflection_percentage: float = 0.5 # 反弹伤害百分比50%
#击退效果
var enable_knockback: bool = true # 是否启用击退效果
var knockback_force: float = 300.0 # 击退力度(像素/秒)
@@ -179,6 +185,8 @@ var update_ui_timer: float = 0.0
var ui_update_interval: float = 0.2 # UI更新间隔减少频繁更新
var ai_update_timer: float = 0.0
var ai_update_interval: float = 0.05 # AI更新间隔平衡性能和反应速度
var last_direction_x = -1 # 假设初始向右
#============================杂项未处理===============================
@@ -359,25 +367,31 @@ func move_towards_target():
var direction = (current_target.global_position - global_position).normalized()
velocity = direction * move_speed
# 翻转精灵
if direction.x < 0:
pet_image.flip_h = false
left_tool_image.flip_h = true
right_tool_image.flip_h = true
left_tool_image.position = Vector2(-12.5,3.5)
right_tool_image.position = Vector2(-7.5,-6.25)
#left_tool_image.rotation = 21.8
#right_tool_image.rotation = -14.5
#==================只有当方向发生变化时才执行翻转逻辑=======================
if direction.x != last_direction_x:
if direction.x < 0:
# 向左转
pet_image.flip_h = false
left_tool_image.flip_h = true
right_tool_image.flip_h = true
# 只翻转一次位置(使用初始位置的相反数)
left_tool_image.position.x = -abs(left_tool_image.position.x)
right_tool_image.position.x = -abs(right_tool_image.position.x)
else:
# 向右转
pet_image.flip_h = true
left_tool_image.flip_h = false
right_tool_image.flip_h = false
# 只翻转一次位置(使用初始位置的绝对值)
left_tool_image.position.x = abs(left_tool_image.position.x)
right_tool_image.position.x = abs(right_tool_image.position.x)
# 更新上一次的方向记录
last_direction_x = direction.x
#==================只有当方向发生变化时才执行翻转逻辑=======================
else:
pet_image.flip_h = true
left_tool_image.flip_h = false
right_tool_image.flip_h = false
left_tool_image.position = Vector2(12.5,3.5)
right_tool_image.position = Vector2(7.5,-6.25)
#left_tool_image.rotation = -21.8
#right_tool_image.rotation = 14.5
#检查边界碰撞并处理反弹和伤害
func check_boundary_collision():
@@ -462,7 +476,6 @@ func perform_melee_attack():
current_state = PetState.IDLE
)
#应用宠物外观图片
func apply_pet_image(pet: NewPetBase, image_path: String):
"""应用宠物外观图片"""
@@ -614,6 +627,20 @@ func take_damage(damage: float, attacker: NewPetBase):
# 闪避成功
return # 闪避成功
# 反弹伤害技能检查
if enable_damage_reflection_skill and attacker != null and is_instance_valid(attacker) and attacker != self:
var current_time = Time.get_ticks_msec() / 1000.0
# 检查冷却时间
if current_time >= damage_reflection_cooldown_end_time:
# 计算反弹伤害
var reflection_damage = damage * damage_reflection_percentage
# 对攻击者造成反弹伤害(不会再次触发反弹,避免无限循环)
attacker.take_reflection_damage(reflection_damage, self)
# 设置冷却时间
damage_reflection_cooldown_end_time = current_time + damage_reflection_cooldown
# 发射技能信号
pet_skill_used.emit(self, "反弹伤害")
# 护盾优先吸收伤害
if current_shield > 0:
var shield_damage = min(current_shield, damage)
@@ -638,6 +665,39 @@ func take_damage(damage: float, attacker: NewPetBase):
if current_health <= 0:
die()
#受到反弹伤害(不会再次触发反弹效果)
func take_reflection_damage(damage: float, reflector: NewPetBase):
"""受到反弹伤害(不会再次触发反弹效果)"""
if not is_alive:
return
# 闪避检查
if randf() < dodge_rate:
# 闪避成功
return
# 护盾优先吸收伤害
if current_shield > 0:
var shield_damage = min(current_shield, damage)
current_shield -= shield_damage
damage -= shield_damage
# 护盾消耗完后,剩余伤害扣除生命值
if damage > 0:
current_health -= damage
# 受伤视觉效果(短暂变红)
if not is_berserker:
pet_image.modulate = Color(1.3, 0.7, 0.7, 1.0)
get_tree().create_timer(0.15).timeout.connect(func():
if not is_berserker and is_alive:
pet_image.modulate = Color(1.0, 1.0, 1.0, 1.0)
)
# 检查死亡
if current_health <= 0:
die()
#治疗
func heal(amount: float):
"""治疗"""
@@ -1033,11 +1093,31 @@ func update_patrol_ai():
pet_image.animation = "walk"
velocity = direction * patrol_speed
# 翻转精灵
if direction.x < 0:
pet_image.flip_h = false
else:
pet_image.flip_h = true
#==================只有当方向发生变化时才执行翻转逻辑=======================
if direction.x != last_direction_x:
if direction.x < 0:
# 向左转
pet_image.flip_h = false
left_tool_image.flip_h = true
right_tool_image.flip_h = true
# 只翻转一次位置(使用初始位置的相反数)
left_tool_image.position.x = -abs(left_tool_image.position.x)
right_tool_image.position.x = -abs(right_tool_image.position.x)
else:
# 向右转
pet_image.flip_h = true
left_tool_image.flip_h = false
right_tool_image.flip_h = false
# 只翻转一次位置(使用初始位置的绝对值)
left_tool_image.position.x = abs(left_tool_image.position.x)
right_tool_image.position.x = abs(right_tool_image.position.x)
# 更新上一次的方向记录
last_direction_x = direction.x
#==================只有当方向发生变化时才执行翻转逻辑=======================
else:
# 到达目标位置,待机
current_state = PetState.IDLE

View File

@@ -76,6 +76,11 @@ func _ready():
# 初始化UI
battle_end_panel.visible = false
return_farm_button.pressed.connect(_on_return_farm_pressed)
# 连接可见性改变信号
visibility_changed.connect(_on_visibility_changed)
# 连接确认弹窗信号
confirm_dialog.confirmed.connect(_on_assist_confirmed)
confirm_dialog.canceled.connect(_on_assist_canceled)
# 初始化宠物配置系统
pet_config = PetConfig.new()
# 等待一帧确保PetConfig的_ready函数执行完毕
@@ -83,9 +88,7 @@ func _ready():
# 初始化战斗日志
battle_details_text.text = "[color=green]战斗准备中...[/color]\n"
# 连接确认弹窗信号
confirm_dialog.confirmed.connect(_on_assist_confirmed)
confirm_dialog.canceled.connect(_on_assist_canceled)
# 美化确认弹窗
setup_confirm_dialog()
@@ -93,11 +96,13 @@ func _ready():
# 延迟一帧后设置演示数据,确保所有节点都已准备好
await get_tree().process_frame
#setup_farm_battle()
# 可以调用测试函数进行本地测试
#setup_test_battle()
func _process(delta):
# 更新时间显示(无论什么状态都显示)
update_time_display()
#
# 更新辅助功能冷却计时器
update_assist_cooldowns(delta)
@@ -131,6 +136,72 @@ func _process(delta):
#========================基础函数======================
#=====================本地测试函数===========================
# 本地测试对战函数 - 方便调试各种宠物属性
func setup_test_battle():
"""设置本地测试对战,可以快速测试各种宠物配置和属性"""
print("[测试] 开始设置本地测试对战")
# 清理现有战斗
clear_all_pets()
# 设置队伍名称
team_a_name = "测试队伍A"
team_b_name = "测试队伍B"
# 创建测试队伍A的宠物数据进攻方
var team_a_data = [
{"config_key": "烈焰鸟"}, # 使用配置文件中的烈焰鸟
]
# 创建测试队伍B的宠物数据防守方
var team_b_data = [
{"config_key": "小蓝虫"}, # 使用配置文件中的小蓝虫
]
# 开始战斗
start_battle(team_a_data, team_b_data)
# 等待宠物生成完成
await get_tree().process_frame
# 获取生成的宠物进行属性调试
var redman_pet = null # 烈焰鸟
var bluebug_pet = null # 大蓝虫
var smallbug_pet = null # 小蓝虫
var smallblue_pet = null # 小蓝
# 查找特定宠物
for pet in team_a_pets:
if pet.pet_type == "烈焰鸟":
redman_pet = pet
elif pet.pet_type == "大蓝虫":
bluebug_pet = pet
for pet in team_b_pets:
if pet.pet_type == "小蓝虫":
smallbug_pet = pet
elif pet.pet_type == "小蓝":
smallblue_pet = pet
# =================== 在这里可以一行代码调试宠物属性 ===================
# 示例:开启烈焰鸟的反弹伤害技能
if redman_pet:
redman_pet.enable_damage_reflection_skill = true
redman_pet.damage_reflection_percentage = 0.8 # 反弹80%伤害
redman_pet.damage_reflection_cooldown = 5.0 # 5秒冷却
print("[测试] 烈焰鸟开启反弹伤害技能")
print("[测试] 本地测试对战设置完成,可以观察宠物战斗效果")
# 添加测试日志
add_battle_log("[color=cyan]本地测试对战开始![/color]")
add_battle_log("[color=yellow]队伍A: 烈焰鸟(反弹伤害) + 大蓝虫(召唤增强)[/color]")
add_battle_log("[color=yellow]队伍B: 小蓝虫(狂暴模式) + 小蓝(自爆技能)[/color]")
#=====================UI显示===========================
#更新时间显示
func update_time_display():
@@ -276,6 +347,14 @@ func _on_stop_battle_button_pressed() -> void:
for bullet in bullets:
bullet.queue_free()
# 面板显示时的处理
func _on_visibility_changed():
if visible:
GlobalVariables.isZoomDisabled = true
pass
else:
GlobalVariables.isZoomDisabled = false
pass
#=====================UI显示===========================
@@ -394,7 +473,11 @@ func apply_server_pet_data(pet: NewPetBase, pet_data: Dictionary):
# 生命与防御
if pet_data.has("max_health"):
pet.max_health = pet_data["max_health"]
pet.current_health = pet.max_health
# 优先使用服务器返回的当前生命值,否则使用最大生命值
if pet_data.has("pet_current_health"):
pet.current_health = pet_data["pet_current_health"]
else:
pet.current_health = pet.max_health
if pet_data.has("enable_health_regen"):
pet.enable_health_regen = pet_data["enable_health_regen"]
if pet_data.has("health_regen"):
@@ -974,10 +1057,6 @@ func setup_steal_battle(attacker_pets: Array, defender_pets: Array, attacker_nam
team_a_name = attacker_name + "(攻击方)"
team_b_name = defender_name + "(防守方)"
# 更新UI显示
#team_a_label.text = team_a_name
#team_b_label.text = team_b_name
# 获取队伍位置点
var team_a_positions = get_team_positions(team_a_node)
var team_b_positions = get_team_positions(team_b_node)

View File

@@ -101,7 +101,7 @@ vertical_alignment = 1
layout_mode = 0
offset_top = 50.0
offset_right = 257.0
offset_bottom = 300.0
offset_bottom = 578.0
[node name="TeamAHeal" type="Button" parent="PlayerSkillPanel/TeamASkills"]
layout_mode = 2
@@ -122,67 +122,67 @@ text = "团队护盾"
layout_mode = 2
theme_override_font_sizes/font_size = 18
disabled = true
text = "测试"
text = "暂无"
[node name="test2" type="Button" parent="PlayerSkillPanel/TeamASkills"]
layout_mode = 2
theme_override_font_sizes/font_size = 18
disabled = true
text = "测试"
text = "暂无"
[node name="test3" type="Button" parent="PlayerSkillPanel/TeamASkills"]
layout_mode = 2
theme_override_font_sizes/font_size = 18
disabled = true
text = "测试"
text = "暂无"
[node name="test4" type="Button" parent="PlayerSkillPanel/TeamASkills"]
layout_mode = 2
theme_override_font_sizes/font_size = 18
disabled = true
text = "测试"
text = "暂无"
[node name="test5" type="Button" parent="PlayerSkillPanel/TeamASkills"]
layout_mode = 2
theme_override_font_sizes/font_size = 18
disabled = true
text = "测试"
text = "暂无"
[node name="test6" type="Button" parent="PlayerSkillPanel/TeamASkills"]
layout_mode = 2
theme_override_font_sizes/font_size = 18
disabled = true
text = "测试"
text = "暂无"
[node name="test7" type="Button" parent="PlayerSkillPanel/TeamASkills"]
layout_mode = 2
theme_override_font_sizes/font_size = 18
disabled = true
text = "测试"
text = "暂无"
[node name="test8" type="Button" parent="PlayerSkillPanel/TeamASkills"]
layout_mode = 2
theme_override_font_sizes/font_size = 18
disabled = true
text = "测试"
text = "暂无"
[node name="test9" type="Button" parent="PlayerSkillPanel/TeamASkills"]
layout_mode = 2
theme_override_font_sizes/font_size = 18
disabled = true
text = "测试"
text = "暂无"
[node name="test10" type="Button" parent="PlayerSkillPanel/TeamASkills"]
layout_mode = 2
theme_override_font_sizes/font_size = 18
disabled = true
text = "测试"
text = "暂无"
[node name="test11" type="Button" parent="PlayerSkillPanel/TeamASkills"]
layout_mode = 2
theme_override_font_sizes/font_size = 18
disabled = true
text = "测试"
text = "暂无"
[node name="BattleControls" type="VBoxContainer" parent="PlayerSkillPanel"]
layout_mode = 0

View File

@@ -72,6 +72,11 @@ var summon_scale: float = 0.1 # 召唤小弟属性缩放比例10%
#技能-死亡重生
var enable_death_respawn_skill: bool = false
var respawn_health_percentage: float = 0.3 # 重生时恢复的血量百分比30%
#技能-反弹伤害
var enable_damage_reflection_skill: bool = false
var damage_reflection_cooldown: float = 10.0 # 反弹伤害冷却时间(秒)
var damage_reflection_percentage: float = 0.5 # 反弹伤害百分比50%
#======================以后有新技能在这里添加==============================
# 移动属性
@@ -121,6 +126,9 @@ var pet_configs: Dictionary = {
"enable_summon_pet_skill": false,
"enable_death_respawn_skill": true,
"respawn_health_percentage": 0.4,
"enable_damage_reflection_skill": true,
"damage_reflection_cooldown": 8.0,
"damage_reflection_percentage": 0.6,
"move_speed": 180,
"dodge_rate": 0.08,
"element_type": "FIRE",
@@ -160,6 +168,9 @@ var pet_configs: Dictionary = {
"summon_count": 2,
"summon_scale": 0.15,
"enable_death_respawn_skill": false,
"enable_damage_reflection_skill": true,
"damage_reflection_cooldown": 12.0,
"damage_reflection_percentage": 0.4,
"move_speed": 120,
"dodge_rate": 0.12,
"element_type": "WATER",
@@ -199,6 +210,9 @@ var pet_configs: Dictionary = {
"summon_count": 2,
"summon_scale": 0.15,
"enable_death_respawn_skill": false,
"enable_damage_reflection_skill": false,
"damage_reflection_cooldown": 10.0,
"damage_reflection_percentage": 0.5,
"move_speed": 120,
"dodge_rate": 0.12,
"element_type": "WATER",
@@ -238,6 +252,9 @@ var pet_configs: Dictionary = {
"summon_count": 2,
"summon_scale": 0.15,
"enable_death_respawn_skill": false,
"enable_damage_reflection_skill": false,
"damage_reflection_cooldown": 10.0,
"damage_reflection_percentage": 0.5,
"move_speed": 120,
"dodge_rate": 0.12,
"element_type": "WATER",
@@ -315,6 +332,9 @@ func get_default_config() -> Dictionary:
"summon_scale": summon_scale,
"enable_death_respawn_skill": enable_death_respawn_skill,
"respawn_health_percentage": respawn_health_percentage,
"enable_damage_reflection_skill": enable_damage_reflection_skill,
"damage_reflection_cooldown": damage_reflection_cooldown,
"damage_reflection_percentage": damage_reflection_percentage,
"move_speed": move_speed,
"dodge_rate": dodge_rate,
"element_type": element_type,

View File

@@ -1,61 +0,0 @@
[gd_scene load_steps=8 format=3 uid="uid://bd111pvwvdwv5"]
[ext_resource type="PackedScene" uid="uid://h66an0p6pl53" path="res://Scene/Pet/PetBase.tscn" id="1_op7i3"]
[ext_resource type="Texture2D" uid="uid://lx0l12qrituk" path="res://assets/宠物图片/一堆小怪.png" id="2_c36rm"]
[sub_resource type="AtlasTexture" id="AtlasTexture_op7i3"]
atlas = ExtResource("2_c36rm")
region = Rect2(72, 48, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_c36rm"]
atlas = ExtResource("2_c36rm")
region = Rect2(120, 48, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_mjdfm"]
atlas = ExtResource("2_c36rm")
region = Rect2(72, 48, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_q454c"]
atlas = ExtResource("2_c36rm")
region = Rect2(96, 48, 24, 24)
[sub_resource type="SpriteFrames" id="SpriteFrames_b73qu"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_op7i3")
}],
"loop": true,
"name": &"idle",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_c36rm")
}],
"loop": true,
"name": &"sleep",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_mjdfm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_q454c")
}],
"loop": true,
"name": &"walk",
"speed": 5.0
}]
[node name="BigBeetle" instance=ExtResource("1_op7i3")]
[node name="PetImage" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_b73qu")
[node name="PetToolImage" parent="PetImage" index="0"]
visible = false
[node name="VolumeCollision" parent="." index="1"]
position = Vector2(0.5, 5.5)

View File

@@ -1,57 +0,0 @@
[gd_scene load_steps=8 format=3 uid="uid://dia4sld41ne72"]
[ext_resource type="PackedScene" uid="uid://h66an0p6pl53" path="res://Scene/Pet/PetBase.tscn" id="1_lgi35"]
[ext_resource type="Texture2D" uid="uid://lx0l12qrituk" path="res://assets/宠物图片/一堆小怪.png" id="2_wn6km"]
[sub_resource type="AtlasTexture" id="AtlasTexture_lgi35"]
atlas = ExtResource("2_wn6km")
region = Rect2(192, 48, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_wn6km"]
atlas = ExtResource("2_wn6km")
region = Rect2(144, 48, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_qmpjj"]
atlas = ExtResource("2_wn6km")
region = Rect2(168, 48, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_1mpkc"]
atlas = ExtResource("2_wn6km")
region = Rect2(192, 48, 24, 24)
[sub_resource type="SpriteFrames" id="SpriteFrames_b73qu"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_lgi35")
}],
"loop": true,
"name": &"idle",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_wn6km")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qmpjj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1mpkc")
}],
"loop": true,
"name": &"walk",
"speed": 10.0
}]
[node name="FlyingBird" instance=ExtResource("1_lgi35")]
[node name="PetImage" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_b73qu")
frame_progress = 0.111287
[node name="PetToolImage" parent="PetImage" index="0"]
visible = false
[node name="VolumeCollision" parent="." index="1"]
position = Vector2(1.5, 1.5)

View File

@@ -1,95 +0,0 @@
[gd_scene load_steps=13 format=3 uid="uid://dqv5q1xhouipa"]
[ext_resource type="PackedScene" uid="uid://h66an0p6pl53" path="res://Scene/Pet/PetBase.tscn" id="1_saxlb"]
[ext_resource type="Texture2D" uid="uid://b75oytao5cgjo" path="res://assets/宠物图片/绿色史莱姆.png" id="2_saxlb"]
[sub_resource type="AtlasTexture" id="AtlasTexture_ou315"]
atlas = ExtResource("2_saxlb")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_saxlb"]
atlas = ExtResource("2_saxlb")
region = Rect2(72, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_bxslx"]
atlas = ExtResource("2_saxlb")
region = Rect2(48, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_dvhl1"]
atlas = ExtResource("2_saxlb")
region = Rect2(24, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_0t1ns"]
atlas = ExtResource("2_saxlb")
region = Rect2(0, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_sbjn0"]
atlas = ExtResource("2_saxlb")
region = Rect2(72, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_qvnbx"]
atlas = ExtResource("2_saxlb")
region = Rect2(48, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_n0kjo"]
atlas = ExtResource("2_saxlb")
region = Rect2(24, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_obu0n"]
atlas = ExtResource("2_saxlb")
region = Rect2(0, 24, 24, 24)
[sub_resource type="SpriteFrames" id="SpriteFrames_yhcbw"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ou315")
}],
"loop": true,
"name": &"idle",
"speed": 8.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_saxlb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bxslx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_dvhl1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0t1ns")
}],
"loop": false,
"name": &"wake",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_sbjn0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qvnbx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_n0kjo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_obu0n")
}],
"loop": true,
"name": &"walk",
"speed": 8.0
}]
[node name="GreenSlime" instance=ExtResource("1_saxlb")]
[node name="PetImage" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_yhcbw")
animation = &"idle"
[node name="PetToolImage" parent="PetImage" index="0"]
visible = false
position = Vector2(-11.25, 3.25)

View File

@@ -1,167 +0,0 @@
[gd_scene load_steps=24 format=3 uid="uid://xcigvfp1hms"]
[ext_resource type="PackedScene" uid="uid://h66an0p6pl53" path="res://Scene/Pet/PetBase.tscn" id="1_rjt8u"]
[ext_resource type="Texture2D" uid="uid://bal78ts2eq4yu" path="res://assets/宠物图片/护卫.png" id="3_81r1q"]
[sub_resource type="AtlasTexture" id="AtlasTexture_rjt8u"]
atlas = ExtResource("3_81r1q")
region = Rect2(224, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_81r1q"]
atlas = ExtResource("3_81r1q")
region = Rect2(192, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_nliwy"]
atlas = ExtResource("3_81r1q")
region = Rect2(160, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_kbr5d"]
atlas = ExtResource("3_81r1q")
region = Rect2(128, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_yhrjc"]
atlas = ExtResource("3_81r1q")
region = Rect2(224, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_2dbgw"]
atlas = ExtResource("3_81r1q")
region = Rect2(192, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_h0n46"]
atlas = ExtResource("3_81r1q")
region = Rect2(160, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_1tk7r"]
atlas = ExtResource("3_81r1q")
region = Rect2(128, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ogy1e"]
atlas = ExtResource("3_81r1q")
region = Rect2(96, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_mygjj"]
atlas = ExtResource("3_81r1q")
region = Rect2(64, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_rkj0j"]
atlas = ExtResource("3_81r1q")
region = Rect2(32, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_j7anc"]
atlas = ExtResource("3_81r1q")
region = Rect2(0, 64, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_cxgnv"]
atlas = ExtResource("3_81r1q")
region = Rect2(224, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_2itrd"]
atlas = ExtResource("3_81r1q")
region = Rect2(192, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_c7ofb"]
atlas = ExtResource("3_81r1q")
region = Rect2(160, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_aa4e4"]
atlas = ExtResource("3_81r1q")
region = Rect2(128, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_jx5oo"]
atlas = ExtResource("3_81r1q")
region = Rect2(96, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_umo24"]
atlas = ExtResource("3_81r1q")
region = Rect2(64, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_853s8"]
atlas = ExtResource("3_81r1q")
region = Rect2(32, 96, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_6x5xm"]
atlas = ExtResource("3_81r1q")
region = Rect2(0, 96, 32, 32)
[sub_resource type="SpriteFrames" id="SpriteFrames_yhcbw"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_rjt8u")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_81r1q")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nliwy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kbr5d")
}],
"loop": true,
"name": &"idle",
"speed": 8.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_yhrjc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2dbgw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_h0n46")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1tk7r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ogy1e")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mygjj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_rkj0j")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_j7anc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cxgnv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2itrd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_c7ofb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_aa4e4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jx5oo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_umo24")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_853s8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6x5xm")
}],
"loop": true,
"name": &"walk",
"speed": 8.0
}]
[node name="LittleKnight" instance=ExtResource("1_rjt8u")]
[node name="PetImage" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_yhcbw")
frame_progress = 0.272604
[node name="PetToolImage" parent="PetImage" index="0"]
visible = false
position = Vector2(-8, 4)

View File

@@ -1,123 +0,0 @@
[gd_scene load_steps=8 format=3 uid="uid://h66an0p6pl53"]
[ext_resource type="Script" uid="uid://hucuy8guuj6w" path="res://Script/Pet/PetBase.gd" id="1_xpyyb"]
[ext_resource type="Texture2D" uid="uid://lx0l12qrituk" path="res://assets/宠物图片/一堆小怪.png" id="2_5si3e"]
[ext_resource type="Texture2D" uid="uid://cdhf25ktn3jp3" path="res://assets/我的世界图片/武器工具/钻石剑.png" id="3_5si3e"]
[sub_resource type="AtlasTexture" id="AtlasTexture_h4hw6"]
atlas = ExtResource("2_5si3e")
region = Rect2(0, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_51c25"]
atlas = ExtResource("2_5si3e")
region = Rect2(24, 0, 24, 24)
[sub_resource type="SpriteFrames" id="SpriteFrames_wmdx5"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_h4hw6")
}],
"loop": true,
"name": &"idle",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_h4hw6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_51c25")
}],
"loop": true,
"name": &"walk",
"speed": 8.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_h4hw6"]
size = Vector2(79, 92)
[node name="PetBase" type="CharacterBody2D"]
motion_mode = 1
slide_on_ceiling = false
floor_stop_on_slope = false
floor_block_on_wall = false
script = ExtResource("1_xpyyb")
[node name="PetImage" type="AnimatedSprite2D" parent="."]
scale = Vector2(4, 4)
sprite_frames = SubResource("SpriteFrames_wmdx5")
animation = &"walk"
autoplay = "walk"
[node name="PetToolImage" type="Sprite2D" parent="PetImage"]
visible = false
position = Vector2(-10, 0)
texture = ExtResource("3_5si3e")
flip_h = true
[node name="VolumeCollision" type="CollisionShape2D" parent="."]
position = Vector2(0.5, 2)
shape = SubResource("RectangleShape2D_h4hw6")
[node name="PetInformVBox" type="VBoxContainer" parent="."]
offset_left = -72.0
offset_top = -261.0
offset_right = 430.0
offset_bottom = 453.0
scale = Vector2(0.3, 0.3)
alignment = 2
[node name="PetNameRichText" type="RichTextLabel" parent="PetInformVBox"]
layout_mode = 2
size_flags_vertical = 3
theme_override_font_sizes/normal_font_size = 40
bbcode_enabled = true
text = "萌芽小绿人"
horizontal_alignment = 1
vertical_alignment = 2
[node name="ArmorBar" type="ProgressBar" parent="PetInformVBox"]
modulate = Color(0.758192, 0.758192, 0.758192, 1)
custom_minimum_size = Vector2(0, 60)
layout_mode = 2
show_percentage = false
[node name="ArmorLabel" type="Label" parent="PetInformVBox/ArmorBar"]
layout_mode = 0
offset_right = 502.0
offset_bottom = 60.0
theme_override_font_sizes/font_size = 30
text = "盔甲值:100/100"
horizontal_alignment = 1
vertical_alignment = 1
[node name="ShieldBar" type="ProgressBar" parent="PetInformVBox"]
modulate = Color(0, 1, 1, 1)
custom_minimum_size = Vector2(0, 60)
layout_mode = 2
show_percentage = false
[node name="ShieldLabel" type="Label" parent="PetInformVBox/ShieldBar"]
layout_mode = 0
offset_right = 502.0
offset_bottom = 60.0
theme_override_font_sizes/font_size = 30
text = "护盾值:100/100"
horizontal_alignment = 1
vertical_alignment = 1
[node name="HealthBar" type="ProgressBar" parent="PetInformVBox"]
modulate = Color(0, 1, 0, 1)
custom_minimum_size = Vector2(0, 60)
layout_mode = 2
show_percentage = false
[node name="HealthLabel" type="Label" parent="PetInformVBox/HealthBar"]
layout_mode = 0
offset_right = 502.0
offset_bottom = 60.0
theme_override_font_sizes/font_size = 30
text = "生命值:100/100"
horizontal_alignment = 1
vertical_alignment = 1

View File

@@ -1,102 +0,0 @@
[gd_scene load_steps=3 format=3 uid="uid://cw8am7nnbgca5"]
[ext_resource type="Script" uid="uid://ke4moxwg1gfd" path="res://Script/Pet/PetFightPanel.gd" id="1_h4hw6"]
[ext_resource type="Texture2D" uid="uid://dh0dsw3jr0gra" path="res://assets/宠物对战背景图片/背景2.webp" id="2_h4hw6"]
[node name="PetFightPanel" type="Panel"]
offset_right = 1400.0
offset_bottom = 720.0
script = ExtResource("1_h4hw6")
[node name="MapBackGround" type="TextureRect" parent="."]
layout_mode = 0
offset_right = 1557.0
offset_bottom = 867.0
scale = Vector2(0.9, 0.9)
texture = ExtResource("2_h4hw6")
[node name="Title" type="Label" parent="."]
layout_mode = 0
offset_right = 1400.0
offset_bottom = 55.0
theme_override_colors/font_color = Color(0.623819, 1, 0.593898, 1)
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/shadow_offset_x = 5
theme_override_constants/shadow_offset_y = 5
theme_override_constants/outline_size = 20
theme_override_constants/shadow_outline_size = 10
theme_override_font_sizes/font_size = 50
text = "宠物对战"
horizontal_alignment = 1
vertical_alignment = 1
[node name="team1" type="Node" parent="."]
[node name="team2" type="Node" parent="."]
[node name="neutral" type="Node" parent="."]
[node name="BattleEndPanel" type="Panel" parent="."]
top_level = true
layout_mode = 0
offset_left = 294.0
offset_right = 1071.0
offset_bottom = 720.0
[node name="Title" type="Label" parent="BattleEndPanel"]
layout_mode = 0
offset_right = 777.0
offset_bottom = 104.0
theme_override_colors/font_color = Color(0.991435, 0.798103, 0.357309, 1)
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/shadow_offset_x = 5
theme_override_constants/shadow_offset_y = 5
theme_override_constants/outline_size = 20
theme_override_constants/shadow_outline_size = 20
theme_override_font_sizes/font_size = 60
text = "战斗结束"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Contents" type="Label" parent="BattleEndPanel"]
layout_mode = 0
offset_top = 104.0
offset_right = 777.0
offset_bottom = 567.0
theme_override_colors/font_color = Color(0, 1, 0, 1)
theme_override_font_sizes/font_size = 30
text = "[宠物名字]获得300经验
增加200亲密度"
horizontal_alignment = 1
[node name="ReturnFarmButton" type="Button" parent="BattleEndPanel"]
layout_mode = 0
offset_left = 294.0
offset_top = 567.0
offset_right = 502.0
offset_bottom = 644.0
theme_override_font_sizes/font_size = 50
text = "返回农场"
[node name="PetBattleDetailsPanel" type="Panel" parent="."]
layout_mode = 0
offset_right = 257.0
offset_bottom = 720.0
[node name="Title" type="Label" parent="PetBattleDetailsPanel"]
layout_mode = 0
offset_right = 257.0
offset_bottom = 23.0
theme_override_font_sizes/font_size = 30
text = "战斗细节"
horizontal_alignment = 1
vertical_alignment = 1
[node name="BattleDetails" type="RichTextLabel" parent="PetBattleDetailsPanel"]
layout_mode = 0
offset_top = 42.0
offset_right = 257.0
offset_bottom = 720.0
bbcode_enabled = true

View File

@@ -1,20 +0,0 @@
[gd_scene load_steps=3 format=3 uid="uid://bvqkm1n2p6xty"]
[ext_resource type="Script" uid="uid://cbhhx6st14pse" path="res://Script/Pet/Projectile.gd" id="1_vqkm1"]
[sub_resource type="CircleShape2D" id="CircleShape2D_1"]
radius = 5.0
[node name="Projectile" type="Area2D"]
script = ExtResource("1_vqkm1")
[node name="ProjectileSprite" type="Sprite2D" parent="."]
modulate = Color(1, 1, 0, 1)
scale = Vector2(0.5, 0.5)
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_1")
[node name="Trail" type="Line2D" parent="."]
width = 2.0
default_color = Color(1, 1, 0, 0.5)

View File

@@ -1,96 +0,0 @@
[gd_scene load_steps=13 format=3 uid="uid://cqfa6ng6x2s8q"]
[ext_resource type="PackedScene" uid="uid://h66an0p6pl53" path="res://Scene/Pet/PetBase.tscn" id="1_ff7pm"]
[ext_resource type="Texture2D" uid="uid://cvpsjlje7q3to" path="res://assets/宠物图片/红色史莱姆.png" id="2_ff7pm"]
[sub_resource type="AtlasTexture" id="AtlasTexture_s7ip1"]
atlas = ExtResource("2_ff7pm")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_ff7pm"]
atlas = ExtResource("2_ff7pm")
region = Rect2(72, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_53j2r"]
atlas = ExtResource("2_ff7pm")
region = Rect2(48, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_0ij01"]
atlas = ExtResource("2_ff7pm")
region = Rect2(24, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_20513"]
atlas = ExtResource("2_ff7pm")
region = Rect2(0, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_3f8fr"]
atlas = ExtResource("2_ff7pm")
region = Rect2(72, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_kbexh"]
atlas = ExtResource("2_ff7pm")
region = Rect2(48, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_njkpw"]
atlas = ExtResource("2_ff7pm")
region = Rect2(24, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_xbspe"]
atlas = ExtResource("2_ff7pm")
region = Rect2(0, 24, 24, 24)
[sub_resource type="SpriteFrames" id="SpriteFrames_yhcbw"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_s7ip1")
}],
"loop": true,
"name": &"idle",
"speed": 8.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ff7pm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_53j2r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0ij01")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_20513")
}],
"loop": false,
"name": &"wake",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_3f8fr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kbexh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_njkpw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xbspe")
}],
"loop": true,
"name": &"walk",
"speed": 8.0
}]
[node name="RedSlime" instance=ExtResource("1_ff7pm")]
position = Vector2(0, -1)
[node name="PetImage" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_yhcbw")
frame_progress = 0.528863
[node name="PetToolImage" parent="PetImage" index="0"]
visible = false
position = Vector2(-11.25, 3.25)

View File

@@ -1,57 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://ckvagocpiudyu"]
[ext_resource type="PackedScene" uid="uid://h66an0p6pl53" path="res://Scene/Pet/PetBase.tscn" id="1_nswws"]
[ext_resource type="Texture2D" uid="uid://lx0l12qrituk" path="res://assets/宠物图片/一堆小怪.png" id="2_1eo38"]
[sub_resource type="AtlasTexture" id="AtlasTexture_nswws"]
atlas = ExtResource("2_1eo38")
region = Rect2(0, 48, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_mjdfm"]
atlas = ExtResource("2_1eo38")
region = Rect2(48, 48, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_1eo38"]
atlas = ExtResource("2_1eo38")
region = Rect2(24, 48, 24, 24)
[sub_resource type="SpriteFrames" id="SpriteFrames_b73qu"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_nswws")
}],
"loop": true,
"name": &"idle",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_mjdfm")
}],
"loop": true,
"name": &"sleep",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_nswws")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1eo38")
}],
"loop": true,
"name": &"walk",
"speed": 5.0
}]
[node name="SmallBeetle" instance=ExtResource("1_nswws")]
[node name="PetImage" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_b73qu")
[node name="PetToolImage" parent="PetImage" index="0"]
visible = false
[node name="VolumeCollision" parent="." index="1"]
position = Vector2(2, 26)

View File

@@ -1,45 +0,0 @@
[gd_scene load_steps=6 format=3 uid="uid://coryhl8jl4xfg"]
[ext_resource type="PackedScene" uid="uid://h66an0p6pl53" path="res://Scene/Pet/PetBase.tscn" id="1_4ggjc"]
[ext_resource type="Texture2D" uid="uid://lx0l12qrituk" path="res://assets/宠物图片/一堆小怪.png" id="2_stamd"]
[sub_resource type="AtlasTexture" id="AtlasTexture_stamd"]
atlas = ExtResource("2_stamd")
region = Rect2(48, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_v0b4v"]
atlas = ExtResource("2_stamd")
region = Rect2(72, 0, 24, 24)
[sub_resource type="SpriteFrames" id="SpriteFrames_b2ss3"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_stamd")
}],
"loop": true,
"name": &"idle",
"speed": 8.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_stamd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_v0b4v")
}],
"loop": true,
"name": &"walk",
"speed": 8.0
}]
[node name="SmallBlue" instance=ExtResource("1_4ggjc")]
[node name="PetImage" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_b2ss3")
[node name="PetToolImage" parent="PetImage" index="0"]
visible = false
[node name="VolumeCollision" parent="." index="1"]
position = Vector2(0, 1)

View File

@@ -1,57 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://cb4spsrxunrrh"]
[ext_resource type="PackedScene" uid="uid://h66an0p6pl53" path="res://Scene/Pet/PetBase.tscn" id="1_j2fq3"]
[ext_resource type="Texture2D" uid="uid://lx0l12qrituk" path="res://assets/宠物图片/一堆小怪.png" id="2_xvdwk"]
[sub_resource type="AtlasTexture" id="AtlasTexture_j2fq3"]
atlas = ExtResource("2_xvdwk")
region = Rect2(144, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_6q1oc"]
atlas = ExtResource("2_xvdwk")
region = Rect2(192, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_xvdwk"]
atlas = ExtResource("2_xvdwk")
region = Rect2(168, 24, 24, 24)
[sub_resource type="SpriteFrames" id="SpriteFrames_6q1oc"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_j2fq3")
}],
"loop": true,
"name": &"idle",
"speed": 8.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_6q1oc")
}],
"loop": true,
"name": &"sleep",
"speed": 8.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_j2fq3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xvdwk")
}],
"loop": true,
"name": &"walk",
"speed": 8.0
}]
[node name="SmallDrillBit" instance=ExtResource("1_j2fq3")]
[node name="PetImage" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_6q1oc")
[node name="PetToolImage" parent="PetImage" index="0"]
visible = false
[node name="VolumeCollision" parent="." index="1"]
position = Vector2(-1.5, 10.5)

View File

@@ -1,47 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://v8bx7hhl5st6"]
[ext_resource type="PackedScene" uid="uid://h66an0p6pl53" path="res://Scene/Pet/PetBase.tscn" id="1_5igge"]
[ext_resource type="Texture2D" uid="uid://lx0l12qrituk" path="res://assets/宠物图片/一堆小怪.png" id="2_5gxwu"]
[sub_resource type="AtlasTexture" id="AtlasTexture_5gxwu"]
atlas = ExtResource("2_5gxwu")
region = Rect2(0, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_pxsqn"]
atlas = ExtResource("2_5gxwu")
region = Rect2(0, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_xxlll"]
atlas = ExtResource("2_5gxwu")
region = Rect2(24, 0, 24, 24)
[sub_resource type="SpriteFrames" id="SpriteFrames_k25pl"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_5gxwu")
}],
"loop": true,
"name": &"idle",
"speed": 8.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_pxsqn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xxlll")
}],
"loop": true,
"name": &"walk",
"speed": 8.0
}]
[node name="SmallGreen" instance=ExtResource("1_5igge")]
[node name="PetImage" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_k25pl")
animation = &"idle"
[node name="VolumeCollision" parent="." index="1"]
position = Vector2(-0.5, 3)

View File

@@ -1,42 +0,0 @@
[gd_scene load_steps=6 format=3 uid="uid://c2u0gl7ym1v2e"]
[ext_resource type="PackedScene" uid="uid://h66an0p6pl53" path="res://Scene/Pet/PetBase.tscn" id="1_tdtxh"]
[ext_resource type="Texture2D" uid="uid://lx0l12qrituk" path="res://assets/宠物图片/一堆小怪.png" id="2_5rxf3"]
[sub_resource type="AtlasTexture" id="AtlasTexture_tdtxh"]
atlas = ExtResource("2_5rxf3")
region = Rect2(0, 24, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_5rxf3"]
atlas = ExtResource("2_5rxf3")
region = Rect2(24, 24, 24, 24)
[sub_resource type="SpriteFrames" id="SpriteFrames_ujsmd"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_tdtxh")
}],
"loop": true,
"name": &"idle",
"speed": 8.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_tdtxh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5rxf3")
}],
"loop": true,
"name": &"walk",
"speed": 8.0
}]
[node name="SmallOrange" instance=ExtResource("1_tdtxh")]
[node name="PetImage" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_ujsmd")
[node name="PetToolImage" parent="PetImage" index="0"]
visible = false

View File

@@ -1,47 +0,0 @@
[gd_scene load_steps=7 format=3 uid="uid://cf76wr07xbxvy"]
[ext_resource type="PackedScene" uid="uid://h66an0p6pl53" path="res://Scene/Pet/PetBase.tscn" id="1_cxnqb"]
[ext_resource type="Texture2D" uid="uid://lx0l12qrituk" path="res://assets/宠物图片/一堆小怪.png" id="2_auciw"]
[sub_resource type="AtlasTexture" id="AtlasTexture_cxnqb"]
atlas = ExtResource("2_auciw")
region = Rect2(96, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_auciw"]
atlas = ExtResource("2_auciw")
region = Rect2(96, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_nrp4g"]
atlas = ExtResource("2_auciw")
region = Rect2(120, 0, 24, 24)
[sub_resource type="SpriteFrames" id="SpriteFrames_b2ss3"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_cxnqb")
}],
"loop": true,
"name": &"idle",
"speed": 8.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_auciw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nrp4g")
}],
"loop": true,
"name": &"walk",
"speed": 8.0
}]
[node name="SmallPink" instance=ExtResource("1_cxnqb")]
[node name="PetImage" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_b2ss3")
animation = &"idle"
[node name="PetToolImage" parent="PetImage" index="0"]
visible = false

View File

@@ -1,42 +0,0 @@
[gd_scene load_steps=6 format=3 uid="uid://i7pgirkgv1u1"]
[ext_resource type="PackedScene" uid="uid://h66an0p6pl53" path="res://Scene/Pet/PetBase.tscn" id="1_trhvc"]
[ext_resource type="Texture2D" uid="uid://lx0l12qrituk" path="res://assets/宠物图片/一堆小怪.png" id="2_k5jn7"]
[sub_resource type="AtlasTexture" id="AtlasTexture_trhvc"]
atlas = ExtResource("2_k5jn7")
region = Rect2(144, 0, 24, 24)
[sub_resource type="AtlasTexture" id="AtlasTexture_k5jn7"]
atlas = ExtResource("2_k5jn7")
region = Rect2(168, 0, 24, 24)
[sub_resource type="SpriteFrames" id="SpriteFrames_yhcbw"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_trhvc")
}],
"loop": true,
"name": &"idle",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_trhvc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_k5jn7")
}],
"loop": true,
"name": &"walk",
"speed": 8.0
}]
[node name="SmallYellow" instance=ExtResource("1_trhvc")]
[node name="PetImage" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_yhcbw")
[node name="PetToolImage" parent="PetImage" index="0"]
visible = false