Compare commits

...

No commits in common. "main" and "master" have entirely different histories.
main ... master

476 changed files with 36963 additions and 38135 deletions

View File

@ -1,4 +1,4 @@
[gd_resource type="SpriteFrames" load_steps=204 format=3 uid="uid://cr61adma36kgc"]
[gd_resource type="SpriteFrames" load_steps=204 format=3 uid="uid://b5whpr2mq8mqp"]
[ext_resource type="Texture2D" uid="uid://q84plpxvvgjv" path="res://Sprites/Portraits/feisty.png" id="1"]
[ext_resource type="Texture2D" uid="uid://duqy7swwclrta" path="res://Sprites/Portraits/axis.png" id="2"]

View File

@ -5,11 +5,6 @@
<RootNamespace>DeltaruneYellow</RootNamespace>
</PropertyGroup>
<ItemGroup>
<Reference Include="GodotSharp">
<HintPath>.\GodotSharp.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>.\Newtonsoft.Json.dll</HintPath>
</Reference>
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
</Project>

View File

@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Deltarune Yellow", "Deltarune Yellow.csproj", "{07CA73A8-ADA8-4477-B40C-5B259E1DFF34}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Deltarune Yellow", "Deltarune Yellow.csproj", "{48A220B2-D101-4CCF-8D8D-835E62B3B133}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -9,11 +9,11 @@ Global
ExportRelease|Any CPU = ExportRelease|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{07CA73A8-ADA8-4477-B40C-5B259E1DFF34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{07CA73A8-ADA8-4477-B40C-5B259E1DFF34}.Debug|Any CPU.Build.0 = Debug|Any CPU
{07CA73A8-ADA8-4477-B40C-5B259E1DFF34}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU
{07CA73A8-ADA8-4477-B40C-5B259E1DFF34}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU
{07CA73A8-ADA8-4477-B40C-5B259E1DFF34}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU
{07CA73A8-ADA8-4477-B40C-5B259E1DFF34}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU
{48A220B2-D101-4CCF-8D8D-835E62B3B133}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{48A220B2-D101-4CCF-8D8D-835E62B3B133}.Debug|Any CPU.Build.0 = Debug|Any CPU
{48A220B2-D101-4CCF-8D8D-835E62B3B133}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU
{48A220B2-D101-4CCF-8D8D-835E62B3B133}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU
{48A220B2-D101-4CCF-8D8D-835E62B3B133}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU
{48A220B2-D101-4CCF-8D8D-835E62B3B133}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU
EndGlobalSection
EndGlobal

Binary file not shown.

View File

@ -2,7 +2,7 @@
importer="font_data_dynamic"
type="FontFile"
uid="uid://dqhr68jmo4onx"
uid="uid://bm33w5vaxemm1"
path="res://.godot/imported/DTM-Mono.otf-c9a8ba02f7a0d1306b72871e16a0e9fd.fontdata"
[deps]
@ -29,7 +29,12 @@ Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
preload=[{
"chars": [],
"glyphs": [],
"name": "新建配置",
"size": Vector2i(16, 0)
}]
language_support={}
script_support={}
opentype_features={}

Binary file not shown.

View File

@ -2,7 +2,7 @@
importer="font_data_dynamic"
type="FontFile"
uid="uid://d8jw11wrln33"
uid="uid://ds5fuu4nvfqdb"
path="res://.godot/imported/DTM-Sans.otf-5ac6ba21314eda620a402d113cdc1558.fontdata"
[deps]
@ -29,7 +29,12 @@ Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
preload=[{
"chars": [],
"glyphs": [],
"name": "新建配置",
"size": Vector2i(16, 0)
}]
language_support={}
script_support={}
opentype_features={}

Binary file not shown.

View File

@ -0,0 +1,40 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://di8a4wt1feejl"
path="res://.godot/imported/Determination-Regular.otf-d3642ed4258f21e36280aafddc4afd4d.fontdata"
[deps]
source_file="res://Fonts/Determination-Regular.otf"
dest_files=["res://.godot/imported/Determination-Regular.otf-d3642ed4258f21e36280aafddc4afd4d.fontdata"]
[params]
Rendering=null
antialiasing=0
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[{
"chars": [],
"glyphs": [],
"name": "新建配置",
"size": Vector2i(16, 0)
}]
language_support={}
script_support={}
opentype_features={}

Binary file not shown.

View File

@ -0,0 +1,40 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://1dhd5nsf1n0q"
path="res://.godot/imported/DiaryOfAn8BitMage-lYDD.ttf-70b6bea3583e45766fc22983645c4276.fontdata"
[deps]
source_file="res://Fonts/DiaryOfAn8BitMage-lYDD.ttf"
dest_files=["res://.godot/imported/DiaryOfAn8BitMage-lYDD.ttf-70b6bea3583e45766fc22983645c4276.fontdata"]
[params]
Rendering=null
antialiasing=0
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[{
"chars": [],
"glyphs": [],
"name": "新建配置",
"size": Vector2i(16, 0)
}]
language_support={}
script_support={}
opentype_features={}

35
Fonts/Dotumche.ttf.import Normal file
View File

@ -0,0 +1,35 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://ixdw6qaouj68"
path="res://.godot/imported/Dotumche.ttf-72689bfe288537e7801443429c305889.fontdata"
[deps]
source_file="res://Fonts/Dotumche.ttf"
dest_files=["res://.godot/imported/Dotumche.ttf-72689bfe288537e7801443429c305889.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@ -13,7 +13,7 @@ dest_files=["res://.godot/imported/OrangeKid2.ttf-52463fe9bc5212222296213054caa5
[params]
Rendering=null
antialiasing=1
antialiasing=0
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
@ -29,7 +29,12 @@ Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
preload=[{
"chars": [],
"glyphs": [],
"name": "新建配置",
"size": Vector2i(16, 0)
}]
language_support={}
script_support={}
opentype_features={}

View File

@ -13,7 +13,7 @@ dest_files=["res://.godot/imported/TroubleBeneathTheDome.ttf-59cf589607b0e34b5ac
[params]
Rendering=null
antialiasing=1
antialiasing=0
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
@ -29,7 +29,12 @@ Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
preload=[{
"chars": [],
"glyphs": [],
"name": "新建配置",
"size": Vector2i(16, 0)
}]
language_support={}
script_support={}
opentype_features={}

BIN
Fonts/Yulong-Regular.otf Normal file

Binary file not shown.

View File

@ -0,0 +1,35 @@
[remap]
importer="font_data_dynamic"
type="FontFile"
uid="uid://ddvr8flumu7e6"
path="res://.godot/imported/Yulong-Regular.otf-b633c94bea33fe8b965f5abc6acfc2e6.fontdata"
[deps]
source_file="res://Fonts/Yulong-Regular.otf"
dest_files=["res://.godot/imported/Yulong-Regular.otf-b633c94bea33fe8b965f5abc6acfc2e6.fontdata"]
[params]
Rendering=null
antialiasing=1
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
msdf_pixel_range=8
msdf_size=48
allow_system_fallback=true
force_autohinter=false
hinting=1
subpixel_positioning=4
keep_rounding_remainders=true
oversampling=0.0
Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
language_support={}
script_support={}
opentype_features={}

View File

@ -13,7 +13,7 @@ dest_files=["res://.godot/imported/dotumche-pixel.ttf-4b7534a3b510211ca01320872d
[params]
Rendering=null
antialiasing=1
antialiasing=0
generate_mipmaps=false
disable_embedded_bitmaps=true
multichannel_signed_distance_field=false
@ -29,7 +29,12 @@ Fallbacks=null
fallbacks=[]
Compress=null
compress=true
preload=[]
preload=[{
"chars": [],
"glyphs": [],
"name": "新建配置",
"size": Vector2i(16, 0)
}]
language_support={}
script_support={}
opentype_features={}

11
Fonts/dotumcheFixRus.tres Normal file
View File

@ -0,0 +1,11 @@
[gd_resource type="FontVariation" load_steps=2 format=4]
[ext_resource type="FontFile" path="res://Fonts/Yulong-Regular.otf" id="1"]
[resource]
base_font = ExtResource("1")
variation_embolden = -0.5
variation_transform = Transform2D(2.53, 0, 0, 1.56, 0, 0)
spacing_glyph = 4
spacing_top = -1
baseline_offset = 0.33000001311302185

View File

@ -1,6 +1,6 @@
[gd_resource type="FontVariation" load_steps=2 format=4 uid="uid://cud87apd51vqd"]
[gd_resource type="FontVariation" load_steps=2 format=4]
[ext_resource type="FontFile" uid="uid://dnnxmwpetnwst" path="res://Fonts/DTM-Mono.otf" id="1"]
[ext_resource type="FontFile" path="res://Fonts/DTM-Mono.otf" id="1"]
[resource]
base_font = ExtResource("1")

7
Fonts/dtmonofixRus.tres Normal file
View File

@ -0,0 +1,7 @@
[gd_resource type="FontVariation" load_steps=2 format=4]
[ext_resource type="FontFile" path="res://Fonts/Determination-Regular.otf" id="1"]
[resource]
base_font = ExtResource("1")
spacing_top = -1

Binary file not shown.

120
Main.tscn
View File

@ -1,18 +1,22 @@
[gd_scene load_steps=44 format=3 uid="uid://dad1dy05x2pso"]
[gd_scene load_steps=48 format=3 uid="uid://bl5b0bl5pbewo"]
[ext_resource type="Script" uid="uid://cqejt8xpuq0we" path="res://Scripts/Main.cs" id="1"]
[ext_resource type="Texture2D" uid="uid://ca4ame0uqm16i" path="res://Sprites/Menus/dwbox.png" id="2"]
[ext_resource type="Script" uid="uid://dcaadyrf44f2s" path="res://Scripts/Common/TextSystem.cs" id="3"]
[ext_resource type="SpriteFrames" uid="uid://cr61adma36kgc" path="res://Animations/Portraits.tres" id="4"]
[ext_resource type="FontFile" uid="uid://dqhr68jmo4onx" path="res://Fonts/DTM-Mono.otf" id="5"]
[ext_resource type="SpriteFrames" uid="uid://b5whpr2mq8mqp" path="res://Animations/Portraits.tres" id="4"]
[ext_resource type="FontFile" uid="uid://bm33w5vaxemm1" path="res://Fonts/DTM-Mono.otf" id="5"]
[ext_resource type="Texture2D" path="res://Sprites/Menus/Menu Sprites/Soul.tres" id="6"]
[ext_resource type="Script" uid="uid://c6tb02l2w3pkf" path="res://Scripts/CameraController.cs" id="7"]
[ext_resource type="Texture2D" uid="uid://borwa3xavq2yq" path="res://Sprites/Menus/Mobile/ButtonZ.png" id="7_ny7u2"]
[ext_resource type="Script" uid="uid://bpgi5e11le8ft" path="res://Scripts/DebugMenu.cs" id="8"]
[ext_resource type="Texture2D" uid="uid://diiegqyqmfse8" path="res://Sprites/Menus/Mobile/ButtonX.png" id="8_x3yn0"]
[ext_resource type="Script" uid="uid://cjh5kwd7xrs7d" path="res://Scripts/UI/LWMenu.cs" id="9"]
[ext_resource type="Texture2D" uid="uid://beun6iki5130q" path="res://Sprites/Menus/Mobile/ButtonC.png" id="9_1w2xm"]
[ext_resource type="Texture2D" uid="uid://dnm66f5ii885g" path="res://Sprites/Menus/gui.png" id="10"]
[ext_resource type="Texture2D" uid="uid://dhcfih1gqgfdt" path="res://Sprites/Menus/Mobile/buttonR.png" id="10_x3yn0"]
[ext_resource type="Texture2D" uid="uid://dvcauf0wkk8je" path="res://Sprites/Menus/utbox.png" id="11"]
[ext_resource type="FontFile" uid="uid://benu2xtgythyn" path="res://Fonts/TroubleBeneathTheDome.ttf" id="12"]
[ext_resource type="FontFile" uid="uid://d8jw11wrln33" path="res://Fonts/DTM-Sans.otf" id="13"]
[ext_resource type="FontFile" uid="uid://ds5fuu4nvfqdb" path="res://Fonts/DTM-Sans.otf" id="13"]
[ext_resource type="Script" uid="uid://dtk1i5ahr1pab" path="res://Scripts/UI/DWMenu.cs" id="14"]
[ext_resource type="Texture2D" path="res://Sprites/Menus/Menu Sprites/TPBar.tres" id="15"]
[ext_resource type="Texture2D" path="res://Sprites/Menus/Menu Sprites/TP.tres" id="16"]
@ -76,10 +80,17 @@ exitMes = NodePath("CanvasLayer/Exit")
metadata/_edit_vertical_guides_ = [-160.0, 160.0]
metadata/_edit_horizontal_guides_ = [-120.0, 120.0]
[node name="BlackBackground" type="ColorRect" parent="."]
offset_left = -200.0
offset_top = -147.0
offset_right = 914.0
offset_bottom = 480.0
color = Color(0, 0, 0, 1)
[node name="CanvasLayer" type="CanvasLayer" parent="."]
offset = Vector2(320, 240)
offset = Vector2(384, 240)
scale = Vector2(2, 2)
transform = Transform2D(2, 0, 0, 2, 320, 240)
transform = Transform2D(2, 0, 0, 2, 384, 240)
[node name="Textbox" type="NinePatchRect" parent="CanvasLayer" node_paths=PackedStringArray("portrait", "text", "promptText", "soul")]
visible = false
@ -201,6 +212,72 @@ theme_override_font_sizes/font_size = 13
text = "Exiting..."
horizontal_alignment = 2
vertical_alignment = 2
metadata/_edit_use_anchors_ = true
[node name="MobileControl" type="Node2D" parent="CanvasLayer"]
modulate = Color(1, 1, 1, 0.501961)
position = Vector2(30.5, -0.5)
scale = Vector2(2, 2)
[node name="Joystick" type="Node2D" parent="CanvasLayer/MobileControl"]
position = Vector2(-92, 20)
[node name="Up" type="TouchScreenButton" parent="CanvasLayer/MobileControl/Joystick"]
rotation = -1.5708
scale = Vector2(0.25, 0.25)
texture_normal = ExtResource("10_x3yn0")
action = "Up"
visibility_mode = 1
[node name="Down" type="TouchScreenButton" parent="CanvasLayer/MobileControl/Joystick"]
position = Vector2(19, 19)
rotation = 1.5708
scale = Vector2(0.25, 0.25)
texture_normal = ExtResource("10_x3yn0")
action = "Down"
visibility_mode = 1
[node name="Left" type="TouchScreenButton" parent="CanvasLayer/MobileControl/Joystick"]
position = Vector2(0, 19)
rotation = 3.14159
scale = Vector2(0.25, 0.25)
texture_normal = ExtResource("10_x3yn0")
action = "Left"
visibility_mode = 1
[node name="Right" type="TouchScreenButton" parent="CanvasLayer/MobileControl/Joystick"]
position = Vector2(19, 0)
scale = Vector2(0.25, 0.25)
texture_normal = ExtResource("10_x3yn0")
action = "Right"
visibility_mode = 1
[node name="Buttons" type="Node2D" parent="CanvasLayer/MobileControl"]
position = Vector2(21, 25)
[node name="Z" type="TouchScreenButton" parent="CanvasLayer/MobileControl/Buttons"]
position = Vector2(0, 8)
scale = Vector2(0.25, 0.25)
texture_normal = ExtResource("7_ny7u2")
passby_press = true
action = "Confirm"
visibility_mode = 1
[node name="X" type="TouchScreenButton" parent="CanvasLayer/MobileControl/Buttons"]
position = Vector2(20, -8)
scale = Vector2(0.25, 0.25)
texture_normal = ExtResource("8_x3yn0")
passby_press = true
action = "Cancel"
visibility_mode = 1
[node name="C" type="TouchScreenButton" parent="CanvasLayer/MobileControl/Buttons"]
position = Vector2(40, -24)
scale = Vector2(0.25, 0.25)
texture_normal = ExtResource("9_1w2xm")
passby_press = true
action = "Menu"
visibility_mode = 1
[node name="Camera2D" type="Camera2D" parent="." node_paths=PackedStringArray("contents", "cover")]
zoom = Vector2(2, 2)
@ -230,6 +307,7 @@ anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
metadata/_edit_use_anchors_ = true
[node name="LWMenu" type="Control" parent="Camera2D/GUI" node_paths=PackedStringArray("mainText", "statText", "mainOpt", "mainText2", "itemOpt", "soul", "bigBox")]
visible = false
@ -279,7 +357,7 @@ grow_horizontal = 2
grow_vertical = 2
theme_override_constants/line_separation = -1
theme_override_fonts/normal_font = ExtResource("12")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "Cole
LV 1
@ -788,7 +866,7 @@ offset_top = -75.0
offset_right = -43.0
offset_bottom = -59.0
theme_override_fonts/normal_font = ExtResource("13")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "[center]Clover"
scroll_active = false
@ -800,7 +878,7 @@ offset_right = 122.0
offset_bottom = -22.0
theme_override_constants/line_separation = 3
theme_override_fonts/normal_font = ExtResource("13")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "Weapon
Armor1
@ -814,7 +892,7 @@ offset_right = 6.0
offset_bottom = 72.0
theme_override_constants/line_separation = -1
theme_override_fonts/normal_font = ExtResource("5")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "Attack: 999
Defense: 999
@ -833,7 +911,7 @@ offset_right = 197.0
offset_bottom = 73.0
theme_override_constants/line_separation = -1
theme_override_fonts/normal_font = ExtResource("13")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "Weapon
Armor1
@ -871,7 +949,7 @@ offset_right = 261.0
offset_bottom = 157.0
theme_override_constants/line_separation = 2
theme_override_fonts/normal_font = ExtResource("5")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
scroll_active = false
metadata/_edit_lock_ = true
@ -885,7 +963,7 @@ offset_right = 261.0
offset_bottom = 53.0
theme_override_constants/line_separation = 2
theme_override_fonts/normal_font = ExtResource("5")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "USE"
scroll_active = false
@ -899,7 +977,7 @@ offset_right = 247.0
offset_bottom = 32.0
theme_override_constants/line_separation = 2
theme_override_fonts/normal_font = ExtResource("5")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "TOSS"
scroll_active = false
@ -913,7 +991,7 @@ offset_right = 247.0
offset_bottom = 32.0
theme_override_constants/line_separation = 2
theme_override_fonts/normal_font = ExtResource("5")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "KEY"
scroll_active = false
@ -970,7 +1048,7 @@ offset_right = 318.0
offset_bottom = 33.0
theme_override_constants/line_separation = 3
theme_override_fonts/normal_font = ExtResource("13")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "D$ 9999"
scroll_active = false
@ -983,7 +1061,7 @@ offset_bottom = 23.0
scale = Vector2(0.665, 2)
theme_override_constants/line_separation = 3
theme_override_fonts/normal_font = ExtResource("31")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "SETTINGS"
scroll_active = false
@ -996,7 +1074,7 @@ offset_top = 8.0
offset_right = 320.0
offset_bottom = 37.0
theme_override_fonts/normal_font = ExtResource("5")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "aaa
aaaa"
@ -1075,7 +1153,7 @@ offset_right = 325.0
offset_bottom = 55.0
theme_override_constants/line_separation = 3
theme_override_fonts/normal_font = ExtResource("13")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "aaaa
aaaa"
@ -1090,7 +1168,7 @@ offset_right = 429.0
offset_bottom = 55.0
theme_override_constants/line_separation = 3
theme_override_fonts/normal_font = ExtResource("13")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "aaaa
aaaa"
@ -1118,7 +1196,7 @@ offset_right = 320.0
offset_bottom = 55.0
theme_override_constants/line_separation = 3
theme_override_fonts/normal_font = ExtResource("13")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "aaaa
aaaa"

Binary file not shown.

View File

@ -96,7 +96,7 @@ offset_top = -73.0
offset_right = 78.0
offset_bottom = -33.0
theme_override_fonts/normal_font = ExtResource("8")
theme_override_font_sizes/normal_font_size = 12
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "[shake]Cole...!"
scroll_active = false
@ -137,7 +137,7 @@ offset_top = 6.0
offset_right = 142.0
offset_bottom = 68.0
theme_override_fonts/normal_font = ExtResource("10")
theme_override_font_sizes/normal_font_size = 16
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "* . . ."
scroll_active = false
@ -174,7 +174,7 @@ offset_top = 74.0
offset_right = 142.0
offset_bottom = 94.0
theme_override_fonts/normal_font = ExtResource("11")
theme_override_font_sizes/normal_font_size = 12
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "COLE LV 1 HP [img=7 color=#ffff00]res://Sprites/Menus/Menu Sprites/HPBar3.tres[/img][img=7 color=#ffff00]res://Sprites/Menus/Menu Sprites/HPBar3.tres[/img] 20 / 20"
scroll_active = false

View File

@ -1,13 +1,13 @@
[gd_scene load_steps=10 format=4]
[gd_scene load_steps=10 format=3 uid="uid://dil1lmhskfcbj"]
[ext_resource type="Script" path="res://Scripts/Bullets/MoveAhead.cs" id="1"]
[ext_resource type="Script" uid="uid://cms7aciv3ajt" path="res://Scripts/Bullets/MoveAhead.cs" id="1"]
[ext_resource type="Texture2D" path="res://Sprites/Bullets/Smoke.tres" id="2"]
[sub_resource type="CircleShape2D" id="CircleShape2D_k6xqa"]
radius = 17.0
[sub_resource type="Animation" id="Animation_6iwuj"]
length = 0.0010000000474974513
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
@ -43,7 +43,7 @@ _data = {
}
[sub_resource type="Animation" id="Animation_bwenb"]
length = 0.0010000000474974513
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true

View File

@ -1,18 +1,18 @@
[gd_scene load_steps=19 format=4]
[gd_scene load_steps=19 format=3 uid="uid://bnven10apnbkj"]
[ext_resource type="Script" path="res://Scripts/Room.cs" id="1"]
[ext_resource type="AudioStream" path="res://Audio/Music/nothing_but_the_truth.ogg" id="2"]
[ext_resource type="TileSet" path="res://Sprites/Tileset.tres" id="3"]
[ext_resource type="Script" path="res://Scripts/Events/ChujinDWEvents.cs" id="4"]
[ext_resource type="Script" path="res://Scripts/Common/CanSpawn.cs" id="5"]
[ext_resource type="Script" uid="uid://4qnuo8uar060" path="res://Scripts/Room.cs" id="1"]
[ext_resource type="AudioStream" uid="uid://g75ctmjof4hy" path="res://Audio/Music/nothing_but_the_truth.ogg" id="2"]
[ext_resource type="TileSet" uid="uid://kjbjarxy0x15" path="res://Sprites/Tileset.tres" id="3"]
[ext_resource type="Script" uid="uid://drm77u8ytskv7" path="res://Scripts/Events/ChujinDWEvents.cs" id="4"]
[ext_resource type="Script" uid="uid://dwqe4ft584vio" path="res://Scripts/Common/CanSpawn.cs" id="5"]
[ext_resource type="PackedScene" path="res://Objects/Characters/KanakoPC.tscn" id="6"]
[ext_resource type="Script" path="res://Scripts/Entities/NPC.cs" id="7"]
[ext_resource type="Script" path="res://Scripts/Actions/PlayDialogue.cs" id="8"]
[ext_resource type="Script" path="res://Scripts/Events/EventCaller.cs" id="9"]
[ext_resource type="Script" path="res://Scripts/Loadzone.cs" id="10"]
[ext_resource type="AudioStream" path="res://Audio/Sounds/snd_dooropen_ch1.wav" id="11"]
[ext_resource type="AudioStream" path="res://Audio/Sounds/snd_doorclose_ch1.wav" id="12"]
[ext_resource type="Script" path="res://Scripts/Check.cs" id="13"]
[ext_resource type="Script" uid="uid://c3sqc5ivg1mtv" path="res://Scripts/Entities/NPC.cs" id="7"]
[ext_resource type="Script" uid="uid://17m84i3bovc2" path="res://Scripts/Actions/PlayDialogue.cs" id="8"]
[ext_resource type="Script" uid="uid://bja8iltcbmvrn" path="res://Scripts/Events/EventCaller.cs" id="9"]
[ext_resource type="Script" uid="uid://jnhf46l2j8xf" path="res://Scripts/Loadzone.cs" id="10"]
[ext_resource type="AudioStream" uid="uid://djevh6m6xd8r7" path="res://Audio/Sounds/snd_dooropen_ch1.wav" id="11"]
[ext_resource type="AudioStream" uid="uid://cj1nx5mbp8teg" path="res://Audio/Sounds/snd_doorclose_ch1.wav" id="12"]
[ext_resource type="Script" uid="uid://cmth1k2shrt3t" path="res://Scripts/Check.cs" id="13"]
[sub_resource type="Resource" id="Resource_lcv38"]
script = ExtResource("8")

View File

@ -1,18 +1,18 @@
[gd_scene load_steps=20 format=4]
[gd_scene load_steps=20 format=3 uid="uid://bv4p0i227opt5"]
[ext_resource type="Script" path="res://Scripts/Room.cs" id="1"]
[ext_resource type="AudioStream" path="res://Audio/Music/computer_ambience.ogg" id="2"]
[ext_resource type="AudioStream" path="res://Audio/Music/enter_axis.ogg" id="3"]
[ext_resource type="AudioStream" path="res://Audio/Music/guns_blazing_geno.ogg" id="4"]
[ext_resource type="AudioStream" path="res://Audio/Music/steamworks_overworld.ogg" id="5"]
[ext_resource type="TileSet" path="res://Sprites/Tileset.tres" id="6"]
[ext_resource type="Script" path="res://Scripts/Events/ChujinDWEvents.cs" id="7"]
[ext_resource type="Script" uid="uid://4qnuo8uar060" path="res://Scripts/Room.cs" id="1"]
[ext_resource type="AudioStream" uid="uid://ch7rricuxm4d" path="res://Audio/Music/computer_ambience.ogg" id="2"]
[ext_resource type="AudioStream" uid="uid://bn573nxhuws27" path="res://Audio/Music/enter_axis.ogg" id="3"]
[ext_resource type="AudioStream" uid="uid://dhu8kqi855lw1" path="res://Audio/Music/guns_blazing_geno.ogg" id="4"]
[ext_resource type="AudioStream" uid="uid://d0x01vtygk2sq" path="res://Audio/Music/steamworks_overworld.ogg" id="5"]
[ext_resource type="TileSet" uid="uid://kjbjarxy0x15" path="res://Sprites/Tileset.tres" id="6"]
[ext_resource type="Script" uid="uid://drm77u8ytskv7" path="res://Scripts/Events/ChujinDWEvents.cs" id="7"]
[ext_resource type="PackedScene" path="res://Objects/Characters/Axis.tscn" id="8"]
[ext_resource type="Script" path="res://Scripts/Entities/NPC.cs" id="9"]
[ext_resource type="Script" uid="uid://c3sqc5ivg1mtv" path="res://Scripts/Entities/NPC.cs" id="9"]
[ext_resource type="PackedScene" path="res://Objects/Props/SavePoint.tscn" id="10"]
[ext_resource type="Script" path="res://Scripts/Loadzone.cs" id="11"]
[ext_resource type="Script" path="res://Scripts/Check.cs" id="12"]
[ext_resource type="Texture2D" path="res://Sprites/TILES.png" id="13"]
[ext_resource type="Script" uid="uid://jnhf46l2j8xf" path="res://Scripts/Loadzone.cs" id="11"]
[ext_resource type="Script" uid="uid://cmth1k2shrt3t" path="res://Scripts/Check.cs" id="12"]
[ext_resource type="Texture2D" uid="uid://by6qx200nrtq1" path="res://Sprites/TILES.png" id="13"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_bop7k"]
size = Vector2(20, 40)
@ -21,7 +21,7 @@ size = Vector2(20, 40)
size = Vector2(27, 258)
[sub_resource type="Animation" id="Animation_od6p4"]
length = 0.0010000000474974513
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true

View File

@ -1,12 +1,12 @@
[gd_scene load_steps=9 format=4]
[gd_scene load_steps=9 format=3 uid="uid://dw04bnil2fg48"]
[ext_resource type="Script" path="res://Scripts/Room.cs" id="1"]
[ext_resource type="AudioStream" path="res://Audio/Sounds/snd_step1.wav" id="2"]
[ext_resource type="AudioStream" path="res://Audio/Music/computer_ambience.ogg" id="3"]
[ext_resource type="TileSet" path="res://Sprites/Tileset.tres" id="4"]
[ext_resource type="Script" uid="uid://4qnuo8uar060" path="res://Scripts/Room.cs" id="1"]
[ext_resource type="AudioStream" uid="uid://bwx0pl0lknc7x" path="res://Audio/Sounds/snd_step1.wav" id="2"]
[ext_resource type="AudioStream" uid="uid://ch7rricuxm4d" path="res://Audio/Music/computer_ambience.ogg" id="3"]
[ext_resource type="TileSet" uid="uid://kjbjarxy0x15" path="res://Sprites/Tileset.tres" id="4"]
[ext_resource type="PackedScene" path="res://Objects/Props/SavePoint.tscn" id="5"]
[ext_resource type="Texture2D" path="res://Sprites/Props/Boxes.tres" id="6"]
[ext_resource type="Script" path="res://Scripts/Loadzone.cs" id="7"]
[ext_resource type="Script" uid="uid://jnhf46l2j8xf" path="res://Scripts/Loadzone.cs" id="7"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_f15l6"]
size = Vector2(20, 40)

View File

@ -1,17 +1,17 @@
[gd_scene load_steps=17 format=4]
[gd_scene load_steps=17 format=3 uid="uid://b627jxlfivt65"]
[ext_resource type="Script" path="res://Scripts/Room.cs" id="1"]
[ext_resource type="AudioStream" path="res://Audio/Music/steamworks_overworld.ogg" id="2"]
[ext_resource type="TileSet" path="res://Sprites/Tileset.tres" id="3"]
[ext_resource type="Script" path="res://Scripts/Events/ChujinDWEvents.cs" id="4"]
[ext_resource type="Texture2D" path="res://Sprites/Props/bg stuff.png" id="5"]
[ext_resource type="Script" path="res://Scripts/Check.cs" id="6"]
[ext_resource type="Texture2D" path="res://Sprites/Props/chujindwbg.png" id="7"]
[ext_resource type="Script" path="res://Scripts/Loadzone.cs" id="8"]
[ext_resource type="Script" uid="uid://4qnuo8uar060" path="res://Scripts/Room.cs" id="1"]
[ext_resource type="AudioStream" uid="uid://d0x01vtygk2sq" path="res://Audio/Music/steamworks_overworld.ogg" id="2"]
[ext_resource type="TileSet" uid="uid://kjbjarxy0x15" path="res://Sprites/Tileset.tres" id="3"]
[ext_resource type="Script" uid="uid://drm77u8ytskv7" path="res://Scripts/Events/ChujinDWEvents.cs" id="4"]
[ext_resource type="Texture2D" uid="uid://3mc0ocko1cag" path="res://Sprites/Props/bg stuff.png" id="5"]
[ext_resource type="Script" uid="uid://cmth1k2shrt3t" path="res://Scripts/Check.cs" id="6"]
[ext_resource type="Texture2D" uid="uid://b7a3vklyry1tn" path="res://Sprites/Props/chujindwbg.png" id="7"]
[ext_resource type="Script" uid="uid://jnhf46l2j8xf" path="res://Scripts/Loadzone.cs" id="8"]
[ext_resource type="PackedScene" path="res://Objects/Characters/Wrench.tscn" id="9"]
[ext_resource type="Script" path="res://Scripts/Entities/NPC.cs" id="10"]
[ext_resource type="Script" path="res://Scripts/Actions/PlayDialogue.cs" id="11"]
[ext_resource type="Script" path="res://Scripts/Events/EventCaller.cs" id="12"]
[ext_resource type="Script" uid="uid://c3sqc5ivg1mtv" path="res://Scripts/Entities/NPC.cs" id="10"]
[ext_resource type="Script" uid="uid://17m84i3bovc2" path="res://Scripts/Actions/PlayDialogue.cs" id="11"]
[ext_resource type="Script" uid="uid://bja8iltcbmvrn" path="res://Scripts/Events/EventCaller.cs" id="12"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ited8"]
size = Vector2(9, 13)

View File

@ -701,7 +701,7 @@ offset_right = 151.0
offset_bottom = 171.0
theme_override_colors/default_color = Color(1, 1, 1, 0.501961)
theme_override_fonts/normal_font = ExtResource("18")
theme_override_font_sizes/normal_font_size = 12
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "INTERACT: Punch
CANCEL: Defend

View File

@ -1,19 +1,19 @@
[gd_scene load_steps=25 format=4]
[gd_scene load_steps=25 format=3 uid="uid://ccsk6i208lria"]
[ext_resource type="Script" path="res://Scripts/Room.cs" id="1"]
[ext_resource type="AudioStream" path="res://Audio/Music/basement.ogg" id="2"]
[ext_resource type="AudioStream" path="res://Audio/Music/kanako.ogg" id="3"]
[ext_resource type="TileSet" path="res://Sprites/Tileset.tres" id="4"]
[ext_resource type="Script" path="res://Scripts/Check.cs" id="5"]
[ext_resource type="Texture2D" path="res://Sprites/TILES.png" id="6"]
[ext_resource type="Script" path="res://Scripts/Common/CanSpawn.cs" id="7"]
[ext_resource type="Script" path="res://Scripts/Events/SchoolDWEvents.cs" id="8"]
[ext_resource type="Script" uid="uid://4qnuo8uar060" path="res://Scripts/Room.cs" id="1"]
[ext_resource type="AudioStream" uid="uid://cxul7aplxggby" path="res://Audio/Music/basement.ogg" id="2"]
[ext_resource type="AudioStream" uid="uid://cmwngw61w3lh6" path="res://Audio/Music/kanako.ogg" id="3"]
[ext_resource type="TileSet" uid="uid://kjbjarxy0x15" path="res://Sprites/Tileset.tres" id="4"]
[ext_resource type="Script" uid="uid://cmth1k2shrt3t" path="res://Scripts/Check.cs" id="5"]
[ext_resource type="Texture2D" uid="uid://by6qx200nrtq1" path="res://Sprites/TILES.png" id="6"]
[ext_resource type="Script" uid="uid://dwqe4ft584vio" path="res://Scripts/Common/CanSpawn.cs" id="7"]
[ext_resource type="Script" uid="uid://dyugjcaqve1ol" path="res://Scripts/Events/SchoolDWEvents.cs" id="8"]
[ext_resource type="PackedScene" path="res://Objects/Characters/Kanako.tscn" id="9"]
[ext_resource type="Script" path="res://Scripts/Entities/NPC.cs" id="10"]
[ext_resource type="Script" uid="uid://c3sqc5ivg1mtv" path="res://Scripts/Entities/NPC.cs" id="10"]
[ext_resource type="PackedScene" path="res://Objects/Characters/Warden.tscn" id="11"]
[ext_resource type="Script" path="res://Scripts/Loadzone.cs" id="12"]
[ext_resource type="Script" uid="uid://jnhf46l2j8xf" path="res://Scripts/Loadzone.cs" id="12"]
[ext_resource type="PackedScene" path="res://Objects/Characters/Penceller.tscn" id="13"]
[ext_resource type="Script" path="res://Scripts/Actions/PlayDialogue.cs" id="14"]
[ext_resource type="Script" uid="uid://17m84i3bovc2" path="res://Scripts/Actions/PlayDialogue.cs" id="14"]
[ext_resource type="PackedScene" path="res://Objects/Characters/Bearing.tscn" id="15"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_yyc40"]
@ -292,7 +292,7 @@ pos = Vector2(-368, -8)
position = Vector2(390, 0)
shape = SubResource("RectangleShape2D_a2dvu")
[node name="Penceller" parent="." node_paths=PackedStringArray("extras") instance=ExtResource("13")]
[node name="Penceller" parent="." instance=ExtResource("13")]
position = Vector2(-216, 27)
script = ExtResource("10")
spawn = null
@ -301,7 +301,6 @@ neededVar = PackedInt32Array()
neededCapture = 17
behaviours = [SubResource("Resource_hxo6x"), SubResource("Resource_imf0a")]
direction = 3
extras = []
[node name="Bearing" parent="." instance=ExtResource("15")]
position = Vector2(-54, -49)

View File

@ -1,33 +1,33 @@
[gd_scene load_steps=68 format=4]
[gd_scene load_steps=68 format=3 uid="uid://c5awcrhcbt2ty"]
[ext_resource type="Script" path="res://Scripts/Room.cs" id="1"]
[ext_resource type="AudioStream" path="res://Audio/Music/the_wild_east.ogg" id="2"]
[ext_resource type="AudioStream" path="res://Audio/Music/birdsofafeather.ogg" id="3"]
[ext_resource type="AudioStream" path="res://Audio/Music/acquittal.ogg" id="4"]
[ext_resource type="AudioStream" path="res://Audio/Music/delivery.ogg" id="5"]
[ext_resource type="AudioStream" path="res://Audio/Music/mixin_it_up.ogg" id="6"]
[ext_resource type="TileSet" path="res://Sprites/Tileset.tres" id="7"]
[ext_resource type="Script" path="res://Scripts/Events/LWDay1Events.cs" id="8"]
[ext_resource type="AudioStream" path="res://Audio/Sounds/snd_phone.wav" id="9"]
[ext_resource type="Texture2D" path="res://Sprites/Props/bg stuff.png" id="10"]
[ext_resource type="Script" path="res://Scripts/Common/CanSpawn.cs" id="11"]
[ext_resource type="Script" path="res://Scripts/Check.cs" id="12"]
[ext_resource type="Script" path="res://Scripts/Events/LWDay2Events.cs" id="13"]
[ext_resource type="Texture2D" path="res://Sprites/TILES.png" id="14"]
[ext_resource type="Texture2D" path="res://Sprites/Buildings/spr_martlets_house.png" id="15"]
[ext_resource type="Texture2D" path="res://Sprites/Buildings/spr_martlets_houseLight.png" id="16"]
[ext_resource type="Script" path="res://Scripts/Loadzone.cs" id="17"]
[ext_resource type="AudioStream" path="res://Audio/Sounds/snd_escaped.wav" id="18"]
[ext_resource type="Texture2D" path="res://Sprites/Buildings/ts_starlo_house.png" id="19"]
[ext_resource type="Texture2D" path="res://Sprites/Buildings/ts_starlo_houseLight.png" id="20"]
[ext_resource type="Texture2D" path="res://Sprites/Buildings/spr_wild_east_feisty_house.png" id="21"]
[ext_resource type="Texture2D" path="res://Sprites/Buildings/spr_wild_east_feisty_houseLight.png" id="22"]
[ext_resource type="Script" uid="uid://4qnuo8uar060" path="res://Scripts/Room.cs" id="1"]
[ext_resource type="AudioStream" uid="uid://c2soa53ka86lw" path="res://Audio/Music/the_wild_east.ogg" id="2"]
[ext_resource type="AudioStream" uid="uid://cyiqndrtn7472" path="res://Audio/Music/birdsofafeather.ogg" id="3"]
[ext_resource type="AudioStream" uid="uid://dy45av85jxh0" path="res://Audio/Music/acquittal.ogg" id="4"]
[ext_resource type="AudioStream" uid="uid://tw64qrl7djoe" path="res://Audio/Music/delivery.ogg" id="5"]
[ext_resource type="AudioStream" uid="uid://bqo1caalxce7d" path="res://Audio/Music/mixin_it_up.ogg" id="6"]
[ext_resource type="TileSet" uid="uid://kjbjarxy0x15" path="res://Sprites/Tileset.tres" id="7"]
[ext_resource type="Script" uid="uid://dhcedeox12us1" path="res://Scripts/Events/LWDay1Events.cs" id="8"]
[ext_resource type="AudioStream" uid="uid://cdo0g7e8lkm26" path="res://Audio/Sounds/snd_phone.wav" id="9"]
[ext_resource type="Texture2D" uid="uid://3mc0ocko1cag" path="res://Sprites/Props/bg stuff.png" id="10"]
[ext_resource type="Script" uid="uid://dwqe4ft584vio" path="res://Scripts/Common/CanSpawn.cs" id="11"]
[ext_resource type="Script" uid="uid://cmth1k2shrt3t" path="res://Scripts/Check.cs" id="12"]
[ext_resource type="Script" uid="uid://dk0p008j3ftk1" path="res://Scripts/Events/LWDay2Events.cs" id="13"]
[ext_resource type="Texture2D" uid="uid://by6qx200nrtq1" path="res://Sprites/TILES.png" id="14"]
[ext_resource type="Texture2D" uid="uid://bfcp1obflnrcp" path="res://Sprites/Buildings/spr_martlets_house.png" id="15"]
[ext_resource type="Texture2D" uid="uid://clx7xdtxt5wj8" path="res://Sprites/Buildings/spr_martlets_houseLight.png" id="16"]
[ext_resource type="Script" uid="uid://jnhf46l2j8xf" path="res://Scripts/Loadzone.cs" id="17"]
[ext_resource type="AudioStream" uid="uid://diry686f6lv8c" path="res://Audio/Sounds/snd_escaped.wav" id="18"]
[ext_resource type="Texture2D" uid="uid://dxw1bpiimjky3" path="res://Sprites/Buildings/ts_starlo_house.png" id="19"]
[ext_resource type="Texture2D" uid="uid://bdebtg5ep0p2h" path="res://Sprites/Buildings/ts_starlo_houseLight.png" id="20"]
[ext_resource type="Texture2D" uid="uid://csnfu1v8y8ggv" path="res://Sprites/Buildings/spr_wild_east_feisty_house.png" id="21"]
[ext_resource type="Texture2D" uid="uid://cuadlx7njti0f" path="res://Sprites/Buildings/spr_wild_east_feisty_houseLight.png" id="22"]
[ext_resource type="PackedScene" path="res://Objects/Props/Bench.tscn" id="23"]
[ext_resource type="Texture2D" path="res://Sprites/Props/nightbg.png" id="24"]
[ext_resource type="Texture2D" uid="uid://dnanfdhjq4k4n" path="res://Sprites/Props/nightbg.png" id="24"]
[ext_resource type="PackedScene" path="res://Objects/Characters/Martlet.tscn" id="25"]
[ext_resource type="PackedScene" path="res://Objects/Characters/CactusGirl.tscn" id="26"]
[ext_resource type="Script" path="res://Scripts/Entities/NPC.cs" id="27"]
[ext_resource type="Script" path="res://Scripts/Actions/PlayDialogue.cs" id="28"]
[ext_resource type="Script" uid="uid://c3sqc5ivg1mtv" path="res://Scripts/Entities/NPC.cs" id="27"]
[ext_resource type="Script" uid="uid://17m84i3bovc2" path="res://Scripts/Actions/PlayDialogue.cs" id="28"]
[ext_resource type="PackedScene" path="res://Objects/Characters/Ed.tscn" id="29"]
[ext_resource type="PackedScene" path="res://Objects/Characters/MailWhale.tscn" id="30"]
[ext_resource type="PackedScene" path="res://Objects/Characters/Kanako.tscn" id="31"]
@ -60,7 +60,7 @@ size = Vector2(20, 120)
size = Vector2(59, 14)
[sub_resource type="CircleShape2D" id="CircleShape2D_ns6o8"]
radius = 14.580599784851074
radius = 14.5806
[sub_resource type="RectangleShape2D" id="RectangleShape2D_d138w"]
size = Vector2(18, 53)
@ -105,8 +105,8 @@ needs = [7]
limit = null
[sub_resource type="Resource" id="Resource_sr8hc"]
script = ExtResource("28")
resource_name = "Day1"
script = ExtResource("28")
id = "EdD1"
isEvent = false
facePlayer = false
@ -117,8 +117,8 @@ needs = null
limit = null
[sub_resource type="Resource" id="Resource_5l5kx"]
script = ExtResource("28")
resource_name = "Day 1 - 2"
script = ExtResource("28")
id = "EdD1-2"
isEvent = false
facePlayer = false
@ -649,9 +649,9 @@ follow_viewport = false
[node name="night" type="TextureRect" parent="BG"]
modulate = Color(1, 0.744154, 0.609087, 1)
z_index = -3000
offset_top = 52.79999923706055
offset_top = 52.8
offset_right = 2025.0
offset_bottom = 243.8000030517578
offset_bottom = 243.8
texture = ExtResource("24")
expand_mode = 2
stretch_mode = 1

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=4 format=4]
[gd_scene load_steps=4 format=3 uid="uid://d1jn0d3ie61l"]
[ext_resource type="Texture2D" path="res://Sprites/Menus/Menu Sprites/ActionCommand.tres" id="1"]
[ext_resource type="Script" path="res://Scripts/Battle/AttackActionCommand.cs" id="2"]
[ext_resource type="Script" uid="uid://bclgqdjomqe1n" path="res://Scripts/Battle/AttackActionCommand.cs" id="2"]
[ext_resource type="Texture2D" path="res://Sprites/Menus/Menu Sprites/ActionCommand2.tres" id="3"]
[node name="ActionCommand" type="Sprite2D" node_paths=PackedStringArray("bar")]

View File

@ -1,8 +1,8 @@
[gd_scene load_steps=4 format=3]
[gd_scene load_steps=4 format=3 uid="uid://du31ha8pnahkk"]
[ext_resource type="Texture2D" path="res://Sprites/Menus/bubblebox.png" id="1"]
[ext_resource type="FontFile" path="res://Fonts/dotumche-pixel.ttf" id="2"]
[ext_resource type="Texture2D" path="res://Sprites/Menus/bubbletail.png" id="3"]
[ext_resource type="Texture2D" uid="uid://dvlhpjphue0yl" path="res://Sprites/Menus/bubblebox.png" id="1"]
[ext_resource type="FontFile" uid="uid://ytkax5t82t5" path="res://Fonts/dotumche-pixel.ttf" id="2"]
[ext_resource type="Texture2D" uid="uid://dymka7gu5opca" path="res://Sprites/Menus/bubbletail.png" id="3"]
[node name="Control" type="Control"]
z_index = 3000

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=4]
[gd_scene load_steps=3 format=3 uid="uid://c8ksni5hsd22l"]
[ext_resource type="Texture2D" path="res://Sprites/Characters/clover battle.png" id="1"]
[ext_resource type="FontFile" path="res://Fonts/DTM-Sans.otf" id="2"]
[ext_resource type="Texture2D" uid="uid://ltba3mmowfa2" path="res://Sprites/Characters/clover battle.png" id="1"]
[ext_resource type="FontFile" uid="uid://ds5fuu4nvfqdb" path="res://Fonts/DTM-Sans.otf" id="2"]
[node name="GameOverOpt" type="Control"]
layout_mode = 3

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=4]
[gd_scene load_steps=5 format=3 uid="uid://c8vmsrfaqfm56"]
[ext_resource type="FontFile" path="res://Fonts/DTM-Sans.otf" id="1"]
[ext_resource type="Script" path="res://Scripts/UI/GenericList.cs" id="2"]
[ext_resource type="FontFile" uid="uid://ds5fuu4nvfqdb" path="res://Fonts/DTM-Sans.otf" id="1"]
[ext_resource type="Script" uid="uid://b00mj8vjvkgs0" path="res://Scripts/UI/GenericList.cs" id="2"]
[ext_resource type="PackedScene" path="res://Objects/UI/ScrollBar.tscn" id="3"]
[ext_resource type="Texture2D" path="res://Sprites/Menus/Menu Sprites/Soul.tres" id="4"]
@ -11,7 +11,7 @@ clip_contents = false
offset_right = 175.0
offset_bottom = 152.0
theme_override_fonts/normal_font = ExtResource("1")
theme_override_font_sizes/normal_font_size = 12
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
script = ExtResource("2")
soul = NodePath("Sprite2D")

View File

@ -324,7 +324,7 @@ offset_bottom = 23.0
grow_horizontal = 2
grow_vertical = 2
theme_override_fonts/normal_font = ExtResource("5")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "[center]Cole LV 1 DLV 1
Location
@ -358,7 +358,7 @@ offset_bottom = 23.0
grow_horizontal = 2
grow_vertical = 2
theme_override_fonts/normal_font = ExtResource("5")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "[center]Cole LV 1 DLV 1
Location
@ -392,7 +392,7 @@ offset_bottom = 23.0
grow_horizontal = 2
grow_vertical = 2
theme_override_fonts/normal_font = ExtResource("5")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "[center]Cole LV 1 DLV 1
Location

View File

@ -15,6 +15,6 @@ offset_top = -20.0
offset_right = 184.0
offset_bottom = 26.0
theme_override_fonts/normal_font = ExtResource("2")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
scroll_active = false

View File

@ -90,7 +90,7 @@ offset_bottom = 20.0
scale = Vector2(0.63, 0.98)
theme_override_constants/line_separation = 3
theme_override_fonts/normal_font = ExtResource("4")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "COLE"
scroll_active = false

View File

@ -10,7 +10,7 @@ clip_contents = false
offset_right = 175.0
offset_bottom = 152.0
theme_override_fonts/normal_font = ExtResource("1")
theme_override_font_sizes/normal_font_size = 12
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "Music
Sound

View File

@ -48,7 +48,7 @@ theme_override_constants/shadow_offset_y = 1
theme_override_constants/shadow_offset_x = 1
theme_override_constants/line_separation = 3
theme_override_fonts/normal_font = ExtResource("4")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "[center]Storage"
scroll_active = false
@ -65,7 +65,7 @@ theme_override_constants/shadow_offset_y = 1
theme_override_constants/shadow_offset_x = 1
theme_override_constants/line_separation = 3
theme_override_fonts/normal_font = ExtResource("4")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "[center]On Hand"
scroll_active = false
@ -82,7 +82,7 @@ theme_override_constants/shadow_offset_y = 1
theme_override_constants/shadow_offset_x = 1
theme_override_constants/line_separation = 3
theme_override_fonts/normal_font = ExtResource("4")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "item1
item2
@ -105,7 +105,7 @@ theme_override_constants/shadow_offset_y = 1
theme_override_constants/shadow_offset_x = 1
theme_override_constants/line_separation = 3
theme_override_fonts/normal_font = ExtResource("4")
theme_override_font_sizes/normal_font_size = 11
theme_override_font_sizes/normal_font_size = 13
bbcode_enabled = true
text = "item1
item2

View File

@ -1,52 +0,0 @@
[gd_scene load_steps=3 format=3]
[ext_resource type="Script" path="res://Scripts/UI/TouchControls.cs" id="1_42104"]
[ext_resource type="Script" path="res://Scripts/UI/Joystick.cs" id="2_fufkg"]
[node name="TouchControls" type="CanvasLayer"]
script = ExtResource("1_42104")
[node name="Joystick" type="Control" parent="."]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
script = ExtResource("2_fufkg")
[node name="OuterCircle" type="TextureRect" parent="Joystick"]
layout_mode = 0
offset_top = -1.0
offset_right = 40.0
offset_bottom = 39.0
[node name="DeadzoneCircle" type="TextureRect" parent="Joystick"]
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="HandleCircle" type="TextureRect" parent="Joystick"]
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="Buttons" type="Control" parent="."]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="ButtonZ" type="TextureButton" parent="Buttons"]
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="ButtonX" type="TextureButton" parent="Buttons"]
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="ButtonC" type="TextureButton" parent="Buttons"]
layout_mode = 0
offset_right = 40.0
offset_bottom = 40.0

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
uid://cu7yf03tw6v3w

View File

@ -1,113 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Battle/AttackActionCommand.cs")]
public partial class AttackActionCommand : Sprite2D
{
[Export(PropertyHint.None, "")]
public Sprite2D bar;
public Battlers linked;
public static bool same;
public bool active;
private AttackActionCommand together;
private const float speed = 2f;
public static float actionCD;
private static List<AttackActionCommand> all = new List<AttackActionCommand>();
private static List<AttackActionCommand> other = new List<AttackActionCommand>();
public const float dist = 15f;
public const float missX = -45f;
private static readonly Color bright = new Color(20f, 20f, 20f, 0f);
private static readonly Color critical = new Color(1f, 20f, 1f, 0f);
public override void _EnterTree()
{
base.Modulate = Main.instance.partyColors[linked.internalID];
bar.Position = new Vector2(Main.RandomRange(75, 150), 0f);
}
public override void _Process(double delta)
{
bar.Position += Vector2.Left * Main.deltaTime * 2f;
if (bar.Position.X <= -45f)
{
Activate();
}
}
public void Activate()
{
if (!active)
{
active = true;
Coroutine.Start(DoAttack());
base.ProcessMode = ProcessModeEnum.Disabled;
}
}
private IEnumerator DoAttack()
{
linked.entity.anim.Play();
bool miss = !active || bar.Position.X >= 35f || bar.Position.X <= -45f;
bool part = false;
float p = 1f - Mathf.Clamp(Mathf.Abs(-28f - bar.Position.X), 0f, 60f) / 60f;
if (actionCD <= 0f)
{
Audio.PlaySound("snd_laz_c_ch1.wav");
}
if (p >= 0.9f)
{
if (actionCD <= 0f)
{
Audio.PlaySound("snd_criticalswing_ch1.wav");
}
p *= 1.15f;
}
actionCD = 3f;
for (float a = 0f; a < 15f; a += Main.deltaTime)
{
if (!miss)
{
bar.Scale = Vector2.One.Lerp(new Vector2(1.5f, 2f), a / 10f);
}
if (a >= 5f && !part)
{
if (linked.selectedAction[1] < BattleDR.current.enemies.Count)
{
Main.Particle("AttackShine", linked.atkPartOffset, 4086, linked.entity);
Main.Particle(Party.party[linked.internalID].hitPart, BattleDR.current.enemies[linked.selectedAction[1]].GetCenter(), 4086, BattleDR.current.enemies[linked.selectedAction[1]].entity);
}
part = true;
}
bar.SelfModulate = Main.colorWhite.Lerp(miss ? Main.colorClear : ((p >= 0.9f) ? critical : bright), a / 15f);
yield return null;
}
bar.Visible = false;
if (linked.selectedAction[1] < BattleDR.current.enemies.Count)
{
BattleDR.current.DoDamage(linked, BattleDR.current.enemies[linked.selectedAction[1]], p, miss);
}
for (float a = 0f; a < 30f; a += Main.deltaTime)
{
yield return null;
}
linked.entity.currentAnim = Entity.Animations.BattleIdle;
QueueFree();
}
}

View File

@ -1 +0,0 @@
uid://cj55ml1t758xv

View File

@ -1,34 +0,0 @@
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Envirioment/AudioOnTouch.cs")]
public partial class AudioOnTouch : Node2D
{
[Export(PropertyHint.None, "")]
private AudioStreamPlayer player;
[Export(PropertyHint.None, "")]
private VisibleOnScreenNotifier2D screen;
[Export(PropertyHint.None, "")]
private float screenShake = 1f;
[Export(PropertyHint.None, "")]
private float shakeTime = 20f;
public void Sound()
{
if ((screen == null || screen.IsOnScreen()) && !TextSystem.instance.Visible)
{
if (screenShake > 0f)
{
CameraController.Shake(shakeTime, screenShake);
}
player?.Play();
}
}
}

View File

@ -1 +0,0 @@
uid://cqnsh8631iv6o

View File

@ -1,148 +0,0 @@
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Bullets/AxisPunch.cs")]
public partial class AxisPunch : Node2D
{
[Export(PropertyHint.None, "")]
private Node2D hand;
[Export(PropertyHint.None, "")]
private Node2D impactFX;
[Export(PropertyHint.None, "")]
private Node2D smoke;
[Export(PropertyHint.None, "")]
private Sprite2D handSpr;
[Export(PropertyHint.None, "")]
private Texture2D[] anim;
[Export(PropertyHint.None, "")]
private CollisionShape2D collider;
[Export(PropertyHint.None, "")]
private float time = 60f;
private int state;
private float cd;
private float scd;
private float multi = 1f;
private Vector2 temp;
private const float y = -60f;
private const float ty = 25f;
private bool canSmoke;
public override void _EnterTree()
{
if (BattleDR.current.enemies[0].HPPercent() <= 0.5f || BattleDR.current.enemies[0].spare >= 50)
{
time /= 1.5f;
canSmoke = true;
}
}
public override void _Process(double delta)
{
switch (state)
{
case 0:
if (cd < time / 2f)
{
cd += Main.deltaTime;
hand.Position = hand.Position.Lerp(new Vector2(ToLocal(BattleDR.current.soul.GlobalPosition).X, -60f), Main.deltaTime * 0.15f);
break;
}
((Blank)hand).grazed = false;
temp = hand.GlobalPosition;
state = 1;
cd = 0f;
handSpr.Texture = anim[1];
Audio.PlaySound("snd_boost.wav");
break;
case 1:
cd += Main.deltaTime;
if (cd < time / 2f)
{
hand.GlobalPosition = temp.Lerp(temp + Vector2.Up * 60f, cd / time / 2f);
break;
}
if (cd < time)
{
hand.Modulate = ((Common.SinOverTime(2.5f) > 0f) ? Main.colorDark : Main.colorWhite);
break;
}
state = 2;
hand.Modulate = Main.colorWhite;
temp = hand.GlobalPosition;
cd = 0f;
collider.SetDeferred("disabled", false);
break;
case 2:
{
cd += Main.deltaTime;
if (cd < time / 2.2f)
{
hand.GlobalPosition = temp.Lerp(new Vector2(hand.GlobalPosition.X, base.GlobalPosition.Y + BattleDR.current.activeBoard.boardSize.Y / 2f - 15f), cd / (time / 2.2f));
if (canSmoke)
{
if (scd <= 0f)
{
scd = 5f;
SpawnSmoke(multi);
multi += 0.1f;
}
else
{
scd -= Main.deltaTime;
}
}
break;
}
scd = 0f;
state = 3;
cd = 0f;
CameraController.Shake(15f);
Audio.PlaySound("snd_impact_ch1.wav");
Node2D node2D;
AddChild(node2D = (Node2D)impactFX.Duplicate(), forceReadableName: false, InternalMode.Disabled);
node2D.Position = new Vector2(hand.Position.X, BattleDR.current.activeBoard.boardSize.Y / 2f + -4f);
node2D.ProcessMode = ProcessModeEnum.Inherit;
if (canSmoke)
{
SpawnSmoke(multi);
}
multi = 1f;
break;
}
case 3:
cd += Main.deltaTime;
if (cd >= time / 2f)
{
cd = 0f;
state = 0;
handSpr.Texture = anim[0];
collider.SetDeferred("disabled", true);
}
break;
}
}
private void SpawnSmoke(float m = 1f)
{
MoveAhead moveAhead = (MoveAhead)BattleDR.NewBullet(in smoke, hand.GlobalPosition, this);
moveAhead.speed = new Vector2(((moveAhead.GlobalPosition.X < BattleDR.current.soul.GlobalPosition.X) ? 0.25f : (-0.25f)) * m, -0.15f);
}
}

View File

@ -1 +0,0 @@
uid://d0j5m83sgav7h

View File

@ -1,108 +0,0 @@
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Bullets/AxisSmoke.cs")]
public partial class AxisSmoke : Node2D
{
public partial class BulletData
{
public Node2D obj;
public float time;
public Vector2 startP;
public Vector2 targetP;
public Vector2 midP;
public Vector2 scale;
public const float bulTime = 80f;
}
[Export(PropertyHint.None, "")]
private Node2D[] bullet;
[Export(PropertyHint.None, "")]
private float delay = 20f;
[Export(PropertyHint.None, "")]
private AudioStream sound;
private List<BulletData> bullets = new List<BulletData>();
private float cd;
private float x;
private Entity entity;
public override void _EnterTree()
{
entity = BattleDR.current.enemies[0].entity;
entity.Modulate = Main.colorWhite;
x = BattleDR.current.activeBoard.boardSize.X / 2.15f;
entity.anim.Play("SpinAtk");
}
public override void _ExitTree()
{
entity.anim.Play("Idle");
}
public override void _Process(double delta)
{
if (bullets.Count > 0)
{
for (int i = 0; i < bullets.Count; i++)
{
bullets[i].time += Main.deltaTime;
if (bullets[i].time <= 80f)
{
bullets[i].obj.Scale = bullets[i].obj.Scale.Lerp(bullets[i].scale, Main.deltaTime * 0.1f);
bullets[i].obj.GlobalPosition = Common.Beizier(bullets[i].startP, bullets[i].midP, bullets[i].targetP, Mathf.SmoothStep(0f, 1f, bullets[i].time / 80f));
}
else
{
bullets[i].obj.GlobalPosition += Vector2.Up * Main.deltaTime;
}
}
}
if (cd > 0f)
{
cd -= Main.deltaTime;
return;
}
cd = delay;
if (sound != null)
{
Audio.PlaySound(sound);
}
bullets.Add(new BulletData());
List<BulletData> list = bullets;
list[list.Count - 1].obj = BattleDR.NewBullet(in bullet[Main.RandomRange(0, bullet.Length - 1)], entity.GlobalPosition + Vector2.Up * 16f, this);
List<BulletData> list2 = bullets;
BulletData bulletData = list2[list2.Count - 1];
List<BulletData> list3 = bullets;
bulletData.scale = list3[list3.Count - 1].obj.Scale;
List<BulletData> list4 = bullets;
list4[list4.Count - 1].obj.Scale *= 0.5f;
List<BulletData> list5 = bullets;
BulletData bulletData2 = list5[list5.Count - 1];
List<BulletData> list6 = bullets;
bulletData2.startP = list6[list6.Count - 1].obj.GlobalPosition;
List<BulletData> list7 = bullets;
list7[list7.Count - 1].targetP = new Vector2(Main.RandomRange(0f - x, x), 0f);
List<BulletData> list8 = bullets;
BulletData bulletData3 = list8[list8.Count - 1];
List<BulletData> list9 = bullets;
float num = list9[list9.Count - 1].startP.X;
List<BulletData> list10 = bullets;
bulletData3.midP = new Vector2(Mathf.Lerp(num, list10[list10.Count - 1].targetP.X, 0.5f), BattleDR.current.activeBoard.boardSize.Y / 1.75f);
}
}

View File

@ -1 +0,0 @@
uid://djc4mp7a0mhd

View File

@ -1,131 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Bullets/AxisSphere.cs")]
public partial class AxisSphere : Node2D
{
public partial class Sphere
{
public AxisSphereSphere obj;
public Area2D area;
public bool inside;
}
[Export(PropertyHint.None, "")]
private Node2D sphere;
private List<Sphere> spheres = new List<Sphere>();
private Entity entity;
private float cd;
private bool weak;
private bool done;
private Coroutine shoot;
private Rect2 rect;
private const float spd = 1.1f;
public override void _EnterTree()
{
rect = new Rect2(base.GlobalPosition, BattleDR.current.activeBoard.boardSize * 0.9f);
entity = BattleDR.current.enemies[0].entity;
weak = entity.battleData.HPPercent() <= 0.5f || entity.battleData.spare >= 50;
entity.Modulate = Main.colorWhite;
if (weak)
{
BattleDR.current.activeBoard.timer *= 1.35f;
}
}
public override void _Process(double delta)
{
if (done)
{
return;
}
Coroutine coroutine = shoot;
if (coroutine == null || coroutine.done)
{
if (cd > 0f)
{
cd -= Main.deltaTime;
}
else
{
shoot = Coroutine.Start(Shoot());
}
}
}
private IEnumerator Shoot()
{
Audio.PlaySound("snd_electric_talk.wav");
entity.anim.Play("Shoot1");
for (float a = 0f; a < 30f; a += Main.deltaTime)
{
yield return null;
}
Audio.PlaySound("snd_swing.wav");
entity.anim.Play("Shoot2");
for (float a = 0f; a < 7f; a += Main.deltaTime)
{
yield return null;
}
NewSphere(spheres.Count > 0);
for (float a = 0f; a < 20f; a += Main.deltaTime)
{
yield return null;
}
if (spheres.Count == ((!weak) ? 1 : 2))
{
done = true;
}
else
{
cd = 25f;
}
entity.anim.Play("Idle");
}
private void SphereHit(Node other)
{
Audio.PlaySound("snd_ceroba_shield_impact.wav", 1f, 0.9f);
spheres[0].obj.speed = -spheres[0].obj.GlobalPosition.DirectionTo(spheres[1].obj.GlobalPosition);
spheres[1].obj.speed = -spheres[1].obj.GlobalPosition.DirectionTo(spheres[0].obj.GlobalPosition);
}
private void NewSphere(bool blue = false)
{
AxisSphereSphere axisSphereSphere = (AxisSphereSphere)BattleDR.NewBullet(in this.sphere, entity.GlobalPosition + new Vector2(-10f, -35f), this);
Sphere sphere = new Sphere
{
obj = axisSphereSphere,
area = axisSphereSphere.GetChild<Area2D>(0)
};
sphere.area.BodyEntered += axisSphereSphere.WallHit;
axisSphereSphere.data = sphere;
if (spheres.Count == 0)
{
sphere.area.AreaEntered += SphereHit;
}
spheres.Add(sphere);
axisSphereSphere.speed = Vector2.Left.Rotated(Mathf.DegToRad(Main.RandomRange(-25, 25))) * 1.1f * ((!blue) ? 1.2f : 1f);
if (blue)
{
axisSphereSphere.Modulate = Main.colorCyan;
axisSphereSphere.type = IBullet.Type.Blue;
}
}
}

View File

@ -1 +0,0 @@
uid://beqn0eh2v8ggf

View File

@ -1,37 +0,0 @@
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Bullets/AxisSphereSphere.cs")]
public partial class AxisSphereSphere : MoveAhead
{
public AxisSphere.Sphere data;
public void WallHit(Node other)
{
if (!other.HasMeta("Side"))
{
return;
}
if (!data.inside)
{
data.inside = true;
return;
}
Audio.PlaySound("snd_impact_ch1.wav", 1f, 1.1f);
switch ((DWMenu.BoardSides)(int)other.GetMeta("Side"))
{
case DWMenu.BoardSides.Up:
case DWMenu.BoardSides.Down:
speed = new Vector2(speed.X, 0f - speed.Y);
break;
case DWMenu.BoardSides.Left:
case DWMenu.BoardSides.Right:
speed = new Vector2(0f - speed.X, speed.Y);
break;
}
}
}

View File

@ -1 +0,0 @@
uid://dq2ph5tywlk8v

View File

@ -1,69 +0,0 @@
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Bullets/AxisSpin.cs")]
public partial class AxisSpin : Node2D
{
[Export(PropertyHint.None, "")]
private Node2D[] bullet;
[Export(PropertyHint.None, "")]
private AudioStream sound;
private float cd = 30f;
private float current;
private int z;
private const float time = 150f;
private Entity entity;
public override void _EnterTree()
{
entity = BattleDR.current.enemies[0].entity;
entity.Modulate = Main.colorWhite;
entity.anim.Play("SpinAtk");
z = entity.ZIndex;
entity.ZIndex = 4000;
}
public override void _Process(double delta)
{
float s = Mathf.DegToRad(Mathf.Lerp(0f, 360f, current / 150f));
entity.GlobalPosition = entity.GlobalPosition.Lerp(base.GlobalPosition + new Vector2(Mathf.Cos(s) * BattleDR.current.activeBoard.boardSize.X, Mathf.Sin(s) * (BattleDR.current.activeBoard.boardSize.Y / 1.25f) + 20f), Main.deltaTime * 0.1f);
current = Main.Repeat(current + Main.deltaTime, 150f);
if (cd <= 0f)
{
Audio.PlaySound(sound, 1f, 1.1f);
for (int i = 0; i < 2; i++)
{
MoveAhead moveAhead = (MoveAhead)BattleDR.NewBullet(in bullet[Main.RandomRange(0, bullet.Length - 1)], entity.GlobalPosition + Vector2.Up * 16f, this);
if (i == 0)
{
moveAhead.speed = moveAhead.GlobalPosition.DirectionTo(BattleDR.current.soul.GlobalPosition) * 0.7f;
continue;
}
moveAhead.speed = Vector2.Up.Rotated(Mathf.DegToRad(Main.RandomRange(0, 360))) * 1f;
moveAhead.Scale *= 0.75f;
moveAhead.lifeTime *= 0.5f;
}
cd = Main.RandomRange(20, 40);
}
else
{
cd -= Main.deltaTime;
}
}
public override void _ExitTree()
{
entity.anim.Play("Idle");
entity.ZIndex = z;
}
}

View File

@ -1 +0,0 @@
uid://dv42yuje8vn1c

View File

@ -1,57 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Bullets/BasicGravity.cs")]
public partial class BasicGravity : Node2D, IBullet
{
[Export(PropertyHint.None, "")]
public Vector2 direction;
[Export(PropertyHint.None, "")]
public Vector2 gravity = new Vector2(0f, 0.05f);
[Export(PropertyHint.None, "")]
public float time = -100f;
[Export(PropertyHint.None, "")]
public float rotate;
public bool grazed { get; set; }
public Node2D node { get; set; }
[Export(PropertyHint.None, "")]
public int HP { get; set; } = 1;
public AnimationPlayer anim { get; set; }
public BulletGenerator generatedFrom { get; set; }
[Export(PropertyHint.None, "")]
public IBullet.Type type { get; set; }
public Action<Node> onShot { get; set; }
public override void _Process(double delta)
{
if (time > -50f)
{
time -= Main.deltaTime;
if (time <= 0f)
{
QueueFree();
}
}
if (rotate != 0f)
{
base.RotationDegrees += rotate * Main.deltaTime;
}
direction += gravity * Main.deltaTime;
base.GlobalPosition += direction * Main.deltaTime;
}
}

View File

@ -1 +0,0 @@
uid://cxwy6r4gajaq2

View File

@ -1,66 +0,0 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using Godot;
using Godot.Bridge;
using Godot.Collections;
using Godot.NativeInterop;
[GlobalClass]
[ScriptPath("res://Scripts/Data/BattleBlurbs.cs")]
public partial class BattleBlurbs : Resource
{
[Export(PropertyHint.None, "")]
public bool cant;
[Export(PropertyHint.None, "")]
public int turn = -1;
[Export(PropertyHint.None, "")]
public int lastAct = -1;
[Export(PropertyHint.None, "")]
public int weight = 1;
[Export(PropertyHint.None, "")]
public int bulletBoardID = -1;
[Export(PropertyHint.None, "")]
public int overrideIndex = -1;
[Export(PropertyHint.None, "")]
public float hpPercent = -1f;
[Export(PropertyHint.None, "")]
public Vector2 size = new Vector2(55f, 32f);
[Export(PropertyHint.None, "")]
public Vector2 offset = new Vector2(-15f, 0f);
[ExportSubgroup("Flags", "")]
[Export(PropertyHint.None, "")]
public Array<StringName> internalNeed;
[Export(PropertyHint.None, "")]
public Array<StringName> internalLimit;
[Export(PropertyHint.None, "")]
public Array<StringName> battleNeed;
[Export(PropertyHint.None, "")]
public Array<StringName> battleLimit;
public bool Can(Battlers caller)
{
if (!cant && (turn <= -1 || BattleDR.current.turn == turn) && (hpPercent <= 0f || caller.HPPercent() <= hpPercent) && (lastAct <= -1 || caller.lastestAct.Contains(lastAct)) && (bulletBoardID <= -1 || bulletBoardID == BattleDR.current.lastBoard) && (internalNeed == null || internalNeed.Count == 0 || internalNeed.All((StringName x) => caller.internalFlags.Contains(x))) && (internalLimit == null || internalLimit.Count == 0 || !internalLimit.All((StringName x) => caller.internalFlags.Contains(x))) && (battleNeed == null || battleNeed.Count == 0 || battleNeed.All((StringName x) => BattleDR.current.tempFlags.Contains(x))))
{
if (battleLimit != null && battleLimit.Count != 0)
{
return !battleLimit.All((StringName x) => BattleDR.current.tempFlags.Contains(x));
}
return true;
}
return false;
}
}

View File

@ -1 +0,0 @@
uid://dminjgamfoxlb

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
uid://bs0gycxghi731

View File

@ -1,14 +0,0 @@
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[GlobalClass]
[ScriptPath("res://Scripts/Resources/BattleData.cs")]
public partial class BattleData : Resource
{
[Export(PropertyHint.None, "")]
public Battlers[] enemies;
}

View File

@ -1 +0,0 @@
uid://cefh6fj2ylnee

View File

@ -1,8 +0,0 @@
using System.ComponentModel;
using Godot;
using Godot.Bridge;
[ScriptPath("res://Scripts/Battle/BattleUT.cs")]
public partial class BattleUT : Node
{
}

View File

@ -1 +0,0 @@
uid://bqlqaq6on6j3n

View File

@ -1,343 +0,0 @@
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.Collections;
using Godot.NativeInterop;
[GlobalClass]
[ScriptPath("res://Scripts/Data/Battlers.cs")]
public partial class Battlers : Resource, BattleStats
{
[Export(PropertyHint.None, "")]
public string name;
[Export(PropertyHint.None, "")]
public Array<int> partyAction = new Array<int> { 0 };
[Export(PropertyHint.None, "")]
public Array<Acts.IDs> acts;
[Export(PropertyHint.None, "")]
public Vector2 center = new Vector2(0f, -16f);
[Export(PropertyHint.None, "")]
public Vector2 positionOffset;
[Export(PropertyHint.None, "")]
public Vector2 defaultBubbleSize;
[Export(PropertyHint.None, "")]
public Vector2 cageSize = Vector2.One;
[Export(PropertyHint.None, "")]
public Acts.IDs callEventOnDefeat = Acts.IDs.None;
[Export(PropertyHint.None, "")]
public Acts.IDs callOnFullMercy = Acts.IDs.None;
[Export(PropertyHint.None, "")]
public Acts.IDs callEventOnExecution = Acts.IDs.None;
[Export(PropertyHint.None, "")]
public bool isOutlaw;
[Export(PropertyHint.None, "")]
public bool noMercy;
[Export(PropertyHint.None, "")]
public bool spareMax;
[Export(PropertyHint.None, "")]
public bool dontFlee;
[Export(PropertyHint.None, "")]
public float resistArrest = -1f;
[Export(PropertyHint.None, "")]
public int hasSpecial = -1;
[Export(PropertyHint.None, "")]
public BulletConds[] bulletBoards;
[Export(PropertyHint.None, "")]
public string diagSound;
[Export(PropertyHint.None, "")]
public int[] blurbOrder;
[Export(PropertyHint.None, "")]
public int[] randomBlurbs;
[Export(PropertyHint.None, "")]
public Array<Array<Variant>> animOverrides;
public int[] atkMod;
public int[] defMod;
public float bulletSpeedMod = 1f;
public HashSet<StringName> internalFlags = new HashSet<StringName>();
public Coroutine animRoutine;
public Entity.IDs id;
public Entity.Animations defaultIdle = Entity.Animations.BattleIdle;
public bool acted;
public bool enemy;
public bool doMagicMenu;
public bool fleeing;
public bool skipAttack;
public bool lockAnim;
public StringName splitPart;
public int[] selectedAction;
public SaveFile.Flags partyFlag;
public int spare;
public int internalID;
public int posID;
public int actFrame;
public int blurbOverride = -1;
public int title;
public int MAGIC;
public int hpLastTurn;
public int blurbCount;
public List<int> lastestAct = new List<int>();
public Vector2 atkPartOffset;
public Vector2 startPos;
public StringName hitPart = "KanakoHit";
public Texture2D weaponIcon;
public Entity entity;
public Entity oEntity;
private static readonly StringName specialString = "Special";
[Export(PropertyHint.None, "")]
public BattleBlurbs[] blurbs;
[Export(PropertyHint.None, "")]
public int HP { get; set; } = 100;
[Export(PropertyHint.None, "")]
public int MAXHP { get; set; } = 100;
[Export(PropertyHint.None, "")]
public int ATK { get; set; } = 25;
[Export(PropertyHint.None, "")]
public int DEF { get; set; } = 10;
[Export(PropertyHint.None, "")]
public int LV { get; set; }
[Export(PropertyHint.None, "")]
public int MONEY { get; set; }
public int ATKBONUS { get; set; }
public int HPBONUS { get; set; }
public int DEFBONUS { get; set; }
public int[] EQUIP { get; set; } = new int[3] { -1, -1, -1 };
public bool CanAct()
{
if (HP > 0)
{
return !acted;
}
return false;
}
public float HPPercent()
{
return (float)HP / (float)MAXHP;
}
public Vector2 GetCenter()
{
return entity.sprite.RegionRect.Size.Y / 2f * Vector2.Up;
}
public bool HasEquip(Items.IDs[] equip)
{
bool flag = false;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < equip.Length; j++)
{
if (EQUIP[i] == (int)equip[j])
{
flag = true;
break;
}
if (flag)
{
break;
}
}
}
if (!flag)
{
return false;
}
return true;
}
public float GetProgress()
{
return Mathf.Max(1f - HPPercent(), (float)spare / 100f);
}
public bool CanSpare()
{
if (noMercy)
{
return false;
}
if (spare < 95)
{
if (!spareMax)
{
return HPPercent() < 0.2f;
}
return false;
}
return true;
}
public bool CanSpecial()
{
if (hasSpecial > -1 && (spare >= 80 || HPPercent() <= 0.2f))
{
HashSet<StringName> hashSet = internalFlags;
if (hashSet == null)
{
return false;
}
return !hashSet.Contains(specialString);
}
return false;
}
public void AddBonus(bool increaseLV = false)
{
ATKBONUS += 5;
HPBONUS += 10;
HP += 10;
DEFBONUS += 5;
if (increaseLV)
{
LV++;
}
}
public void Heal(int amt = -1, bool playSound = true)
{
if (amt == -1)
{
HP = MAXHP;
}
else
{
HP = Mathf.Clamp(HP + amt, 0, MAXHP);
}
if (playSound)
{
Audio.PlaySound("snd_power.wav");
}
}
public void Delete()
{
entity?.QueueFree();
Dispose();
}
public void SetTitle()
{
if (LV == 0)
{
LV = 1;
}
switch (id)
{
case Entity.IDs.Clover:
if (SaveFile.HasFlag(SaveFile.Flags.WeirdStart))
{
title = 5;
}
else if (SaveFile.HasFlag(SaveFile.Flags.AteMoss))
{
title = 4;
}
else if (SaveFile.HasFlag(SaveFile.Flags.WardenExposited))
{
title = 3;
}
else
{
title = 0;
}
break;
case Entity.IDs.Kanako:
if (SaveFile.HasFlag(SaveFile.Flags.WeirdStart))
{
title = 6;
}
else if (SaveFile.HasFlag(SaveFile.Flags.WardenExposited))
{
title = 7;
}
else
{
title = 1;
}
break;
case Entity.IDs.Axis:
if (SaveFile.HasFlag(SaveFile.Flags.AxisTrashEvent))
{
title = 8;
}
else
{
title = 2;
}
break;
case Entity.IDs.Melody:
title = 0;
break;
case Entity.IDs.June:
title = 1;
break;
}
}
}

View File

@ -1 +0,0 @@
uid://dpob8slsd3d78

View File

@ -1,610 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Events/BearFortDuoMinigame.cs")]
public partial class BearFortDuoMinigame : EventCaller
{
public partial class Balls
{
public Sprite2D obj;
public BearFortDuoMinigame parent;
public Vector2 target;
public Vector2 mid;
public Vector2 start;
public float time;
private Area2D area;
private bool delete;
private float current;
public void Start()
{
BearFortDuoMinigame bearFortDuoMinigame = parent;
Sprite2D obj = new Sprite2D
{
Texture = parent.ball.Texture,
Position = parent.baller.Position + new Vector2(20f, -50f)
};
Sprite2D node = obj;
this.obj = obj;
bearFortDuoMinigame.AddChild(node, forceReadableName: false, InternalMode.Disabled);
time = Main.RandomRange(180, 300);
start = this.obj.GlobalPosition;
if (Main.RandomRange(0, 10) < 2)
{
target = new Vector2(parent.kanako.GlobalPosition.X, 30f);
}
else
{
target = new Vector2(Main.RandomRange(-170, -72), 30f);
}
mid = new Vector2(target.X, -550f);
this.obj.AddChild(area = new Area2D
{
CollisionLayer = 4u,
CollisionMask = 4u
}, forceReadableName: false, InternalMode.Disabled);
area.AddChild(new CollisionShape2D
{
Shape = new CircleShape2D()
}, forceReadableName: false, InternalMode.Disabled);
area.SetMeta(parent.ballTag, this.obj);
}
public void Delete()
{
delete = true;
current = 0f;
area.SetDeferred("monitorable", false);
area.SetDeferred("monitoring", false);
}
public void Update()
{
if (delete)
{
if (current < 30f)
{
current += Main.deltaTime;
obj.Modulate = Main.colorWhite.Lerp(Main.colorClear, current / 30f);
obj.Scale = Vector2.One.Lerp(Vector2.One * 1.2f, current / 30f);
}
else
{
parent.balls.Remove(this);
obj.QueueFree();
}
}
else
{
obj.GlobalPosition = Common.Beizier(start, mid, target, current / time);
current += Main.deltaTime;
obj.RotationDegrees += Main.deltaTime;
if (current >= time)
{
Delete();
}
}
}
}
[Export(PropertyHint.None, "")]
private RichTextLabel indicator;
[Export(PropertyHint.None, "")]
private RichTextLabel help;
[Export(PropertyHint.None, "")]
private Sprite2D ball;
[Export(PropertyHint.None, "")]
private Sprite2D shootLine;
[Export(PropertyHint.None, "")]
private Entity baller;
[Export(PropertyHint.None, "")]
private Node2D[] kPoints;
[Export(PropertyHint.None, "")]
private Node2D[] cPoints;
[Export(PropertyHint.None, "")]
private Area2D[] collider;
[Export(PropertyHint.None, "")]
private Node2D ballerMove;
[Export(PropertyHint.None, "")]
private Node2D camPos;
[Export(PropertyHint.None, "")]
private Node2D pencil;
[Export(PropertyHint.None, "")]
private Node2D bridge;
[Export(PropertyHint.None, "")]
private Node2D penceller;
[Export(PropertyHint.None, "")]
private Node2D bridgeBlocker;
public Entity player;
public Entity kanako;
private int state = -1;
private int lives;
private int score;
private float cd;
private float iframes;
private float pencilCD;
private Coroutine shoot;
private Coroutine tossing;
private Vector2 ballerpos;
private int[] pos = new int[2];
private static readonly Dictionary<int, int> count = new Dictionary<int, int>
{
{ 2, 3 },
{ 3, 2 },
{ 4, 1 }
};
private List<Balls> balls = new List<Balls>();
public const float height = -300f;
private readonly Vector2 colOffset = new Vector2(0f, -20f);
public readonly StringName ballTag = "BBall";
public void StartEvent()
{
Main.inEvent = Coroutine.Start(BBallTalk());
}
public IEnumerator BBallTalk()
{
if (SaveFile.HasFlag(SaveFile.Flags.BBallPity2) && !SaveFile.HasFlag(SaveFile.Flags.BBallPitied))
{
SaveFile.AddFlag(SaveFile.Flags.BBallPitied);
Room.current.eventPointers[0].QueueFree();
TextSystem.GetText("BBallPity");
SaveFile.AddFlag(SaveFile.Flags.BearFortLeftMinigame);
while (TextSystem.instance.Visible)
{
yield return null;
}
Coroutine w = Coroutine.Start(BridgeOpen());
while (!w.done)
{
yield return null;
}
yield break;
}
if (!SaveFile.HasFlag(SaveFile.Flags.BBallTalk1))
{
TextSystem.GetText("BearFortBBall1");
while (TextSystem.instance.Visible)
{
yield return null;
}
if (!SaveFile.HasFlag(SaveFile.Flags.WeirdStart) && TextSystem.lastPrompt == 0)
{
yield break;
}
}
else if (!SaveFile.HasFlag(SaveFile.Flags.BBallTalk2))
{
TextSystem.GetText("BBallTalk1.5");
while (TextSystem.instance.Visible)
{
yield return null;
}
if (TextSystem.lastPrompt == 0)
{
yield break;
}
}
else
{
if (SaveFile.HasFlag(SaveFile.Flags.BearFortLeftMinigame))
{
TextSystem.GetText("BBallAfter");
while (TextSystem.instance.Visible)
{
yield return null;
}
yield break;
}
TextSystem.GetText("BBallRepeat");
while (TextSystem.instance.Visible)
{
yield return null;
}
if (TextSystem.lastPrompt == 1)
{
yield break;
}
}
StartGame();
}
private void StartGame()
{
SaveFile.AddFlag(SaveFile.Flags.BBallPlayedOnce);
SaveFile.AddFlag(SaveFile.Flags.BBallTalk2);
state = 0;
pos[0] = 1;
score = 0;
lives = 3;
pencilCD = 150f;
help.Text = "[center][color=gray]" + Texts.FindDiag("BBallInstructions")[0].text;
pos[1] = 1;
ballerpos = baller.GlobalPosition;
player = Player.instance;
kanako = Player.instance.followers[0];
kanako.anim.Play(SaveFile.HasFlag(SaveFile.Flags.WeirdStart) ? "Stand" : "Surprise");
kanako.sprite.FlipH = true;
player.sprite.FlipH = true;
baller.sprite.FlipH = true;
baller.anim.Play("Idle");
player.anim.Play("BattleIdle");
CameraController.instance.follow = null;
kanako.doTrail = true;
player.doTrail = true;
Audio.PlaySound("snd_weaponpull.wav");
}
public override void _Process(double delta)
{
if (cd > 0f)
{
cd -= Main.deltaTime;
}
if (iframes > 0f)
{
iframes -= Main.deltaTime;
}
switch (state)
{
case 0:
Audio.ChangeMusic(null);
cd = 60f;
state = 1;
break;
case 1:
if (cd <= 0f)
{
help.Visible = true;
Room.current.DoMusic(1);
IndicatorCD();
}
break;
case 2:
case 3:
case 4:
case 5:
if (cd <= 0f)
{
IndicatorCD();
}
break;
case 6:
{
if (!Audio.music.Playing)
{
Main.inEvent = Coroutine.Start(End(score >= 10));
return;
}
if (pencilCD > 0f)
{
pencilCD -= Main.deltaTime;
if (pencil.Visible)
{
pencil.GlobalPosition += Vector2.Right * Main.deltaTime * 2f;
}
}
else
{
Audio.PlaySound("snd_arrow.wav");
Main.SetActive(pencil, state: true);
pencil.GlobalPosition = new Vector2(-300f, player.GlobalPosition.Y - 16f);
pencilCD = Main.RandomRange(180, 250);
}
if (help.Visible)
{
help.Visible = false;
shootLine.Visible = true;
}
if (shoot == null || shoot.done)
{
if (Input.IsActionJustPressed(Main.keys[4]))
{
shoot = Coroutine.Start(Shoot());
}
if (Input.IsActionJustPressed(Main.keys[0]))
{
if (pos[0] > 0)
{
pos[0]--;
}
}
else if (Input.IsActionJustPressed(Main.keys[1]) && pos[0] < 2)
{
pos[0]++;
}
}
if (Input.IsActionJustPressed(Main.keys[2]))
{
if (pos[1] > 0)
{
pos[1]--;
}
}
else if (Input.IsActionJustPressed(Main.keys[3]) && pos[1] < 2)
{
pos[1]++;
}
if (cd <= 0f && (tossing == null || tossing.done))
{
tossing = Coroutine.Start(TossBall());
}
for (int num = balls.Count - 1; num >= 0; num--)
{
balls[num].Update();
}
break;
}
}
if (state > -1)
{
Player.instance.canInput = false;
CameraController.instance.GlobalPosition = CameraController.instance.GlobalPosition.Lerp(camPos.GlobalPosition, 0.2f * Main.deltaTime);
kanako.GlobalPosition = kanako.GlobalPosition.Lerp(kPoints[pos[1]].GlobalPosition, 0.2f * Main.deltaTime);
player.GlobalPosition = player.GlobalPosition.Lerp(cPoints[pos[0]].GlobalPosition, 0.2f * Main.deltaTime);
baller.GlobalPosition = baller.GlobalPosition.Lerp(ballerMove.GlobalPosition, 0.2f * Main.deltaTime);
collider[0].GlobalPosition = kanako.GlobalPosition + colOffset;
collider[1].GlobalPosition = player.GlobalPosition + colOffset;
shootLine.GlobalPosition = new Vector2(shootLine.GlobalPosition.X, player.GlobalPosition.Y - 16f);
}
}
private IEnumerator Shoot()
{
bool hit = false;
player.anim.Play("AttackReady");
for (float a = 0f; a < 7f; a += Main.deltaTime)
{
yield return null;
}
for (int i = 0; i < balls.Count; i++)
{
if (balls[i].obj.GlobalPosition.X > -170f && Mathf.Abs(balls[i].obj.GlobalPosition.Y - shootLine.GlobalPosition.Y) < 17f)
{
Audio.PlaySound("snd_bomb.wav");
balls[i].Delete();
score++;
indicator.Text = score.ToString().PadLeft(2, '0');
hit = true;
break;
}
}
if (!hit)
{
Audio.PlaySound("snd_curtgunshot.ogg");
BattleDR.ShowFloatingText("MISS", player.GlobalPosition);
}
for (float a = 0f; a < 25f; a += Main.deltaTime)
{
yield return null;
}
player.anim.Play("BattleIdle");
}
private IEnumerator End(bool won = false)
{
Main.SetActive(pencil, state: false);
shootLine.Visible = false;
Coroutine coroutine = tossing;
if (coroutine != null && !coroutine.done)
{
Coroutine.Stop(tossing);
}
Coroutine coroutine2 = shoot;
if (coroutine2 != null && !coroutine2.done)
{
Coroutine.Stop(shoot);
}
Audio.ChangeMusic(null);
state = -1;
for (int num = balls.Count - 1; num >= 0; num--)
{
balls[num].Delete();
}
if (won)
{
Audio.PlaySound("snd_won.wav");
}
else
{
Audio.PlaySound("snd_error.wav");
}
baller.anim.Play("Idle");
while (balls.Count > 0)
{
for (int num2 = balls.Count - 1; num2 >= 0; num2--)
{
balls[num2].Update();
}
yield return null;
}
player.LookAt(baller.GlobalPosition);
player.UpdateAnim(force: true);
kanako.LookAt(baller.GlobalPosition);
kanako.UpdateAnim(force: true);
if (won)
{
TextSystem.GetText("BBallWon");
SaveFile.AddFlag(SaveFile.Flags.BearFortLeftMinigame);
while (TextSystem.instance.Visible)
{
yield return null;
}
Coroutine w = Coroutine.Start(BridgeOpen());
while (w.done)
{
yield return null;
}
}
else
{
SaveFile.AddFlag(SaveFile.Flags.BBallKanakoTalk1);
if (!SaveFile.HasFlag(SaveFile.Flags.BBallPity1))
{
TextSystem.GetText("BBallLost");
SaveFile.AddFlag(SaveFile.Flags.BBallPity1);
}
else if (!SaveFile.HasFlag(SaveFile.Flags.BBallPity2))
{
TextSystem.GetText("BBallLost2");
SaveFile.AddFlag(SaveFile.Flags.BBallPity2);
}
while (TextSystem.instance.Visible)
{
yield return null;
}
}
Coroutine c = Coroutine.Start(CameraController.PanToObj(kanako));
while (!c.done)
{
baller.GlobalPosition = baller.GlobalPosition.Lerp(ballerpos, 0.1f * Main.deltaTime);
yield return null;
}
if (won)
{
penceller.GlobalPosition = new Vector2(-300f, -100f);
}
indicator.Text = "";
Room.current.DoMusic();
baller.Position = ballerpos;
}
private IEnumerator BridgeOpen()
{
Audio.PlaySound("snd_shadowpendant_ch1.wav");
Main.SetActive(bridge, state: true);
for (float a = 0f; a < 60f; a += Main.deltaTime)
{
bridge.Modulate = Main.colorClear.Lerp(Main.colorWhite, a / 60f);
yield return null;
}
bridgeBlocker.QueueFree();
SaveFile.AddFlag(SaveFile.Flags.BBallKanakoTalk1);
SaveFile.AddFlag(SaveFile.Flags.BBallKanakoTalk2);
}
public void KanakoHit(Node other)
{
if ((!other.HasMeta(ballTag) && other.GetParent() != pencil) || !(iframes <= 0f))
{
return;
}
iframes = 30f;
Audio.PlaySound("snd_hurt1.wav");
CameraController.Shake(10f);
bool flag = false;
for (int i = 0; i < balls.Count; i++)
{
if (other.GetParent() == balls[i].obj)
{
balls[i].Delete();
flag = true;
break;
}
}
if (flag)
{
BattleDR.ShowFloatingText("-1", kanako.GlobalPosition);
kanako.Shake(10f, 1f);
}
else
{
BattleDR.ShowFloatingText("-1", player.GlobalPosition);
player.Shake(10f, 1f);
}
lives--;
if (score > 0)
{
score--;
indicator.Text = score.ToString().PadLeft(2, '0');
}
}
public IEnumerator TossBall()
{
cd = Main.RandomRange(80, 120);
baller.anim.Play("TossReady");
baller.Shake(Main.RandomRange(20, 40), 1f);
while (baller.shake > 0f)
{
yield return null;
}
baller.anim.Play("TossDo");
balls.Add(new Balls
{
parent = this
});
List<Balls> list = balls;
list[list.Count - 1].Start();
for (float a = 0f; a < 30f; a += Main.deltaTime)
{
yield return null;
}
baller.anim.Play("Idle");
}
private void IndicatorCD()
{
player.doTrail = false;
kanako.doTrail = false;
state++;
if (state == 5)
{
cd = 60f;
indicator.Text = "GO";
}
else if (state == 6)
{
indicator.Text = "00";
}
else
{
cd = 60f;
indicator.Text = "0" + count[state];
}
}
}

View File

@ -1 +0,0 @@
uid://s4wyrur04jfq

View File

@ -1,129 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Bullets/BearingCart.cs")]
public partial class BearingCart : Node2D
{
[Export(PropertyHint.None, "")]
private Node2D cartBase;
[Export(PropertyHint.None, "")]
private Node2D entityPos;
[Export(PropertyHint.None, "")]
private Node2D cartPos;
private Entity entity;
private int amt;
private int state;
private float delay;
private float cartSpeed;
private bool allDone;
private const float fallTime = 35f;
private Coroutine routine;
private List<Node2D> carts = new List<Node2D>();
public override void _EnterTree()
{
entity = BattleDR.current.enemies[0].entity;
entity.Modulate = Main.colorWhite;
entity.GlobalPosition = entityPos.GlobalPosition;
float progress = entity.battleData.GetProgress();
amt = ((progress > 0.5f) ? 5 : 3);
delay = ((progress > 0.5f) ? 20 : 40);
cartSpeed = ((progress > 0.5f) ? 2.75f : 2f);
}
public override void _Process(double delta)
{
BattleDR.current.activeBoard.timer = 999999f;
for (int num = carts.Count - 1; num >= 0; num--)
{
carts[num].GlobalPosition += Vector2.Left * Main.deltaTime * cartSpeed;
if (carts[num].Position.X < -200f)
{
carts[num].QueueFree();
carts.RemoveAt(num);
}
}
if (!GodotObject.IsInstanceValid(BattleDR.current.activeBoard))
{
QueueFree();
}
else
{
if (routine != null && !routine.done)
{
return;
}
if (allDone)
{
if (carts.Count == 0)
{
BattleDR.current.activeBoard.timer = 0f;
}
}
else
{
routine = Coroutine.Start(CartPunch());
}
}
}
private IEnumerator CartPunch()
{
Vector2 cs = cartPos.GlobalPosition + Vector2.Up * 300f;
Node2D cart = BattleDR.NewBullet(in cartBase, cs, this);
int idx = Main.RandomRange(2, 4);
IBullet child = cart.GetChild<IBullet>(idx);
child.node.Modulate = Main.colorYellow;
child.type = IBullet.Type.Yellow;
Audio.PlaySound("snd_arrow.wav");
float a = 0f;
for (float b = 35f; a <= b; a += Main.deltaTime)
{
cart.GlobalPosition = cs.Lerp(cartPos.GlobalPosition, a / b);
yield return null;
}
cart.GlobalPosition = cartPos.GlobalPosition;
Audio.PlaySound("snd_bump_ch1.wav");
for (float b = 0f; b < 5f; b += Main.deltaTime)
{
yield return null;
}
Audio.PlaySound("snd_noise.wav").Bus = "Reverb";
entity.anim.Play("Punch0");
entity.Shake(delay);
while (entity.shake > 0f)
{
yield return null;
}
entity.anim.Play("Punch1");
Audio.PlaySound("snd_impact_ch1.wav");
CameraController.Shake();
carts.Add(cart);
for (float b = 0f; b < 20f; b += Main.deltaTime)
{
yield return null;
}
entity.anim.Play("Idle");
amt--;
if (amt <= 0)
{
allDone = true;
}
}
}

View File

@ -1 +0,0 @@
uid://c3wiml62s3wb3

View File

@ -1,197 +0,0 @@
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Bullets/BearingJump.cs")]
public partial class BearingJump : Node2D
{
[Export(PropertyHint.None, "")]
private Node2D bullet;
[Export(PropertyHint.None, "")]
private AudioStream jump;
[Export(PropertyHint.None, "")]
private AudioStream charge;
[Export(PropertyHint.None, "")]
private AudioStream impact;
[Export(PropertyHint.None, "")]
private float waitDelay = 30f;
[Export(PropertyHint.None, "")]
private float fallTime = 15f;
[Export(PropertyHint.None, "")]
private float bulletSpeedMod = 0.65f;
private Entity entity;
private Vector2 sp;
private Vector2 bp;
private int state;
private float cd;
private float wait;
private bool bul;
private Vector2[] pos;
private List<MoveAhead> bullets = new List<MoveAhead>();
private readonly StringName jumpAnim = "Fall";
private readonly StringName punchAnim = "Land";
private readonly StringName chargeAnim = "Charge";
private readonly Color glow = new Color(2.5f, 2.5f, 2.5f);
private readonly Vector2[] bspd = new Vector2[4]
{
new Vector2(0.7f, 1.7f),
new Vector2(-0.7f, 1.7f),
new Vector2(0.7f, -0.7f),
new Vector2(-0.7f, -0.7f)
};
private readonly Vector2 grav = new Vector2(0f, -0.02f);
public override void _EnterTree()
{
entity = BattleDR.current.enemies[0].entity;
entity.Modulate = Main.colorWhite;
sp = entity.GlobalPosition;
entity.doTrail = true;
bp = BattleDR.current.activeBoard.GlobalPosition;
entity.Reparent(this);
entity.CollisionLayer = 4u;
if (BattleDR.current.enemies[0].HPPercent() <= 0.5f || BattleDR.current.enemies[0].spare >= 50)
{
wait = fallTime * 2f;
waitDelay = Mathf.RoundToInt(waitDelay * 0.75f);
}
else
{
wait = fallTime * 3f;
}
}
public override void _ExitTree()
{
entity.doTrail = false;
entity.Modulate = Main.colorWhite;
entity.Reparent(BattleDR.current);
entity.shake = 0f;
entity.CollisionLayer = 1u;
}
public override void _Process(double delta)
{
for (int num = bullets.Count - 1; num >= 0; num--)
{
if (!GodotObject.IsInstanceValid(bullets[num]))
{
bullets.RemoveAt(num);
}
else
{
bullets[num].speed += grav * Main.deltaTime;
}
}
switch (state)
{
case 0:
if (pos == null)
{
pos = new Vector2[3]
{
entity.GlobalPosition,
new Vector2(BattleDR.current.soul.GlobalPosition.X, bp.Y - 55f),
Vector2.Zero
};
pos[2] = new Vector2(Mathf.Lerp(pos[0].X, pos[1].X, 0.5f), bp.Y - 80f);
Audio.PlaySound(jump);
entity.anim.Play(jumpAnim);
}
if (cd < 40f)
{
cd += Main.deltaTime;
entity.GlobalPosition = Common.Beizier(pos[0], pos[2], pos[1], cd / 40f);
break;
}
state = 1;
cd = 0f;
pos = new Vector2[2]
{
entity.GlobalPosition,
new Vector2(pos[1].X, bp.Y + BattleDR.current.activeBoard.boardSize.Y / 2f)
};
entity.Shake(waitDelay, 1f);
entity.anim.Play(chargeAnim);
Audio.PlaySound(charge);
break;
case 1:
if (cd < waitDelay)
{
cd += Main.deltaTime;
entity.Modulate = ((Common.SinOverTime(1.25f) > 0f) ? Main.colorWhite : glow);
break;
}
entity.Modulate = Main.colorWhite;
state = 2;
cd = 0f;
entity.anim.Play(punchAnim);
break;
case 2:
cd += Main.deltaTime;
if (cd <= fallTime)
{
entity.GlobalPosition = pos[0].Lerp(pos[1], cd / fallTime);
}
else if (cd < wait)
{
if (bul)
{
break;
}
entity.GlobalPosition = pos[1];
Audio.PlaySound(impact);
CameraController.Shake(15f, 2f);
entity.Shake(10f, 2f);
bul = true;
if (!(BattleDR.current.activeBoard.timer > 10f))
{
break;
}
for (int i = 0; i < 4; i++)
{
MoveAhead moveAhead = (MoveAhead)BattleDR.NewBullet(in bullet, entity.GlobalPosition + Vector2.Up * 32f, this);
moveAhead.speed = bspd[i] * bulletSpeedMod;
bullets.Add(moveAhead);
moveAhead.RotationDegrees = Main.RandomRange(0, 360);
if (bspd[i].X > 0f)
{
moveAhead.rotation *= -1f;
}
}
}
else
{
bul = false;
cd = 0f;
state = 0;
pos = null;
}
break;
}
}
}

View File

@ -1 +0,0 @@
uid://cjkjm3umwrw85

View File

@ -1,167 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Bullets/BearingPush.cs")]
public partial class BearingPush : Node2D
{
[Export(PropertyHint.None, "")]
private MoveAhead bullet;
[Export(PropertyHint.None, "")]
private Blank hitbox;
[Export(PropertyHint.None, "")]
private AnimationPlayer bite;
[Export(PropertyHint.None, "")]
private float pushSpd = 0.05f;
[Export(PropertyHint.None, "")]
private float bulletCD = 120f;
private Entity entity;
private bool weak;
private bool started;
private bool end;
private float cd;
private float pushing;
private float hitcd;
private float sporeCD;
private Vector2 start;
private Vector2 mid;
private Vector2 targetp;
private readonly Vector2 offset = new Vector2(20f, -40f);
private const float maxX = 120f;
private const float bulletAngle = 30f;
public override void _EnterTree()
{
entity = BattleDR.current.enemies[0].entity;
entity.Modulate = Main.colorWhite;
weak = entity.battleData.HPPercent() <= 0.5f || entity.battleData.spare >= 50;
if (weak)
{
pushSpd *= 1.1f;
bulletCD *= 0.75f;
hitbox.HP = Mathf.RoundToInt((float)hitbox.HP * 1.15f);
}
entity.Reparent(DWMenu.instance.bulletBoard);
cd = 30f;
Blank blank = hitbox;
blank.onShot = (Action<Node>)Delegate.Combine(blank.onShot, new Action<Node>(Shot));
start = entity.Position;
mid = start + Vector2.Right * 20f;
targetp = new Vector2(BattleDR.current.activeBoard.boardSize.X * 1.5f, BattleDR.current.activeBoard.boardSize.Y - 10f);
entity.anim.Play("Walk");
CallDeferred("reparent", DWMenu.instance);
}
public override void _Process(double delta)
{
if (!GodotObject.IsInstanceValid(BattleDR.current.activeBoard))
{
QueueFree();
return;
}
entity.Modulate = entity.Modulate.Lerp(Main.colorWhite, Main.deltaTime * 0.1f);
if (cd > 0f)
{
cd -= Main.deltaTime;
}
if (hitcd > 0f)
{
hitcd -= Main.deltaTime;
}
if (sporeCD > 0f)
{
sporeCD -= Main.deltaTime;
}
if (!started)
{
entity.Position = Common.Beizier(start, mid, targetp, 1f - cd / 30f);
if (cd <= 0f)
{
entity.Position = targetp;
Audio.PlaySound("snd_impact_ch1.wav");
entity.anim.Play("Push");
cd = bulletCD / 2f;
started = true;
}
return;
}
if (end)
{
entity.GlobalPosition = entity.GlobalPosition.Lerp(mid, Main.deltaTime * 0.1f);
return;
}
if (hitcd <= 0f && pushing > (0f - pushSpd) * 3f)
{
pushing -= pushSpd * Main.deltaTime * ((hitcd > 0f) ? 0.75f : 1f);
}
hitbox.GlobalPosition = entity.GlobalPosition;
BattleDR.current.activeBoard.timer = 100f;
if (DWMenu.instance.bulletBoard.Position.X > -120f && DWMenu.instance.bulletBoard.Position.X < 120f)
{
DWMenu.instance.bulletBoard.Position += Vector2.Right * pushing * Main.deltaTime;
}
if (cd <= 0f)
{
SpawnBullet();
}
}
public override void _ExitTree()
{
entity.Reparent(BattleDR.current);
}
private void SpawnBullet()
{
if (sporeCD <= 0f)
{
cd = bulletCD;
Node2D type = bullet;
MoveAhead obj = (MoveAhead)BattleDR.NewBullet(in type, entity.GlobalPosition + offset, this);
obj.speed = obj.speed.Rotated(Mathf.DegToRad(Main.RandomRange(-15f, 30f)));
obj.RotationDegrees = Main.RandomRange(0, 360);
sporeCD = 15f;
}
}
private void Shot(Node node)
{
entity.Modulate = Main.colorGlow;
if (hitcd <= 10f)
{
SpawnBullet();
}
hitcd = 20f;
if (((IBullet)node).HP <= 0)
{
end = true;
entity.anim.Play("Hurt");
bite.Play("Stop");
mid = entity.GlobalPosition + Vector2.Right * 40f;
entity.Modulate = Main.colorWhite;
entity.CallDeferred("reparent", BattleDR.current);
}
}
}

View File

@ -1 +0,0 @@
uid://5ph0qwmmk017

View File

@ -1,113 +0,0 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Bullets/BearingStuffing.cs")]
public partial class BearingStuffing : Node2D
{
[Export(PropertyHint.None, "")]
public Node2D bulletBase;
[Export(PropertyHint.None, "")]
private float cooldown = 40f;
[Export(PropertyHint.None, "")]
private float variance = 8f;
[Export(PropertyHint.None, "")]
private float tossSpd = 1f;
[Export(PropertyHint.None, "")]
private float angleVariance = 15f;
private float cd;
private Entity entity;
private Coroutine toss;
private List<MoveAhead> pool = new List<MoveAhead>();
private readonly StringName size = "Size";
public override void _EnterTree()
{
entity = BattleDR.current.enemies[0].entity;
entity.Modulate = Main.colorWhite;
cd = 5f;
}
private void SetCD()
{
cd = cooldown + Main.RandomRange(0f - variance, variance);
}
public override void _Process(double delta)
{
Coroutine coroutine = toss;
if ((coroutine == null || coroutine.done) && !(BattleDR.current.activeBoard.timer < 20f))
{
if (cd > 0f)
{
cd -= Main.deltaTime;
return;
}
SetCD();
toss = Coroutine.Start(Spawn(), this);
}
}
public void Break(Node node)
{
pool.RemoveAll((MoveAhead x) => !GodotObject.IsInstanceValid(x));
MoveAhead moveAhead = (MoveAhead)node;
if (moveAhead.HP != 1)
{
return;
}
int num = (int)moveAhead.GetMeta(size) - 1;
if (num <= 0)
{
return;
}
for (int num2 = 0; num2 < 2; num2++)
{
MoveAhead moveAhead2 = (MoveAhead)BattleDR.NewBullet(in bulletBase, moveAhead.GlobalPosition, this);
moveAhead2.homing = 0.015f;
moveAhead2.speed = ((num2 == 0) ? Vector2.Up : Vector2.Down) * 0.75f;
moveAhead2.Scale = moveAhead.Scale * 0.65f;
if (num > 1)
{
pool.Add(moveAhead2);
moveAhead2.onShot = (Action<Node>)Delegate.Combine(moveAhead2.onShot, new Action<Node>(Break));
moveAhead2.SetMeta(size, num);
}
else
{
moveAhead2.HP = 1;
}
}
moveAhead.QueueFree();
pool.Remove(moveAhead);
}
private IEnumerator Spawn()
{
entity.anim.Play("Stuffing1");
for (float a = 0f; a < 15f; a += Main.deltaTime)
{
yield return null;
}
Audio.PlaySound("snd_swing.wav");
MoveAhead moveAhead = (MoveAhead)BattleDR.NewBullet(in bulletBase, entity.GlobalPosition + new Vector2(-50f, -25f), this);
moveAhead.speed = Vector2.Left.Rotated(Mathf.DegToRad(Main.RandomRange(0f - angleVariance, angleVariance))) * tossSpd;
moveAhead.homing = 0.005f;
moveAhead.onShot = (Action<Node>)Delegate.Combine(moveAhead.onShot, new Action<Node>(Break));
pool.Add(moveAhead);
}
}

View File

@ -1 +0,0 @@
uid://o8tcsim42pph

View File

@ -1,137 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Bullets/BellCircleSwap.cs")]
public partial class BellCircleSwap : Node2D
{
[Export(PropertyHint.None, "")]
private MoveAhead bullet;
[Export(PropertyHint.None, "")]
private Blank hitbox;
[Export(PropertyHint.None, "")]
private AudioStream noise;
[Export(PropertyHint.None, "")]
private float time = 60f;
[Export(PropertyHint.None, "")]
private float variance = 5f;
[Export(PropertyHint.None, "")]
private float expansionRate = 1.025f;
private Entity entity;
private List<MoveAhead> bullets = new List<MoveAhead>();
private float cd;
private float shotCD;
private Vector2 offset;
private bool alter;
private bool anim;
public override void _EnterTree()
{
entity = BattleDR.current.enemies[0].entity;
hitbox.GlobalPosition = entity.GlobalPosition + new Vector2(0f, -32f);
Blank blank = hitbox;
blank.onShot = (Action<Node>)Delegate.Combine(blank.onShot, new Action<Node>(Shot));
offset = entity.GlobalPosition + new Vector2(0f, -40f);
if (BattleDR.current.enemies[0].HPPercent() <= 0.5f || BattleDR.current.enemies[0].spare >= 50)
{
time = 45f;
variance = 12f;
}
}
public override void _Process(double delta)
{
for (int i = 0; i < bullets.Count; i++)
{
if (GodotObject.IsInstanceValid(bullets[i]) && !bullets[i].IsQueuedForDeletion())
{
bullets[i].Scale *= expansionRate * Main.deltaTime;
if (bullets[i].ProcessMode == ProcessModeEnum.Disabled)
{
bullets[i]._Process(delta);
}
}
}
if (shotCD > 0f)
{
shotCD -= Main.deltaTime;
}
if (cd > 0f)
{
cd -= Main.deltaTime;
}
else if (BattleDR.current.activeBoard.timer > 40f)
{
Audio.PlaySound(noise);
bullets.RemoveAll((MoveAhead x) => !GodotObject.IsInstanceValid(x));
Node2D type = bullet;
MoveAhead item = (MoveAhead)BattleDR.NewBullet(in type, offset, this);
bullets.Add(item);
if (alter)
{
Alter(item);
}
else
{
alter = !alter;
}
entity.anim.Play(anim ? "Ring1" : "Ring2");
anim = !anim;
cd = time + Main.RandomRange(0f - variance, variance);
}
entity.Modulate = entity.Modulate.Lerp(Main.colorWhite, Main.deltaTime * 0.2f);
}
public void Shot(Node node)
{
if (shotCD > 0f)
{
return;
}
Audio.PlaySound(noise);
entity.Modulate = Main.colorGlow;
for (int i = 0; i < bullets.Count; i++)
{
if (GodotObject.IsInstanceValid(bullets[i]))
{
Alter(bullets[i]);
}
}
}
private void Alter(MoveAhead bullet)
{
if (bullet.ProcessMode == ProcessModeEnum.Inherit)
{
bullet.ProcessMode = ProcessModeEnum.Disabled;
bullet.Modulate = Main.colorDark;
}
else
{
bullet.ProcessMode = ProcessModeEnum.Inherit;
bullet.Modulate = Main.colorWhite;
}
alter = !alter;
}
public override void _ExitTree()
{
entity.Modulate = Main.colorWhite;
}
}

View File

@ -1 +0,0 @@
uid://cf3i1nx2fan3u

View File

@ -1,113 +0,0 @@
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Bullets/BellFall.cs")]
public partial class BellFall : Node2D
{
[Export(PropertyHint.None, "")]
private Node2D[] bullets;
[Export(PropertyHint.None, "")]
private AudioStream audio;
[Export(PropertyHint.None, "")]
private AudioStream hit;
[Export(PropertyHint.None, "")]
private float time = 50f;
[Export(PropertyHint.None, "")]
private float variance = 5f;
[Export(PropertyHint.None, "")]
private float pitchVar = 0.1f;
[Export(PropertyHint.None, "")]
private float playerChance = 20f;
[Export(PropertyHint.None, "")]
private float fallSpd = 0.8f;
[Export(PropertyHint.None, "")]
private int amt = 2;
private List<Blank> bulletObj = new List<Blank>();
private float cd;
private float limit;
private float soundCD;
public override void _EnterTree()
{
limit = BattleDR.current.activeBoard.boardSize.Y / 2f - 3f;
}
public override void _Process(double delta)
{
if (soundCD > 0f)
{
soundCD -= Main.deltaTime;
}
for (int num = bulletObj.Count - 1; num >= 0; num--)
{
bulletObj[num].Modulate = bulletObj[num].Modulate.Lerp(Main.colorWhite, Main.deltaTime * 0.25f);
bulletObj[num].GlobalPosition += Vector2.Down * fallSpd * Main.deltaTime;
if (bulletObj[num].Position.Y >= limit)
{
if (soundCD <= 0f)
{
Audio.PlaySound(hit);
soundCD = 5f;
}
BattleDR.NewBullet(in bullets[1], new Vector2(bulletObj[num].GlobalPosition.X, limit + base.GlobalPosition.Y), this);
bulletObj[num].QueueFree();
bulletObj.RemoveAt(num);
}
}
if (cd > 0f)
{
cd -= Main.deltaTime;
}
else
{
if (!(BattleDR.current.activeBoard.timer > 10f))
{
return;
}
cd = time + Main.RandomRange(0f - variance, variance);
Audio.PlaySound(audio, 1f, 1f + Main.RandomRange(0f - pitchVar, pitchVar));
for (int i = 0; i < amt; i++)
{
Vector2 pos = new Vector2(0f, base.GlobalPosition.Y - 80f);
int num2 = 0;
do
{
pos = ((i != 0 || !(playerChance > 0f) || !((float)Main.RandomRange(0, 100) <= playerChance)) ? new Vector2(base.GlobalPosition.X + Main.RandomRange(0f - BattleDR.current.activeBoard.boardSize.X, BattleDR.current.activeBoard.boardSize.X) / 2.15f, pos.Y) : new Vector2(BattleDR.current.soul.GlobalPosition.X, pos.Y));
num2++;
}
while (AnyClose(pos.X) && num2 < 10);
Blank blank = (Blank)BattleDR.NewBullet(in bullets[0], pos, this);
blank.Modulate = Main.colorClear;
bulletObj.Add(blank);
}
}
}
private bool AnyClose(float x)
{
for (int i = 0; i < bulletObj.Count; i++)
{
if (Mathf.Abs(x - bulletObj[i].GlobalPosition.X) < 15f)
{
return true;
}
}
return false;
}
}

View File

@ -1 +0,0 @@
uid://cvpr8tygny85j

View File

@ -1,85 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Bullets/BellShoot.cs")]
public partial class BellShoot : Node2D
{
[Export(PropertyHint.None, "")]
private MoveAhead bullet;
[Export(PropertyHint.None, "")]
private float time = 35f;
[Export(PropertyHint.None, "")]
private float variance = 8f;
[Export(PropertyHint.None, "")]
private float bulletSpeed = 0.9f;
[Export(PropertyHint.None, "")]
private AudioStream sound;
private Entity entity;
private Vector2 point;
private Vector2 start;
private float cd;
private bool anim;
private bool weak;
public override void _EnterTree()
{
entity = BattleDR.current.enemies[0].entity;
entity.Modulate = Main.colorWhite;
start = entity.GlobalPosition;
point = Vector2.Up * 40f;
weak = BattleDR.current.enemies[0].HPPercent() <= 0.5f || BattleDR.current.enemies[0].spare >= 50;
}
public override void _Process(double delta)
{
entity.GlobalPosition = entity.GlobalPosition.Lerp(start + Vector2.Up * Common.SinOverTime(0.15f) * 70f, Main.deltaTime * 0.15f);
if (cd > 0f)
{
cd -= Main.deltaTime;
}
else if (BattleDR.current.activeBoard.timer > 10f)
{
cd = time + Main.RandomRange(0f - variance, variance);
entity.anim.Play(anim ? "Ring1" : "Ring2");
anim = !anim;
Audio.PlaySound(sound);
Vector2 pos = entity.GlobalPosition + point;
Node2D type = bullet;
MoveAhead moveAhead = (MoveAhead)BattleDR.NewBullet(in type, pos, this);
moveAhead.speed = bulletSpeed * pos.DirectionTo(BattleDR.current.soul.GlobalPosition);
moveAhead.LookAt(BattleDR.current.soul.GlobalPosition);
moveAhead.RotationDegrees += 180f;
moveAhead.onShot = (Action<Node>)Delegate.Combine(moveAhead.onShot, new Action<Node>(Shot));
if (weak && Main.RandomRange(0, 100) <= 30)
{
moveAhead.Modulate = Main.colorWhite;
moveAhead.type = IBullet.Type.Normal;
}
}
}
public void Shot(Node node)
{
IBullet bullet = (IBullet)node;
if (bullet.HP > 0)
{
node.GetChild(3).GetChild(0).QueueFree();
Main.SetActive(node.GetChild<Node2D>(2 - bullet.HP), state: false);
}
}
}

View File

@ -1 +0,0 @@
uid://dblx6fgkgb1ny

View File

@ -1,110 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Envirioment/Bench.cs")]
public partial class Bench : Area2D, Interacteable
{
[Export(PropertyHint.None, "")]
private SaveFile.Flags flag = SaveFile.Flags.None;
[Export(PropertyHint.None, "")]
private AudioStream sound;
[Export(PropertyHint.None, "")]
private float volume = 0.7f;
private Vector2[] pos;
public override void _EnterTree()
{
pos = new Vector2[GetChildCount() - 1];
for (int i = 0; i < pos.Length; i++)
{
pos[i] = GetChild<Node2D>(i + 1).GlobalPosition;
}
}
public void Interact()
{
if (Player.instance.GlobalPosition.Y > base.GlobalPosition.Y)
{
Main.inEvent = Coroutine.Start(SitEvent());
}
else
{
Player.instance.canInput = true;
}
}
private IEnumerator SitEvent()
{
AudioStream m = Audio.music.Stream;
Party.ChangeCollider(state: false);
Audio.FadeSound(Audio.music, 1f);
Party.MoveTo(pos, 0.5f, align: true, Entity.Direction.South);
while (!Party.IsStopped())
{
yield return null;
}
Party.UpdateFollowerEntities();
PartyAnim();
if (sound != null)
{
Audio.ChangeMusic(sound, 0.5f, volume);
}
for (float a = 0f; a < 60f; a += Main.deltaTime)
{
yield return null;
}
while (!Input.IsActionJustPressed(Main.keys[4]))
{
yield return null;
}
Audio.FadeSound(Audio.music, 0.5f);
for (float a = 0f; a < 30f; a += Main.deltaTime)
{
yield return null;
}
Audio.ChangeMusic(m);
Party.LookAt(Entity.Direction.South);
Party.UpdateAnim();
Party.ChangeCollider(state: true);
Player.instance.ResetFollowStep();
yield return null;
}
private static void PartyAnim()
{
for (int i = 0; i < SaveFile.current.activeParty.Count; i++)
{
Party.party[SaveFile.current.activeParty[i]].oEntity.sprite.FlipH = false;
Entity.IDs id = Party.party[SaveFile.current.activeParty[i]].oEntity.id;
if (id != Entity.IDs.Clover)
{
if (id == Entity.IDs.Axis)
{
Party.party[SaveFile.current.activeParty[i]].oEntity.anim.Play("TramSit");
continue;
}
}
else if (Player.instance.animMod == Entity.AnimMods.Hat)
{
Party.party[SaveFile.current.activeParty[i]].oEntity.anim.Play("SitBenchHat");
continue;
}
if (SaveFile.HasFlag(SaveFile.Flags.IsInDW))
{
Party.party[SaveFile.current.activeParty[i]].oEntity.anim.Play("SitBenchDW");
}
else
{
Party.party[SaveFile.current.activeParty[i]].oEntity.anim.Play("SitBench");
}
}
}
}

View File

@ -1 +0,0 @@
uid://crec8gg68pqvh

View File

@ -1,69 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Bullets/Blank.cs")]
public partial class Blank : Node2D, IBullet
{
[Export(PropertyHint.None, "")]
private float randomRotation;
[Export(PropertyHint.None, "")]
private float rotationOverTime;
[Export(PropertyHint.None, "")]
private float easeIn;
private float easing;
[Export(PropertyHint.None, "")]
public bool grazed { get; set; }
[Export(PropertyHint.None, "")]
public int HP { get; set; } = 1;
public Node2D node { get; set; }
public Action<Node> onShot { get; set; }
public AnimationPlayer anim { get; set; }
public BulletGenerator generatedFrom { get; set; }
[Export(PropertyHint.None, "")]
public IBullet.Type type { get; set; }
public override void _Ready()
{
if (randomRotation > 0f)
{
base.RotationDegrees = Main.RandomRange(0f, randomRotation);
}
node = this;
if (easeIn == 0f)
{
easing = 1f;
easeIn = 1f;
}
}
public override void _Process(double delta)
{
if (rotationOverTime != 0f)
{
base.RotationDegrees += rotationOverTime * Main.deltaTime * easing / easeIn;
}
if (easing < easeIn)
{
easing += Main.deltaTime;
}
}
public void ShotAt()
{
}
}

View File

@ -1 +0,0 @@
uid://cb8rksd6v3te0

View File

@ -1,56 +0,0 @@
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/BridgeSort.cs")]
public partial class BridgeSort : Node2D
{
[Export(PropertyHint.None, "")]
private Area2D triggerDown;
[Export(PropertyHint.None, "")]
private Area2D triggerUp;
[Export(PropertyHint.None, "")]
private int downSort;
[Export(PropertyHint.None, "")]
private int upSort = 50;
[Export(PropertyHint.None, "")]
private Node2D upCol;
[Export(PropertyHint.None, "")]
private Node2D downCol;
public override void _Ready()
{
triggerDown.BodyEntered += Down;
triggerUp.BodyEntered += Up;
base.ZIndex = downSort;
downCol.ProcessMode = ProcessModeEnum.Disabled;
}
public void Up(Node other)
{
if (other is Player)
{
base.ZIndex = upSort;
upCol.ProcessMode = ProcessModeEnum.Disabled;
downCol.ProcessMode = ProcessModeEnum.Inherit;
}
}
public void Down(Node other)
{
if (other is Player)
{
base.ZIndex = downSort;
downCol.ProcessMode = ProcessModeEnum.Disabled;
upCol.ProcessMode = ProcessModeEnum.Inherit;
}
}
}

View File

@ -1 +0,0 @@
uid://7i6v1wbu611w

View File

@ -1,106 +0,0 @@
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Battle/BulletBoards.cs")]
public partial class BulletBoards : Node2D
{
public enum SoulType
{
Current = -1,
Yellow,
Blue,
Shoot
}
public enum Target
{
OnlyOne,
RandomAll,
All
}
[Export(PropertyHint.None, "")]
public float damageMult = 1f;
[Export(PropertyHint.None, "")]
public int id;
[Export(PropertyHint.None, "")]
public bool cantKill;
[Export(PropertyHint.None, "")]
public bool noReparent;
[Export(PropertyHint.None, "")]
public bool special;
[Export(PropertyHint.None, "")]
public bool flipRandomly;
[Export(PropertyHint.None, "")]
public float timer = 300f;
[Export(PropertyHint.None, "")]
public float randomRotation;
[Export(PropertyHint.None, "")]
public float growTime = 20f;
[Export(PropertyHint.None, "")]
public Target target;
[Export(PropertyHint.None, "")]
public SoulType soulType = SoulType.Current;
[Export(PropertyHint.None, "")]
public float[] data;
[Export(PropertyHint.None, "")]
public Vector2 boardSize = new Vector2(80f, 80f);
[Export(PropertyHint.None, "")]
public Vector2 soulStartOffset;
[Export(PropertyHint.None, "")]
public Vector2 boardStartOffset;
public int[] targeted;
public Battlers caller;
private bool first;
private List<IBullet> bullets = new List<IBullet>();
public override void _EnterTree()
{
base.Visible = true;
base.ZIndex = 4096;
base.RotationDegrees = Main.RandomRange(0f, randomRotation);
foreach (Node child in GetChildren())
{
if (child is IBullet item)
{
bullets.Add(item);
}
}
if (flipRandomly && Main.RandomRange(0, 100) < 50)
{
base.Scale = new Vector2(-1f, 1f);
}
}
public static void UpdateCenter()
{
DWMenu.instance.bulletBoard.PivotOffset = DWMenu.instance.bulletBoard.Size / 2f;
}
public void End()
{
timer = 0f;
}
}

View File

@ -1 +0,0 @@
uid://3u26wg5x1328

View File

@ -1,181 +0,0 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using Godot;
using Godot.Bridge;
using Godot.Collections;
using Godot.NativeInterop;
[GlobalClass]
[ScriptPath("res://Scripts/Resources/BulletConds.cs")]
public partial class BulletConds : Resource
{
public enum HPPercentCheck
{
Average,
OnlyOne
}
[Export(PropertyHint.None, "")]
public int weight = 1;
[Export(PropertyHint.None, "")]
public int lastAct = -1;
[Export(PropertyHint.None, "")]
public int onlyOnTurn = -1;
[Export(PropertyHint.None, "")]
public int order = -1;
[Export(PropertyHint.None, "")]
public int orderLimit = 9999;
[Export(PropertyHint.None, "")]
public int everyXTurns = -1;
[Export(PropertyHint.None, "")]
public int turnBelow = -1;
[Export(PropertyHint.None, "")]
public int turnAbove = -1;
[Export(PropertyHint.None, "")]
public float hpPercentGreater = -1f;
[Export(PropertyHint.None, "")]
public float hpPercentLower = -1f;
[Export(PropertyHint.None, "")]
public Array<Entity.IDs> neededGroup;
[Export(PropertyHint.None, "")]
public bool exactMatch;
[Export(PropertyHint.None, "")]
public bool special;
[ExportSubgroup("Flags", "")]
[Export(PropertyHint.None, "")]
public Array<SaveFile.Flags> need;
[Export(PropertyHint.None, "")]
public Array<SaveFile.Flags> limit;
[Export(PropertyHint.None, "")]
public Array<StringName> battleFlagNeed;
[Export(PropertyHint.None, "")]
public Array<StringName> battleFlagLimit;
[Export(PropertyHint.None, "")]
public Array<StringName> internalNeeds;
[Export(PropertyHint.None, "")]
public Array<StringName> internalLimit;
[Export(PropertyHint.None, "")]
public Array<StringName> setInternal;
public bool CanDo(Battlers caller = null)
{
if (special)
{
return false;
}
if (onlyOnTurn > -1 && BattleDR.current.turn != onlyOnTurn)
{
return false;
}
if (order > -1 && (int)Main.Repeat(BattleDR.current.turn, orderLimit) != order)
{
return false;
}
if (everyXTurns > 0 && BattleDR.current.turn % everyXTurns != 0)
{
return false;
}
if (turnBelow > -1 && BattleDR.current.turn > turnBelow)
{
return false;
}
if (turnAbove > -1 && BattleDR.current.turn < turnAbove)
{
return false;
}
Array<Entity.IDs> array = neededGroup;
if (array != null && array.Count > 0)
{
List<Entity.IDs> h = new List<Entity.IDs>();
if (BattleDR.current.enemies.Count < neededGroup.Count)
{
return false;
}
for (int i = 0; i < BattleDR.current.enemies.Count; i++)
{
h.Add(BattleDR.current.enemies[i].entity.id);
}
if (exactMatch && BattleDR.current.enemies.Count != neededGroup.Count)
{
return false;
}
if (!neededGroup.All((Entity.IDs x) => h.Remove(x)))
{
return false;
}
}
if (need != null && need.Count != 0 && SaveFile.HasFlags(need))
{
return false;
}
if (limit != null && limit.Count != 0 && !SaveFile.HasFlags(limit))
{
return false;
}
Array<StringName> array2 = battleFlagNeed;
if (array2 != null && array2.Count > 0 && !battleFlagNeed.All((StringName x) => BattleDR.current.tempFlags.Contains(x)))
{
return false;
}
Array<StringName> array3 = battleFlagLimit;
if (array3 != null && array3.Count > 0 && battleFlagLimit.All((StringName x) => BattleDR.current.tempFlags.Contains(x)))
{
return false;
}
if (caller != null)
{
if (lastAct > -1 && !caller.lastestAct.Contains(lastAct))
{
return false;
}
if (hpPercentGreater > 0f && caller.HPPercent() < hpPercentGreater)
{
return false;
}
if (hpPercentLower > 0f && caller.HPPercent() > hpPercentLower)
{
return false;
}
Array<StringName> array4 = internalNeeds;
if (array4 != null && array4.Count > 0 && !internalNeeds.All((StringName x) => caller.internalFlags.Contains(x)))
{
return false;
}
Array<StringName> array5 = internalLimit;
if (array5 != null && array5.Count > 0 && internalLimit.All((StringName x) => caller.internalFlags.Contains(x)))
{
return false;
}
Array<StringName> array6 = setInternal;
if (array6 != null && array6.Count > 0)
{
for (int num = 0; num < setInternal.Count; num++)
{
caller.internalFlags.Add(setInternal[num]);
}
}
}
return true;
}
}

View File

@ -1 +0,0 @@
uid://b3daxrd0dmvll

View File

@ -1,148 +0,0 @@
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Bullets/BulletGenerator.cs")]
public partial class BulletGenerator : Node2D
{
public enum GenType
{
None,
Direction,
DirectionFromThisToPoints
}
[Export(PropertyHint.None, "")]
public GenType genType;
[Export(PropertyHint.None, "")]
public Vector2 randomizePos;
[Export(PropertyHint.None, "")]
public Vector2 speed;
[Export(PropertyHint.None, "")]
private float startDelay = 60f;
[Export(PropertyHint.None, "")]
private float delayInbetween = 60f;
[Export(PropertyHint.None, "")]
private float delayRandom = 20f;
[Export(PropertyHint.None, "")]
private float bulletTimeSec = 5f;
[Export(PropertyHint.None, "")]
public Node2D[] spawnPoints;
[Export(PropertyHint.None, "")]
private Node2D[] bulletBase;
[Export(PropertyHint.None, "")]
private int maxBullets = 10;
[Export(PropertyHint.None, "")]
public bool start = true;
private int last;
private float cooldown;
public override void _EnterTree()
{
for (int i = 0; i < bulletBase.Length; i++)
{
Main.SetActive(bulletBase[i], state: false);
}
}
public override void _Process(double delta)
{
if (startDelay > 0f)
{
startDelay -= Main.deltaTime;
}
else
{
if (!start || GetChildCount() >= maxBullets)
{
return;
}
if (cooldown > 0f)
{
cooldown -= Main.deltaTime;
return;
}
Node2D node2D;
AddChild(node2D = (Node2D)bulletBase[Main.RandomRange(0, bulletBase.Length - 1)].Duplicate(), forceReadableName: false, InternalMode.Disabled);
Timer obj = new Timer
{
WaitTime = bulletTimeSec,
Autostart = true
};
Timer timer = obj;
node2D.AddChild(obj, forceReadableName: false, InternalMode.Disabled);
if (node2D is IBullet bullet)
{
bullet.generatedFrom = this;
timer.Timeout += ((IBullet)node2D).ResetBullet;
}
else
{
timer.Timeout += node2D.QueueFree;
}
ResetBullet(node2D);
cooldown = delayInbetween + Main.RandomRange(0f, delayRandom);
}
}
public void ResetBullet(Node2D node)
{
if (genType != GenType.DirectionFromThisToPoints)
{
Node2D[] array = spawnPoints;
if (array != null && array.Length != 0)
{
int num;
do
{
num = Main.RandomRange(0, spawnPoints.Length - 1);
}
while (last == num);
node.GlobalPosition = spawnPoints[num].GlobalPosition;
last = num;
}
else
{
node.GlobalPosition = base.GlobalPosition;
}
node.GlobalPosition += new Vector2(Main.RandomRange(0f - randomizePos.X, randomizePos.X), Main.RandomRange(0f - randomizePos.Y, randomizePos.Y));
if (speed.LengthSquared() > 0f && node is MoveAhead moveAhead)
{
moveAhead.speed = speed;
}
}
else
{
node.GlobalPosition = base.GlobalPosition;
Vector2 globalPosition = spawnPoints[Main.RandomRange(0, spawnPoints.Length - 1)].GlobalPosition;
node.LookAt(globalPosition);
if (node is MoveAhead moveAhead2)
{
if (speed.LengthSquared() > 0f)
{
moveAhead2.speed = node.GlobalPosition.DirectionTo(globalPosition) * speed;
}
else
{
moveAhead2.speed = node.GlobalPosition.DirectionTo(globalPosition);
}
}
}
Main.SetActive(node, state: true);
}
}

View File

@ -1 +0,0 @@
uid://cegvlychcm6k2

View File

@ -1,48 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using Godot;
using Godot.Bridge;
using Godot.Collections;
using Godot.NativeInterop;
[ScriptPath("res://Scripts/Puzzles/ButtonCheck.cs")]
public partial class ButtonCheck : Node2D
{
[Signal]
public delegate void TriggerEventHandler();
[Export(PropertyHint.None, "")]
private PuzzleButton[] buttons;
[Export(PropertyHint.None, "")]
private Array<SaveFile.Flags> flag;
public override void _Ready()
{
if (SaveFile.HasFlags(flag))
{
base.ProcessMode = ProcessModeEnum.Disabled;
QueueFree();
}
}
public override void _Process(double delta)
{
for (int i = 0; i < buttons.Length; i++)
{
if (!buttons[i].active)
{
return;
}
}
foreach (SaveFile.Flags item in flag)
{
SaveFile.AddFlag(item);
}
EmitSignal(SignalName.Trigger);
_Ready();
}
}

View File

@ -1 +0,0 @@
uid://cc1mqq2hajwdp

Some files were not shown because too many files have changed in this diff Show More