Sound FX, major work on set schedule, and some new concepts for items and portraits
@@ -17,3 +17,16 @@ res://sounds/Door Hinge Creaking Door.wav
|
|||||||
****************************************************************************************************
|
****************************************************************************************************
|
||||||
3maze - res://sounds/owl_notification_005.wav
|
3maze - res://sounds/owl_notification_005.wav
|
||||||
SmartSoundFX - res://sounds/ORGANIC Paper Book Page Turn Short 02.wav
|
SmartSoundFX - res://sounds/ORGANIC Paper Book Page Turn Short 02.wav
|
||||||
|
|
||||||
|
|
||||||
|
****************************************************************************************************
|
||||||
|
** Miotto Sounds **
|
||||||
|
****************************************************************************************************
|
||||||
|
res://sounds/Paper_Scraping_1.wav
|
||||||
|
|
||||||
|
****************************************************************************************************
|
||||||
|
** Deed? Check back **
|
||||||
|
****************************************************************************************************
|
||||||
|
res://sounds/Writing in paper 19.wav
|
||||||
|
res://sounds/Various Sounds 06.wav
|
||||||
|
res://sounds/Turning Books Pages 52.wav
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 25.4.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:#8EEF97;}
|
||||||
|
</style>
|
||||||
|
<g id="Layer_1_00000170236641221328944140000001063999480100881822_">
|
||||||
|
<path class="st0" d="M11.3,2.6c-0.7-0.7-1.8-0.7-2.5,0L2.6,8.8c-0.7,0.7-0.7,1.8,0,2.5l2.1,2.1c0.7,0.7,1.8,0.7,2.5,0l6.3-6.3
|
||||||
|
c0.7-0.7,0.7-1.8,0-2.5L11.3,2.6z M10.1,3.8l2.1,2.1l-1.3,1.3L8.8,5.1L10.1,3.8z M7.6,6.3l2.1,2.1L8.4,9.7L6.3,7.6L7.6,6.3z
|
||||||
|
M5.1,8.8l2.1,2.1l-1.3,1.3l-2.1-2.1L5.1,8.8z"/>
|
||||||
|
</g>
|
||||||
|
<g id="Layer_2_00000172438228171227073010000011096948942075396741_">
|
||||||
|
<path class="st0" d="M14.4,11.3c-0.3-0.1-0.6-0.3-0.6-0.6v-0.3l-4.5,4.5c-0.3,0.3-0.6,0.3-0.8,0.1c-0.3-0.3-0.3-0.6,0-0.9L13,9.6
|
||||||
|
h-0.3c-0.3-0.1-0.6-0.3-0.6-0.6c0.1-0.3,0.3-0.6,0.6-0.6l1.5,0c0.1,0,0.3,0,0.4,0.1c0.1,0.1,0.1,0.1,0.1,0.1
|
||||||
|
c0.1,0.1,0.1,0.3,0.1,0.4l0.1,1.6C15,11,14.8,11.3,14.4,11.3z"/>
|
||||||
|
</g>
|
||||||
|
<path class="st0" d="M1.4,4.9C1.7,5,2,5.3,2,5.5l0,0.3l4.5-4.5C6.8,1,7.1,1,7.3,1.2c0.3,0.3,0.3,0.6,0,0.9L2.8,6.6h0.3
|
||||||
|
c0.3,0.1,0.6,0.3,0.6,0.6C3.6,7.4,3.3,7.7,3.1,7.7l-1.5,0c-0.3,0-0.3-0.1-0.5-0.1C1,7.5,1,7.5,0.9,7.4C0.9,7.4,0.8,7.2,0.8,7.1
|
||||||
|
L0.7,5.5C0.8,5.2,1.1,4.9,1.4,4.9z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b4kg0ekxkw2lb"
|
||||||
|
path="res://.godot/imported/reorderable_container_icon.svg-b137036dec781405c9f5977df10d510b.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://addons/ReorderableContainer/Icon/reorderable_container_icon.svg"
|
||||||
|
dest_files=["res://.godot/imported/reorderable_container_icon.svg-b137036dec781405c9f5977df10d510b.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
||||||
20
addons/ReorderableContainer/Icon/reorderable_hbox_icon.svg
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 25.4.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:#8EEF97;}
|
||||||
|
</style>
|
||||||
|
<g id="Layer_1_00000170236641221328944140000001063999480100881822_">
|
||||||
|
<path class="st0" d="M15,6.3c0-1.1-0.9-2-2-2H3c-1.1,0-2,0.9-2,2v3.4c0,1.1,0.9,2,2,2h10c1.1,0,2-0.9,2-2V6.3z M13,6.3v3.4h-2V6.3
|
||||||
|
H13z M9,6.3v3.4H7V6.3H9z M5,6.3v3.4H3V6.3H5z"/>
|
||||||
|
</g>
|
||||||
|
<g id="Layer_2_00000172438228171227073010000011096948942075396741_">
|
||||||
|
<path class="st0" d="M10.5,15.7c-0.2-0.3-0.2-0.7,0-0.9l0.2-0.2H3.5c-0.4,0-0.7-0.3-0.7-0.6c0-0.4,0.3-0.7,0.7-0.7h7.2l-0.2-0.2
|
||||||
|
c-0.2-0.3-0.2-0.7,0-0.9c0.3-0.2,0.7-0.2,0.9,0l1.2,1.2c0.1,0.1,0.2,0.2,0.2,0.4c0,0.1,0,0.1,0,0.2c0,0.1-0.1,0.3-0.2,0.4l-1.2,1.3
|
||||||
|
C11.2,16,10.8,16,10.5,15.7z"/>
|
||||||
|
</g>
|
||||||
|
<path class="st0" d="M5.2,0.3c0.2,0.3,0.2,0.7,0,0.9L5,1.4h7.2c0.4,0,0.7,0.3,0.7,0.6c0,0.4-0.3,0.7-0.7,0.7H5l0.2,0.2
|
||||||
|
c0.2,0.3,0.2,0.7,0,0.9C4.9,4,4.5,4,4.3,3.8L3.1,2.6C2.9,2.4,2.9,2.3,2.8,2.1c0-0.1,0-0.1,0-0.2S2.9,1.6,3,1.5l1.2-1.3
|
||||||
|
C4.5,0,4.9,0,5.2,0.3z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bc35o8q35l74"
|
||||||
|
path="res://.godot/imported/reorderable_hbox_icon.svg-b8929c984930c1cf79a5dffb0a9bff85.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://addons/ReorderableContainer/Icon/reorderable_hbox_icon.svg"
|
||||||
|
dest_files=["res://.godot/imported/reorderable_hbox_icon.svg-b8929c984930c1cf79a5dffb0a9bff85.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
||||||
20
addons/ReorderableContainer/Icon/reorderable_vbox_icon.svg
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 25.4.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{fill:#8EEF97;}
|
||||||
|
</style>
|
||||||
|
<g id="Layer_1_00000170236641221328944140000001063999480100881822_">
|
||||||
|
<path class="st0" d="M6.3,1c-1.1,0-2,0.9-2,2v10c0,1.1,0.9,2,2,2h3.4c1.1,0,2-0.9,2-2V3c0-1.1-0.9-2-2-2H6.3z M6.3,3h3.4v2H6.3V3z
|
||||||
|
M6.3,7h3.4v2H6.3V7z M6.3,11h3.4v2H6.3V11z"/>
|
||||||
|
</g>
|
||||||
|
<g id="Layer_2_00000172438228171227073010000011096948942075396741_">
|
||||||
|
<path class="st0" d="M15.7,5.5c-0.3,0.2-0.7,0.2-0.9,0l-0.2-0.2v7.2c0,0.4-0.3,0.7-0.6,0.7c-0.4,0-0.7-0.3-0.7-0.7V5.3l-0.2,0.2
|
||||||
|
c-0.3,0.2-0.7,0.2-0.9,0c-0.2-0.3-0.2-0.7,0-0.9l1.2-1.2c0.1-0.1,0.2-0.2,0.4-0.2c0.1,0,0.1,0,0.2,0c0.1,0,0.3,0.1,0.4,0.2l1.3,1.2
|
||||||
|
C16,4.8,16,5.2,15.7,5.5z"/>
|
||||||
|
</g>
|
||||||
|
<path class="st0" d="M0.3,10.8c0.3-0.2,0.7-0.2,0.9,0L1.4,11V3.8c0-0.4,0.3-0.7,0.6-0.7c0.4,0,0.7,0.3,0.7,0.7V11l0.2-0.2
|
||||||
|
c0.3-0.2,0.7-0.2,0.9,0c0.2,0.3,0.2,0.7,0,0.9l-1.2,1.2c-0.2,0.2-0.3,0.2-0.5,0.3c-0.1,0-0.1,0-0.2,0S1.6,13.1,1.5,13l-1.3-1.2
|
||||||
|
C0,11.5,0,11.1,0.3,10.8z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,43 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://c1rxcwal2patu"
|
||||||
|
path="res://.godot/imported/reorderable_vbox_icon.svg-6c0163d38628f550aff9f4fbed5c8a1d.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://addons/ReorderableContainer/Icon/reorderable_vbox_icon.svg"
|
||||||
|
dest_files=["res://.godot/imported/reorderable_vbox_icon.svg-6c0163d38628f550aff9f4fbed5c8a1d.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
svg/scale=1.0
|
||||||
|
editor/scale_with_editor_scale=false
|
||||||
|
editor/convert_colors_with_editor_theme=false
|
||||||
7
addons/ReorderableContainer/plugin.cfg
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
[plugin]
|
||||||
|
|
||||||
|
name="ReorderableContainer"
|
||||||
|
description="A container similar to BoxContainer but extended with drag-and-drop style reordering functionality, and auto-scroll functionality when placed under ScrollContainer."
|
||||||
|
author="FoolLin"
|
||||||
|
version="1.2.4"
|
||||||
|
script="plugin.gd"
|
||||||
14
addons/ReorderableContainer/plugin.gd
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
@tool
|
||||||
|
extends EditorPlugin
|
||||||
|
|
||||||
|
|
||||||
|
func _enter_tree():
|
||||||
|
add_custom_type("ReorderableContainer", "Container", preload("reorderable_container.gd"), preload("Icon/reorderable_container_icon.svg"))
|
||||||
|
add_custom_type("ReorderableVBox", "ReorderableContainer", preload("reorderable_vbox.gd"), preload("Icon/reorderable_vbox_icon.svg"))
|
||||||
|
add_custom_type("ReorderableHBox", "ReorderableContainer", preload("reorderable_hbox.gd"), preload("Icon/reorderable_hbox_icon.svg"))
|
||||||
|
|
||||||
|
|
||||||
|
func _exit_tree():
|
||||||
|
remove_custom_type("ReorderableContainer")
|
||||||
|
remove_custom_type("ReorderableVBox")
|
||||||
|
remove_custom_type("ReorderableHBox")
|
||||||
1
addons/ReorderableContainer/plugin.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://0uea0ywilkmu
|
||||||
357
addons/ReorderableContainer/reorderable_container.gd
Normal file
@@ -0,0 +1,357 @@
|
|||||||
|
@tool
|
||||||
|
@icon("Icon/reorderable_container_icon.svg")
|
||||||
|
class_name ReorderableContainer
|
||||||
|
extends Container
|
||||||
|
## A container that allows its child to be reorder and arranges horizontally or vertically.
|
||||||
|
##
|
||||||
|
## A container similar to [BoxContainer] but extended with drag-and-drop style reordering functionality,
|
||||||
|
## and auto-scroll functionality when placed under [ScrollContainer].[br][br]
|
||||||
|
## [b]Note:[/b] This addon also works with SmoothScroll by SpyrexDE.
|
||||||
|
##
|
||||||
|
## @tutorial(SmoothScroll): https://github.com/SpyrexDE/SmoothScroll
|
||||||
|
## @tutorial(Using Containers): https://docs.godotengine.org/en/4.1/tutorials/ui/gui_containers.html
|
||||||
|
|
||||||
|
## Emitted when children have been reordered.
|
||||||
|
signal reordered(from: int, to: int)
|
||||||
|
signal dragging(pos: Vector2)
|
||||||
|
signal drag_started(node)
|
||||||
|
signal drag_stopped(node)
|
||||||
|
## Extend the drop zone length at the start and end of the container.
|
||||||
|
## This will ensure that drop input is recognized even outside the container itself.
|
||||||
|
const DROP_ZONE_EXTEND = 2000
|
||||||
|
|
||||||
|
## The hold duration time in seconds before the holded child will start being drag.
|
||||||
|
@export
|
||||||
|
var hold_duration := 0.5
|
||||||
|
|
||||||
|
## The overall speed of how fast children will move and arrange.
|
||||||
|
@export_range(3, 30, 0.01, "or_greater", "or_less")
|
||||||
|
var speed := 10.0
|
||||||
|
|
||||||
|
## The space between the container's elements, in pixels.
|
||||||
|
@export
|
||||||
|
var separation := 10: set = set_separation
|
||||||
|
func set_separation(value):
|
||||||
|
if value == separation or value < 0:
|
||||||
|
return
|
||||||
|
separation = value
|
||||||
|
_on_sort_children()
|
||||||
|
|
||||||
|
|
||||||
|
## if [code]true[/code] the container will arrange its children vertically, rather than horizontally.
|
||||||
|
@export var is_vertical := false: set = set_vertical
|
||||||
|
func set_vertical(value):
|
||||||
|
if value == is_vertical:
|
||||||
|
return
|
||||||
|
is_vertical = value
|
||||||
|
if is_vertical:
|
||||||
|
custom_minimum_size.x = 0
|
||||||
|
else:
|
||||||
|
custom_minimum_size.y = 0
|
||||||
|
_on_sort_children()
|
||||||
|
|
||||||
|
## (Optional) [ScrollContainer] refference. Normally, the addon will automatically check
|
||||||
|
## its parent node for [ScrollContainer]. If this is not the case, you can manually specify it here.
|
||||||
|
@export
|
||||||
|
var scroll_container: ScrollContainer
|
||||||
|
|
||||||
|
## The maximum speed of auto scroll.
|
||||||
|
@export
|
||||||
|
var auto_scroll_speed := 10.0
|
||||||
|
|
||||||
|
## The pacentage of how much space auto scroll will take in [ScrollContainer][br][br]
|
||||||
|
## [b]Example:[/b] If [code]auto_scroll_range[/code] is 30% (0.3) and [ScrollContainer] height is 100 px,
|
||||||
|
## upper part will be 0 to 30 px and lower part will be 70 to 100 px.
|
||||||
|
@export_range(0, 0.5)
|
||||||
|
var auto_scroll_range := 0.3
|
||||||
|
|
||||||
|
## The scrolling threshold in pixel. In a nutshell, user will have hard time trying to drag a child if it too low
|
||||||
|
## and user will accidentally drag a child when scrolling if it too high.
|
||||||
|
@export
|
||||||
|
var scroll_threshold := 30
|
||||||
|
|
||||||
|
## Uses when debugging
|
||||||
|
@export
|
||||||
|
var is_debugging := false
|
||||||
|
|
||||||
|
var _scroll_starting_point := 0
|
||||||
|
var _is_smooth_scroll := false
|
||||||
|
|
||||||
|
var _drop_zones: Array[Rect2] = []
|
||||||
|
var _drop_zone_index := -1
|
||||||
|
var _expect_child_rect: Array[Rect2] = []
|
||||||
|
|
||||||
|
var _focus_child: Control
|
||||||
|
var _is_press := false
|
||||||
|
var _is_hold := false
|
||||||
|
var _current_duration := 0.0
|
||||||
|
var _is_using_process := false
|
||||||
|
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
if scroll_container == null and get_parent() is ScrollContainer:
|
||||||
|
scroll_container = get_parent()
|
||||||
|
|
||||||
|
if scroll_container != null and scroll_container.has_method("handle_overdrag"):
|
||||||
|
_is_smooth_scroll = true
|
||||||
|
|
||||||
|
process_mode = Node.PROCESS_MODE_PAUSABLE
|
||||||
|
_adjust_expected_child_rect()
|
||||||
|
if not sort_children.is_connected(_on_sort_children):
|
||||||
|
sort_children.connect(_on_sort_children, CONNECT_PERSIST)
|
||||||
|
if not get_tree().node_added.is_connected(_on_node_added):
|
||||||
|
get_tree().node_added.connect(_on_node_added, CONNECT_PERSIST)
|
||||||
|
|
||||||
|
|
||||||
|
func _gui_input(event):
|
||||||
|
if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT:
|
||||||
|
for _child in get_children():
|
||||||
|
var child := _child as Control
|
||||||
|
if child.get_rect().has_point(get_local_mouse_position()) and event.is_pressed():
|
||||||
|
_focus_child = child
|
||||||
|
_is_press = true
|
||||||
|
elif not event.is_pressed():
|
||||||
|
_is_press = false
|
||||||
|
_is_hold = false
|
||||||
|
|
||||||
|
|
||||||
|
func _process(delta):
|
||||||
|
if Engine.is_editor_hint(): return
|
||||||
|
|
||||||
|
_handle_input(delta)
|
||||||
|
if _current_duration >= hold_duration != _is_hold:
|
||||||
|
_is_hold = _current_duration >= hold_duration
|
||||||
|
if _is_hold:
|
||||||
|
_on_start_dragging()
|
||||||
|
|
||||||
|
if _is_hold:
|
||||||
|
_handle_dragging_child_pos(delta)
|
||||||
|
if scroll_container != null:
|
||||||
|
_handle_auto_scroll(delta)
|
||||||
|
elif not _is_hold and _drop_zone_index != -1:
|
||||||
|
_on_stop_dragging()
|
||||||
|
|
||||||
|
if _is_using_process :
|
||||||
|
_on_sort_children(delta)
|
||||||
|
|
||||||
|
|
||||||
|
func _handle_input(delta):
|
||||||
|
if scroll_container != null and _is_press and not _is_hold:
|
||||||
|
var scroll_point = scroll_container.scroll_vertical if is_vertical else scroll_container.scroll_horizontal
|
||||||
|
if _current_duration == 0:
|
||||||
|
_scroll_starting_point = scroll_point
|
||||||
|
else:
|
||||||
|
# If user scroll more than scroll_threshold, press is abort.
|
||||||
|
_is_press = true if abs(scroll_point - _scroll_starting_point) <= scroll_threshold else false
|
||||||
|
_current_duration = _current_duration + delta if _is_press else 0.0
|
||||||
|
|
||||||
|
|
||||||
|
func _on_start_dragging():
|
||||||
|
# Force _on_sort_children to use process update for linear interpolation
|
||||||
|
_is_using_process = true
|
||||||
|
_focus_child.z_index = 1
|
||||||
|
# Workaround for SmoothScroll addon
|
||||||
|
if _is_smooth_scroll:
|
||||||
|
scroll_container.process_mode = Node.PROCESS_MODE_DISABLED
|
||||||
|
for child in _get_visible_children():
|
||||||
|
child.propagate_call("set_mouse_filter", [MOUSE_FILTER_IGNORE])
|
||||||
|
drag_started.emit(_focus_child)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _on_stop_dragging():
|
||||||
|
_focus_child.z_index = 0
|
||||||
|
var focus_child_index := _focus_child.get_index()
|
||||||
|
move_child(_focus_child, _drop_zone_index)
|
||||||
|
reordered.emit(focus_child_index, _drop_zone_index)
|
||||||
|
drag_stopped.emit(_focus_child)
|
||||||
|
_focus_child = null
|
||||||
|
_drop_zone_index = -1
|
||||||
|
if _is_smooth_scroll:
|
||||||
|
scroll_container.pos = -Vector2(scroll_container.scroll_horizontal, scroll_container.scroll_vertical)
|
||||||
|
scroll_container.process_mode = Node.PROCESS_MODE_INHERIT
|
||||||
|
for child in _get_visible_children():
|
||||||
|
child.propagate_call("set_mouse_filter", [MOUSE_FILTER_PASS])
|
||||||
|
|
||||||
|
|
||||||
|
func _on_node_added(node):
|
||||||
|
if node is Control and not Engine.is_editor_hint():
|
||||||
|
node.mouse_filter = Control.MOUSE_FILTER_PASS
|
||||||
|
|
||||||
|
|
||||||
|
func _handle_dragging_child_pos(delta):
|
||||||
|
if is_vertical:
|
||||||
|
var target_pos = get_local_mouse_position().y - (_focus_child.size.y / 2.0)
|
||||||
|
_focus_child.position.y = lerp(_focus_child.position.y, target_pos, delta * speed)
|
||||||
|
else:
|
||||||
|
var target_pos = get_local_mouse_position().x - (_focus_child.size.x / 2.0)
|
||||||
|
_focus_child.position.x = lerp(_focus_child.position.x, target_pos, delta * speed)
|
||||||
|
|
||||||
|
# Update drop zone index
|
||||||
|
var child_center_pos: Vector2 = _focus_child.get_rect().get_center()
|
||||||
|
for i in range(_drop_zones.size()):
|
||||||
|
var drop_zone = _drop_zones[i]
|
||||||
|
if drop_zone.has_point(child_center_pos):
|
||||||
|
_drop_zone_index = i
|
||||||
|
break
|
||||||
|
elif i == _drop_zones.size() - 1:
|
||||||
|
_drop_zone_index = -1
|
||||||
|
dragging.emit(get_global_mouse_position())
|
||||||
|
|
||||||
|
func _handle_auto_scroll(delta):
|
||||||
|
var mouse_g_pos = get_global_mouse_position()
|
||||||
|
var scroll_g_rect = scroll_container.get_global_rect()
|
||||||
|
if is_vertical:
|
||||||
|
var upper = scroll_g_rect.position.y + (scroll_g_rect.size.y * auto_scroll_range)
|
||||||
|
var lower = scroll_g_rect.position.y + (scroll_g_rect.size.y * (1.0 - auto_scroll_range))
|
||||||
|
|
||||||
|
if upper > mouse_g_pos.y:
|
||||||
|
var factor = (upper - mouse_g_pos.y) / (upper - scroll_g_rect.position.y)
|
||||||
|
scroll_container.scroll_vertical -= delta * float(auto_scroll_speed) * 150.0 * factor
|
||||||
|
elif lower < mouse_g_pos.y:
|
||||||
|
var factor = (mouse_g_pos.y - lower) / (scroll_g_rect.end.y - lower)
|
||||||
|
scroll_container.scroll_vertical += delta * float(auto_scroll_speed) * 150.0 * factor
|
||||||
|
else:
|
||||||
|
scroll_container.scroll_vertical = scroll_container.scroll_vertical
|
||||||
|
else:
|
||||||
|
var left = scroll_g_rect.position.x + (scroll_g_rect.size.x * auto_scroll_range)
|
||||||
|
var right = scroll_g_rect.position.x + (scroll_g_rect.size.x * (1.0 - auto_scroll_range))
|
||||||
|
|
||||||
|
if left > mouse_g_pos.x:
|
||||||
|
var factor = (left - mouse_g_pos.x) / (left - scroll_g_rect.position.x)
|
||||||
|
scroll_container.scroll_horizontal -= delta * float(auto_scroll_speed) * 150.0 * factor
|
||||||
|
elif right < mouse_g_pos.x:
|
||||||
|
var factor = (mouse_g_pos.x - right) / (scroll_g_rect.end.x - right)
|
||||||
|
scroll_container.scroll_horizontal += delta * float(auto_scroll_speed) * 150.0 * factor
|
||||||
|
else:
|
||||||
|
scroll_container.scroll_horizontal = scroll_container.scroll_horizontal
|
||||||
|
|
||||||
|
|
||||||
|
func _on_sort_children(delta := -1.0):
|
||||||
|
if _is_using_process and delta == -1.0:
|
||||||
|
return
|
||||||
|
|
||||||
|
_adjust_expected_child_rect()
|
||||||
|
_adjust_child_rect(delta)
|
||||||
|
_adjust_drop_zone_rect()
|
||||||
|
|
||||||
|
|
||||||
|
func _adjust_expected_child_rect():
|
||||||
|
_expect_child_rect.clear()
|
||||||
|
var children := _get_visible_children()
|
||||||
|
var end_point = 0.0
|
||||||
|
for i in range(children.size()):
|
||||||
|
var child := children[i]
|
||||||
|
var min_size := child.get_combined_minimum_size()
|
||||||
|
if is_vertical:
|
||||||
|
if i == _drop_zone_index:
|
||||||
|
end_point += _focus_child.size.y + separation
|
||||||
|
|
||||||
|
_expect_child_rect.append(Rect2(Vector2(0, end_point), Vector2(size.x, min_size.y)))
|
||||||
|
end_point += min_size.y + separation
|
||||||
|
else:
|
||||||
|
if i == _drop_zone_index:
|
||||||
|
end_point += _focus_child.size.x + separation
|
||||||
|
|
||||||
|
_expect_child_rect.append(Rect2(Vector2(end_point, 0), Vector2(min_size.x, size.y)))
|
||||||
|
end_point += min_size.x + separation
|
||||||
|
|
||||||
|
|
||||||
|
func _adjust_child_rect(delta: float = -1.0):
|
||||||
|
var children := _get_visible_children()
|
||||||
|
if children.is_empty():
|
||||||
|
return
|
||||||
|
|
||||||
|
var is_animating := false
|
||||||
|
var end_point := 0.0
|
||||||
|
for i in range(children.size()):
|
||||||
|
var child := children[i]
|
||||||
|
if child.position == _expect_child_rect[i].position and child.size == _expect_child_rect[i].size:
|
||||||
|
continue
|
||||||
|
|
||||||
|
if _is_using_process:
|
||||||
|
is_animating = true
|
||||||
|
child.position = lerp(child.position, _expect_child_rect[i].position, delta * speed)
|
||||||
|
child.size = _expect_child_rect[i].size
|
||||||
|
if (child.position - _expect_child_rect[i].position).length() <= 1.0:
|
||||||
|
child.position = _expect_child_rect[i].position
|
||||||
|
else:
|
||||||
|
child.position = _expect_child_rect[i].position
|
||||||
|
child.size = _expect_child_rect[i].size
|
||||||
|
|
||||||
|
var last_child := children[-1]
|
||||||
|
if is_vertical:
|
||||||
|
if _is_using_process and _drop_zone_index == children.size():
|
||||||
|
custom_minimum_size.y = _expect_child_rect[-1].end.y + _focus_child.size.y + separation
|
||||||
|
elif not _is_using_process:
|
||||||
|
custom_minimum_size.y = last_child.get_rect().end.y
|
||||||
|
else:
|
||||||
|
if _is_using_process and _drop_zone_index == children.size():
|
||||||
|
custom_minimum_size.x = _expect_child_rect[-1].end.x + _focus_child.size.x + separation
|
||||||
|
elif not _is_using_process:
|
||||||
|
custom_minimum_size.x = last_child.get_rect().end.x
|
||||||
|
|
||||||
|
# Adjust rect every process frame until child is dropped and finished lerping
|
||||||
|
# ( return to adjust when sort_children signal is emitted)
|
||||||
|
if not is_animating and _focus_child == null:
|
||||||
|
_is_using_process = false
|
||||||
|
|
||||||
|
|
||||||
|
func _adjust_drop_zone_rect():
|
||||||
|
_drop_zones.clear()
|
||||||
|
var children = _get_visible_children()
|
||||||
|
for i in range(children.size()):
|
||||||
|
var drop_zone_rect: Rect2
|
||||||
|
var child := children[i] as Control
|
||||||
|
if is_vertical:
|
||||||
|
if i == 0:
|
||||||
|
# First child
|
||||||
|
drop_zone_rect.position = Vector2(child.position.x, child.position.y - DROP_ZONE_EXTEND)
|
||||||
|
drop_zone_rect.end = Vector2(child.size.x, child.get_rect().get_center().y)
|
||||||
|
_drop_zones.append(drop_zone_rect)
|
||||||
|
else:
|
||||||
|
# In between
|
||||||
|
var prev_child := children[i - 1] as Control
|
||||||
|
drop_zone_rect.position = Vector2(prev_child.position.x, prev_child.get_rect().get_center().y)
|
||||||
|
drop_zone_rect.end = Vector2(child.size.x, child.get_rect().get_center().y)
|
||||||
|
_drop_zones.append(drop_zone_rect)
|
||||||
|
if i == children.size() - 1:
|
||||||
|
# Is also last child
|
||||||
|
drop_zone_rect.position = Vector2(child.position.x, child.get_rect().get_center().y)
|
||||||
|
drop_zone_rect.end = Vector2(child.size.x, child.get_rect().end.y + DROP_ZONE_EXTEND)
|
||||||
|
_drop_zones.append(drop_zone_rect)
|
||||||
|
else:
|
||||||
|
if i == 0:
|
||||||
|
# First child
|
||||||
|
drop_zone_rect.position = Vector2(child.position.x - DROP_ZONE_EXTEND, child.position.y)
|
||||||
|
drop_zone_rect.end = Vector2(child.get_rect().get_center().x, child.size.y)
|
||||||
|
_drop_zones.append(drop_zone_rect)
|
||||||
|
else:
|
||||||
|
# In between
|
||||||
|
var prev_child := children[i - 1] as Control
|
||||||
|
drop_zone_rect.position = Vector2(prev_child.get_rect().get_center().x, prev_child.position.y)
|
||||||
|
drop_zone_rect.end = Vector2(child.get_rect().get_center().x, child.size.y)
|
||||||
|
_drop_zones.append(drop_zone_rect)
|
||||||
|
if i == children.size() - 1:
|
||||||
|
# Is also last child
|
||||||
|
drop_zone_rect.position = Vector2(child.get_rect().get_center().x, child.position.y)
|
||||||
|
drop_zone_rect.end = Vector2(child.get_rect().end.x + DROP_ZONE_EXTEND, child.size.y)
|
||||||
|
_drop_zones.append(drop_zone_rect)
|
||||||
|
|
||||||
|
|
||||||
|
func _get_visible_children() -> Array[Control]:
|
||||||
|
var visible_control: Array[Control]
|
||||||
|
for _child in get_children():
|
||||||
|
var child := _child as Control
|
||||||
|
if not child.visible:
|
||||||
|
continue
|
||||||
|
if child == _focus_child and _is_hold:
|
||||||
|
continue
|
||||||
|
|
||||||
|
visible_control.append(child)
|
||||||
|
return visible_control
|
||||||
|
|
||||||
|
|
||||||
|
func _print_debug(val):
|
||||||
|
if is_debugging:
|
||||||
|
print(val)
|
||||||
1
addons/ReorderableContainer/reorderable_container.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://jwjxetmu7o2o
|
||||||
13
addons/ReorderableContainer/reorderable_hbox.gd
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
@tool
|
||||||
|
@icon("Icon/reorderable_hbox_icon.svg")
|
||||||
|
class_name ReorderableHBox
|
||||||
|
extends ReorderableContainer
|
||||||
|
|
||||||
|
func set_vertical(value):
|
||||||
|
value = false
|
||||||
|
super.set_vertical(value)
|
||||||
|
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
is_vertical = false
|
||||||
|
super._ready()
|
||||||
1
addons/ReorderableContainer/reorderable_hbox.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://gp5cpsm0gdkx
|
||||||
13
addons/ReorderableContainer/reorderable_vbox.gd
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
@tool
|
||||||
|
@icon("Icon/reorderable_vbox_icon.svg")
|
||||||
|
class_name ReorderableVBox
|
||||||
|
extends ReorderableContainer
|
||||||
|
|
||||||
|
func set_vertical(value):
|
||||||
|
value = true
|
||||||
|
super.set_vertical(value)
|
||||||
|
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
is_vertical = true
|
||||||
|
super._ready()
|
||||||
1
addons/ReorderableContainer/reorderable_vbox.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://d3mey1366662n
|
||||||
@@ -11,7 +11,7 @@ func _init() -> void:
|
|||||||
evt.time = 5
|
evt.time = 5
|
||||||
events.append(evt)
|
events.append(evt)
|
||||||
desc = "Nestor’s Woods is facing a slime invasion and the farmers are getting nervous, send an adventurer to help squash that sticky situation!"
|
desc = "Nestor’s Woods is facing a slime invasion and the farmers are getting nervous, send an adventurer to help squash that sticky situation!"
|
||||||
location =
|
location = Quest.Locations.NESTORS_WOODS
|
||||||
rewards = {"exp":10, "gold":5}
|
rewards = {"exp":10, "gold":5}
|
||||||
guild_rewards = {"glory":10, "gold":5}
|
guild_rewards = {"glory":10, "gold":5}
|
||||||
covenant_cost = 5
|
covenant_cost = 5
|
||||||
|
|||||||
3
dialogic/custom_layered_portrait.gd
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
@tool
|
||||||
|
extends "res://addons/dialogic/Modules/LayeredPortrait/layered_portrait.gd"
|
||||||
|
|
||||||
1
dialogic/custom_layered_portrait.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://0ah5wvuoqupd
|
||||||
14
dialogic/layered_portrait_player.tscn
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
[gd_scene load_steps=2 format=3 ]
|
||||||
|
|
||||||
|
[ext_resource type="Script" path="res://dialogic/custom_layered_portrait.gd" id="1_uubi5"]
|
||||||
|
|
||||||
|
[node name="LayeredPortrait" type="CanvasGroup"]
|
||||||
|
script = ExtResource("1_uubi5")
|
||||||
|
|
||||||
|
[node name="Layer1" type="Sprite2D" parent="."]
|
||||||
|
|
||||||
|
[node name="Group1" type="Node2D" parent="."]
|
||||||
|
|
||||||
|
[node name="Layer1" type="Sprite2D" parent="Group1"]
|
||||||
|
|
||||||
|
[node name="Layer2" type="Sprite2D" parent="Group1"]
|
||||||
15
dialogic/timelines/game_start.dtl
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
label Prespeech
|
||||||
|
I never imagined that one day I'd be in charge of a guild. To be honest, I never really imagined what my future would look like. I've never been very good at anything.
|
||||||
|
I just lived every day working the best I could and hoping that somehow, someway, the world would show me what to do. And then grandma died and left me this letter.
|
||||||
|
do Game.switch_scenes("letter")
|
||||||
|
[end_timeline]
|
||||||
|
label Start Guildcard
|
||||||
|
Suddenly I had a purpose. I didn't know it then and I never asked for it, but filling out that card was the first step in becoming a better version of myself.
|
||||||
|
do Game.switch_scenes("guild_card")
|
||||||
|
Ugh, I hated paperwork and there sure was a lot of it.
|
||||||
|
[end_timeline]
|
||||||
|
label Start Schedule
|
||||||
|
[wait_input]
|
||||||
|
do
|
||||||
|
[end_timeline]
|
||||||
|
label First Portrait Open
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
[style]
|
|
||||||
I never imagined that one day I'd be in charge of a guild. To be honest, I never really imagined what my future would look like. I've never been very good at anything. I just lived every day working the best I could and hoping that somehow, someway, the world would show me what to do. And then my grandma died.
|
|
||||||
@@ -8,12 +8,22 @@
|
|||||||
"sound_moods": {},
|
"sound_moods": {},
|
||||||
"style": ""
|
"style": ""
|
||||||
},
|
},
|
||||||
&"default_portrait": "",
|
&"default_portrait": "New portrait",
|
||||||
&"description": "",
|
&"description": "",
|
||||||
&"display_name": "Player",
|
&"display_name": "Player",
|
||||||
&"mirror": false,
|
&"mirror": false,
|
||||||
&"nicknames": ["Guildmaster"],
|
&"nicknames": ["Guildmaster"],
|
||||||
&"offset": Vector2(0, 0),
|
&"offset": Vector2(0, 0),
|
||||||
&"portraits": {},
|
&"portraits": {
|
||||||
|
"New portrait": {
|
||||||
|
"export_overrides": {
|
||||||
|
"image": ""
|
||||||
|
},
|
||||||
|
"mirror": false,
|
||||||
|
"offset": Vector2(0, 0),
|
||||||
|
"scale": 1,
|
||||||
|
"scene": "res://dialogic/layered_portrait_player.tscn"
|
||||||
|
}
|
||||||
|
},
|
||||||
&"scale": 1.0
|
&"scale": 1.0
|
||||||
}
|
}
|
||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://crrd8mpcuync2"
|
uid="uid://crrd8mpcuync2"
|
||||||
path="res://.godot/imported/body.png-5a897720f599ec630383f1f3dd8e9e9e.ctex"
|
path="res://.godot/imported/body.png-efd5e53b6f03adc4a57de5ce8dc4d3cd.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/body.png"
|
source_file="res://external/test portrait/farmer_f/body.png"
|
||||||
dest_files=["res://.godot/imported/body.png-5a897720f599ec630383f1f3dd8e9e9e.ctex"]
|
dest_files=["res://.godot/imported/body.png-efd5e53b6f03adc4a57de5ce8dc4d3cd.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://pp5ssn5m2n3i"
|
uid="uid://pp5ssn5m2n3i"
|
||||||
path="res://.godot/imported/brow_shadow-1.png-94d923d93f9bc0db18f7b963da1021dd.ctex"
|
path="res://.godot/imported/brow_shadow-1.png-8dff8c187d59ecaaefbb84e877b32e20.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/brow_shadow-1.png"
|
source_file="res://external/test portrait/farmer_f/brow_shadow-1.png"
|
||||||
dest_files=["res://.godot/imported/brow_shadow-1.png-94d923d93f9bc0db18f7b963da1021dd.ctex"]
|
dest_files=["res://.godot/imported/brow_shadow-1.png-8dff8c187d59ecaaefbb84e877b32e20.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://x4e86o28672u"
|
uid="uid://x4e86o28672u"
|
||||||
path="res://.godot/imported/brow_shadow-2.png-85a8d07465b9b109e67ad99a37d690d1.ctex"
|
path="res://.godot/imported/brow_shadow-2.png-b5d8d416acf1ddb95fd785200da8d3ce.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/brow_shadow-2.png"
|
source_file="res://external/test portrait/farmer_f/brow_shadow-2.png"
|
||||||
dest_files=["res://.godot/imported/brow_shadow-2.png-85a8d07465b9b109e67ad99a37d690d1.ctex"]
|
dest_files=["res://.godot/imported/brow_shadow-2.png-b5d8d416acf1ddb95fd785200da8d3ce.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://sv7bxo8a12i6"
|
uid="uid://sv7bxo8a12i6"
|
||||||
path="res://.godot/imported/brow_shadow.png-e4497bbbff21d0b56dc81b07de4f06bc.ctex"
|
path="res://.godot/imported/brow_shadow.png-f653be07b461bc5d7a18192996ffb73a.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/brow_shadow.png"
|
source_file="res://external/test portrait/farmer_f/brow_shadow.png"
|
||||||
dest_files=["res://.godot/imported/brow_shadow.png-e4497bbbff21d0b56dc81b07de4f06bc.ctex"]
|
dest_files=["res://.godot/imported/brow_shadow.png-f653be07b461bc5d7a18192996ffb73a.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://tpg08bgn2on7"
|
uid="uid://tpg08bgn2on7"
|
||||||
path="res://.godot/imported/brows-1.png-70092c4bb56529f3cdeb7b51925eb071.ctex"
|
path="res://.godot/imported/brows-1.png-86a51529282fffa26d497e35e4cc9367.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/brows-1.png"
|
source_file="res://external/test portrait/farmer_f/brows-1.png"
|
||||||
dest_files=["res://.godot/imported/brows-1.png-70092c4bb56529f3cdeb7b51925eb071.ctex"]
|
dest_files=["res://.godot/imported/brows-1.png-86a51529282fffa26d497e35e4cc9367.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://brmta1rtiau4a"
|
uid="uid://brmta1rtiau4a"
|
||||||
path="res://.godot/imported/brows-2.png-227c9708d0b7fde57b1ef42021508fcf.ctex"
|
path="res://.godot/imported/brows-2.png-01beea1c4e9cadf04c529dc849682c8a.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/brows-2.png"
|
source_file="res://external/test portrait/farmer_f/brows-2.png"
|
||||||
dest_files=["res://.godot/imported/brows-2.png-227c9708d0b7fde57b1ef42021508fcf.ctex"]
|
dest_files=["res://.godot/imported/brows-2.png-01beea1c4e9cadf04c529dc849682c8a.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://c3wwe6r000gpq"
|
uid="uid://c3wwe6r000gpq"
|
||||||
path="res://.godot/imported/composite.png-b2c2e474fe243b72bd3471af031774d6.ctex"
|
path="res://.godot/imported/composite.png-a68e5c4a777094ce447b89a2ab45b35b.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/composite.png"
|
source_file="res://external/test portrait/farmer_f/composite.png"
|
||||||
dest_files=["res://.godot/imported/composite.png-b2c2e474fe243b72bd3471af031774d6.ctex"]
|
dest_files=["res://.godot/imported/composite.png-a68e5c4a777094ce447b89a2ab45b35b.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://caow8dqiog7j4"
|
uid="uid://caow8dqiog7j4"
|
||||||
path="res://.godot/imported/ear.png-a1b457892f7236464123f2229af36695.ctex"
|
path="res://.godot/imported/ear.png-74df11e092bb05fcc54c7e7478ed4d95.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/ear.png"
|
source_file="res://external/test portrait/farmer_f/ear.png"
|
||||||
dest_files=["res://.godot/imported/ear.png-a1b457892f7236464123f2229af36695.ctex"]
|
dest_files=["res://.godot/imported/ear.png-74df11e092bb05fcc54c7e7478ed4d95.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://csp7xbtu0tpn7"
|
uid="uid://csp7xbtu0tpn7"
|
||||||
path="res://.godot/imported/eye-white-1.png-fb75b817d294c00ebeee3e6996a2c02e.ctex"
|
path="res://.godot/imported/eye-white-1.png-a31a2b044ab6206c129b0739fd4c0c80.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/eye-white-1.png"
|
source_file="res://external/test portrait/farmer_f/eye-white-1.png"
|
||||||
dest_files=["res://.godot/imported/eye-white-1.png-fb75b817d294c00ebeee3e6996a2c02e.ctex"]
|
dest_files=["res://.godot/imported/eye-white-1.png-a31a2b044ab6206c129b0739fd4c0c80.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://mygmunn3voie"
|
uid="uid://mygmunn3voie"
|
||||||
path="res://.godot/imported/eyes-iris-1.png-3c96067ab402ea99f8e1b1b7db594f4c.ctex"
|
path="res://.godot/imported/eyes-iris-1.png-d2077e2e658acf3840075cfe98f86f4e.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/eyes-iris-1.png"
|
source_file="res://external/test portrait/farmer_f/eyes-iris-1.png"
|
||||||
dest_files=["res://.godot/imported/eyes-iris-1.png-3c96067ab402ea99f8e1b1b7db594f4c.ctex"]
|
dest_files=["res://.godot/imported/eyes-iris-1.png-d2077e2e658acf3840075cfe98f86f4e.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://wnkr20dtf734"
|
uid="uid://wnkr20dtf734"
|
||||||
path="res://.godot/imported/eyes-lashes-1.png-8a4535f7647af11ff99b165ee021e8cc.ctex"
|
path="res://.godot/imported/eyes-lashes-1.png-1460ddc60d7a087da2d517ce8f1a5faa.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/eyes-lashes-1.png"
|
source_file="res://external/test portrait/farmer_f/eyes-lashes-1.png"
|
||||||
dest_files=["res://.godot/imported/eyes-lashes-1.png-8a4535f7647af11ff99b165ee021e8cc.ctex"]
|
dest_files=["res://.godot/imported/eyes-lashes-1.png-1460ddc60d7a087da2d517ce8f1a5faa.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dd063tm4qo5nc"
|
uid="uid://dd063tm4qo5nc"
|
||||||
path="res://.godot/imported/eyes.png-1384a95ac331738bfe48af30a8953f10.ctex"
|
path="res://.godot/imported/eyes.png-da6eb5fdf7f113844fe8e5414a1f2331.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/eyes.png"
|
source_file="res://external/test portrait/farmer_f/eyes.png"
|
||||||
dest_files=["res://.godot/imported/eyes.png-1384a95ac331738bfe48af30a8953f10.ctex"]
|
dest_files=["res://.godot/imported/eyes.png-da6eb5fdf7f113844fe8e5414a1f2331.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://li44lgsa0ky"
|
uid="uid://li44lgsa0ky"
|
||||||
path="res://.godot/imported/eyes_shadow.png-639516c9b7d6a71a22fcd4597236a89e.ctex"
|
path="res://.godot/imported/eyes_shadow.png-c0450e5470a67b3e212b544dfeadc885.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/eyes_shadow.png"
|
source_file="res://external/test portrait/farmer_f/eyes_shadow.png"
|
||||||
dest_files=["res://.godot/imported/eyes_shadow.png-639516c9b7d6a71a22fcd4597236a89e.ctex"]
|
dest_files=["res://.godot/imported/eyes_shadow.png-c0450e5470a67b3e212b544dfeadc885.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://can8npg0ufr3f"
|
uid="uid://can8npg0ufr3f"
|
||||||
path="res://.godot/imported/hair_bg.png-07f942d8008a0d2581909922002bbbe2.ctex"
|
path="res://.godot/imported/hair_bg.png-71bd584ff51ea6c704ba2eb2b8124703.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/hair_bg.png"
|
source_file="res://external/test portrait/farmer_f/hair_bg.png"
|
||||||
dest_files=["res://.godot/imported/hair_bg.png-07f942d8008a0d2581909922002bbbe2.ctex"]
|
dest_files=["res://.godot/imported/hair_bg.png-71bd584ff51ea6c704ba2eb2b8124703.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://vt17lekvchdg"
|
uid="uid://vt17lekvchdg"
|
||||||
path="res://.godot/imported/hair_fg.png-9f5c6bb27fb0349d9ddfba99f87aa5c6.ctex"
|
path="res://.godot/imported/hair_fg.png-9dfae38fbf9812dad9b45d15a1cbd791.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/hair_fg.png"
|
source_file="res://external/test portrait/farmer_f/hair_fg.png"
|
||||||
dest_files=["res://.godot/imported/hair_fg.png-9f5c6bb27fb0349d9ddfba99f87aa5c6.ctex"]
|
dest_files=["res://.godot/imported/hair_fg.png-9dfae38fbf9812dad9b45d15a1cbd791.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cru775pghpate"
|
uid="uid://cru775pghpate"
|
||||||
path="res://.godot/imported/hair_fg_shadow.png-41de10e26ae2147aace92ba197b28075.ctex"
|
path="res://.godot/imported/hair_fg_shadow.png-609d7f961008e48f548f0e05277dafb4.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/hair_fg_shadow.png"
|
source_file="res://external/test portrait/farmer_f/hair_fg_shadow.png"
|
||||||
dest_files=["res://.godot/imported/hair_fg_shadow.png-41de10e26ae2147aace92ba197b28075.ctex"]
|
dest_files=["res://.godot/imported/hair_fg_shadow.png-609d7f961008e48f548f0e05277dafb4.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dj6fagfp2sbrx"
|
uid="uid://dj6fagfp2sbrx"
|
||||||
path="res://.godot/imported/hat-bg.png-00e20fcd79ddb550d12459624be7d9b1.ctex"
|
path="res://.godot/imported/hat-bg.png-972a86d8449c11d1a72a4f21b15efd0a.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/hat-bg.png"
|
source_file="res://external/test portrait/farmer_f/hat-bg.png"
|
||||||
dest_files=["res://.godot/imported/hat-bg.png-00e20fcd79ddb550d12459624be7d9b1.ctex"]
|
dest_files=["res://.godot/imported/hat-bg.png-972a86d8449c11d1a72a4f21b15efd0a.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://b303qa76o5r1m"
|
uid="uid://b303qa76o5r1m"
|
||||||
path="res://.godot/imported/hat.png-9bb6fa9d1f7f7503ee26b1749cdf7c0a.ctex"
|
path="res://.godot/imported/hat.png-21e48868d0218210b390afa680a1202d.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/hat.png"
|
source_file="res://external/test portrait/farmer_f/hat.png"
|
||||||
dest_files=["res://.godot/imported/hat.png-9bb6fa9d1f7f7503ee26b1749cdf7c0a.ctex"]
|
dest_files=["res://.godot/imported/hat.png-21e48868d0218210b390afa680a1202d.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dyeu4kwwnxjn5"
|
uid="uid://dyeu4kwwnxjn5"
|
||||||
path="res://.godot/imported/hat_fg.png-e2cae14f649780ea2aba38b34358b587.ctex"
|
path="res://.godot/imported/hat_fg.png-2dddd61ae84da22b32d123d3533338c5.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/hat_fg.png"
|
source_file="res://external/test portrait/farmer_f/hat_fg.png"
|
||||||
dest_files=["res://.godot/imported/hat_fg.png-e2cae14f649780ea2aba38b34358b587.ctex"]
|
dest_files=["res://.godot/imported/hat_fg.png-2dddd61ae84da22b32d123d3533338c5.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dbdjaye6srxhx"
|
uid="uid://dbdjaye6srxhx"
|
||||||
path="res://.godot/imported/head.png-df46fa0b8e2741bbf0fad9b3a03fedea.ctex"
|
path="res://.godot/imported/head.png-47039f8abc285b87bb176b5b43ee9a5f.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://external/Test Portrait/Farmer_F/head.png"
|
source_file="res://external/test portrait/farmer_f/head.png"
|
||||||
dest_files=["res://.godot/imported/head.png-df46fa0b8e2741bbf0fad9b3a03fedea.ctex"]
|
dest_files=["res://.godot/imported/head.png-47039f8abc285b87bb176b5b43ee9a5f.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
BIN
external/guildcard-portrait-placeholder.png
vendored
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
40
external/guildcard-portrait-placeholder.png.import
vendored
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://c5hcva1k5qee0"
|
||||||
|
path="res://.godot/imported/guildcard-portrait-placeholder.png-c0bfec06bc2e891650a1650e78889916.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://external/guildcard-portrait-placeholder.png"
|
||||||
|
dest_files=["res://.godot/imported/guildcard-portrait-placeholder.png-c0bfec06bc2e891650a1650e78889916.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
external/merchant-placeholder.png
vendored
Normal file
|
After Width: | Height: | Size: 543 B |
40
external/merchant-placeholder.png.import
vendored
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cdqu6oo8lo743"
|
||||||
|
path="res://.godot/imported/merchant-placeholder.png-13c0f9bee78f149eb3daefd00b88aa8d.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://external/merchant-placeholder.png"
|
||||||
|
dest_files=["res://.godot/imported/merchant-placeholder.png-13c0f9bee78f149eb3daefd00b88aa8d.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
external/move_marker.aseprite
vendored
Normal file
BIN
external/outline-np.png
vendored
Normal file
|
After Width: | Height: | Size: 100 B |
40
external/outline-np.png.import
vendored
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://cnwcvebl0c1it"
|
||||||
|
path="res://.godot/imported/outline-np.png-0697bc1c71c69083200c70b4a3720757.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://external/outline-np.png"
|
||||||
|
dest_files=["res://.godot/imported/outline-np.png-0697bc1c71c69083200c70b4a3720757.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
external/pom-intro.png
vendored
Normal file
|
After Width: | Height: | Size: 26 KiB |
40
external/pom-intro.png.import
vendored
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bdmixnd1mhgfu"
|
||||||
|
path="res://.godot/imported/pom-intro.png-7ef40172310857171d345738a7ffed65.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://external/pom-intro.png"
|
||||||
|
dest_files=["res://.godot/imported/pom-intro.png-7ef40172310857171d345738a7ffed65.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
external/portrait.clip
vendored
BIN
external/signature.png
vendored
Normal file
|
After Width: | Height: | Size: 12 KiB |
40
external/signature.png.import
vendored
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://hdjte1ipyyio"
|
||||||
|
path="res://.godot/imported/signature.png-5527eb152408fafee8a4b656ff1507f9.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://external/signature.png"
|
||||||
|
dest_files=["res://.godot/imported/signature.png-5527eb152408fafee8a4b656ff1507f9.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
external/xp.clip
vendored
Normal file
BIN
graphics/first-guild-base.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
40
graphics/first-guild-base.png.import
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://do4gn21x5bmdm"
|
||||||
|
path="res://.godot/imported/first-guild-base.png-2d43656da3758ae3da4d3e59033f988e.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://graphics/first-guild-base.png"
|
||||||
|
dest_files=["res://.godot/imported/first-guild-base.png-2d43656da3758ae3da4d3e59033f988e.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
graphics/first-guild-front.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
40
graphics/first-guild-front.png.import
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bg5ip7ni3n7qd"
|
||||||
|
path="res://.godot/imported/first-guild-front.png-be5b61a04815517e4b07fce70ddaab2b.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://graphics/first-guild-front.png"
|
||||||
|
dest_files=["res://.godot/imported/first-guild-front.png-be5b61a04815517e4b07fce70ddaab2b.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
BIN
graphics/move_marker.png
Normal file
|
After Width: | Height: | Size: 834 B |
40
graphics/move_marker.png.import
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bb827iikdiygx"
|
||||||
|
path="res://.godot/imported/move_marker.png-9d7e6510cae0af208c9285873d50db6a.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://graphics/move_marker.png"
|
||||||
|
dest_files=["res://.godot/imported/move_marker.png-9d7e6510cae0af208c9285873d50db6a.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
40
icon.png.import
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://c3kis7t3ahe78"
|
||||||
|
path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://icon.png"
|
||||||
|
dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
@@ -28,8 +28,8 @@ directories/dch_directory={
|
|||||||
"pom": "res://dialogic/characters/pom.dch"
|
"pom": "res://dialogic/characters/pom.dch"
|
||||||
}
|
}
|
||||||
directories/dtl_directory={
|
directories/dtl_directory={
|
||||||
"intro": "res://dialogic/timelines/intro.dtl",
|
"game_start": "res://dialogic/timelines/game_start.dtl",
|
||||||
"letter": "res://dialogic/timelines/letter.dtl"
|
"guild_entrance": "res://dialogic/timelines/guild_entrance.dtl"
|
||||||
}
|
}
|
||||||
glossary/default_case_sensitive=true
|
glossary/default_case_sensitive=true
|
||||||
extensions_folder="res://addons/dialogic_additions"
|
extensions_folder="res://addons/dialogic_additions"
|
||||||
@@ -71,7 +71,11 @@ project/assembly_name="pomchronicles"
|
|||||||
|
|
||||||
[editor_plugins]
|
[editor_plugins]
|
||||||
|
|
||||||
enabled=PackedStringArray("res://addons/Todo_Manager/plugin.cfg", "res://addons/dialogic/plugin.cfg")
|
enabled=PackedStringArray("res://addons/ReorderableContainer/plugin.cfg", "res://addons/Todo_Manager/plugin.cfg", "res://addons/dialogic/plugin.cfg")
|
||||||
|
|
||||||
|
[global_group]
|
||||||
|
|
||||||
|
room_obstacles=""
|
||||||
|
|
||||||
[input]
|
[input]
|
||||||
|
|
||||||
|
|||||||
21
scenes/game_start.tscn
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
[gd_scene load_steps=2 format=3 uid="uid://blgri41imul1d"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://cpufy3rp4f0gw" path="res://scripts/game_start.gd" id="1_jahr7"]
|
||||||
|
|
||||||
|
[node name="Control" type="Control"]
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
script = ExtResource("1_jahr7")
|
||||||
|
|
||||||
|
[node name="ColorRect" type="ColorRect" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
color = Color(0.007298478, 0, 0.13471341, 1)
|
||||||
323
scenes/guild_card.tscn
Normal file
@@ -0,0 +1,323 @@
|
|||||||
|
[gd_scene load_steps=17 format=3 uid="uid://dcpuaq3fcwyxs"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://dkrxdaq8d6q55" path="res://scripts/guild_card_scene.gd" id="1_hj0e5"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://c5hcva1k5qee0" path="res://external/guildcard-portrait-placeholder.png" id="1_mmvi8"]
|
||||||
|
[ext_resource type="Shader" uid="uid://uxrvcuhjnjgl" path="res://shaders/animated_gradient.gdshader" id="3_3vymb"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://hdjte1ipyyio" path="res://external/signature.png" id="4_ht11g"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://bmm8jhojdt31a" path="res://sounds/Writing in paper 19.wav" id="5_ht11g"]
|
||||||
|
|
||||||
|
[sub_resource type="Gradient" id="Gradient_hj0e5"]
|
||||||
|
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1)
|
||||||
|
|
||||||
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_5cpdt"]
|
||||||
|
gradient = SubResource("Gradient_hj0e5")
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxLine" id="StyleBoxLine_3vymb"]
|
||||||
|
content_margin_left = 4.0
|
||||||
|
content_margin_top = 0.0
|
||||||
|
content_margin_right = 4.0
|
||||||
|
content_margin_bottom = 0.0
|
||||||
|
thickness = 8
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ht11g"]
|
||||||
|
content_margin_left = 0.0
|
||||||
|
content_margin_top = 0.0
|
||||||
|
content_margin_right = 0.0
|
||||||
|
content_margin_bottom = 0.0
|
||||||
|
bg_color = Color(0.89, 0.75472, 0.5518, 1)
|
||||||
|
corner_radius_top_left = 3
|
||||||
|
corner_radius_top_right = 3
|
||||||
|
corner_radius_bottom_right = 3
|
||||||
|
corner_radius_bottom_left = 3
|
||||||
|
corner_detail = 5
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3rhvj"]
|
||||||
|
content_margin_left = 4.0
|
||||||
|
content_margin_top = 4.0
|
||||||
|
content_margin_right = 4.0
|
||||||
|
content_margin_bottom = 4.0
|
||||||
|
bg_color = Color(0.75686276, 0.62352943, 0.4, 1)
|
||||||
|
border_width_bottom = 2
|
||||||
|
border_color = Color(0, 0, 0, 0.6)
|
||||||
|
corner_radius_top_left = 3
|
||||||
|
corner_radius_top_right = 3
|
||||||
|
corner_radius_bottom_right = 3
|
||||||
|
corner_radius_bottom_left = 3
|
||||||
|
corner_detail = 5
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_tnttg"]
|
||||||
|
content_margin_left = 4.0
|
||||||
|
content_margin_top = 4.0
|
||||||
|
content_margin_right = 4.0
|
||||||
|
content_margin_bottom = 4.0
|
||||||
|
bg_color = Color(0.75686276, 0.62352943, 0.4, 1)
|
||||||
|
border_width_bottom = 2
|
||||||
|
border_color = Color(0, 0, 0, 0.6)
|
||||||
|
corner_radius_top_left = 3
|
||||||
|
corner_radius_top_right = 3
|
||||||
|
corner_radius_bottom_right = 3
|
||||||
|
corner_radius_bottom_left = 3
|
||||||
|
corner_detail = 5
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_q4kfw"]
|
||||||
|
content_margin_left = 4.0
|
||||||
|
content_margin_top = 4.0
|
||||||
|
content_margin_right = 4.0
|
||||||
|
content_margin_bottom = 4.0
|
||||||
|
bg_color = Color(0.67, 0.5348834, 0.3015, 0.6)
|
||||||
|
corner_radius_top_left = 3
|
||||||
|
corner_radius_top_right = 3
|
||||||
|
corner_radius_bottom_right = 3
|
||||||
|
corner_radius_bottom_left = 3
|
||||||
|
corner_detail = 5
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxLine" id="StyleBoxLine_7irbt"]
|
||||||
|
content_margin_left = 4.0
|
||||||
|
content_margin_top = 0.0
|
||||||
|
content_margin_right = 4.0
|
||||||
|
content_margin_bottom = 0.0
|
||||||
|
color = Color(1, 1, 1, 1)
|
||||||
|
thickness = 4
|
||||||
|
|
||||||
|
[sub_resource type="Gradient" id="Gradient_3vymb"]
|
||||||
|
offsets = PackedFloat32Array(0.0026385225, 0.047493402, 0.081794195, 1)
|
||||||
|
colors = PackedColorArray(1, 0, 0, 1, 0, 0.1333332, 1, 1, 0, 0.02513448, 0.18850878, 1, 0, 0, 0, 1)
|
||||||
|
|
||||||
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_ht11g"]
|
||||||
|
gradient = SubResource("Gradient_3vymb")
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_3rhvj"]
|
||||||
|
resource_local_to_scene = true
|
||||||
|
shader = ExtResource("3_3vymb")
|
||||||
|
shader_parameter/gradient = SubResource("GradientTexture1D_ht11g")
|
||||||
|
shader_parameter/fringe = 0.008000000001629815
|
||||||
|
|
||||||
|
[node name="Guild Card Scene" type="Control"]
|
||||||
|
layout_mode = 3
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
script = ExtResource("1_hj0e5")
|
||||||
|
|
||||||
|
[node name="ColorRect2" type="ColorRect" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
color = Color(0.007298478, 0, 0.13471341, 1)
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="."]
|
||||||
|
modulate = Color(1, 0.776, 0.52, 1)
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 353.0
|
||||||
|
offset_top = 88.99999
|
||||||
|
offset_right = 1359.965
|
||||||
|
offset_bottom = 1313.5608
|
||||||
|
rotation = -0.19356708
|
||||||
|
texture = SubResource("GradientTexture1D_5cpdt")
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="TextureRect"]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 34.2516
|
||||||
|
offset_top = 33.20886
|
||||||
|
offset_right = 930.2516
|
||||||
|
offset_bottom = 143.20885
|
||||||
|
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||||
|
theme_override_font_sizes/font_size = 72
|
||||||
|
text = "GUILD CHAPTER CHARTER"
|
||||||
|
|
||||||
|
[node name="Label2" type="Label" parent="TextureRect"]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 265.34796
|
||||||
|
offset_top = 127.92432
|
||||||
|
offset_right = 718.34796
|
||||||
|
offset_bottom = 210.92432
|
||||||
|
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||||
|
theme_override_font_sizes/font_size = 60
|
||||||
|
text = "Nestor's Woods"
|
||||||
|
|
||||||
|
[node name="HSeparator" type="HSeparator" parent="TextureRect"]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 97.12344
|
||||||
|
offset_top = 190.73767
|
||||||
|
offset_right = 892.07495
|
||||||
|
offset_bottom = 214.61972
|
||||||
|
theme_override_styles/separator = SubResource("StyleBoxLine_3vymb")
|
||||||
|
|
||||||
|
[node name="HSeparator2" type="HSeparator" parent="TextureRect"]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 94.76892
|
||||||
|
offset_top = 1138.492
|
||||||
|
offset_right = 889.72046
|
||||||
|
offset_bottom = 1162.374
|
||||||
|
theme_override_styles/separator = SubResource("StyleBoxLine_3vymb")
|
||||||
|
|
||||||
|
[node name="ColorRect" type="ColorRect" parent="."]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 525.0
|
||||||
|
offset_top = 352.0
|
||||||
|
offset_right = 1452.0
|
||||||
|
offset_bottom = 788.0
|
||||||
|
color = Color(0, 0, 0, 0.45882353)
|
||||||
|
|
||||||
|
[node name="GuildCard" type="Panel" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = -1
|
||||||
|
anchor_left = 0.5
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 0.5
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_left = -458.0
|
||||||
|
offset_top = -216.0
|
||||||
|
offset_right = 458.0
|
||||||
|
offset_bottom = 216.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
theme_override_styles/panel = SubResource("StyleBoxFlat_ht11g")
|
||||||
|
|
||||||
|
[node name="PortraitButton" type="TextureButton" parent="GuildCard"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
custom_minimum_size = Vector2(200, 200)
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 15.0
|
||||||
|
offset_top = 63.0
|
||||||
|
offset_right = 55.0
|
||||||
|
offset_bottom = 103.0
|
||||||
|
|
||||||
|
[node name="ColorRect" type="ColorRect" parent="GuildCard/PortraitButton"]
|
||||||
|
custom_minimum_size = Vector2(200, 200)
|
||||||
|
layout_mode = 0
|
||||||
|
offset_right = 200.0
|
||||||
|
offset_bottom = 200.0
|
||||||
|
mouse_filter = 2
|
||||||
|
color = Color(0.75686276, 0.62352943, 0.4, 1)
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="GuildCard/PortraitButton"]
|
||||||
|
modulate = Color(0.6024934, 0.46840662, 0.2634572, 1)
|
||||||
|
layout_mode = 0
|
||||||
|
offset_right = 200.0
|
||||||
|
offset_bottom = 200.0
|
||||||
|
mouse_filter = 2
|
||||||
|
texture = ExtResource("1_mmvi8")
|
||||||
|
expand_mode = 1
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="GuildCard"]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 187.0
|
||||||
|
offset_right = 736.0
|
||||||
|
offset_bottom = 67.0
|
||||||
|
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||||
|
theme_override_font_sizes/font_size = 48
|
||||||
|
text = "Guild Membership Card"
|
||||||
|
|
||||||
|
[node name="FirstNameEdit" type="TextEdit" parent="GuildCard"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
custom_minimum_size = Vector2(300, 60)
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 255.0
|
||||||
|
offset_top = 65.0
|
||||||
|
offset_right = 555.0
|
||||||
|
offset_bottom = 125.0
|
||||||
|
theme_override_colors/caret_background_color = Color(0, 0, 0, 0)
|
||||||
|
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||||
|
theme_override_colors/font_readonly_color = Color(1, 1, 1, 1)
|
||||||
|
theme_override_colors/font_placeholder_color = Color(0.3403393, 0.34033933, 0.3403393, 1)
|
||||||
|
theme_override_colors/background_color = Color(0, 0, 0, 0)
|
||||||
|
theme_override_colors/current_line_color = Color(0, 0, 0, 0)
|
||||||
|
theme_override_font_sizes/font_size = 40
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_3rhvj")
|
||||||
|
placeholder_text = "(First Name)"
|
||||||
|
|
||||||
|
[node name="LastNameEdit" type="TextEdit" parent="GuildCard"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
custom_minimum_size = Vector2(300, 60)
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 569.0
|
||||||
|
offset_top = 65.0
|
||||||
|
offset_right = 869.0
|
||||||
|
offset_bottom = 125.0
|
||||||
|
theme_override_colors/caret_background_color = Color(0, 0, 0, 0)
|
||||||
|
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||||
|
theme_override_colors/font_readonly_color = Color(1, 1, 1, 1)
|
||||||
|
theme_override_colors/font_placeholder_color = Color(0.3403393, 0.34033933, 0.3403393, 1)
|
||||||
|
theme_override_colors/background_color = Color(0, 0, 0, 0)
|
||||||
|
theme_override_colors/current_line_color = Color(0, 0, 0, 0)
|
||||||
|
theme_override_font_sizes/font_size = 40
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_tnttg")
|
||||||
|
placeholder_text = "(Last Name)"
|
||||||
|
|
||||||
|
[node name="Label2" type="Label" parent="GuildCard"]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 228.0
|
||||||
|
offset_top = 74.0
|
||||||
|
offset_right = 281.0
|
||||||
|
offset_bottom = 129.0
|
||||||
|
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||||
|
theme_override_font_sizes/font_size = 40
|
||||||
|
text = "I, ,
|
||||||
|
Do solemnly swear to be an
|
||||||
|
adventurer and crap."
|
||||||
|
|
||||||
|
[node name="SignButton" type="Button" parent="GuildCard"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 89.0
|
||||||
|
offset_top = 284.0
|
||||||
|
offset_right = 839.0
|
||||||
|
offset_bottom = 380.0
|
||||||
|
theme_override_colors/font_color = Color(0.2775273, 0.27752793, 0.27752748, 1)
|
||||||
|
theme_override_font_sizes/font_size = 48
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_q4kfw")
|
||||||
|
text = "(Sign Here)"
|
||||||
|
|
||||||
|
[node name="HSeparator" type="HSeparator" parent="GuildCard"]
|
||||||
|
modulate = Color(0, 0, 0, 1)
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 258.0
|
||||||
|
offset_top = 65.0
|
||||||
|
offset_right = 552.0
|
||||||
|
offset_bottom = 181.0
|
||||||
|
mouse_filter = 2
|
||||||
|
theme_override_styles/separator = SubResource("StyleBoxLine_7irbt")
|
||||||
|
|
||||||
|
[node name="HSeparator3" type="HSeparator" parent="GuildCard"]
|
||||||
|
modulate = Color(0, 0, 0, 1)
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 51.0
|
||||||
|
offset_top = 329.0
|
||||||
|
offset_right = 877.0
|
||||||
|
offset_bottom = 445.0
|
||||||
|
mouse_filter = 2
|
||||||
|
theme_override_styles/separator = SubResource("StyleBoxLine_7irbt")
|
||||||
|
|
||||||
|
[node name="HSeparator2" type="HSeparator" parent="GuildCard"]
|
||||||
|
modulate = Color(0, 0, 0, 1)
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 573.0
|
||||||
|
offset_top = 65.0
|
||||||
|
offset_right = 867.0
|
||||||
|
offset_bottom = 181.0
|
||||||
|
mouse_filter = 2
|
||||||
|
theme_override_styles/separator = SubResource("StyleBoxLine_7irbt")
|
||||||
|
|
||||||
|
[node name="Signature" type="TextureRect" parent="."]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
material = SubResource("ShaderMaterial_3rhvj")
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 873.0
|
||||||
|
offset_top = 557.0
|
||||||
|
offset_right = 1064.0
|
||||||
|
offset_bottom = 765.0
|
||||||
|
texture = ExtResource("4_ht11g")
|
||||||
|
|
||||||
|
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||||
|
stream = ExtResource("5_ht11g")
|
||||||
|
|
||||||
|
[connection signal="pressed" from="GuildCard/PortraitButton" to="." method="_on_portrait_button_pressed"]
|
||||||
|
[connection signal="text_changed" from="GuildCard/FirstNameEdit" to="." method="_on_first_name_edit_text_changed"]
|
||||||
|
[connection signal="text_changed" from="GuildCard/LastNameEdit" to="." method="_on_last_name_edit_text_changed"]
|
||||||
|
[connection signal="pressed" from="GuildCard/SignButton" to="." method="_on_sign_button_pressed"]
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
[gd_scene load_steps=2 format=3 uid="uid://dytxmk3tg3jg7"]
|
[gd_scene load_steps=3 format=3 uid="uid://dytxmk3tg3jg7"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://bowfi8npivsxo" path="res://scripts/hold_to_continue.gd" id="1_kg060"]
|
||||||
|
|
||||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_hfigq"]
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_hfigq"]
|
||||||
bg_color = Color(0.47, 0.34466666, 0, 0.38431373)
|
bg_color = Color(0.47, 0.34466666, 0, 0.38431373)
|
||||||
@@ -16,6 +18,15 @@ anchor_bottom = 1.0
|
|||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="ColorRect4" type="ColorRect" parent="."]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
color = Color(0.007298478, 0, 0.13471341, 1)
|
||||||
|
|
||||||
[node name="ColorRect2" type="ColorRect" parent="."]
|
[node name="ColorRect2" type="ColorRect" parent="."]
|
||||||
layout_mode = 0
|
layout_mode = 0
|
||||||
offset_left = 426.99997
|
offset_left = 426.99997
|
||||||
@@ -250,3 +261,32 @@ offset_top = 638.0
|
|||||||
offset_right = 1367.0
|
offset_right = 1367.0
|
||||||
offset_bottom = 766.0
|
offset_bottom = 766.0
|
||||||
color = Color(0.63, 0.63, 0.63, 1)
|
color = Color(0.63, 0.63, 0.63, 1)
|
||||||
|
|
||||||
|
[node name="PressToContinue" type="MarginContainer" parent="."]
|
||||||
|
custom_minimum_size = Vector2(250, 75)
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 1551.0
|
||||||
|
offset_top = 518.0
|
||||||
|
offset_right = 1801.0
|
||||||
|
offset_bottom = 593.0
|
||||||
|
script = ExtResource("1_kg060")
|
||||||
|
advance_type = 1
|
||||||
|
scene = "game_start"
|
||||||
|
label = "Start Guildcard"
|
||||||
|
|
||||||
|
[node name="Button" type="TextureButton" parent="PressToContinue"]
|
||||||
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="PressToContinue"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Hold Space to Continue ->"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
|
||||||
|
[node name="ProgressBar" type="ProgressBar" parent="PressToContinue"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 1
|
||||||
|
mouse_filter = 2
|
||||||
|
show_percentage = false
|
||||||
|
|
||||||
|
[connection signal="button_down" from="PressToContinue/Button" to="PressToContinue" method="_on_button_button_down"]
|
||||||
|
[connection signal="button_up" from="PressToContinue/Button" to="PressToContinue" method="_on_button_button_up"]
|
||||||
|
|||||||
@@ -1,28 +1,80 @@
|
|||||||
[gd_scene load_steps=2 format=3 uid="uid://b0fifk2nek3lm"]
|
[gd_scene load_steps=9 format=3 uid="uid://b0fifk2nek3lm"]
|
||||||
|
|
||||||
[sub_resource type="StyleBoxLine" id="StyleBoxLine_cpouh"]
|
[ext_resource type="Script" uid="uid://h61yq7g8mfj3" path="res://scripts/set_shifts.gd" id="1_rxjlm"]
|
||||||
content_margin_left = 1.0
|
[ext_resource type="Script" uid="uid://d3mey1366662n" path="res://addons/ReorderableContainer/reorderable_vbox.gd" id="2_532of"]
|
||||||
content_margin_top = 1.0
|
[ext_resource type="PackedScene" uid="uid://ctbg44spnjbsa" path="res://templates/shift_cycle.tscn" id="2_rxjlm"]
|
||||||
content_margin_right = 1.0
|
|
||||||
content_margin_bottom = 1.0
|
|
||||||
color = Color(0.5689727, 0.56897277, 0.5689727, 1)
|
|
||||||
grow_begin = 180.0
|
|
||||||
grow_end = 180.0
|
|
||||||
thickness = 3
|
|
||||||
|
|
||||||
[node name="Control" type="MarginContainer"]
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_532of"]
|
||||||
anchors_preset = 15
|
content_margin_left = 0.0
|
||||||
|
content_margin_top = 0.0
|
||||||
|
content_margin_right = 0.0
|
||||||
|
content_margin_bottom = 0.0
|
||||||
|
bg_color = Color(0.9768931, 0.7416691, 0.47020185, 0.6)
|
||||||
|
corner_radius_top_left = 3
|
||||||
|
corner_radius_top_right = 3
|
||||||
|
corner_radius_bottom_right = 3
|
||||||
|
corner_radius_bottom_left = 3
|
||||||
|
corner_detail = 5
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxLine" id="StyleBoxLine_532of"]
|
||||||
|
content_margin_left = 4.0
|
||||||
|
content_margin_top = 0.0
|
||||||
|
content_margin_right = 4.0
|
||||||
|
content_margin_bottom = 0.0
|
||||||
|
thickness = 4
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4epq3"]
|
||||||
|
content_margin_left = 4.0
|
||||||
|
content_margin_top = 4.0
|
||||||
|
content_margin_right = 4.0
|
||||||
|
content_margin_bottom = 4.0
|
||||||
|
bg_color = Color(0.47520554, 0.36835867, 0.22654346, 1)
|
||||||
|
corner_radius_top_left = 3
|
||||||
|
corner_radius_top_right = 3
|
||||||
|
corner_radius_bottom_right = 3
|
||||||
|
corner_radius_bottom_left = 3
|
||||||
|
corner_detail = 5
|
||||||
|
|
||||||
|
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_532of"]
|
||||||
|
|
||||||
|
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_u3f83"]
|
||||||
|
content_margin_left = 0.0
|
||||||
|
content_margin_top = 0.0
|
||||||
|
content_margin_right = 0.0
|
||||||
|
content_margin_bottom = 0.0
|
||||||
|
bg_color = Color(0.45, 0.45, 0.45, 0.40784314)
|
||||||
|
corner_radius_top_left = 3
|
||||||
|
corner_radius_top_right = 3
|
||||||
|
corner_radius_bottom_right = 3
|
||||||
|
corner_radius_bottom_left = 3
|
||||||
|
corner_detail = 5
|
||||||
|
|
||||||
|
[node name="Control" type="Control"]
|
||||||
|
layout_mode = 3
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
|
offset_bottom = 37.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
|
script = ExtResource("1_rxjlm")
|
||||||
|
|
||||||
|
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||||
|
layout_mode = 0
|
||||||
|
offset_left = 150.0
|
||||||
|
offset_top = 100.0
|
||||||
|
offset_right = 1770.0
|
||||||
|
offset_bottom = 1017.0
|
||||||
theme_override_constants/margin_left = 150
|
theme_override_constants/margin_left = 150
|
||||||
theme_override_constants/margin_top = 100
|
theme_override_constants/margin_top = 100
|
||||||
theme_override_constants/margin_right = 150
|
theme_override_constants/margin_right = 150
|
||||||
theme_override_constants/margin_bottom = 100
|
theme_override_constants/margin_bottom = 100
|
||||||
|
|
||||||
[node name="PanelContainer" type="PanelContainer" parent="."]
|
[node name="PanelContainer" type="PanelContainer" parent="."]
|
||||||
layout_mode = 2
|
layout_mode = 0
|
||||||
|
offset_left = 150.0
|
||||||
|
offset_top = 100.0
|
||||||
|
offset_right = 1770.0
|
||||||
|
offset_bottom = 1017.0
|
||||||
|
|
||||||
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer"]
|
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
@@ -35,15 +87,6 @@ theme_override_constants/margin_bottom = 20
|
|||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_constants/separation = 15
|
theme_override_constants/separation = 15
|
||||||
|
|
||||||
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/MarginContainer/VBoxContainer"]
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/PanelContainer"]
|
|
||||||
layout_mode = 2
|
|
||||||
theme_override_font_sizes/font_size = 42
|
|
||||||
text = "Please Set Your Work Shift Cycles"
|
|
||||||
horizontal_alignment = 1
|
|
||||||
|
|
||||||
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer"]
|
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_constants/separation = 9
|
theme_override_constants/separation = 9
|
||||||
@@ -79,69 +122,81 @@ QUESTS WILL NOT MAKE PROGRESS.
|
|||||||
"
|
"
|
||||||
autowrap_mode = 2
|
autowrap_mode = 2
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer"]
|
[node name="PanelContainer2" type="PanelContainer" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer"]
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer"]
|
|
||||||
custom_minimum_size = Vector2(700, 700)
|
custom_minimum_size = Vector2(700, 700)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
theme_override_styles/panel = SubResource("StyleBoxFlat_532of")
|
||||||
|
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer"]
|
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer2"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer"]
|
[node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/PanelContainer"]
|
theme_override_font_sizes/font_size = 42
|
||||||
layout_mode = 2
|
text = "Set Your Work Shift Cycles"
|
||||||
|
|
||||||
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/PanelContainer/VBoxContainer"]
|
|
||||||
custom_minimum_size = Vector2(200, 0)
|
|
||||||
layout_mode = 2
|
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/PanelContainer/VBoxContainer/HBoxContainer"]
|
|
||||||
custom_minimum_size = Vector2(600, 50)
|
|
||||||
layout_mode = 2
|
|
||||||
theme_override_font_sizes/font_size = 32
|
|
||||||
text = "WORK SHIFT"
|
|
||||||
horizontal_alignment = 1
|
horizontal_alignment = 1
|
||||||
vertical_alignment = 1
|
|
||||||
|
|
||||||
[node name="TextEdit" type="TextEdit" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/PanelContainer/VBoxContainer/HBoxContainer"]
|
[node name="HSeparator" type="HSeparator" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer"]
|
||||||
custom_minimum_size = Vector2(65, 50)
|
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_font_sizes/font_size = 32
|
theme_override_constants/separation = 8
|
||||||
placeholder_text = "25"
|
theme_override_styles/separator = SubResource("StyleBoxLine_532of")
|
||||||
|
|
||||||
[node name="VSeparator" type="VSeparator" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/PanelContainer/VBoxContainer"]
|
[node name="ScrollContainer" type="ScrollContainer" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer"]
|
||||||
layout_mode = 2
|
clip_contents = false
|
||||||
theme_override_styles/separator = SubResource("StyleBoxLine_cpouh")
|
custom_minimum_size = Vector2(0, 700)
|
||||||
|
|
||||||
[node name="HBoxContainer2" type="HBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/PanelContainer/VBoxContainer"]
|
|
||||||
custom_minimum_size = Vector2(200, 0)
|
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/PanelContainer/VBoxContainer/HBoxContainer2"]
|
[node name="CycleList" type="Container" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer/ScrollContainer"]
|
||||||
custom_minimum_size = Vector2(600, 50)
|
unique_name_in_owner = true
|
||||||
|
process_mode = 1
|
||||||
|
custom_minimum_size = Vector2(0, 111)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_font_sizes/font_size = 32
|
script = ExtResource("2_532of")
|
||||||
text = "OPEN SHIFT"
|
hold_duration = 0.25
|
||||||
horizontal_alignment = 1
|
is_vertical = true
|
||||||
vertical_alignment = 1
|
metadata/_custom_type_script = "uid://d3mey1366662n"
|
||||||
|
|
||||||
[node name="TextEdit" type="TextEdit" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/PanelContainer/VBoxContainer/PanelContainer/VBoxContainer/HBoxContainer2"]
|
[node name="ShiftCycle" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer/ScrollContainer/CycleList" instance=ExtResource("2_rxjlm")]
|
||||||
custom_minimum_size = Vector2(65, 50)
|
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
theme_override_font_sizes/font_size = 32
|
|
||||||
placeholder_text = "5"
|
|
||||||
|
|
||||||
[node name="Button" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer"]
|
[node name="Accept Button" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 3
|
||||||
|
theme_override_colors/font_color = Color(0.34254947, 0.14302492, 4.813075e-08, 1)
|
||||||
theme_override_font_sizes/font_size = 48
|
theme_override_font_sizes/font_size = 48
|
||||||
|
theme_override_styles/normal = SubResource("StyleBoxFlat_4epq3")
|
||||||
text = "ACCEPT"
|
text = "ACCEPT"
|
||||||
|
|
||||||
[node name="Button" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer"]
|
[node name="VBoxContainer2" type="VBoxContainer" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer"]
|
||||||
custom_minimum_size = Vector2(460, 0)
|
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
||||||
|
[node name="Add Shift Button" type="Button" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer2"]
|
||||||
|
custom_minimum_size = Vector2(460, 400)
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_vertical = 3
|
||||||
theme_override_font_sizes/font_size = 48
|
theme_override_font_sizes/font_size = 48
|
||||||
text = "ADD SHIFT"
|
text = "ADD SHIFT"
|
||||||
|
|
||||||
|
[node name="DeleteBin" type="PanelContainer" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer2"]
|
||||||
|
unique_name_in_owner = true
|
||||||
|
material = SubResource("CanvasItemMaterial_532of")
|
||||||
|
custom_minimum_size = Vector2(0, 400)
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_styles/panel = SubResource("StyleBoxFlat_u3f83")
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer2/DeleteBin"]
|
||||||
|
modulate = Color(0.40832946, 0.40832946, 0.40832946, 1)
|
||||||
|
layout_mode = 2
|
||||||
|
theme_override_font_sizes/font_size = 32
|
||||||
|
text = "(Drag a Shift Cycle Here to Remove)"
|
||||||
|
horizontal_alignment = 1
|
||||||
|
vertical_alignment = 1
|
||||||
|
autowrap_mode = 2
|
||||||
|
|
||||||
|
[connection signal="drag_started" from="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer/ScrollContainer/CycleList" to="." method="_on_drag_started"]
|
||||||
|
[connection signal="drag_stopped" from="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer/ScrollContainer/CycleList" to="." method="_on_drag_stopped"]
|
||||||
|
[connection signal="dragging" from="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer/ScrollContainer/CycleList" to="." method="_on_drag_moved"]
|
||||||
|
[connection signal="sort_children" from="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer/ScrollContainer/CycleList" to="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer/ScrollContainer/CycleList" method="_on_sort_children"]
|
||||||
|
[connection signal="pressed" from="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/PanelContainer2/VBoxContainer/Accept Button" to="." method="_on_accept_button_pressed"]
|
||||||
|
[connection signal="pressed" from="PanelContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer2/Add Shift Button" to="." method="_on_add_shift_button_pressed"]
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ offset_bottom = 970.0
|
|||||||
|
|
||||||
[node name="Label" type="Label" parent="VBoxContainer"]
|
[node name="Label" type="Label" parent="VBoxContainer"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
mouse_filter = 0
|
||||||
theme_override_font_sizes/font_size = 100
|
theme_override_font_sizes/font_size = 100
|
||||||
text = "PomChronicles:"
|
text = "PomChronicles:"
|
||||||
horizontal_alignment = 1
|
horizontal_alignment = 1
|
||||||
@@ -37,6 +38,7 @@ horizontal_alignment = 1
|
|||||||
[node name="Label2" type="Label" parent="VBoxContainer"]
|
[node name="Label2" type="Label" parent="VBoxContainer"]
|
||||||
modulate = Color(0.45840502, 0.45840508, 0.45840502, 1)
|
modulate = Color(0.45840502, 0.45840508, 0.45840502, 1)
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
mouse_filter = 0
|
||||||
theme_override_font_sizes/font_size = 48
|
theme_override_font_sizes/font_size = 48
|
||||||
text = "We're going to be the bestest guild ever, right? Right?!?"
|
text = "We're going to be the bestest guild ever, right? Right?!?"
|
||||||
horizontal_alignment = 1
|
horizontal_alignment = 1
|
||||||
|
|||||||
@@ -5,11 +5,11 @@ var panel : GamePanel = null
|
|||||||
var player_profile : Window = null
|
var player_profile : Window = null
|
||||||
var quest_log : QuestLog = null
|
var quest_log : QuestLog = null
|
||||||
var top_menu : TopMenu = null
|
var top_menu : TopMenu = null
|
||||||
var open : bool = true
|
var open : bool = false
|
||||||
var end_shift_confirmation : ConfirmationDialog
|
var end_shift_confirmation : ConfirmationDialog
|
||||||
var end_shift_confirm_template = preload("res://templates/end_shift_confirmation.tscn")
|
var end_shift_confirm_template = preload("res://templates/end_shift_confirmation.tscn")
|
||||||
var player_profile_template = preload("res://templates/player_profile_window.tscn")
|
var player_profile_template = preload("res://templates/player_profile_window.tscn")
|
||||||
|
var last_screenshot : Image
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
DisplayServer.register_additional_output(self)
|
DisplayServer.register_additional_output(self)
|
||||||
end_shift_confirmation = end_shift_confirm_template.instantiate()
|
end_shift_confirmation = end_shift_confirm_template.instantiate()
|
||||||
@@ -44,6 +44,7 @@ func toggle_player_profile():
|
|||||||
|
|
||||||
|
|
||||||
func end_shift() -> void:
|
func end_shift() -> void:
|
||||||
|
take_screenshot()
|
||||||
open = false
|
open = false
|
||||||
if player_profile != null:
|
if player_profile != null:
|
||||||
toggle_player_profile()
|
toggle_player_profile()
|
||||||
@@ -73,11 +74,15 @@ func notice(msg : String, time : float = 1) -> void:
|
|||||||
func calculate_kill_exp(killer : QuestSprite, killed : QuestSprite) -> int:
|
func calculate_kill_exp(killer : QuestSprite, killed : QuestSprite) -> int:
|
||||||
return clamp(1, (killed.level - killer.level) * 5, 100)
|
return clamp(1, (killed.level - killer.level) * 5, 100)
|
||||||
|
|
||||||
|
func take_screenshot() -> void:
|
||||||
|
last_screenshot = get_viewport().get_texture().get_image()
|
||||||
|
|
||||||
func test_save() -> void:
|
func test_save() -> void:
|
||||||
var image : Image = get_viewport().get_texture().get_image()
|
if open:
|
||||||
|
take_screenshot()
|
||||||
var save_dict = {
|
var save_dict = {
|
||||||
"savetime": Time.get_datetime_string_from_system(),
|
"savetime": Time.get_datetime_string_from_system(),
|
||||||
"screenshot": image.save_png_to_buffer().hex_encode()
|
"screenshot": last_screenshot
|
||||||
}
|
}
|
||||||
#Save the guild data
|
#Save the guild data
|
||||||
save_dict["guildname"] = Guild.name
|
save_dict["guildname"] = Guild.name
|
||||||
@@ -122,4 +127,9 @@ func test_load(filename : String) -> void:
|
|||||||
if not parse_result == OK:
|
if not parse_result == OK:
|
||||||
printerr("JSON Parse Error: ", json.get_error_message(), " in ", json_string, " at line ", json.get_error_line())
|
printerr("JSON Parse Error: ", json.get_error_message(), " in ", json_string, " at line ", json.get_error_line())
|
||||||
return
|
return
|
||||||
|
|
||||||
|
func switch_scenes(scene_name : String) -> void:
|
||||||
|
get_tree().change_scene_to_file("res://scenes/" + scene_name + ".tscn")
|
||||||
|
|
||||||
|
func switch_dialogue(timeline_name : String, label : String) -> void:
|
||||||
|
Dialogic.start("res://dialogic/timelines/" + timeline_name + ".dtl", label)
|
||||||
|
|||||||
6
scripts/game_start.gd
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
@onready var timeline : DialogicTimeline = preload("res://dialogic/timelines/game_start.dtl")
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
Dialogic.start(timeline)
|
||||||
1
scripts/game_start.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://cpufy3rp4f0gw
|
||||||
49
scripts/guild_card_scene.gd
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
@onready var firstEdit : TextEdit = %FirstNameEdit
|
||||||
|
@onready var lastEdit : TextEdit = %LastNameEdit
|
||||||
|
@onready var signButton : Button = %SignButton
|
||||||
|
@onready var portraitButton : TextureButton = %PortraitButton
|
||||||
|
@onready var signature : TextureRect = %Signature
|
||||||
|
@onready var write_sound : AudioStreamPlayer = $AudioStreamPlayer
|
||||||
|
var first_set : bool = false
|
||||||
|
var last_set : bool = false
|
||||||
|
var portrait_set : bool = false
|
||||||
|
|
||||||
|
func validate_signature() -> void:
|
||||||
|
signButton.disabled = !(first_set and last_set and portrait_set)
|
||||||
|
|
||||||
|
func _on_portrait_button_pressed() -> void:
|
||||||
|
#Open the Portrait Screesn
|
||||||
|
portrait_set = true
|
||||||
|
validate_signature()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_first_name_edit_text_changed() -> void:
|
||||||
|
if firstEdit.text != "":
|
||||||
|
first_set = true
|
||||||
|
else:
|
||||||
|
last_set = true
|
||||||
|
validate_signature()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_last_name_edit_text_changed() -> void:
|
||||||
|
if lastEdit.text != "":
|
||||||
|
last_set = true
|
||||||
|
else:
|
||||||
|
last_set = false
|
||||||
|
validate_signature()
|
||||||
|
|
||||||
|
func update_signature_threshold(value : float) -> void:
|
||||||
|
signature.set_instance_shader_parameter("threshold", value)
|
||||||
|
|
||||||
|
func _on_sign_button_pressed() -> void:
|
||||||
|
signButton.visible = false
|
||||||
|
var tween = create_tween()
|
||||||
|
write_sound.play()
|
||||||
|
tween.tween_method(update_signature_threshold, -0.1, 1.1, .5)
|
||||||
|
|
||||||
|
#Sign the card.
|
||||||
|
#Dialogic.paused = false
|
||||||
|
#Dialogic.Jump.jump_to_label("")
|
||||||
|
pass # Replace with function body.
|
||||||
1
scripts/guild_card_scene.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://dkrxdaq8d6q55
|
||||||
20
scripts/guild_facade.gd
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
extends Area2D
|
||||||
|
|
||||||
|
var overlapping : bool
|
||||||
|
var shift_tween : Tween
|
||||||
|
func _on_body_entered(body: Node2D) -> void:
|
||||||
|
if overlapping:
|
||||||
|
return
|
||||||
|
if body == Game.player:
|
||||||
|
overlapping = true
|
||||||
|
shift_tween = create_tween()
|
||||||
|
shift_tween.tween_property(self, "modulate:a", .5, .25)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_body_exited(body: Node2D) -> void:
|
||||||
|
if !overlapping:
|
||||||
|
return
|
||||||
|
if body == Game.player:
|
||||||
|
overlapping = false
|
||||||
|
shift_tween = create_tween()
|
||||||
|
shift_tween.tween_property(self, "modulate:a", 1.0, .25)
|
||||||
1
scripts/guild_facade.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://dyn5wwocvkqds
|
||||||
41
scripts/hold_to_continue.gd
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
extends MarginContainer
|
||||||
|
|
||||||
|
@export var key : Key = KEY_SPACE
|
||||||
|
@export var time : float = 3
|
||||||
|
@export var advance_type : AdvanceType
|
||||||
|
@export var scene : String
|
||||||
|
@export var label : String
|
||||||
|
@onready var progress_bar : ProgressBar = $ProgressBar
|
||||||
|
|
||||||
|
enum AdvanceType{
|
||||||
|
SCENE,
|
||||||
|
DIALOGUE
|
||||||
|
}
|
||||||
|
var progress : float = 0
|
||||||
|
var button_held : bool
|
||||||
|
var key_held : bool
|
||||||
|
|
||||||
|
func _process(delta: float) -> void:
|
||||||
|
key_held = Input.is_key_pressed(key)
|
||||||
|
if key_held or button_held:
|
||||||
|
progress = min(time, progress + delta)
|
||||||
|
if progress == time:
|
||||||
|
advance()
|
||||||
|
return
|
||||||
|
else:
|
||||||
|
progress = max(0, progress - 2 * delta)
|
||||||
|
progress_bar.value = 100 * progress / time
|
||||||
|
|
||||||
|
func advance():
|
||||||
|
match(advance_type):
|
||||||
|
AdvanceType.SCENE:
|
||||||
|
Game.switch_scenes(scene)
|
||||||
|
AdvanceType.DIALOGUE:
|
||||||
|
Game.switch_dialogue(scene, label)
|
||||||
|
|
||||||
|
func _on_button_button_down() -> void:
|
||||||
|
button_held = true
|
||||||
|
|
||||||
|
|
||||||
|
func _on_button_button_up() -> void:
|
||||||
|
button_held = false
|
||||||
1
scripts/hold_to_continue.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://bowfi8npivsxo
|
||||||
@@ -1,10 +1,12 @@
|
|||||||
class_name Player extends Person
|
class_name Player extends Person
|
||||||
|
|
||||||
|
const marker_template = preload("res://templates/move_marker.tscn")
|
||||||
@onready var movement_speed : float = 400.0
|
@onready var movement_speed : float = 400.0
|
||||||
@onready var movement_target_position : Vector2 = global_position
|
@onready var movement_target_position : Vector2 = global_position
|
||||||
@onready var nav_agent : NavigationAgent2D = $NavigationAgent2D
|
@onready var nav_agent : NavigationAgent2D = $NavigationAgent2D
|
||||||
|
|
||||||
var interaction_target = null
|
var interaction_target = null
|
||||||
|
var marker = null
|
||||||
@export var interaction_range : float = 75
|
@export var interaction_range : float = 75
|
||||||
@export var stop_range : float = 25
|
@export var stop_range : float = 25
|
||||||
var data : Adventurer
|
var data : Adventurer
|
||||||
@@ -28,6 +30,8 @@ func set_movement_target(target : Vector2) -> void:
|
|||||||
func _physics_process(delta: float) -> void:
|
func _physics_process(delta: float) -> void:
|
||||||
|
|
||||||
if nav_agent.is_navigation_finished():
|
if nav_agent.is_navigation_finished():
|
||||||
|
if marker != null:
|
||||||
|
marker.visible = false
|
||||||
if interaction_target:
|
if interaction_target:
|
||||||
try_interact(interaction_target)
|
try_interact(interaction_target)
|
||||||
#If they have an interaction target within range
|
#If they have an interaction target within range
|
||||||
@@ -50,8 +54,13 @@ func _unhandled_input(event: InputEvent) -> void:
|
|||||||
interaction_target = null
|
interaction_target = null
|
||||||
|
|
||||||
func approach(pos : Vector2) -> void:
|
func approach(pos : Vector2) -> void:
|
||||||
|
if marker == null or !is_instance_valid(marker):
|
||||||
|
marker = marker_template.instantiate()
|
||||||
|
Guild.hall.add_child(marker)
|
||||||
var rid = get_world_2d().get_navigation_map()
|
var rid = get_world_2d().get_navigation_map()
|
||||||
var point : Vector2 = NavigationServer2D.map_get_closest_point(rid, pos)
|
var point : Vector2 = NavigationServer2D.map_get_closest_point(rid, pos)
|
||||||
|
marker.global_position = point
|
||||||
|
marker.visible = true
|
||||||
set_movement_target(point)
|
set_movement_target(point)
|
||||||
|
|
||||||
func approach_and_interact(obj : Interactable) -> void:
|
func approach_and_interact(obj : Interactable) -> void:
|
||||||
|
|||||||
34
scripts/set_shifts.gd
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
extends Control
|
||||||
|
|
||||||
|
@onready var shift_cycle_template = preload("res://templates/shift_cycle.tscn")
|
||||||
|
@onready var cycle_list : ReorderableVBox = %CycleList
|
||||||
|
@onready var delete_bin : PanelContainer = %DeleteBin
|
||||||
|
var delete_tween : Tween
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
delete_tween = delete_bin.create_tween()
|
||||||
|
delete_tween.tween_property(delete_bin, "self_modulate", Color.WHITE, .3)
|
||||||
|
delete_tween.tween_property(delete_bin, "self_modulate", Color.DIM_GRAY, .3)
|
||||||
|
delete_tween.set_loops(-1)
|
||||||
|
delete_tween.pause()
|
||||||
|
delete_bin.self_modulate = Color.DIM_GRAY
|
||||||
|
|
||||||
|
func _on_drag_stopped(cycle : ShiftCycle):
|
||||||
|
cycle.drop()
|
||||||
|
if(delete_bin.get_global_rect().has_point(get_global_mouse_position())
|
||||||
|
and len(cycle_list.get_children()) > 1):
|
||||||
|
delete_tween.pause()
|
||||||
|
delete_bin.self_modulate = Color.DIM_GRAY
|
||||||
|
cycle.queue_free()
|
||||||
|
|
||||||
|
func _on_drag_started(cycle : ShiftCycle):
|
||||||
|
cycle.lift()
|
||||||
|
pass
|
||||||
|
|
||||||
|
func _on_add_shift_button_pressed() -> void:
|
||||||
|
var cycle = shift_cycle_template.instantiate()
|
||||||
|
cycle_list.add_child(cycle)
|
||||||
|
|
||||||
|
|
||||||
|
func _on_accept_button_pressed() -> void:
|
||||||
|
pass # Replace with function body.
|
||||||
1
scripts/set_shifts.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://h61yq7g8mfj3
|
||||||
84
scripts/shift_cycle.gd
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
class_name ShiftCycle extends Control
|
||||||
|
|
||||||
|
@onready var sounds : Dictionary = {
|
||||||
|
"delete":preload("res://sounds/Various Sounds 06.wav"),
|
||||||
|
"lift":preload("res://sounds/Turning Books Pages 52.wav"),
|
||||||
|
"drop":preload("res://sounds/Paper_Scraping_1.wav")
|
||||||
|
}
|
||||||
|
@onready var panel : PanelContainer = %PanelContainer
|
||||||
|
@onready var working_edit : TextEdit = %WorkingEdit
|
||||||
|
@onready var open_edit : TextEdit = %OpenEdit
|
||||||
|
@onready var shadow : Panel = %Shadow
|
||||||
|
@onready var audio_player : AudioStreamPlayer = $AudioStreamPlayer
|
||||||
|
|
||||||
|
var last_working_text : String = ""
|
||||||
|
var last_open_text : String = ""
|
||||||
|
|
||||||
|
|
||||||
|
var work_shift : int = 25
|
||||||
|
var open_shift : int = 5
|
||||||
|
var regex : RegEx
|
||||||
|
var tween : Tween
|
||||||
|
var dragging : bool = false
|
||||||
|
|
||||||
|
func _init() -> void:
|
||||||
|
regex = RegEx.new()
|
||||||
|
regex.compile("^\\d{1,3}\\z")
|
||||||
|
|
||||||
|
|
||||||
|
func _input(event: InputEvent) -> void:
|
||||||
|
if !dragging:
|
||||||
|
return
|
||||||
|
if event is not InputEventMouseMotion:
|
||||||
|
return
|
||||||
|
|
||||||
|
func lift() -> void:
|
||||||
|
if tween and tween.is_running():
|
||||||
|
tween.stop()
|
||||||
|
tween = create_tween()
|
||||||
|
tween.tween_property(shadow, "position:y", 10.0, .25 * (10 - shadow.position.y) / 10.0)
|
||||||
|
tween.parallel().tween_property(shadow, "self_modulate:a", 1.0, .25 * (1.0 - shadow.self_modulate.a))
|
||||||
|
tween.parallel().tween_property(panel, "position:y", -10.0, .25 * (panel.position.y + 10.0) / 10.0)
|
||||||
|
audio_player.stream = sounds.lift
|
||||||
|
audio_player.play()
|
||||||
|
|
||||||
|
func drop() -> void:
|
||||||
|
if tween and tween.is_running():
|
||||||
|
tween.stop()
|
||||||
|
tween = create_tween()
|
||||||
|
tween.tween_property(shadow, "position:y", 0.0, .25 * shadow.position.y / 10.0)
|
||||||
|
tween.parallel().tween_property(shadow, "self_modulate:a", 0.0, .25 * shadow.self_modulate.a)
|
||||||
|
tween.parallel().tween_property(panel, "position:y", 0.0, .25 * panel.position.y / -10.0)
|
||||||
|
audio_player.stream = sounds.drop
|
||||||
|
audio_player.play()
|
||||||
|
|
||||||
|
func _on_working_edit_text_changed() -> void:
|
||||||
|
if !regex.search(working_edit.text) and working_edit.text != "":
|
||||||
|
working_edit.text = last_working_text
|
||||||
|
working_edit.set_caret_column(len(last_working_text))
|
||||||
|
else:
|
||||||
|
last_working_text = working_edit.text
|
||||||
|
|
||||||
|
|
||||||
|
func _on_working_edit_text_set() -> void:
|
||||||
|
if !regex.search(working_edit.text) and working_edit.text != "":
|
||||||
|
working_edit.text = last_working_text
|
||||||
|
working_edit.set_caret_column(len(last_working_text))
|
||||||
|
else:
|
||||||
|
last_working_text = working_edit.text
|
||||||
|
|
||||||
|
|
||||||
|
func _on_open_edit_text_changed() -> void:
|
||||||
|
if !regex.search(open_edit.text) and open_edit.text != "":
|
||||||
|
open_edit.text = last_open_text
|
||||||
|
open_edit.set_caret_column(len(last_open_text))
|
||||||
|
else:
|
||||||
|
last_open_text = open_edit.text
|
||||||
|
|
||||||
|
|
||||||
|
func _on_open_edit_text_set() -> void:
|
||||||
|
if !regex.search(open_edit.text) and open_edit.text != "":
|
||||||
|
open_edit.text = last_open_text
|
||||||
|
open_edit.set_caret_column(len(last_open_text))
|
||||||
|
else:
|
||||||
|
last_open_text = open_edit.text
|
||||||
1
scripts/shift_cycle.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://cuds3hklcm5m5
|
||||||
@@ -5,7 +5,7 @@ func _ready() -> void:
|
|||||||
%ContinueButton.disabled = !FileAccess.file_exists("user://savefile.save")
|
%ContinueButton.disabled = !FileAccess.file_exists("user://savefile.save")
|
||||||
|
|
||||||
func _on_start_button_pressed() -> void:
|
func _on_start_button_pressed() -> void:
|
||||||
get_tree().change_scene_to_file("res://scenes/active_scene.tscn")
|
get_tree().change_scene_to_file("res://scenes/game_start.tscn")
|
||||||
|
|
||||||
|
|
||||||
func _on_continue_button_pressed() -> void:
|
func _on_continue_button_pressed() -> void:
|
||||||
|
|||||||
27
shaders/animated_gradient.gdshader
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
shader_type canvas_item;
|
||||||
|
|
||||||
|
uniform sampler2D gradient;
|
||||||
|
instance uniform float threshold = -0.1;
|
||||||
|
uniform float fringe = 0;
|
||||||
|
void vertex() {
|
||||||
|
// Called for every vertex the material is visible on.
|
||||||
|
}
|
||||||
|
|
||||||
|
void fragment() {
|
||||||
|
vec4 col = texture(TEXTURE, UV);
|
||||||
|
float lum = 0.2126*col.r + 0.7152*col.g + 0.0722*col.b;
|
||||||
|
vec4 g_col = texture(gradient, vec2((threshold + fringe) - lum, 0));
|
||||||
|
if(lum > threshold){
|
||||||
|
float fringe_alpha = max(0, (fringe - (lum - threshold))/fringe);
|
||||||
|
COLOR = vec4(g_col.rgb,fringe_alpha * col.a);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
COLOR = vec4(g_col.rgb, col.a);
|
||||||
|
}
|
||||||
|
// Called for every pixel the material is visible on.
|
||||||
|
}
|
||||||
|
|
||||||
|
//void light() {
|
||||||
|
// // Called for every pixel for every light affecting the CanvasItem.
|
||||||
|
// // Uncomment to replace the default light processing function with this one.
|
||||||
|
//}
|
||||||
1
shaders/animated_gradient.gdshader.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://uxrvcuhjnjgl
|
||||||
BIN
sounds/Paper_Scraping_1.wav
Normal file
24
sounds/Paper_Scraping_1.wav.import
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://b62f7hq5j76ps"
|
||||||
|
path="res://.godot/imported/Paper_Scraping_1.wav-ed4ebf713b4a2fc6fb104a8579b4c850.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sounds/Paper_Scraping_1.wav"
|
||||||
|
dest_files=["res://.godot/imported/Paper_Scraping_1.wav-ed4ebf713b4a2fc6fb104a8579b4c850.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
BIN
sounds/Turning Books Pages 52.wav
Normal file
24
sounds/Turning Books Pages 52.wav.import
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://cqtu3l6lul4fh"
|
||||||
|
path="res://.godot/imported/Turning Books Pages 52.wav-5e6566bd1088dd960847c6bffa4da219.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sounds/Turning Books Pages 52.wav"
|
||||||
|
dest_files=["res://.godot/imported/Turning Books Pages 52.wav-5e6566bd1088dd960847c6bffa4da219.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
BIN
sounds/Various Sounds 06.wav
Normal file
24
sounds/Various Sounds 06.wav.import
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://dhp06mu11vvrw"
|
||||||
|
path="res://.godot/imported/Various Sounds 06.wav-45605ce0a28cfd304f16a2df4e2ac9fa.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sounds/Various Sounds 06.wav"
|
||||||
|
dest_files=["res://.godot/imported/Various Sounds 06.wav-45605ce0a28cfd304f16a2df4e2ac9fa.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
BIN
sounds/Writing in paper 19.wav
Normal file
24
sounds/Writing in paper 19.wav.import
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamWAV"
|
||||||
|
uid="uid://bmm8jhojdt31a"
|
||||||
|
path="res://.godot/imported/Writing in paper 19.wav-b328e792019d1d348a794214adc113d6.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sounds/Writing in paper 19.wav"
|
||||||
|
dest_files=["res://.godot/imported/Writing in paper 19.wav-b328e792019d1d348a794214adc113d6.sample"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop_mode=0
|
||||||
|
edit/loop_begin=0
|
||||||
|
edit/loop_end=-1
|
||||||
|
compress/mode=2
|
||||||
@@ -1,18 +1,19 @@
|
|||||||
[gd_scene load_steps=33 format=4 uid="uid://cd08dp16bixfv"]
|
[gd_scene load_steps=35 format=3 uid="uid://cd08dp16bixfv"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://ccorfvcfa84gf" path="res://scripts/guildhall.gd" id="1_lsinl"]
|
[ext_resource type="Script" uid="uid://ccorfvcfa84gf" path="res://scripts/guildhall.gd" id="1_lsinl"]
|
||||||
[ext_resource type="TileSet" uid="uid://6im0g3eg6sr4" path="res://test_tiles.tres" id="1_qel1r"]
|
|
||||||
[ext_resource type="Script" uid="uid://dolqtw1ye4ras" path="res://scripts/player.gd" id="2_5n4iw"]
|
[ext_resource type="Script" uid="uid://dolqtw1ye4ras" path="res://scripts/player.gd" id="2_5n4iw"]
|
||||||
[ext_resource type="Shader" uid="uid://cenbje61a2wi6" path="res://shaders/void_composite.gdshader" id="2_ggqxp"]
|
[ext_resource type="Shader" uid="uid://cenbje61a2wi6" path="res://shaders/void_composite.gdshader" id="2_ggqxp"]
|
||||||
[ext_resource type="Texture2D" uid="uid://83ayd5rg7x8l" path="res://graphics/reception-table.png" id="3_13vc8"]
|
[ext_resource type="Texture2D" uid="uid://83ayd5rg7x8l" path="res://graphics/reception-table.png" id="3_13vc8"]
|
||||||
[ext_resource type="Texture2D" uid="uid://cg6ptmynq0aq0" path="res://graphics/basic-sprite.png" id="4_l3mu1"]
|
[ext_resource type="Texture2D" uid="uid://cg6ptmynq0aq0" path="res://graphics/basic-sprite.png" id="4_l3mu1"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cf6nnjyp8kv78" path="res://templates/receptionist.tscn" id="5_l3mu1"]
|
[ext_resource type="PackedScene" uid="uid://cf6nnjyp8kv78" path="res://templates/receptionist.tscn" id="5_l3mu1"]
|
||||||
[ext_resource type="Script" uid="uid://2g4ja3a7o2l" path="res://scripts/void_ripple.gd" id="5_nfvtf"]
|
[ext_resource type="Script" uid="uid://2g4ja3a7o2l" path="res://scripts/void_ripple.gd" id="5_nfvtf"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://do4gn21x5bmdm" path="res://graphics/first-guild-base.png" id="6_lsfle"]
|
||||||
[ext_resource type="PackedScene" uid="uid://b3mksvn2jf7e0" path="res://templates/quest_board.tscn" id="7_hph4e"]
|
[ext_resource type="PackedScene" uid="uid://b3mksvn2jf7e0" path="res://templates/quest_board.tscn" id="7_hph4e"]
|
||||||
|
[ext_resource type="Script" uid="uid://dyn5wwocvkqds" path="res://scripts/guild_facade.gd" id="7_o230c"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://bg5ip7ni3n7qd" path="res://graphics/first-guild-front.png" id="8_nfvtf"]
|
||||||
[ext_resource type="Script" uid="uid://bh54wpqgau8hc" path="res://scripts/npc.gd" id="8_nhrwr"]
|
[ext_resource type="Script" uid="uid://bh54wpqgau8hc" path="res://scripts/npc.gd" id="8_nhrwr"]
|
||||||
[ext_resource type="Texture2D" uid="uid://dcrhry67g00vk" path="res://graphics/pom.png" id="9_4bidn"]
|
[ext_resource type="Texture2D" uid="uid://dcrhry67g00vk" path="res://graphics/pom.png" id="9_4bidn"]
|
||||||
[ext_resource type="PackedScene" uid="uid://jbqw0n6dlj08" path="res://templates/speech_bubble.tscn" id="10_6hdsl"]
|
[ext_resource type="PackedScene" uid="uid://jbqw0n6dlj08" path="res://templates/speech_bubble.tscn" id="10_6hdsl"]
|
||||||
[ext_resource type="Texture2D" uid="uid://cg42wsmb3ocfq" path="res://graphics/first-guild.png" id="11_4bidn"]
|
|
||||||
[ext_resource type="Shader" uid="uid://hr8vdp56p4yo" path="res://shaders/void.tres" id="12_0ydii"]
|
[ext_resource type="Shader" uid="uid://hr8vdp56p4yo" path="res://shaders/void.tres" id="12_0ydii"]
|
||||||
[ext_resource type="Texture2D" uid="uid://bbh444vapab3y" path="res://graphics/voidcircle.png" id="13_0xaku"]
|
[ext_resource type="Texture2D" uid="uid://bbh444vapab3y" path="res://graphics/voidcircle.png" id="13_0xaku"]
|
||||||
[ext_resource type="Shader" uid="uid://dvdm8x66gwu2v" path="res://shaders/starfield.tres" id="14_0aygh"]
|
[ext_resource type="Shader" uid="uid://dvdm8x66gwu2v" path="res://shaders/starfield.tres" id="14_0aygh"]
|
||||||
@@ -40,22 +41,24 @@ shader_parameter/line_color = Color(0.7666664, 0, 1, 1)
|
|||||||
offsets = PackedFloat32Array(0, 0.27842227, 0.7447796, 0.9976798, 1)
|
offsets = PackedFloat32Array(0, 0.27842227, 0.7447796, 0.9976798, 1)
|
||||||
colors = PackedColorArray(1, 0, 1, 1, 0.6414714, 0, 1, 1, 0.3529412, 0, 1, 1, 0.13464576, 8.6924134e-05, 0.43542284, 1, 0.3529412, 0, 1, 1)
|
colors = PackedColorArray(1, 0, 1, 1, 0.6414714, 0, 1, 1, 0.3529412, 0, 1, 1, 0.13464576, 8.6924134e-05, 0.43542284, 1, 0.3529412, 0, 1, 1)
|
||||||
|
|
||||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_w7eqs"]
|
[sub_resource type="NavigationPolygon" id="NavigationPolygon_28dkg"]
|
||||||
vertices = PackedVector2Array(335, 241, 335, 111.36719, 378.1875, 129.53125, 399, 241, 395.97656, 137, 523.21875, 137, 497, 241, 624.0469, 71.046875, 689, 30, 689, 241, 588.78125, 107.5, 497, 305, 399, 305, 630.75, 30, 582.15625, 110.47656)
|
vertices = PackedVector2Array(687, 5, 689, -0.328125, 689, 12, 318, 11, 318, 10.8515625, 338, 48, 302, 51, 307, 31, 399, 431, 305, 431, 533, -14, 617.5, -14, 617, -13, 530, 8, 529.65625, -14.1953125, 617, -2, 621, 5, 702, 15, 703, 416, 694, 416, 454, 75, 510, 47, 493, 432, 493, 578, 399, 578, 694, 431, 392, 75)
|
||||||
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3), PackedInt32Array(3, 2, 4), PackedInt32Array(3, 4, 5, 6), PackedInt32Array(7, 8, 9, 6, 10), PackedInt32Array(6, 11, 12, 3), PackedInt32Array(7, 13, 8), PackedInt32Array(10, 6, 5, 14)])
|
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2), PackedInt32Array(3, 4, 5), PackedInt32Array(6, 7, 3, 5, 8, 9), PackedInt32Array(10, 11, 12), PackedInt32Array(13, 14, 10, 15, 16), PackedInt32Array(17, 18, 19, 20, 21, 2), PackedInt32Array(22, 23, 24, 8, 20), PackedInt32Array(19, 25, 22, 20), PackedInt32Array(8, 5, 26), PackedInt32Array(8, 26, 20), PackedInt32Array(10, 12, 15), PackedInt32Array(0, 2, 21, 13, 16)])
|
||||||
outlines = Array[PackedVector2Array]([PackedVector2Array(315, 60, 330, 93, 399, 122, 520, 122, 580, 95, 610, 64, 618, 15, 695, 15, 695, -18, 317, -19)])
|
outlines = Array[PackedVector2Array]([PackedVector2Array(689, 12, 702, 15, 703, 416, 694, 416, 694, 431, 493, 432, 493, 578, 399, 578, 399, 431, 305, 431, 302, 51, 307, 31, 318, 11, 318, -27, 533, -14, 689, -14)])
|
||||||
border_size = 250.0
|
source_geometry_mode = 2
|
||||||
agent_radius = 15.0
|
source_geometry_group_name = &"room_obstacles"
|
||||||
|
agent_radius = 0.0
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_a3e6t"]
|
||||||
|
size = Vector2(211, 203)
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id="RectangleShape2D_lsfle"]
|
||||||
|
size = Vector2(91.5, 203)
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_l3mu1"]
|
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_l3mu1"]
|
||||||
radius = 15.0
|
radius = 15.0
|
||||||
height = 54.0
|
height = 54.0
|
||||||
|
|
||||||
[sub_resource type="NavigationPolygon" id="NavigationPolygon_l3mu1"]
|
|
||||||
vertices = PackedVector2Array(112, 144, 14, 144, 14, -69, 112, -69)
|
|
||||||
polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)])
|
|
||||||
outlines = Array[PackedVector2Array]([PackedVector2Array(4, -79, 122, -79, 122, 154, 4, 154)])
|
|
||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_28dkg"]
|
[sub_resource type="Gradient" id="Gradient_28dkg"]
|
||||||
offsets = PackedFloat32Array(0, 0.15085158, 0.63017035, 1)
|
offsets = PackedFloat32Array(0, 0.15085158, 0.63017035, 1)
|
||||||
colors = PackedColorArray(0, 0, 0, 1, 0, 0.07479378, 0.21630663, 1, 0.11818864, 0.00013856843, 0.3326036, 1, 1.1310726e-06, 1.2032687e-07, 0.37330782, 1)
|
colors = PackedColorArray(0, 0, 0, 1, 0, 0.07479378, 0.21630663, 1, 0.11818864, 0.00013856843, 0.3326036, 1, 1.1310726e-06, 1.2032687e-07, 0.37330782, 1)
|
||||||
@@ -163,12 +166,12 @@ position = Vector2(486, 158)
|
|||||||
|
|
||||||
[node name="Line2D" type="Line2D" parent="VoidRipple"]
|
[node name="Line2D" type="Line2D" parent="VoidRipple"]
|
||||||
visible = false
|
visible = false
|
||||||
points = PackedVector2Array(312, 447, 312, 484, 245, 486, 232, 422, 249, 421, 253, 17, 244, 17, 241, -51, 303, -51, 306, -21, 701, -20, 701, -47, 771, -47, 770, 16, 759, 17, 768, 425, 781, 425, 767, 485, 700, 485, 700, 449, 544, 446, 544, 462, 508, 460, 500, 431, 391, 431, 386, 460, 347, 464, 347, 447, 312, 447)
|
points = PackedVector2Array(312, 440, 312, 480, 241, 479, 250, 417, 279, 417, 253, 17, 244, 17, 241, -51, 303, -51, 306, -21, 701, -20, 701, -47, 771, -47, 770, 16, 759, 17, 732, 418, 763, 419, 769, 482, 700, 481, 698, 441, 543, 441, 544, 454, 507, 454, 501, 439, 389, 439, 385, 452, 347, 452, 347, 440, 312, 440)
|
||||||
width = 5.0
|
width = 5.0
|
||||||
|
|
||||||
[node name="Line2D2" type="Line2D" parent="VoidRipple"]
|
[node name="Line2D2" type="Line2D" parent="VoidRipple"]
|
||||||
z_index = -1
|
z_index = -1
|
||||||
points = PackedVector2Array(312, 444, 312, 484, 245, 484, 241, 425, 253, 425, 253, 17, 244, 17, 241, -51, 303, -51, 306, -21, 701, -20, 701, -47, 771, -47, 767, 16, 750, 16, 758, 428, 775, 428, 767, 485, 700, 485, 700, 446, 544, 446, 545, 457, 508, 457, 500, 431, 391, 431, 386, 457, 348, 457, 348, 444, 312, 444)
|
points = PackedVector2Array(312, 440, 312, 480, 241, 479, 250, 417, 279, 417, 253, 17, 244, 17, 241, -51, 303, -51, 306, -21, 701, -20, 701, -47, 771, -47, 770, 16, 759, 17, 732, 418, 763, 419, 769, 482, 700, 481, 698, 441, 543, 441, 544, 454, 507, 454, 501, 439, 389, 439, 385, 452, 347, 452, 347, 440, 312, 440)
|
||||||
width = 50.0
|
width = 50.0
|
||||||
default_color = Color(0, 0, 0, 0.46666667)
|
default_color = Color(0, 0, 0, 0.46666667)
|
||||||
joint_mode = 2
|
joint_mode = 2
|
||||||
@@ -177,39 +180,77 @@ antialiased = true
|
|||||||
|
|
||||||
[node name="RoomRegion" type="NavigationRegion2D" parent="."]
|
[node name="RoomRegion" type="NavigationRegion2D" parent="."]
|
||||||
z_index = 1
|
z_index = 1
|
||||||
navigation_polygon = SubResource("NavigationPolygon_w7eqs")
|
navigation_polygon = SubResource("NavigationPolygon_28dkg")
|
||||||
|
|
||||||
[node name="TileMapLayer" type="TileMapLayer" parent="RoomRegion"]
|
[node name="Base" type="Sprite2D" parent="."]
|
||||||
visible = false
|
|
||||||
tile_map_data = PackedByteArray("AAAFAAIAAAAOAAEAAAAGAAIAAAAOAAEAAAAHAAIAAAAOAAEAAAAIAAIAAAAOAAEAAAAJAAIAAAAOAAEAAAAKAAIAAAAOAAEAAAAHAAEAAAAOAAEAAAAGAAEAAAAOAAEAAAAFAAEAAAAOAAEAAAAKAAEAAAAOAAEAAAAJAAEAAAAOAAEAAAAIAAEAAAAOAAEAAAALAAIAAAACAAUAAAALAAEAAAACAAUAAAAKAAAAAAAOAAEAAAAJAAAAAAAOAAEAAAAIAAAAAAAOAAEAAAAHAAAAAAAOAAEAAAAGAAAAAAAOAAEAAAAFAAAAAAAOAAEAAAALAAAAAAACAAUAAAAFAP//AAACAAQAAAAGAP//AAACAAQAAAAHAP//AAACAAQAAAAIAP//AAACAAQAAAAJAP//AAACAAQAAAAKAP//AAACAAQAAAALAP//AAABAAQAAAAEAP//AAAAAAQAAAAEAAAAAAACAAUAAAAEAAEAAAACAAUAAAAEAAIAAAACAAUAAAAEAAMAAAACAAUAAAAFAAMAAAAOAAEAAAAGAAMAAAAOAAEAAAAHAAMAAAAOAAEAAAAIAAMAAAAOAAEAAAAJAAMAAAAOAAEAAAAKAAMAAAAOAAEAAAALAAMAAAACAAUAAAAEAAQAAAAAAAUAAAAKAAQAAAACAAQAAAALAAQAAAABAAUAAAAFAAQAAAACAAQAAAAHAAQAAAAOAAEAAAAIAAQAAAACAAQAAAAGAAQAAAAOAAEAAAAJAAQAAAACAAQAAAA=")
|
|
||||||
tile_set = ExtResource("1_qel1r")
|
|
||||||
|
|
||||||
[node name="TileMapLayer2" type="TileMapLayer" parent="RoomRegion"]
|
|
||||||
visible = false
|
|
||||||
tile_map_data = PackedByteArray("AAANAAAAAAAKABEAAAAOAAAAAAAKABEAAAAPAAAAAAAKABEAAAAQAAAAAAAKABEAAAA=")
|
|
||||||
tile_set = ExtResource("1_qel1r")
|
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
|
||||||
z_index = 1
|
z_index = 1
|
||||||
position = Vector2(497, 136)
|
position = Vector2(505, 107)
|
||||||
texture = ExtResource("11_4bidn")
|
texture = ExtResource("6_lsfle")
|
||||||
|
|
||||||
|
[node name="Area2D" type="Area2D" parent="."]
|
||||||
|
z_index = 50
|
||||||
|
position = Vector2(473, 427)
|
||||||
|
script = ExtResource("7_o230c")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
|
||||||
|
position = Vector2(130.5, -78.5)
|
||||||
|
shape = SubResource("RectangleShape2D_a3e6t")
|
||||||
|
|
||||||
|
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Area2D"]
|
||||||
|
position = Vector2(-127.25, -78.5)
|
||||||
|
shape = SubResource("RectangleShape2D_lsfle")
|
||||||
|
|
||||||
|
[node name="Front" type="Sprite2D" parent="Area2D"]
|
||||||
|
z_index = 1
|
||||||
|
position = Vector2(32, -86)
|
||||||
|
texture = ExtResource("8_nfvtf")
|
||||||
|
|
||||||
[node name="Sprites" type="Node2D" parent="."]
|
[node name="Sprites" type="Node2D" parent="."]
|
||||||
z_index = 2
|
z_index = 20
|
||||||
y_sort_enabled = true
|
y_sort_enabled = true
|
||||||
|
|
||||||
|
[node name="Npc" type="CharacterBody2D" parent="Sprites"]
|
||||||
|
z_index = 1
|
||||||
|
position = Vector2(357, -27)
|
||||||
|
script = ExtResource("8_nhrwr")
|
||||||
|
metadata/_custom_type_script = "uid://bh54wpqgau8hc"
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprites/Npc"]
|
||||||
|
position = Vector2(1, 16)
|
||||||
|
rotation = 1.5707964
|
||||||
|
shape = SubResource("CapsuleShape2D_l3mu1")
|
||||||
|
|
||||||
|
[node name="Sprite2D" type="Sprite2D" parent="Sprites/Npc"]
|
||||||
|
texture = ExtResource("9_4bidn")
|
||||||
|
|
||||||
|
[node name="SpeechBubble" parent="Sprites/Npc" instance=ExtResource("10_6hdsl")]
|
||||||
|
position = Vector2(44, -93)
|
||||||
|
|
||||||
|
[node name="NavigationAgent2D" type="NavigationAgent2D" parent="Sprites/Npc"]
|
||||||
|
path_desired_distance = 30.0
|
||||||
|
avoidance_enabled = true
|
||||||
|
|
||||||
[node name="Reception Desk" type="StaticBody2D" parent="Sprites"]
|
[node name="Reception Desk" type="StaticBody2D" parent="Sprites"]
|
||||||
position = Vector2(423, 103)
|
position = Vector2(423, -4)
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="Sprites/Reception Desk"]
|
[node name="Sprite2D" type="Sprite2D" parent="Sprites/Reception Desk"]
|
||||||
|
position = Vector2(0, 92)
|
||||||
texture = ExtResource("3_13vc8")
|
texture = ExtResource("3_13vc8")
|
||||||
offset = Vector2(0, -80)
|
offset = Vector2(0, -80)
|
||||||
|
|
||||||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Sprites/Reception Desk"]
|
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Sprites/Reception Desk"]
|
||||||
polygon = PackedVector2Array(-86, -160, -152, -160, -152, -107, -148, -75, -128, -35, -57, 0, 56, 0, 127, -34, 148, -75, 152, -107, 152, -160, 86, -160, 86, -115, 75, -93, 52, -81, -51, -81, -75, -92, -86, -114)
|
position = Vector2(0, 92)
|
||||||
|
polygon = PackedVector2Array(-41, -146, -105, -146, -106, -80, -85, -41, -31, -14, 31, -14, 87, -42, 107, -81, 106, -146, 41, -146, 40, -113, 27, -95, -27, -95, -41, -115)
|
||||||
|
|
||||||
|
[node name="NavigationObstacle2D" type="NavigationObstacle2D" parent="Sprites/Reception Desk" groups=["room_obstacles"]]
|
||||||
|
position = Vector2(0, 93)
|
||||||
|
vertices = PackedVector2Array(-105, -146, -106, -80, -85, -41, -31, -14, 31, -14, 87, -42, 107, -81, 106, -146)
|
||||||
|
affect_navigation_mesh = true
|
||||||
|
carve_navigation_mesh = true
|
||||||
|
|
||||||
[node name="Receptionist" parent="Sprites" instance=ExtResource("5_l3mu1")]
|
[node name="Receptionist" parent="Sprites" instance=ExtResource("5_l3mu1")]
|
||||||
position = Vector2(492, 24)
|
z_index = -1
|
||||||
|
position = Vector2(424, 12)
|
||||||
|
|
||||||
[node name="Queue" parent="Sprites/Receptionist" index="3"]
|
[node name="Queue" parent="Sprites/Receptionist" index="3"]
|
||||||
position = Vector2(0, 97)
|
position = Vector2(0, 97)
|
||||||
@@ -217,6 +258,7 @@ position = Vector2(0, 97)
|
|||||||
[node name="Player" type="CharacterBody2D" parent="Sprites"]
|
[node name="Player" type="CharacterBody2D" parent="Sprites"]
|
||||||
position = Vector2(451, 430)
|
position = Vector2(451, 430)
|
||||||
script = ExtResource("2_5n4iw")
|
script = ExtResource("2_5n4iw")
|
||||||
|
stop_range = 15.0
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprites/Player"]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="Sprites/Player"]
|
||||||
rotation = 1.5707964
|
rotation = 1.5707964
|
||||||
@@ -230,34 +272,9 @@ texture = ExtResource("4_l3mu1")
|
|||||||
path_desired_distance = 30.0
|
path_desired_distance = 30.0
|
||||||
avoidance_enabled = true
|
avoidance_enabled = true
|
||||||
|
|
||||||
[node name="EntranceRegion" type="NavigationRegion2D" parent="."]
|
[node name="Quest Board" parent="Sprites" instance=ExtResource("7_hph4e")]
|
||||||
position = Vector2(385, 374)
|
|
||||||
navigation_polygon = SubResource("NavigationPolygon_l3mu1")
|
|
||||||
|
|
||||||
[node name="Quest Board" parent="." instance=ExtResource("7_hph4e")]
|
|
||||||
position = Vector2(654, -2)
|
position = Vector2(654, -2)
|
||||||
|
|
||||||
[node name="Npc" type="CharacterBody2D" parent="."]
|
|
||||||
z_index = 2
|
|
||||||
position = Vector2(347, 3)
|
|
||||||
script = ExtResource("8_nhrwr")
|
|
||||||
metadata/_custom_type_script = "uid://bh54wpqgau8hc"
|
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Npc"]
|
|
||||||
position = Vector2(1, 16)
|
|
||||||
rotation = 1.5707964
|
|
||||||
shape = SubResource("CapsuleShape2D_l3mu1")
|
|
||||||
|
|
||||||
[node name="Sprite2D" type="Sprite2D" parent="Npc"]
|
|
||||||
texture = ExtResource("9_4bidn")
|
|
||||||
|
|
||||||
[node name="SpeechBubble" parent="Npc" instance=ExtResource("10_6hdsl")]
|
|
||||||
position = Vector2(44, -93)
|
|
||||||
|
|
||||||
[node name="NavigationAgent2D" type="NavigationAgent2D" parent="Npc"]
|
|
||||||
path_desired_distance = 30.0
|
|
||||||
avoidance_enabled = true
|
|
||||||
|
|
||||||
[node name="SubViewport" type="SubViewport" parent="."]
|
[node name="SubViewport" type="SubViewport" parent="."]
|
||||||
size = Vector2i(1920, 1080)
|
size = Vector2i(1920, 1080)
|
||||||
|
|
||||||
@@ -319,4 +336,7 @@ grow_vertical = 2
|
|||||||
mouse_filter = 2
|
mouse_filter = 2
|
||||||
texture = ExtResource("16_b2pr6")
|
texture = ExtResource("16_b2pr6")
|
||||||
|
|
||||||
|
[connection signal="body_entered" from="Area2D" to="Area2D" method="_on_body_entered"]
|
||||||
|
[connection signal="body_exited" from="Area2D" to="Area2D" method="_on_body_exited"]
|
||||||
|
|
||||||
[editable path="Sprites/Receptionist"]
|
[editable path="Sprites/Receptionist"]
|
||||||
|
|||||||