diff --git a/components/Scenes/FullscreenPanels/GameOver.tscn b/components/Scenes/FullscreenPanels/GameOver.tscn index 1394248..93d1e0e 100644 --- a/components/Scenes/FullscreenPanels/GameOver.tscn +++ b/components/Scenes/FullscreenPanels/GameOver.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=7 format=3 uid="uid://beo6s1kudbbve"] +[gd_scene load_steps=8 format=3 uid="uid://beo6s1kudbbve"] [ext_resource type="PackedScene" uid="uid://d3qojeqa3difn" path="res://components/Abstracts/FullscreenPanelBase.tscn" id="1_u2ynr"] [ext_resource type="Script" path="res://scripts/Contents/Panels/GameOver.gd" id="2_6cd45"] @@ -12,11 +12,16 @@ bg_color = Color(1, 0, 0, 0.3) font = ExtResource("3_oynlg") font_size = 50 +[sub_resource type="LabelSettings" id="LabelSettings_ndokf"] +font = ExtResource("3_oynlg") +font_color = Color(0.710938, 0.710938, 0.710938, 1) + [node name="GameOver" instance=ExtResource("1_u2ynr")] -visible = false +offset_top = 0.0 +offset_bottom = 0.0 script = ExtResource("2_6cd45") -[node name="wrapper" parent="content" index="0"] +[node name="wrapper" parent="content" index="1"] theme_override_constants/separation = 50 [node name="container" type="PanelContainer" parent="content/wrapper" index="0"] @@ -24,12 +29,23 @@ layout_mode = 2 size_flags_vertical = 3 theme_override_styles/panel = SubResource("StyleBoxFlat_7gbuu") -[node name="text" type="Label" parent="content/wrapper/container" index="0"] +[node name="VBoxContainer" type="VBoxContainer" parent="content/wrapper/container" index="0"] +layout_mode = 2 +alignment = 1 + +[node name="text" type="Label" parent="content/wrapper/container/VBoxContainer" index="0"] layout_mode = 2 size_flags_horizontal = 4 text = "败北" label_settings = SubResource("LabelSettings_17i5j") +[node name="deadreason" type="Label" parent="content/wrapper/container/VBoxContainer" index="1"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 4 +text = "死亡原因" +label_settings = SubResource("LabelSettings_ndokf") + [node name="audio" type="AudioStreamPlayer2D" parent="." index="2"] unique_name_in_owner = true stream = ExtResource("3_n4aax") diff --git a/resources/constants/deadReasons.json b/resources/constants/deadReasons.json new file mode 100644 index 0000000..0cbae56 --- /dev/null +++ b/resources/constants/deadReasons.json @@ -0,0 +1,132 @@ +[ + "%s被杀死了,", + "%s被掏空了,", + "%s被谋杀了,", + "%s的脸被撕烂了,", + "%s的内脏被扯掉了,", + "%s被毁灭了,", + "%s的头骨被压碎了,", + "%s被屠杀了,", + "%s被刺穿了,", + "%s被撕成两半了,", + "%s被斩首了,", + "%s的手臂没了,", + "%s看着自己的内脏变成了“外脏”,", + "%s被野蛮地解剖了,", + "%s的四肢被扯掉了,", + "%s的身体血肉模糊了,", + "%s的重要器官毁了,", + "%s变成了一滩肉,", + "%s被踢出了游戏,", + "%s被折成两半了,", + "%s被腰斩了,", + "%s被千刀万剐了,", + "%s求死的愿望实现了,", + "%s被削肉去骨了,", + "%s的挣扎终于停止了,", + "%s的脑袋搬家了,", + "%s的肠子被扯出来了,", + "%s的旅程结束了,", + "%s被送去见奥库瑞姆了,", + "%s被浸渍了,", + "%s被放干了血,", + "%s被送到了骷髅区,", + "%s被自发切除了脑叶,", + "%s被压成了肉酱,", + "%s被碾成了肉泥,", + "%s的骨头被敲得粉碎,", + "%s成了怪物的食物,", + "%s的家被重塑了,", + "%s被迫自愿献血了,", + "%s的天灵盖被掀了,", + "%s的头顶被削掉了,", + "%s的零件放错了位置,", + "%s被打成了爽口酱汁,", + "%s的脊椎被扯掉了,", + "%s的存活纪录被终结了,", + "%s接受了强制截肢,", + "%s的脖子被折断了,", + "%s被撕成了碎片,", + "%s重伤不治,", + "%s被告知阳寿已尽,", + "%s的无能被展示了,", + "%s的灵魂被抽离了,", + "%s经历了仁慈的安乐死,", + "%s被自下而上地吃掉了,", + "%s被去骨了,", + "%s的两个肾都被偷了,", + "%s的堕落结束了,", + "%s的椎间盘脱出了,", + "%s的遗体被捐赠给了科学,", + "%s的大脑变成了果酱,", + "%s变成了下酒菜,", + "%s被送到了农场,", + "%s咽下了最后一口气,", + "%s的心跳停止了,", + "%s的头部挨了一记猛的,", + "%s被抹杀了,", + "%s受了脱套伤,", + "%s被剥了皮,", + "%s被围杀了,", + "%s被打屁股了,", + "%s被抓到了,", + "%s被杀掉了,", + "%s被放进水晶棺里了,", + "%s已经被埋了,", + "%s很快就会被遗忘,", + "%s被劈了,", + "%s摔死了,", + "%s没有反弹,", + "%s发明了重力,", + "%s领悟了“抛出窗外”的意思,", + "%s自由……自由落体了,", + "%s尝试了滑冰上坡,", + "%s认为自己会飞,", + "%s留下了一个大坑,", + "%s忘记了自己绝妙的想法,", + "%s忘了呼吸,", + "%s与鱼同眠,", + "%s溺死了,", + "%s成了鲨鱼的食物,", + "%s试图饮尽湖水,", + "%s发现了亚特兰蒂斯,", + "%s忘了带毛巾,", + "%s被熔化了,", + "%s被烧成了灰,", + "%s试图在熔岩中游泳,", + "%s喜欢在岩浆中玩耍,", + "%s不擅长玩“地板是熔岩”,", + "%s无法把火扑灭,", + "%s被烧成了焦炭,", + "%s被烧得只剩渣了,", + "%s成了全熟牛排,", + "%s被狱火吞噬了,", + "%s无法找到解药,", + "%s无法呼吸,", + "%s被活埋了,", + "%s无法控制瓦数,", + "%s变成了电池,", + "%s的生命力从正变负,", + "%s成了避雷针,", + "%s碎成渣了,", + "%s拼不起来了,", + "%s需要扫掉了,", + "%s变成了另一个土堆,", + "%s的腿长到脑袋那儿了,", + "%s未能成形,", + "%s饿死了,", + "%s找不到食物,", + "%s忘记吃东西了,", + "%s被舔了,", + "%s被血肉墙亲了!", + "%s试图逃跑,", + "%s被杀死了……", + "%s被捅了,", + "%s被黑暗中的什么东西杀死了!", + "%s成了宇航员,", + "%s现在是太空垃圾,", + "%s脱离了轨道,", + "%s已飞升,", + "%s已离开游戏,", + "%s被杀死了,凶手是希腊烈火," +] \ No newline at end of file diff --git a/scripts/Contents/Panels/GameOver.gd b/scripts/Contents/Panels/GameOver.gd index 179b82e..3c11ff4 100644 --- a/scripts/Contents/Panels/GameOver.gd +++ b/scripts/Contents/Panels/GameOver.gd @@ -2,6 +2,7 @@ extends FullscreenPanelBase @onready var audio = $"%audio" +@onready var deadreason = $"%deadreason" func beforeOpen(): audio.play() diff --git a/scripts/Tools/GameRule.gd b/scripts/Tools/GameRule.gd index bbbae3e..9266dda 100644 --- a/scripts/Tools/GameRule.gd +++ b/scripts/Tools/GameRule.gd @@ -8,6 +8,7 @@ enum Difficulty { EXPERT, MASTER, } +static var deadReasons: Array = JsonTool.parseJson("res://resources/constants/deadReasons.json") static var difficulty: Difficulty = Difficulty.NORMAL # 难度倍数,可以写小数 static var allowFriendlyFire: bool = false # 是否允许友军伤害 static var bulletSpeedMultiplier: float = 1 # 子弹速度倍率 @@ -26,4 +27,4 @@ static var entityLevelOffsetByWave: float = MathTool.percent(30) # 每波敌人 static var appleDropRateInfluenceByLuckValue: float = MathTool.percent(2) # 幸运值对苹果掉率的影响 static var critRateInfluenceByLuckValue: float = MathTool.percent(2.5) # 幸运值对暴击率的影响 static var penerateRateInfluenceByLuckValue: float = MathTool.percent(3) # 幸运值对穿透率的影响 -static var detainTime: float = 1000 # 血量如果在这个时间内没有改变才会开始播放降低动画 \ No newline at end of file +static var detainTime: float = 1000 # 血量如果在这个时间内没有改变才会开始播放降低动画 diff --git a/scripts/Tools/JsonTool.gd b/scripts/Tools/JsonTool.gd new file mode 100644 index 0000000..e5818c0 --- /dev/null +++ b/scripts/Tools/JsonTool.gd @@ -0,0 +1,9 @@ +class_name JsonTool + +static func parseJson(filePath: String): + var file = FileAccess.open(filePath, FileAccess.READ) + var json = file.get_as_text() + file.close() + var jsonObj = JSON.new() + jsonObj.parse(json) + return jsonObj.data diff --git a/scripts/Tools/WorldManager.gd b/scripts/Tools/WorldManager.gd index 9e85899..96485ef 100644 --- a/scripts/Tools/WorldManager.gd +++ b/scripts/Tools/WorldManager.gd @@ -8,6 +8,7 @@ static var runningTime: int = 0 func _ready(): tree = get_tree() rootNode = self + print(GameRule.deadReasons) func _physics_process(delta): runningTime += delta * 1000 if EntityBase.mobCount() == 0: