16 Commits

146 changed files with 6190 additions and 589 deletions

22
.devcontainer/Dockerfile Normal file
View File

@ -0,0 +1,22 @@
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.158.0/containers/cpp/.devcontainer/base.Dockerfile
# [Choice] Debian / Ubuntu version: debian-10, debian-9, ubuntu-20.04, ubuntu-18.04
ARG VARIANT="buster"
FROM mcr.microsoft.com/vscode/devcontainers/cpp:0-${VARIANT}
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install --no-install-recommends build-essential scons pkg-config libx11-dev libxcursor-dev libxinerama-dev \
libgl1-mesa-dev libglu-dev libasound2-dev libpulse-dev libudev-dev libxi-dev libxrandr-dev yasm mingw-w64
ARG GODOT_VERSION="3.2.3"
RUN wget https://downloads.tuxfamily.org/godotengine/${GODOT_VERSION}/Godot_v${GODOT_VERSION}-stable_linux_headless.64.zip \
&& wget https://downloads.tuxfamily.org/godotengine/${GODOT_VERSION}/Godot_v${GODOT_VERSION}-stable_export_templates.tpz \
&& mkdir ~/.cache \
&& mkdir -p ~/.config/godot \
&& mkdir -p ~/.local/share/godot/templates/${GODOT_VERSION}.stable \
&& unzip Godot_v${GODOT_VERSION}-stable_linux_headless.64.zip \
&& mv Godot_v${GODOT_VERSION}-stable_linux_headless.64 /usr/local/bin/godot \
&& unzip Godot_v${GODOT_VERSION}-stable_export_templates.tpz \
&& mv templates/* ~/.local/share/godot/templates/${GODOT_VERSION}.stable \
&& rm -f Godot_v${GODOT_VERSION}-stable_export_templates.tpz Godot_v${GODOT_VERSION}-stable_linux_headless.64.zip

View File

@ -0,0 +1,30 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.158.0/containers/cpp
{
"name": "C++",
"build": {
"dockerfile": "Dockerfile",
// Update 'VARIANT' to pick an Debian / Ubuntu OS version: debian-10, debian-9, ubuntu-20.04, ubuntu-18.04
"args": { "VARIANT": "ubuntu-20.04", "GODOT_VERSION" : "3.2.3" }
},
"runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"],
// Set *default* container specific settings.json values on container create.
"settings": {
"terminal.integrated.shell.linux": "/bin/bash"
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"ms-vscode.cpptools"
],
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "gcc -v",
// Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode"
}

View File

@ -0,0 +1,16 @@
---
name: 📝 Feedback
about: Let me know what you thought!
title: "Feedback: [TITLE]"
labels: 'feedback'
---
<!-- This the recommended format, not required -->
### What did you like?
### What did you dislike?
### What could be improved?
### Any addtional thoughts?

50
.gitignore vendored Normal file
View File

@ -0,0 +1,50 @@
# Godot
client/.import/
client/export.cfg
client/export_presets.cfg
api.json
logs/
*.translation
# Godot Mono
client/.mono/
client/data_*/
# Scons
.sconsign.dblite
# Object script
*.os
# Prerequisites
*.d
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Fortran module files
*.mod
*.smod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app

5
.gitmodules vendored
View File

@ -3,4 +3,7 @@
url = git@github.com:CptPotato/GodotThings.git
[submodule "client/Assets/Proprietary"]
path = client/Assets/Proprietary
url = git@github.com:josephbmanley/the-connection-proprietary.git
url = git@github.com:josephbmanley/the-connection-proprietary.git
[submodule "godot-cpp"]
path = godot-cpp
url = git@github.com:godotengine/godot-cpp.git

37
Makefile Normal file
View File

@ -0,0 +1,37 @@
PROJECTNAME="The Connection"
platform=linux
threads=4
build-godot-bindings:
@echo " > Generating `api.json`..."
@godot --gdnative-generate-json-api api.json
@echo " > Building bindings..."
@cd godot-cpp && scons platform=$(platform) bits=64 generate_bindings=yes -j$(threads) use_custom_api_file=yes custom_api_file=../api.json
## compile: Compiles GDNative code
compile:
@mkdir -p ./godot/bin
@echo " > Compiling GDNative..."
@scons platform=$(platform)
## build: Cleans project, create bindings, and compiles GDNative
build: clean build-godot-bindings compile
## clean: Removes all build related files
clean:
@echo " > Cleaning project..."
@rm -f ./api.json
@rm -f ./.sconsign.dblite
@rm -rf ./godot-cpp/bin
@find ./client/bin -name \*.dll -type f -delete
@find ./client/bin -name \*.so -type f -delete
@find ./client/bin -name \*.dylib -type f -delete
## help: Displays help text for make commands
.DEFAULT_GOAL := help
all: help
help: Makefile
@echo " Choose a command run in "$(PROJECTNAME)":"
@sed -n 's/^##//p' $< | column -t -s ':' | sed -e 's/^/ /'

156
SConstruct Normal file
View File

@ -0,0 +1,156 @@
#!python
import os, sys
opts = Variables([], ARGUMENTS)
# Gets the standard flags CC, CCX, etc.
env = DefaultEnvironment()
# Define our options
opts.Add(EnumVariable('target', "Compilation target", 'debug', ['d', 'debug', 'r', 'release']))
opts.Add(EnumVariable('platform', "Compilation platform", '', ['', 'windows', 'x11', 'linux', 'osx']))
opts.Add(EnumVariable('p', "Compilation target, alias for 'platform'", '', ['', 'windows', 'x11', 'linux', 'osx']))
opts.Add(BoolVariable('use_llvm', "Use the LLVM / Clang compiler", 'no'))
opts.Add(PathVariable('target_path', 'The path where the lib is installed.', 'client/bin/'))
opts.Add(PathVariable('target_name', 'The library name.', 'connection', PathVariable.PathAccept))
# Local dependency paths, adapt them to your setup
godot_headers_path = "godot-cpp/godot-headers/"
cpp_bindings_path = "godot-cpp/"
cpp_library = "libgodot-cpp"
# only support 64 at this time..
bits = 64
# Updates the environment with the option variables.
opts.Update(env)
# Process some arguments
if env['use_llvm']:
env['CC'] = 'clang'
env['CXX'] = 'clang++'
if env['p'] != '':
env['platform'] = env['p']
if env['platform'] == '':
print("No valid target platform selected.")
quit();
# Try to detect the host platform automatically.
# This is used if no `platform` argument is passed
if sys.platform.startswith('linux'):
host_platform = 'linux'
elif sys.platform == 'darwin':
host_platform = 'osx'
elif sys.platform == 'win32' or sys.platform == 'msys':
host_platform = 'windows'
else:
raise ValueError(
'Could not detect platform automatically, please specify with '
'platform=<platform>'
)
#############
## Mac OSX ##
#############
# Check our platform specifics
if env['platform'] == "osx":
# Throw error if not running on Mac
if host_platform != "osx":
raise "Cross compile not supported for OSX!"
env['target_path'] += 'osx/'
cpp_library += '.osx'
env['target_suffix'] = "dylib"
env.Append(CCFLAGS=['-arch', 'x86_64'])
env.Append(CXXFLAGS=['-std=c++17'])
env.Append(LINKFLAGS=['-arch', 'x86_64'])
if env['target'] in ('debug', 'd'):
env.Append(CCFLAGS=['-g', '-O2'])
else:
env.Append(CCFLAGS=['-g', '-O3'])
###########
## Linux ##
###########
elif env['platform'] in ('x11', 'linux'):
env['target_path'] += 'x11/'
env['target_suffix'] = "so"
cpp_library += '.linux'
env.Append(CCFLAGS=['-fPIC'])
env.Append(CXXFLAGS=['-std=c++17'])
if env['target'] in ('debug', 'd'):
env.Append(CCFLAGS=['-g3', '-Og'])
else:
env.Append(CCFLAGS=['-g', '-O3'])
#############
## Windows ##
#############
elif env['platform'] == "windows":
env['target_path'] += 'win64/'
cpp_library += '.windows'
env['target_suffix'] = "dll"
# Configure compiler for visual studio if bulding windows on windows
if host_platform == 'windows' and not env['use_mingw']:
# This makes sure to keep the session environment variables on windows,
# that way you can run scons in a vs 2017 prompt and it will find all the required tools
env.Append(ENV=os.environ)
env.Append(CPPDEFINES=['WIN32', '_WIN32', '_WINDOWS', '_CRT_SECURE_NO_WARNINGS'])
env.Append(CCFLAGS=['-W3', '-GR'])
if env['target'] in ('debug', 'd'):
env.Append(CPPDEFINES=['_DEBUG'])
env.Append(CCFLAGS=['-EHsc', '-MDd', '-ZI'])
env.Append(LINKFLAGS=['-DEBUG'])
else:
env.Append(CPPDEFINES=['NDEBUG'])
env.Append(CCFLAGS=['-O2', '-EHsc', '-MD'])
# Configure compiler for mingw if building for windows on another OS
elif host_platform == 'linux' or host_platform == 'osx':
# MinGW
if bits == 64:
env['CXX'] = 'x86_64-w64-mingw32-g++'
env['AR'] = "x86_64-w64-mingw32-ar"
env['RANLIB'] = "x86_64-w64-mingw32-ranlib"
env['LINK'] = "x86_64-w64-mingw32-g++"
elif bits == 32:
env['CXX'] = 'i686-w64-mingw32-g++'
env['AR'] = "i686-w64-mingw32-ar"
env['RANLIB'] = "i686-w64-mingw32-ranlib"
env['LINK'] = "i686-w64-mingw32-g++"
env.Append(CCFLAGS=['-O3', '-std=c++14', '-Wwrite-strings'])
env.Append(LINKFLAGS=[
'--static',
'-Wl,--no-undefined',
'-static-libgcc',
'-static-libstdc++',
])
if env['target'] in ('debug', 'd'):
cpp_library += '.debug'
else:
cpp_library += '.release'
cpp_library += '.' + str(bits)
# Add paths to libraries and dependencies
env.Append(CPPPATH=['.', godot_headers_path, cpp_bindings_path + 'include/', cpp_bindings_path + 'include/core/', cpp_bindings_path + 'include/gen/'])
env.Append(LIBPATH=[cpp_bindings_path + 'bin/'])
env.Append(LIBS=[cpp_library])
# Add project files
env.Append(CPPPATH=['src/'])
sources = Glob('src/*.cpp')
library = env.SharedLibrary(target=env['target_path'] + env['target_name'] + "." + env['target_suffix'], source=sources)
Default(library)
# Generates help for the -h scons option.
Help(opts.GenerateHelpText(env))

View File

@ -1,3 +0,0 @@
source_md5="e8dabe73b13a84d293485b937c80f448"
dest_md5="4d425793877e102c4abd32ff8888a949"

View File

@ -1,3 +1,3 @@
source_md5="29f28fa741ffa711826400e7fea90a27"
dest_md5="2fe6ef3f4c5624748dc861a0b95a251b"
source_md5="3bfdad86a3348e10ad92dce7a0c7edfb"
dest_md5="b2215c68eec5e82ae3b199c3ebef6ca3"

View File

@ -0,0 +1,3 @@
source_md5="385e8652393bf9a3fa82a062489c5435"
dest_md5="2ca28503838f7dd03b796000ec31111f"

View File

@ -0,0 +1,3 @@
source_md5="34e50c915b51252660db4c26d6f61d92"
dest_md5="284c8f30177baaab7a71e88c2fa18e87"

View File

@ -0,0 +1,3 @@
source_md5="ac15d19b18183939f2cb938b48b83391"
dest_md5="0983b74d7b93c756eb0c5a98b4157abd"

View File

@ -0,0 +1,3 @@
source_md5="240c53764197402a0c89fe8fb8b2a878"
dest_md5="de36b355f43d62393cda8f9c25ab30ad"

View File

@ -0,0 +1,3 @@
source_md5="a43d1da157f5981d7d307fa0f05c7144"
dest_md5="de067c565a3ab4762ae06714e45fe0ae"

View File

@ -0,0 +1,3 @@
source_md5="3cacd4765fc525e57c7258a4805508e6"
dest_md5="2dab7bdfa7f0fc281860167c39ed10b6"

View File

@ -0,0 +1,3 @@
source_md5="130412d800df4b7c2fc9747a6a5805ef"
dest_md5="94ec308054667a107722b55e2203ebfc"

View File

@ -0,0 +1,3 @@
source_md5="b5b713d18d62a88eb579db8fdc12c626"
dest_md5="3fa5aa738a28dc6cdeb9786d5398a721"

View File

@ -0,0 +1,3 @@
source_md5="1c8d163e355ca2143cf1ee7539743095"
dest_md5="f4d70988d33daba683613005dd05abe5"

View File

@ -1,3 +1,3 @@
source_md5="597fbe9ccf6ea4d6483499e0cf0b03d0"
dest_md5="44096b06df43545f31758f2c690ba4dd"
dest_md5="4855047dc51267405dc34ccef9c9fb32"

View File

@ -0,0 +1,3 @@
source_md5="3cf9c5ebe05a91b72f0aebb0ee407a93"
dest_md5="8bd975df2444464ff6174d81fef37888"

View File

@ -0,0 +1,3 @@
source_md5="8f26965afe0b4209670f48e30c0ac7d7"
dest_md5="5baf4f679ea1fa30b2a8de6c0cb4af9a"

View File

@ -0,0 +1,3 @@
source_md5="60a33f3b90accb46263e6e020ba53220"
dest_md5="3ecf06c6cb13d5480124991534f6698c"

View File

@ -1,3 +0,0 @@
source_md5="303f11d3124d1c4e7f84eab94f2eec4e"
dest_md5="c435ad0f5644e639bccd3d8ca358885b"

View File

@ -1,3 +0,0 @@
source_md5="46923f78324d6e9a8e0e4a863d2d42b1"
dest_md5="c9e1f79e69e3f2f812c0be531478bb8e"

View File

@ -1,3 +0,0 @@
source_md5="62170d933feb1791d33e1fc234209ff0"
dest_md5="841cfe9c8cca9b353975fdeca4a6818d"

View File

@ -1,3 +0,0 @@
source_md5="ae3bdb1e531d0d500f6d21de544b2067"
dest_md5="8182b7555a30f5839165eafcca9acd9e"

View File

@ -0,0 +1,3 @@
source_md5="b13caddd7fdd2e51d2b7a6b20a8f47c3"
dest_md5="4475888cf6d0167b58105bf9f678979c"

View File

@ -0,0 +1,3 @@
source_md5="c1837fe565271833906e8389e7ce7c1c"
dest_md5="3d42ff45cbeda89803fb79710d4f5f99"

View File

@ -0,0 +1,3 @@
source_md5="88515d8ae34cca55294e20310b7476c4"
dest_md5="a03cb2a5b382f6cb692178ac73231566"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 B

After

Width:  |  Height:  |  Size: 326 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/elevator-button-color.png-fe767a41ebb2e92445e76edbb2e18f7a.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/Objects/elevator/elevator-button-color.png"
dest_files=[ "res://.import/elevator-button-color.png-fe767a41ebb2e92445e76edbb2e18f7a.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 185 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/elevator-button.png-77644fd41dc75c8e32a225dd140c8b38.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/Objects/elevator/elevator-button.png"
dest_files=[ "res://.import/elevator-button.png-77644fd41dc75c8e32a225dd140c8b38.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/elevator-door.png-c8a525f29a53c56da780c1ade7c02552.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/Objects/elevator/elevator-door.png"
dest_files=[ "res://.import/elevator-door.png-c8a525f29a53c56da780c1ade7c02552.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/elevator.png-6104b47e90854ba939097ca22c392814.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/Objects/elevator/elevator.png"
dest_files=[ "res://.import/elevator.png-6104b47e90854ba939097ca22c392814.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/keycard.png-2d304ab08e1fda9c5559dac3074e731c.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/Objects/keycard.png"
dest_files=[ "res://.import/keycard.png-2d304ab08e1fda9c5559dac3074e731c.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/dirt.png-5a2c7368ec57a5db104fd5562e4bc430.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/Tiles/dirt.png"
dest_files=[ "res://.import/dirt.png-5a2c7368ec57a5db104fd5562e4bc430.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/glass_tile.png-a30ccd4c80c467b85ddbf01116cb0b6a.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/Tiles/glass_tile.png"
dest_files=[ "res://.import/glass_tile.png-a30ccd4c80c467b85ddbf01116cb0b6a.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/metal_tile.png-9ed21e2c1c4fecb67fe50efafab174bd.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/Tiles/metal_tile.png"
dest_files=[ "res://.import/metal_tile.png-9ed21e2c1c4fecb67fe50efafab174bd.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/techno_wall_tile.png-f9fd7320f8b3f18e2851589254196929.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/Tiles/techno_wall_tile.png"
dest_files=[ "res://.import/techno_wall_tile.png-f9fd7320f8b3f18e2851589254196929.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=false
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -2,15 +2,15 @@
importer="texture"
type="StreamTexture"
path="res://.import/animation_reference.png-0380e195c2981cbf6a12a964c592fbc3.stex"
path="res://.import/godot.png-5a026be5d3bdf3191b324100b5a9082a.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://animation_reference.png"
dest_files=[ "res://.import/animation_reference.png-0380e195c2981cbf6a12a964c592fbc3.stex" ]
source_file="res://Assets/Art/UI/Credits/godot.png"
dest_files=[ "res://.import/godot.png-5a026be5d3bdf3191b324100b5a9082a.stex" ]
[params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/x07DLrX.jpg-800f7c21b25c7cf1a88b1ba7bf53d2e0.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/UI/Credits/x07DLrX.jpg"
dest_files=[ "res://.import/x07DLrX.jpg-800f7c21b25c7cf1a88b1ba7bf53d2e0.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/panel.png-cc4decc7b9943cbf17f375e8d90306c0.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/UI/panel.png"
dest_files=[ "res://.import/panel.png-cc4decc7b9943cbf17f375e8d90306c0.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=1
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/square_light.png-aadfc5d355cc8a74d0d2f8166db807ad.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Art/square_light.png"
dest_files=[ "res://.import/square_light.png-aadfc5d355cc8a74d0d2f8166db807ad.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

View File

@ -0,0 +1,21 @@
[remap]
importer="wav"
type="AudioStreamSample"
path="res://.import/doop.wav-c367f72b66b202e52047bea064819597.sample"
[deps]
source_file="res://Assets/Sfx/doop.wav"
dest_files=[ "res://.import/doop.wav-c367f72b66b202e52047bea064819597.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=false
compress/mode=0

Binary file not shown.

View File

@ -0,0 +1,21 @@
[remap]
importer="wav"
type="AudioStreamSample"
path="res://.import/doop.wav-e7e72235859ccaca12113963ce8e590b.sample"
[deps]
source_file="res://Assets/Sfx/intro/doop.wav"
dest_files=[ "res://.import/doop.wav-e7e72235859ccaca12113963ce8e590b.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=false
compress/mode=0

Binary file not shown.

View File

@ -0,0 +1,21 @@
[remap]
importer="wav"
type="AudioStreamSample"
path="res://.import/recharge.wav-32ace1901ba67b9ff95108bc1ef3f6bb.sample"
[deps]
source_file="res://Assets/Sfx/recharge.wav"
dest_files=[ "res://.import/recharge.wav-32ace1901ba67b9ff95108bc1ef3f6bb.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=false
compress/mode=0

View File

@ -8,6 +8,7 @@ TYPE = "EXP_Story_editor"
names = {
"aura_meeting": 12,
"aura_meeting_gun": 13,
"codex_odd_activities": 14,
"into_speak_ceo": 5,
"intro_major_worker": 11,
"intro_meet_ceo": 4,
@ -34,7 +35,7 @@ story = {
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Welcome to Ravenworks.",
"text": "Welcome to Ravenworks. Your designation is SCENE.",
"type": "line"
},
2: {
@ -60,7 +61,7 @@ story = {
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 2,
"text": "You are in Ravenworks cloining facility in Central City.
"text": "You are in Ravenworks main facility in Central City.
<choice>Okay</choice>
<choice>Central City?</choice>",
"type": "line"
@ -82,13 +83,13 @@ story = {
},
"rect_size": Vector2( 441, 165 ),
"slot_amount": 1,
"text": "Central City is the location of the five corporate seats of power.",
"text": "Central City is the capital of the five corporate seats of power.",
"type": "line"
},
6: {
"graph_offset": Vector2( 1000, 80 ),
"links": {
0: 7
0: 10
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
@ -96,14 +97,13 @@ story = {
"type": "line"
},
7: {
"graph_offset": Vector2( 1480, 80 ),
"graph_offset": Vector2( 2120, 80 ),
"links": {
0: 10
0: 9
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "There are reports that an executive here at Ravenworks is
working against the company's interests.",
"text": "You will now serve as an agent of Ravenworks.",
"type": "line"
},
8: {
@ -113,12 +113,11 @@ working against the company's interests.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "You died hundreds of years ago and I do not have time to explain
to you over 100 years of history.",
"text": "You died hundreds of years ago and I do not have time to explain to you over 100 years of history.",
"type": "line"
},
9: {
"graph_offset": Vector2( 2440, 80 ),
"graph_offset": Vector2( 2600, 80 ),
"links": {
0: 12
},
@ -129,50 +128,46 @@ to you over 100 years of history.",
"type": "line"
},
10: {
"graph_offset": Vector2( 1960, 80 ),
"graph_offset": Vector2( 1600, 80 ),
"links": {
0: 9,
0: 7,
1: 11
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 2,
"text": "The CEO of Ravenworks has decided to task you with finding
and killing this individual.
"text": "The CEO of Ravenworks has decided to clone your template to deal with a sensitive issue.
<choice>Okay</choice>
<choice>Why me?</choice>",
"type": "line"
},
11: {
"graph_offset": Vector2( 1960, 300 ),
"graph_offset": Vector2( 1920, 300 ),
"links": {
0: 9
0: 7
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "I do not know.",
"text": "I do not know. ",
"type": "line"
},
12: {
"graph_offset": Vector2( 2920, 80 ),
"graph_offset": Vector2( 3080, 80 ),
"links": {
0: 13
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Good. You have been given Level 1 security clearance
in Ravenwork facilities.",
"text": "Good. You have been given Level 1 security clearance in all Ravenwork facilities.",
"type": "line"
},
13: {
"graph_offset": Vector2( 3400, 80 ),
"graph_offset": Vector2( 3560, 80 ),
"links": {
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "CEO Grant Blevins would like to speak to you about the
investigation. His office is located at the top of
Central Tower.",
"text": "CEO Grant Blevins would like to speak to you as soon as possible. His office is located at the top of Central Tower.",
"type": "line"
}
}
@ -283,7 +278,7 @@ for our services.",
"slot_amount": 2,
"text": "Did you need something?
<choice>No</choice>
<choice>You are the traitor!</choice>",
<choice>What do you think of Grant Blevins?</choice>",
"type": "line"
},
2: {
@ -293,8 +288,7 @@ for our services.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Don't make such false accusations. Get back to your job
and find the real culpurit.",
"text": "He has done good for me and Ravenworks.",
"type": "line"
},
3: {
@ -332,25 +326,26 @@ and find the real culpurit.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "It's good to see they have not eliminated you yet. Most my attempts
to find the mole up until this point have ended in swift failure.",
"text": "It's good to see they have not eliminated you yet. Most my attempts to find the mole up until this point have ended in swift failure.",
"type": "line"
},
3: {
"graph_offset": Vector2( 1020, 0 ),
"links": {
0: 7,
1: 4
1: 4,
2: 30
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 2,
"slot_amount": 3,
"text": "You will not disappoint me, right Scene?
<choice>Of course not!</choice>
<choice>I will do my best</choice>",
<choice>I will do my best</choice>
<choice>What do you need me to do?</choice>",
"type": "line"
},
4: {
"graph_offset": Vector2( 1500, 100 ),
"graph_offset": Vector2( 1520, 100 ),
"links": {
0: 5
},
@ -366,8 +361,7 @@ to find the mole up until this point have ended in swift failure.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "You will need more than just your wits to defeat this
traitor.",
"text": "You will need more than just your wits to defeat this traitor.",
"type": "line"
},
6: {
@ -381,7 +375,7 @@ traitor.",
"type": "line"
},
7: {
"graph_offset": Vector2( 1760, -80 ),
"graph_offset": Vector2( 1580, -80 ),
"links": {
0: 6
},
@ -441,8 +435,7 @@ but we both remeber how your final job went.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "There has been a concerning amount of leaks of secret projects
and internal data to our competitor Duke Enterprises.",
"text": "There has been a concerning amount of leaks of secret projects and internal data to our competitor Duke Enterprises.",
"type": "line"
},
13: {
@ -452,8 +445,7 @@ and internal data to our competitor Duke Enterprises.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Due the volume and nature of the data, the one conspiring with
the Dukes must have extremely high security clearance.",
"text": "Due the volume and nature of the data, the one conspiring with the Dukes must have extremely high security clearance.",
"type": "line"
},
14: {
@ -463,8 +455,7 @@ the Dukes must have extremely high security clearance.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "That is why I have given you nearly full access to our facilities.
This traitor could be anyone.",
"text": "That is why I have given you nearly full access to our facilities. This traitor could be anyone.",
"type": "line"
},
15: {
@ -489,8 +480,7 @@ This traitor could be anyone.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "I'm trusting you Scene. It's not a common thing in our time, but I have
little choice.",
"text": "I'm trusting you Scene. It's not a common thing in our time, but Veronica rarely fails me.",
"type": "line"
},
17: {
@ -500,8 +490,7 @@ little choice.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "I have always been sympathatic to societies of the past. Things were done...
different than they are now.",
"text": "I have always been sympathatic to societies of the past. Things were done... different than they are now.",
"type": "line"
},
18: {
@ -511,8 +500,7 @@ different than they are now.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "You were one of the best investigators of your time! It was sad
you got caught up in the events of the old capital.",
"text": "You were one of the best investigators of your time! It was a shame you got caught up in the events of the old capital.",
"type": "line"
},
19: {
@ -522,7 +510,7 @@ you got caught up in the events of the old capital.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "It 3024, making it around 1000 years since your death.",
"text": "It 3024, making it around 1000 years since your death. Welcome to the future!",
"type": "line"
},
20: {
@ -534,8 +522,7 @@ you got caught up in the events of the old capital.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 3,
"text": "We have a shipment of biological materials coming in today. It seems
like the sort of thing we have had troubles with recently.
"text": "We have a shipment of biological materials coming in today. It seems like the sort of thing we have had troubles with recently.
<choice>Okay, where?</choice>
<choice>What sort of troubles?</choice>
<choice>Biological materials?</choice>",
@ -591,8 +578,7 @@ like the sort of thing we have had troubles with recently.
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Once democratic powers fell, enforcement was placed in the hand of the Corporate Collective,
the closest thing to a centralized government.",
"text": "Once democratic powers fell, enforcement was placed in the hand of the Corporate Collective, the closest thing to the centralized government of old.",
"type": "line"
},
26: {
@ -602,8 +588,7 @@ the closest thing to a centralized government.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "In corporate politics, our opposition likes to put in place agreements that
hinder our success. We are not alone in ignoring many of these agreements.",
"text": "In corporate politics, our opposition likes to put in place agreements that hinder our success. We are not alone in ignoring many of these agreements.",
"type": "line"
},
27: {
@ -613,7 +598,7 @@ hinder our success. We are not alone in ignoring many of these agreements.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Anyway,",
"text": "Anyway...",
"type": "line"
},
28: {
@ -623,8 +608,7 @@ hinder our success. We are not alone in ignoring many of these agreements.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "This building's shipping facility is located on mid levels. They should
not be too far out of reach.",
"text": "This building's shipping facility is located on mid levels. They should not be too far out of reach.",
"type": "line"
},
29: {
@ -636,6 +620,16 @@ not be too far out of reach.",
"slot_amount": 1,
"text": "Keep me up to date on your progress.",
"type": "line"
},
30: {
"graph_offset": Vector2( 3380, 400 ),
"links": {
0: 12
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "That's unusual. In that case, we'll skip the pleasantries.",
"type": "line"
}
}
},
@ -693,8 +687,7 @@ not be too far out of reach.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "This seems to be a Ravenetworks transport, but it's empty. Is this
suppose to be carrying the biological shipment?",
"text": "This seems to be a Ravenetworks transport, but it's empty. Is this suppose to be carrying the biological shipment?",
"type": "line"
}
}
@ -795,9 +788,9 @@ Cubic Carbon - MISSING",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 2,
"text": "Yeah, we met a few days ago.
"text": "Yeah, we worked together a few months ago.
<choice>Weird</choice>
<choice>No?</choice>",
<choice>I just got here?</choice>",
"type": "line"
},
3: {
@ -811,7 +804,7 @@ Cubic Carbon - MISSING",
"type": "line"
},
4: {
"graph_offset": Vector2( 440, 0 ),
"graph_offset": Vector2( 540, 80 ),
"links": {
},
@ -827,7 +820,7 @@ Cubic Carbon - MISSING",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Yeah, we don't see many faces like yours around here.",
"text": "Yeah, we don't see many faces like yours around here. It's hard to forget.",
"type": "line"
}
}
@ -835,7 +828,7 @@ Cubic Carbon - MISSING",
11: {
"available_nid": [ ],
"groups": [ "Introduction" ],
"human_readable_description": "Work who drove spacecraft",
"human_readable_description": "Worker who drove spacecraft",
"name": "intro_major_worker",
"nodes": {
1: {
@ -858,8 +851,7 @@ Cubic Carbon - MISSING",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "During the flight over here, the navigation computer redirected to
the lower levels.",
"text": "During the flight over here, the navigation computer redirected to the lower levels.",
"type": "line"
},
3: {
@ -892,9 +884,7 @@ the lower levels.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "I lost the cargo after my stop at the lower levels. I was just
following the navigation computer and it was taken by
Ravenwork staff!",
"text": "I lost the cargo after my stop at the lower levels. I was just following the navigation computer and it was taken by Ravenwork staff!",
"type": "line"
},
6: {
@ -970,10 +960,9 @@ Ravenwork staff!",
1: 11,
2: 12
},
"rect_size": Vector2( 324, 137 ),
"rect_size": Vector2( 441, 221 ),
"slot_amount": 3,
"text": "As you can see now, you are not the first person cloned for Ravenworks profit
margins.
"text": "As you can see now, you are not the first Veronica cloned for Ravenworks profit margins.
<choice>Are you the traitor?</choice>
<choice>Return the shipment!</choice>
<choice>We can talk</choice>",
@ -982,7 +971,7 @@ margins.
5: {
"graph_offset": Vector2( 520, -120 ),
"links": {
0: 22
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
@ -1050,8 +1039,7 @@ surpress democratic sympathizers.
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "This shipment is being delivered to Resistance medical facilities. It's going to save
lives, not be used for creating slaves.",
"text": "This shipment is being delivered to Resistance medical facilities. It's going to save lives, not be used for creating slaves.",
"type": "line"
},
12: {
@ -1061,8 +1049,7 @@ lives, not be used for creating slaves.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "There isn't much we can do sadly. I'm presuming you still have
your implant.",
"text": "There isn't much we can do sadly. I'm presuming you still have your implant.",
"type": "line"
},
13: {
@ -1072,7 +1059,7 @@ your implant.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Do you want to discuss terms of peace with us?
"text": "Do you want to discuss terms with us?
<choice>No</choice>",
"type": "line"
},
@ -1083,7 +1070,7 @@ your implant.",
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "You weren't even given the choice. They programmed you to respond that way.",
"text": "You weren't even given the choice.",
"type": "line"
},
15: {
@ -1156,6 +1143,16 @@ out for anyone but their executives.",
"slot_amount": 1,
"text": "But after what I learned about the old capital... Never again.",
"type": "line"
},
22: {
"graph_offset": Vector2( 1000, -120 ),
"links": {
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "It's sad to here they finally perfected the program.",
"type": "line"
}
}
},
@ -1176,6 +1173,34 @@ out for anyone but their executives.",
"type": "line"
}
}
},
14: {
"available_nid": [ ],
"groups": [ ],
"human_readable_description": "First hearing on John Demunt",
"name": "codex_odd_activities",
"nodes": {
1: {
"graph_offset": Vector2( 60, -80 ),
"links": {
0: 2
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "Mr.Demunt has pushed for increasing security in the mid levels to account for the recent increase in deliveries.",
"type": "line"
},
2: {
"graph_offset": Vector2( 540, -80 ),
"links": {
},
"rect_size": Vector2( 324, 137 ),
"slot_amount": 1,
"text": "To account for this change, we have moved all non-mandatory security officers to the mid and upper levels.",
"type": "line"
}
}
}
}
available_dids = [ ]

View File

@ -0,0 +1,753 @@
[gd_resource type="Resource" load_steps=2 format=2]
[ext_resource path="res://addons/EXP-System-Dialog/Resource_BakedStory/EXP_BakedStory.gd" type="Script" id=1]
[resource]
script = ExtResource( 1 )
TYPE = "EXP_Baked_Story"
story = {
1: {
"nodes": {
1: {
"links": {
0: 2
},
"text": "Welcome to Ravenworks. Your designation is SCENE."
},
2: {
"links": {
0: 6,
1: 4,
2: 3
},
"text": "Are you ready to furfill your function?
<choice>Yes</choice>
<choice>No</choice>
<choice>Where am I?</choice>"
},
3: {
"links": {
0: 2,
1: 5
},
"text": "You are in Ravenworks main facility in Central City.
<choice>Okay</choice>
<choice>Central City?</choice>"
},
4: {
"links": {
0: 2
},
"text": "Hmmm... The obidence chip must be malfunctioning."
},
5: {
"links": {
0: 8
},
"text": "Central City is the capital of the five corporate seats of power."
},
6: {
"links": {
0: 10
},
"text": "Excellent."
},
7: {
"links": {
0: 9
},
"text": "You will now serve as an agent of Ravenworks."
},
8: {
"links": {
0: 2
},
"text": "You died hundreds of years ago and I do not have time to explain to you over 100 years of history."
},
9: {
"links": {
0: 12
},
"text": "Do you accept this programming?
<choice>Yes</choice>"
},
10: {
"links": {
0: 7,
1: 11
},
"text": "The CEO of Ravenworks has decided to clone your template to deal with a sensitive issue.
<choice>Okay</choice>
<choice>Why me?</choice>"
},
11: {
"links": {
0: 7
},
"text": "I do not know. "
},
12: {
"links": {
0: 13
},
"text": "Good. You have been given Level 1 security clearance in all Ravenwork facilities."
},
13: {
"links": {
},
"text": "CEO Grant Blevins would like to speak to you as soon as possible. His office is located at the top of Central Tower."
}
}
},
2: {
"nodes": {
1: {
"links": {
0: 2
},
"text": "Name: Veronica SCENE Gilmore"
},
2: {
"links": {
0: 3
},
"text": "Occupation: Private Investigator"
},
3: {
"links": {
0: 4
},
"text": "Day of Death: 8-21-2032"
},
4: {
"links": {
0: 5
},
"text": "Intializing..."
},
5: {
"links": {
0: 6
},
"text": "Welcome SCENE!"
},
6: {
"links": {
0: 7
},
"text": "In correspondance with HR 53151
Ravenetworks has repurposed your mind
for our services."
},
7: {
"links": {
0: 8
},
"text": "Transfering to physical system..."
},
8: {
"links": {
},
"text": "Caution: Extreme pain is likely."
}
}
},
3: {
"nodes": {
1: {
"links": {
0: 3,
1: 2
},
"text": "Did you need something?
<choice>No</choice>
<choice>What do you think of Grant Blevins?</choice>"
},
2: {
"links": {
},
"text": "He has done good for me and Ravenworks."
},
3: {
"links": {
},
"text": "Okay then."
}
}
},
4: {
"nodes": {
1: {
"links": {
0: 2
},
"text": "Hello Scene."
},
2: {
"links": {
0: 3
},
"text": "It's good to see they have not eliminated you yet. Most my attempts to find the mole up until this point have ended in swift failure."
},
3: {
"links": {
0: 7,
1: 4,
2: 30
},
"text": "You will not disappoint me, right Scene?
<choice>Of course not!</choice>
<choice>I will do my best</choice>
<choice>What do you need me to do?</choice>"
},
4: {
"links": {
0: 5
},
"text": "Ha! Such a 21st century phrase."
},
5: {
"links": {
0: 6
},
"text": "You will need more than just your wits to defeat this traitor."
},
6: {
"links": {
0: 8
},
"text": "So much lost..."
},
7: {
"links": {
0: 6
},
"text": "We will see. You had a great track record in the 21st century,
but we both remeber how your final job went."
},
8: {
"links": {
0: 9,
1: 10
},
"text": "What do you think of our facility here so far?
<choice>It's amazing!</choice>
<choice>I haven't seen much yet.</choice>"
},
9: {
"links": {
0: 11
},
"text": "It's always interesting hearing the perspectives of those from the past."
},
10: {
"links": {
0: 9
},
"text": "Unfortunate."
},
11: {
"links": {
0: 12
},
"text": "Now away with the pleasantries."
},
12: {
"links": {
0: 13
},
"text": "There has been a concerning amount of leaks of secret projects and internal data to our competitor Duke Enterprises."
},
13: {
"links": {
0: 14
},
"text": "Due the volume and nature of the data, the one conspiring with the Dukes must have extremely high security clearance."
},
14: {
"links": {
0: 16
},
"text": "That is why I have given you nearly full access to our facilities. This traitor could be anyone."
},
15: {
"links": {
0: 17,
1: 19,
2: 20
},
"text": "Do you have any questions before we get started?
<choice>Why me?</choice>
<choice>What year is it?</choice>
<choice>Where do I start?</choice>"
},
16: {
"links": {
0: 15
},
"text": "I'm trusting you Scene. It's not a common thing in our time, but Veronica rarely fails me."
},
17: {
"links": {
0: 18
},
"text": "I have always been sympathatic to societies of the past. Things were done... different than they are now."
},
18: {
"links": {
0: 15
},
"text": "You were one of the best investigators of your time! It was a shame you got caught up in the events of the old capital."
},
19: {
"links": {
0: 15
},
"text": "It 3024, making it around 1000 years since your death. Welcome to the future!"
},
20: {
"links": {
0: 28,
1: 21,
2: 22
},
"text": "We have a shipment of biological materials coming in today. It seems like the sort of thing we have had troubles with recently.
<choice>Okay, where?</choice>
<choice>What sort of troubles?</choice>
<choice>Biological materials?</choice>"
},
21: {
"links": {
0: 24
},
"text": "Some of the data ending up in the Duke's hands is shipping information."
},
22: {
"links": {
0: 23
},
"text": "Yes, for our cloning facilities among other things."
},
23: {
"links": {
0: 27
},
"text": "Without such shipments, you wouldn't be standing here."
},
24: {
"links": {
0: 25,
1: 26
},
"text": "We have had too many missing shipments stopped by the coporate police.
<choice>Coporate police?</choice>
<choice>Why would they stop the shipments?</choice>"
},
25: {
"links": {
0: 27
},
"text": "Once democratic powers fell, enforcement was placed in the hand of the Corporate Collective, the closest thing to the centralized government of old."
},
26: {
"links": {
0: 27
},
"text": "In corporate politics, our opposition likes to put in place agreements that hinder our success. We are not alone in ignoring many of these agreements."
},
27: {
"links": {
0: 28
},
"text": "Anyway..."
},
28: {
"links": {
0: 29
},
"text": "This building's shipping facility is located on mid levels. They should not be too far out of reach."
},
29: {
"links": {
},
"text": "Keep me up to date on your progress."
},
30: {
"links": {
0: 12
},
"text": "That's unusual. In that case, we'll skip the pleasantries."
}
}
},
5: {
"nodes": {
1: {
"links": {
0: 2,
1: 3
},
"text": "Any updates?
<choice>Nothing yet</choice>
<choice>Where is the shipping facility?</choice>"
},
2: {
"links": {
},
"text": "Ravenworks is counting on you."
},
3: {
"links": {
},
"text": "It is on the mid level."
}
}
},
6: {
"nodes": {
1: {
"links": {
},
"text": "This seems to be a Ravenetworks transport, but it's empty. Is this suppose to be carrying the biological shipment?"
}
}
},
7: {
"nodes": {
1: {
"links": {
},
"text": "This is an object."
}
}
},
8: {
"nodes": {
1: {
"links": {
},
"text": "Cargo load:
Organic Matter - MISSING
Stem Cells - MISSING
Cubic Carbon - MISSING"
}
}
},
9: {
"nodes": {
1: {
"links": {
0: 2
},
"text": "How are we missing another shipment?"
},
2: {
"links": {
},
"text": "I hope the supervisor doesn't replace us."
}
}
},
10: {
"nodes": {
1: {
"links": {
0: 3,
1: 2,
2: 4
},
"text": "Hey Aura! How have you been?
<choice>Aura?</choice>
<choice>You know me?</choice>
<choice>I am Scene.</choice>"
},
2: {
"links": {
0: 5,
1: 3
},
"text": "Yeah, we worked together a few months ago.
<choice>Weird</choice>
<choice>I just got here?</choice>"
},
3: {
"links": {
},
"text": "Oh... nevermind."
},
4: {
"links": {
},
"text": "Oh, sorry Scene."
},
5: {
"links": {
},
"text": "Yeah, we don't see many faces like yours around here. It's hard to forget."
}
}
},
11: {
"nodes": {
1: {
"links": {
0: 2,
1: 4
},
"text": "I can't believe we got rerouted.
<choice>Rerouted?</choice>
<choice>What happened to the cargo?</choice>"
},
2: {
"links": {
0: 3
},
"text": "During the flight over here, the navigation computer redirected to the lower levels."
},
3: {
"links": {
},
"text": "When I got there, Ravenworks workers unloaded the craft."
},
4: {
"links": {
0: 5,
1: 7
},
"text": "Are you looking for it?
<choice>Yes</choice>
<choice>No</choice>"
},
5: {
"links": {
0: 6
},
"text": "I lost the cargo after my stop at the lower levels. I was just following the navigation computer and it was taken by Ravenwork staff!"
},
6: {
"links": {
},
"text": "Please do not terminate me!"
},
7: {
"links": {
},
"text": "Oh, well it was unloaded by Ravenwork staff at the lower level."
}
}
},
12: {
"nodes": {
1: {
"links": {
0: 5,
1: 2,
2: 4
},
"text": "Hello Veronica.
<choice>...</choice>
<choice>Who are you?</choice>
<choice>Stop!</choice>"
},
2: {
"links": {
0: 3
},
"text": "I am you."
},
3: {
"links": {
0: 6,
1: 7
},
"text": "Well, I am Veronica Gilmore. Designation: Aura.
<choice>Explain</choice>
<choice>You are lying!</choice>"
},
4: {
"links": {
0: 8,
1: 11,
2: 12
},
"text": "As you can see now, you are not the first Veronica cloned for Ravenworks profit margins.
<choice>Are you the traitor?</choice>
<choice>Return the shipment!</choice>
<choice>We can talk</choice>"
},
5: {
"links": {
0: 22
},
"text": "Oh... They truely had you didn't they."
},
6: {
"links": {
0: 17,
1: 19
},
"text": "You were not created to stop Duke Enterprises. You were created to
surpress democratic sympathizers.
<choice>Democratic Symathizers?</choice>
<choice>What about the leaks?</choice>"
},
7: {
"links": {
},
"text": "Then you will die in ignorance."
},
8: {
"links": {
0: 9
},
"text": "No, Grant is very much aware of my loyalties."
},
9: {
"links": {
0: 10
},
"text": "I am Commander Veronic Gilmore of the Resitance Forces."
},
10: {
"links": {
},
"text": "Grant is a cruel man..."
},
11: {
"links": {
0: 15
},
"text": "This shipment is being delivered to Resistance medical facilities. It's going to save lives, not be used for creating slaves."
},
12: {
"links": {
0: 13
},
"text": "There isn't much we can do sadly. I'm presuming you still have your implant."
},
13: {
"links": {
0: 14
},
"text": "Do you want to discuss terms with us?
<choice>No</choice>"
},
14: {
"links": {
},
"text": "You weren't even given the choice."
},
15: {
"links": {
0: 16
},
"text": "Ravenworks and Duke Enterprises were the ones in the old capitial the day you died."
},
16: {
"links": {
},
"text": "They're the ones who took advantage of all the death..."
},
17: {
"links": {
0: 18
},
"text": "The Corporate Collective does not care about human lives. They aren't looking
out for anyone but their executives."
},
18: {
"links": {
},
"text": "That leaves those who were automated away to die."
},
19: {
"links": {
0: 20
},
"text": "All the leaks came from the resistance."
},
20: {
"links": {
0: 21
},
"text": "Grant has the foolish idea that he can convince me to work for Ravenworks again."
},
21: {
"links": {
},
"text": "But after what I learned about the old capital... Never again."
},
22: {
"links": {
},
"text": "It's sad to here they finally perfected the program."
}
}
},
13: {
"nodes": {
1: {
"links": {
},
"text": "I'm sorry Veronica."
}
}
},
14: {
"nodes": {
1: {
"links": {
0: 2
},
"text": "Mr.Demunt has pushed for increasing security in the mid levels to account for the recent increase in deliveries."
},
2: {
"links": {
},
"text": "To account for this change, we have moved all non-mandatory security officers to the mid and upper levels."
}
}
}
}
names = {
"aura_meeting": 12,
"aura_meeting_gun": 13,
"codex_odd_activities": 14,
"into_speak_ceo": 5,
"intro_major_worker": 11,
"intro_meet_ceo": 4,
"intro_misc_worker_1": 9,
"intro_misc_worker_2": 10,
"intro_science": 1,
"intro_science_followup": 3,
"intro_shipping_codex": 8,
"intro_text": 2,
"intro_transportship": 6,
"unconfigured": 7
}

View File

@ -0,0 +1,55 @@
[gd_resource type="Theme" load_steps=11 format=2]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/marksman-v1/Marksman.ttf" type="DynamicFontData" id=1]
[sub_resource type="StyleBoxEmpty" id=1]
[sub_resource type="StyleBoxEmpty" id=2]
[sub_resource type="StyleBoxEmpty" id=3]
[sub_resource type="StyleBoxEmpty" id=4]
[sub_resource type="StyleBoxEmpty" id=5]
[sub_resource type="StyleBoxEmpty" id=6]
[sub_resource type="StyleBoxLine" id=7]
color = Color( 0.203922, 0.760784, 0.819608, 0.54902 )
[sub_resource type="StyleBoxEmpty" id=8]
[sub_resource type="DynamicFont" id=9]
size = 32
outline_size = 1
outline_color = Color( 0.243137, 0.858824, 0.815686, 0.498039 )
font_data = ExtResource( 1 )
[resource]
default_font = SubResource( 9 )
Button/colors/font_color = Color( 0.203922, 0.760784, 0.819608, 0.54902 )
Button/colors/font_color_disabled = Color( 0.901961, 0.901961, 0.901961, 0.2 )
Button/colors/font_color_hover = Color( 0.203922, 0.760784, 0.819608, 0.784314 )
Button/colors/font_color_pressed = Color( 0.6, 0.835294, 0.858824, 0.784314 )
Button/constants/hseparation = 16
Button/fonts/font = null
Button/styles/ = SubResource( 1 )
Button/styles/disabled = SubResource( 2 )
Button/styles/focus = SubResource( 3 )
Button/styles/hover = SubResource( 4 )
Button/styles/normal = SubResource( 5 )
Button/styles/pressed = SubResource( 6 )
HBoxContainer/constants/separation = 64
HSeparator/constants/separation = 4
HSeparator/styles/separator = SubResource( 7 )
Label/colors/font_color = Color( 0.203922, 0.760784, 0.819608, 0.54902 )
Label/colors/font_color_shadow = Color( 0, 0, 0, 0 )
Label/colors/font_outline_modulate = Color( 0.243137, 0.858824, 0.815686, 0.498039 )
Label/constants/line_spacing = 3
Label/constants/shadow_as_outline = 0
Label/constants/shadow_offset_x = 1
Label/constants/shadow_offset_y = 1
Label/fonts/font = null
Label/icons/ = null
Label/styles/normal = null
Panel/styles/panel = SubResource( 8 )

View File

@ -1,4 +1,4 @@
[gd_resource type="Theme" load_steps=10 format=2]
[gd_resource type="Theme" load_steps=11 format=2]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/marksman-v1/Marksman.ttf" type="DynamicFontData" id=1]
@ -14,16 +14,19 @@
[sub_resource type="StyleBoxEmpty" id=6]
[sub_resource type="StyleBoxEmpty" id=7]
[sub_resource type="StyleBoxLine" id=7]
color = Color( 0.203922, 0.760784, 0.819608, 0.54902 )
[sub_resource type="DynamicFont" id=8]
[sub_resource type="StyleBoxEmpty" id=8]
[sub_resource type="DynamicFont" id=9]
size = 32
outline_size = 1
outline_color = Color( 0.243137, 0.858824, 0.815686, 0.498039 )
font_data = ExtResource( 1 )
[resource]
default_font = SubResource( 8 )
default_font = SubResource( 9 )
Button/colors/font_color = Color( 0.203922, 0.760784, 0.819608, 0.54902 )
Button/colors/font_color_disabled = Color( 0.901961, 0.901961, 0.901961, 0.2 )
Button/colors/font_color_hover = Color( 0.203922, 0.760784, 0.819608, 0.784314 )
@ -37,6 +40,8 @@ Button/styles/hover = SubResource( 4 )
Button/styles/normal = SubResource( 5 )
Button/styles/pressed = SubResource( 6 )
HBoxContainer/constants/separation = 64
HSeparator/constants/separation = 4
HSeparator/styles/separator = SubResource( 7 )
Label/colors/font_color = Color( 0.203922, 0.760784, 0.819608, 0.54902 )
Label/colors/font_color_shadow = Color( 0, 0, 0, 0 )
Label/colors/font_outline_modulate = Color( 0.243137, 0.858824, 0.815686, 0.498039 )
@ -47,4 +52,4 @@ Label/constants/shadow_offset_y = 1
Label/fonts/font = null
Label/icons/ = null
Label/styles/normal = null
Panel/styles/panel = SubResource( 7 )
Panel/styles/panel = SubResource( 8 )

View File

@ -0,0 +1,107 @@
[gd_resource type="Theme" load_steps=19 format=2]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/marksman-v1/Marksman.ttf" type="DynamicFontData" id=1]
[ext_resource path="res://Assets/Art/UI/panel.png" type="Texture" id=2]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/targets-v3.1/Targets.otf" type="DynamicFontData" id=3]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/zapper-v1.1/Zapper.otf" type="DynamicFontData" id=4]
[ext_resource path="res://Assets/Art/UI/button1.png" type="Texture" id=5]
[ext_resource path="res://Assets/Art/UI/button2.png" type="Texture" id=6]
[sub_resource type="StyleBoxEmpty" id=1]
[sub_resource type="StyleBoxEmpty" id=2]
[sub_resource type="StyleBoxEmpty" id=3]
[sub_resource type="StyleBoxEmpty" id=4]
[sub_resource type="StyleBoxEmpty" id=5]
[sub_resource type="StyleBoxEmpty" id=6]
[sub_resource type="StyleBoxLine" id=7]
color = Color( 0.203922, 0.760784, 0.819608, 0.54902 )
[sub_resource type="StyleBoxTexture" id=8]
texture = ExtResource( 2 )
region_rect = Rect2( 0, 0, 8, 8 )
axis_stretch_horizontal = 2
axis_stretch_vertical = 2
modulate_color = Color( 1, 1, 1, 0.686275 )
[sub_resource type="DynamicFont" id=9]
outline_size = 1
outline_color = Color( 0.313726, 0.627451, 0.85098, 0.176471 )
font_data = ExtResource( 4 )
[sub_resource type="DynamicFont" id=10]
size = 32
font_data = ExtResource( 3 )
[sub_resource type="StyleBoxTexture" id=11]
texture = ExtResource( 2 )
region_rect = Rect2( 0, 0, 8, 8 )
axis_stretch_horizontal = 2
axis_stretch_vertical = 2
modulate_color = Color( 1, 1, 1, 0.686275 )
[sub_resource type="DynamicFont" id=12]
size = 32
outline_size = 2
outline_color = Color( 0.313726, 0.627451, 0.85098, 0.176471 )
font_data = ExtResource( 1 )
[resource]
default_font = SubResource( 12 )
Button/colors/font_color = Color( 1, 1, 1, 1 )
Button/colors/font_color_disabled = Color( 0.901961, 0.901961, 0.901961, 0.2 )
Button/colors/font_color_hover = Color( 0.286275, 0.568627, 0.768627, 0.941176 )
Button/colors/font_color_pressed = Color( 0.1813, 0.361375, 0.49, 0.686275 )
Button/constants/hseparation = 16
Button/fonts/font = null
Button/styles/ = SubResource( 1 )
Button/styles/disabled = SubResource( 2 )
Button/styles/focus = SubResource( 3 )
Button/styles/hover = SubResource( 4 )
Button/styles/normal = SubResource( 5 )
Button/styles/pressed = SubResource( 6 )
HBoxContainer/constants/separation = 64
HSeparator/constants/separation = 4
HSeparator/styles/separator = SubResource( 7 )
Label/colors/font_color = Color( 1, 1, 1, 1 )
Label/colors/font_color_shadow = Color( 0, 0, 0, 0 )
Label/colors/font_outline_modulate = Color( 0.223529, 0.443137, 0.6, 0 )
Label/constants/line_spacing = 3
Label/constants/shadow_as_outline = 0
Label/constants/shadow_offset_x = 1
Label/constants/shadow_offset_y = 1
Label/fonts/font = null
Label/icons/ = null
Label/styles/normal = null
Panel/styles/panel = SubResource( 8 )
RichTextLabel/colors/default_color = Color( 1, 1, 1, 1 )
RichTextLabel/colors/font_color_selected = Color( 0.49, 0.49, 0.49, 1 )
RichTextLabel/colors/font_color_shadow = Color( 0, 0, 0, 0 )
RichTextLabel/colors/selection_color = Color( 0.1, 0.1, 1, 0.8 )
RichTextLabel/constants/line_separation = 1
RichTextLabel/constants/shadow_as_outline = 0
RichTextLabel/constants/shadow_offset_x = 1
RichTextLabel/constants/shadow_offset_y = 1
RichTextLabel/constants/table_hseparation = 3
RichTextLabel/constants/table_vseparation = 3
RichTextLabel/fonts/bold_font = null
RichTextLabel/fonts/bold_italics_font = null
RichTextLabel/fonts/italics_font = null
RichTextLabel/fonts/mono_font = null
RichTextLabel/fonts/normal_font = SubResource( 9 )
RichTextLabel/styles/focus = null
RichTextLabel/styles/normal = null
WindowDialog/colors/title_color = Color( 0.980392, 0.960784, 0.960784, 1 )
WindowDialog/constants/close_h_ofs = 18
WindowDialog/constants/close_v_ofs = 18
WindowDialog/constants/scaleborder_size = 4
WindowDialog/constants/title_height = 20
WindowDialog/fonts/title_font = SubResource( 10 )
WindowDialog/icons/close = ExtResource( 6 )
WindowDialog/icons/close_highlight = ExtResource( 5 )
WindowDialog/styles/panel = SubResource( 11 )

View File

@ -0,0 +1,200 @@
[gd_scene load_steps=6 format=2]
[ext_resource path="res://Assets/Art/UI/Credits/godot.png" type="Texture" id=1]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/improbable-v1/Improbable.otf" type="DynamicFontData" id=2]
[ext_resource path="res://Assets/Art/logo.png" type="Texture" id=3]
[ext_resource path="res://Assets/Art/head_bg_less.png" type="Texture" id=4]
[sub_resource type="DynamicFont" id=1]
size = 48
font_data = ExtResource( 2 )
[node name="Scolling" type="VBoxContainer"]
margin_left = 407.0
margin_top = 720.0
margin_right = 873.0
margin_bottom = 1621.0
size_flags_horizontal = 3
custom_constants/separation = 64
alignment = 1
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Logo" type="HBoxContainer" parent="."]
margin_right = 562.0
margin_bottom = 68.0
alignment = 1
[node name="TextureRect" type="TextureRect" parent="Logo"]
margin_left = 121.0
margin_right = 441.0
margin_bottom = 68.0
texture = ExtResource( 3 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Label" type="Label" parent="."]
margin_top = 132.0
margin_right = 562.0
margin_bottom = 216.0
text = "Writing, Design, and Programming
by Joseph Manley
@josephbmanley"
align = 1
[node name="HSeparator" type="HSeparator" parent="."]
margin_top = 280.0
margin_right = 562.0
margin_bottom = 284.0
[node name="AssetLabel" type="Label" parent="."]
margin_top = 348.0
margin_right = 562.0
margin_bottom = 396.0
custom_fonts/font = SubResource( 1 )
text = "Assets"
align = 1
uppercase = true
[node name="Music" type="Label" parent="."]
margin_top = 460.0
margin_right = 562.0
margin_bottom = 515.0
text = "Music by Tim Beek
@timbeekmusic"
align = 1
[node name="Fonts" type="Label" parent="."]
margin_top = 579.0
margin_right = 562.0
margin_bottom = 634.0
text = "Fonts by somepx
@somepx"
align = 1
[node name="Shaders" type="Label" parent="."]
margin_top = 698.0
margin_right = 562.0
margin_bottom = 753.0
text = "Scaling Shaders by CptPotato
www.github.com/CptPotato"
align = 1
[node name="HSeparator2" type="HSeparator" parent="."]
margin_top = 817.0
margin_right = 562.0
margin_bottom = 821.0
[node name="ToolsLabel" type="Label" parent="."]
margin_top = 885.0
margin_right = 562.0
margin_bottom = 933.0
custom_fonts/font = SubResource( 1 )
text = "Tools"
align = 1
uppercase = true
[node name="Godot" type="HSplitContainer" parent="."]
margin_top = 997.0
margin_right = 562.0
margin_bottom = 1139.0
[node name="Label" type="Label" parent="Godot"]
margin_right = 402.0
margin_bottom = 142.0
text = "
Godot
Game Engine
www.godotengine.org
"
align = 1
valign = 1
[node name="TextureRect" type="TextureRect" parent="Godot"]
margin_left = 414.0
margin_right = 562.0
margin_bottom = 142.0
texture = ExtResource( 1 )
expand = true
stretch_mode = 5
[node name="Aseprite" type="Label" parent="."]
margin_top = 1203.0
margin_right = 562.0
margin_bottom = 1287.0
text = "Aseprite
Sprite Editor
www.aseprite.org"
align = 1
[node name="Tilesetter" type="Label" parent="."]
margin_top = 1351.0
margin_right = 562.0
margin_bottom = 1435.0
text = "Tilesetter
Tileset Design Tool
www.tilesetter.org"
align = 1
[node name="DialogSystem" type="Label" parent="."]
margin_top = 1499.0
margin_right = 562.0
margin_bottom = 1583.0
text = "EXP Godot Dialog System
Dialog Editor Godot Addon
www.github.com/EXPWorlds/Godot-Dialog-System"
align = 1
[node name="HSeparator3" type="HSeparator" parent="."]
margin_top = 1647.0
margin_right = 562.0
margin_bottom = 1651.0
[node name="Godot Wild Jam" type="HSplitContainer" parent="."]
margin_top = 1715.0
margin_right = 562.0
margin_bottom = 2031.0
[node name="Label" type="Label" parent="Godot Wild Jam"]
margin_right = 230.0
margin_bottom = 316.0
text = "
Godot Wild Jam #21
Submission
"
align = 1
valign = 1
[node name="TextureRect" type="TextureRect" parent="Godot Wild Jam"]
margin_left = 242.0
margin_right = 562.0
margin_bottom = 316.0
texture = ExtResource( 4 )
expand = true
stretch_mode = 5
[node name="Thanks" type="Label" parent="."]
margin_top = 2095.0
margin_right = 562.0
margin_bottom = 2121.0
text = "Thanks for playing!"
align = 1
[node name="Feedback" type="Label" parent="."]
margin_top = 2185.0
margin_right = 562.0
margin_bottom = 2240.0
text = "Any and all feedback is appreciated!
cloudsumu.com/r/confeedback"
align = 1

View File

@ -5,29 +5,28 @@
[ext_resource path="res://Scripts/Entities/Door.gd" type="Script" id=3]
[ext_resource path="res://Assets/Art/32x32mask.png" type="Texture" id=5]
[sub_resource type="RectangleShape2D" id=7]
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 16.0007, 15.9043 )
[sub_resource type="AtlasTexture" id=1]
atlas = ExtResource( 1 )
region = Rect2( 0, 0, 32, 32 )
[sub_resource type="OccluderPolygon2D" id=8]
polygon = PoolVector2Array( -5, 18, -5, 0, -2, 0, -2, 4, 2, 4, 2, 0, 5, 0, 5, 18 )
[sub_resource type="AtlasTexture" id=2]
atlas = ExtResource( 1 )
region = Rect2( 0, 0, 32, 32 )
[sub_resource type="OccluderPolygon2D" id=3]
polygon = PoolVector2Array( -5, 18, -5, 0, -2, 0, -2, 4, 2, 4, 2, 0, 5, 0, 5, 18 )
[sub_resource type="AtlasTexture" id=4]
atlas = ExtResource( 1 )
region = Rect2( 0, 32, 32, 32 )
[sub_resource type="AtlasTexture" id=3]
[sub_resource type="AtlasTexture" id=5]
atlas = ExtResource( 1 )
region = Rect2( 0, 64, 32, 32 )
[sub_resource type="OccluderPolygon2D" id=9]
[sub_resource type="OccluderPolygon2D" id=6]
polygon = PoolVector2Array( 5, -18, 5, 0, -5, 0, -5, -18 )
[sub_resource type="Animation" id=5]
resource_name = "Close"
[sub_resource type="Animation" id=7]
length = 0.5
tracks/0/type = "bezier"
tracks/0/path = NodePath("Top:position:x")
@ -90,8 +89,7 @@ tracks/5/keys = {
"times": PoolRealArray( 0, 0.5 )
}
[sub_resource type="Animation" id=4]
resource_name = "Open"
[sub_resource type="Animation" id=8]
length = 0.5
tracks/0/type = "bezier"
tracks/0/path = NodePath("Bottom:position:x")
@ -154,7 +152,7 @@ tracks/5/keys = {
"times": PoolRealArray( 0, 0.5 )
}
[sub_resource type="RectangleShape2D" id=6]
[sub_resource type="RectangleShape2D" id=9]
extents = Vector2( 40.2987, 16.0621 )
[node name="Door" type="Area2D"]
@ -163,31 +161,31 @@ script = ExtResource( 3 )
[node name="StaticBody2D" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
shape = SubResource( 7 )
shape = SubResource( 1 )
[node name="Bottom" type="Sprite" parent="."]
z_index = 25
texture = SubResource( 1 )
texture = SubResource( 2 )
[node name="LightOccluder2D" type="LightOccluder2D" parent="Bottom"]
occluder = SubResource( 8 )
occluder = SubResource( 3 )
[node name="Top" type="Sprite" parent="."]
z_index = 25
texture = SubResource( 2 )
texture = SubResource( 4 )
[node name="Color" type="Sprite" parent="Top"]
texture = SubResource( 3 )
texture = SubResource( 5 )
[node name="LightOccluder2D" type="LightOccluder2D" parent="Top"]
occluder = SubResource( 9 )
occluder = SubResource( 6 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/Close = SubResource( 5 )
anims/Open = SubResource( 4 )
anims/Close = SubResource( 7 )
anims/Open = SubResource( 8 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource( 6 )
shape = SubResource( 9 )
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource( 2 )

View File

@ -0,0 +1,53 @@
[gd_scene load_steps=8 format=2]
[ext_resource path="res://Assets/Art/Objects/elevator/elevator.png" type="Texture" id=1]
[ext_resource path="res://Scripts/Entities/Elevator.gd" type="Script" id=2]
[ext_resource path="res://Scripts/Component/ElevatorControls.gd" type="Script" id=3]
[ext_resource path="res://Scripts/Component/LandingArea.gd" type="Script" id=4]
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 16, 2 )
[sub_resource type="RectangleShape2D" id=2]
extents = Vector2( 10, 16 )
[sub_resource type="RectangleShape2D" id=3]
extents = Vector2( 16, 1 )
[node name="Elevator" type="Node2D"]
script = ExtResource( 2 )
__meta__ = {
"_edit_group_": true
}
[node name="Sprite" type="Sprite" parent="."]
texture = ExtResource( 1 )
[node name="Bottom" type="StaticBody2D" parent="."]
position = Vector2( 0, 18 )
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Bottom"]
shape = SubResource( 1 )
[node name="Top" type="StaticBody2D" parent="."]
position = Vector2( 0, -18 )
collision_layer = 2
collision_mask = 0
[node name="CollisionShape2D" type="CollisionShape2D" parent="Top"]
shape = SubResource( 1 )
[node name="ElevatorControls" type="Area2D" parent="."]
script = ExtResource( 3 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="ElevatorControls"]
shape = SubResource( 2 )
[node name="LandingArea" type="Area2D" parent="."]
script = ExtResource( 4 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="LandingArea"]
position = Vector2( 0, 15 )
shape = SubResource( 3 )

View File

@ -0,0 +1,67 @@
[gd_scene load_steps=8 format=2]
[ext_resource path="res://Assets/Art/Objects/elevator/elevator-button-color.png" type="Texture" id=1]
[ext_resource path="res://Scripts/Entities/ElevatorButton.gd" type="Script" id=2]
[ext_resource path="res://Assets/Art/Objects/elevator/elevator-button.png" type="Texture" id=3]
[sub_resource type="AtlasTexture" id=1]
atlas = ExtResource( 3 )
region = Rect2( 0, 0, 16, 8 )
[sub_resource type="CircleShape2D" id=2]
radius = 16.0
[sub_resource type="Animation" id=3]
resource_name = "Done"
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ 1 ]
}
[sub_resource type="Animation" id=4]
resource_name = "Waiting"
length = 0.4
loop = true
tracks/0/type = "value"
tracks/0/path = NodePath("Sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.2 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ 1, 0 ]
}
[node name="ElevatorButton" type="Area2D"]
script = ExtResource( 2 )
__meta__ = {
"_edit_group_": true
}
[node name="Sprite" type="Sprite" parent="."]
texture = SubResource( 1 )
hframes = 2
frame = 1
[node name="Color" type="Sprite" parent="."]
modulate = Color( 0.0941176, 1, 0.14902, 1 )
texture = ExtResource( 1 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource( 2 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/Done = SubResource( 3 )
anims/Waiting = SubResource( 4 )

View File

@ -0,0 +1,174 @@
[gd_scene load_steps=9 format=2]
[ext_resource path="res://Assets/Art/Objects/elevator/elevator-door.png" type="Texture" id=1]
[ext_resource path="res://Assets/Sfx/door.wav" type="AudioStream" id=2]
[ext_resource path="res://Scripts/Entities/ElevatorDoor.gd" type="Script" id=3]
[ext_resource path="res://Assets/Art/32x32mask.png" type="Texture" id=5]
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 1.65761, 15.9043 )
[sub_resource type="Animation" id=7]
length = 0.3
tracks/0/type = "bezier"
tracks/0/path = NodePath("Top:position:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
tracks/1/type = "bezier"
tracks/1/path = NodePath("Top:position:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"points": PoolRealArray( -24, -0.25, 0, 0.25, 0, -8, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
tracks/2/type = "bezier"
tracks/2/path = NodePath("Top:rotation_degrees")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
tracks/3/type = "bezier"
tracks/3/path = NodePath("Bottom:position:x")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
tracks/4/type = "bezier"
tracks/4/path = NodePath("Bottom:position:y")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"points": PoolRealArray( 24, -0.25, 0, 0.25, 0, 8, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
tracks/5/type = "bezier"
tracks/5/path = NodePath("Bottom:rotation_degrees")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
[sub_resource type="Animation" id=8]
length = 0.3
tracks/0/type = "bezier"
tracks/0/path = NodePath("Bottom:position:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
tracks/1/type = "bezier"
tracks/1/path = NodePath("Bottom:position:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"points": PoolRealArray( 8, -0.25, 0, 0.25, 0, 24, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
tracks/2/type = "bezier"
tracks/2/path = NodePath("Bottom:rotation_degrees")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
tracks/3/type = "bezier"
tracks/3/path = NodePath("Top:position:x")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
tracks/4/type = "bezier"
tracks/4/path = NodePath("Top:position:y")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"points": PoolRealArray( -8, -0.25, 0, 0.25, 0, -24, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
tracks/5/type = "bezier"
tracks/5/path = NodePath("Top:rotation_degrees")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
[sub_resource type="RectangleShape2D" id=9]
extents = Vector2( 14.4443, 16.0621 )
[node name="ElevatorDoor" type="Area2D"]
script = ExtResource( 3 )
[node name="StaticBody2D" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
shape = SubResource( 1 )
[node name="Bottom" type="Sprite" parent="."]
position = Vector2( 0, 8 )
scale = Vector2( 1, -1 )
z_index = 25
texture = ExtResource( 1 )
[node name="Top" type="Sprite" parent="."]
position = Vector2( 0, -8 )
z_index = 25
texture = ExtResource( 1 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/Close = SubResource( 7 )
anims/Open = SubResource( 8 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource( 9 )
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource( 2 )
bus = "Sfx"
[node name="Mask" type="Light2D" parent="."]
enabled = false
texture = ExtResource( 5 )
mode = 3
range_item_cull_mask = 2

View File

@ -1,24 +1,20 @@
[gd_scene load_steps=9 format=2]
[gd_scene load_steps=8 format=2]
[ext_resource path="res://Assets/Themes/default.tres" type="Theme" id=1]
[ext_resource path="res://Assets/Themes/main_theme.tres" type="Theme" id=1]
[ext_resource path="res://Scripts/Systems/GameGui.gd" type="Script" id=2]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/zapper-v1.1/Zapper.ttf" type="DynamicFontData" id=3]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/zapper-v1.1/Zapper.otf" type="DynamicFontData" id=4]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/targets-v3.1/Targets.ttf" type="DynamicFontData" id=5]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/improbable-v1/Improbable.ttf" type="DynamicFontData" id=3]
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/marksman-v1/Marksman.ttf" type="DynamicFontData" id=5]
[ext_resource path="res://Scripts/Entities/Fader.gd" type="Script" id=6]
[sub_resource type="DynamicFont" id=2]
size = 18
font_data = ExtResource( 5 )
[sub_resource type="DynamicFont" id=17]
[sub_resource type="DynamicFont" id=1]
size = 48
font_data = ExtResource( 3 )
[sub_resource type="DynamicFont" id=18]
[sub_resource type="DynamicFont" id=2]
size = 32
outline_size = 1
outline_color = Color( 0, 0, 0, 1 )
font_data = ExtResource( 4 )
outline_size = 2
outline_color = Color( 0, 0, 0, 0.45098 )
font_data = ExtResource( 5 )
[node name="GUI" type="CanvasLayer"]
script = ExtResource( 2 )
@ -37,7 +33,7 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="Textbox" type="ColorRect" parent="Dialog"]
[node name="Textbox" type="Panel" parent="Dialog"]
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
@ -46,10 +42,6 @@ margin_left = -475.0
margin_top = -143.0
margin_right = 475.0
margin_bottom = -20.0
color = Color( 0.254902, 0.513726, 0.505882, 0.870588 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Speaker" type="Label" parent="Dialog/Textbox"]
margin_left = 12.0
@ -61,61 +53,61 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="Body" type="Label" parent="Dialog/Textbox"]
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
[node name="Body" type="RichTextLabel" parent="Dialog/Textbox"]
margin_left = 12.0
margin_top = -16.5
margin_right = -39.0
margin_bottom = 49.5
custom_fonts/font = SubResource( 2 )
text = "Hello world!"
margin_top = 40.0
margin_right = 933.0
margin_bottom = 111.0
text = "Hello world! ' & * $"
scroll_active = false
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Choices" type="HBoxContainer" parent="Dialog"]
visible = false
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
[node name="ChoicesPanel" type="Panel" parent="Dialog"]
margin_left = 37.0
margin_top = -9.0
margin_right = 987.0
margin_bottom = 22.0
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Choices" type="HBoxContainer" parent="Dialog/ChoicesPanel"]
anchor_right = 1.0
anchor_bottom = 1.0
margin_left = -472.0
margin_top = -172.0
margin_right = 472.0
margin_bottom = -148.0
alignment = 1
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Button" type="Button" parent="Dialog/Choices"]
margin_left = 297.0
margin_right = 371.0
margin_bottom = 26.0
[node name="Button" type="Button" parent="Dialog/ChoicesPanel/Choices"]
margin_left = 300.0
margin_right = 374.0
margin_bottom = 31.0
text = "Choice"
[node name="Button2" type="Button" parent="Dialog/Choices"]
margin_left = 435.0
margin_right = 509.0
margin_bottom = 26.0
[node name="Button2" type="Button" parent="Dialog/ChoicesPanel/Choices"]
margin_left = 438.0
margin_right = 512.0
margin_bottom = 31.0
text = "Choice"
[node name="Button3" type="Button" parent="Dialog/Choices"]
margin_left = 573.0
margin_right = 647.0
margin_bottom = 26.0
[node name="Button3" type="Button" parent="Dialog/ChoicesPanel/Choices"]
margin_left = 576.0
margin_right = 650.0
margin_bottom = 31.0
text = "Choice"
[node name="ZoneLabel" type="Label" parent="."]
visible = false
anchor_top = 1.0
anchor_bottom = 1.0
margin_left = 12.0
margin_top = -59.0
margin_right = 1257.0
margin_bottom = -8.0
custom_fonts/font = SubResource( 17 )
custom_fonts/font = SubResource( 1 )
text = "Entering: Depths"
valign = 2
__meta__ = {
@ -123,6 +115,7 @@ __meta__ = {
}
[node name="Tip" type="Label" parent="."]
visible = false
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
@ -131,9 +124,48 @@ margin_left = -386.0
margin_top = -110.5
margin_right = 386.0
margin_bottom = 110.5
custom_fonts/font = SubResource( 18 )
custom_fonts/font = SubResource( 2 )
text = "Press WASD to move"
align = 1
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Fader" type="ColorRect" parent="."]
visible = false
anchor_right = 1.0
anchor_bottom = 1.0
mouse_filter = 2
color = Color( 0, 0, 0, 1 )
script = ExtResource( 6 )
__meta__ = {
"_edit_use_anchors_": false
}
start_with_fade_in = false
[node name="ElevatorDialog" type="WindowDialog" parent="."]
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
margin_left = -125.5
margin_top = -132.0
margin_right = 125.5
margin_bottom = 132.0
theme = ExtResource( 1 )
window_title = "Elevator"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Buttons" type="VBoxContainer" parent="ElevatorDialog"]
anchor_right = 1.0
anchor_bottom = 1.0
margin_left = 6.0
margin_top = 6.0
margin_right = -6.0
margin_bottom = -6.0
alignment = 1
__meta__ = {
"_edit_use_anchors_": false
}

View File

@ -1,31 +1,174 @@
[gd_scene load_steps=7 format=2]
[gd_scene load_steps=13 format=2]
[ext_resource path="res://Assets/Sfx/intro/processed.wav" type="AudioStream" id=1]
[ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=2]
[ext_resource path="res://Scripts/Entities/NPCs/Aura.gd" type="Script" id=3]
[ext_resource path="res://Assets/Art/Characters/aura.png" type="Texture" id=4]
[ext_resource path="res://Scripts/Entities/Fader.gd" type="Script" id=5]
[sub_resource type="AtlasTexture" id=14]
[sub_resource type="AtlasTexture" id=1]
atlas = ExtResource( 4 )
region = Rect2( 0, 0, 32, 16 )
region = Rect2( 23, 0, 5, 16 )
[sub_resource type="RectangleShape2D" id=15]
[sub_resource type="StreamTexture" id=2]
load_path = "res://.import/aura.png-d56c2c3c604fb12791bf7613004ed5a9.stex"
[sub_resource type="AtlasTexture" id=3]
atlas = SubResource( 2 )
region = Rect2( 19, 0, 3, 16 )
[sub_resource type="AtlasTexture" id=4]
atlas = SubResource( 2 )
region = Rect2( 29, 0, 3, 16 )
[sub_resource type="RectangleShape2D" id=5]
extents = Vector2( 62.9439, 20.084 )
[sub_resource type="Animation" id=6]
resource_name = "Idle"
length = 2.0
loop = true
tracks/0/type = "bezier"
tracks/0/path = NodePath("Torso/RightArm:position:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"points": PoolRealArray( -3, -0.25, 0, 0.25, 0, -3, -0.25, 0, 0.25, 0, -3, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 1, 2 )
}
tracks/1/type = "bezier"
tracks/1/path = NodePath("Torso/RightArm:position:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0.5, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 1, 2 )
}
tracks/2/type = "bezier"
tracks/2/path = NodePath("Torso/RightArm:rotation_degrees")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 4, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 1, 2 )
}
tracks/3/type = "bezier"
tracks/3/path = NodePath("Torso/LeftArm:position:x")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"points": PoolRealArray( 3, -0.25, 0, 0.25, 0, 3, -0.25, 0, 0.25, 0, 3, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 1, 2 )
}
tracks/4/type = "bezier"
tracks/4/path = NodePath("Torso/LeftArm:position:y")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0.5, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 1, 2 )
}
tracks/5/type = "bezier"
tracks/5/path = NodePath("Torso/LeftArm:rotation_degrees")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -4, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 1, 2 )
}
[sub_resource type="Animation" id=7]
resource_name = "Shoot"
length = 0.5
tracks/0/type = "bezier"
tracks/0/path = NodePath("Torso/RightArm:position:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"points": PoolRealArray( -3, -0.25, 0, 0.25, 0, -3.28281, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
tracks/1/type = "bezier"
tracks/1/path = NodePath("Torso/RightArm:position:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.791864, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
tracks/2/type = "bezier"
tracks/2/path = NodePath("Torso/RightArm:rotation_degrees")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 85.9568, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 0.3 )
}
tracks/3/type = "value"
tracks/3/path = NodePath("Torso/RightArm:texture:region")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0, 0.1 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ Rect2( 19, 0, 3, 16 ), Rect2( 4, 0, 3, 16 ) ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("Torso:texture:region")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"times": PoolRealArray( 0, 0.1 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 1,
"values": [ Rect2( 23, 0, 5, 16 ), Rect2( 7, 0, 5, 16 ) ]
}
[node name="Aura" type="Area2D"]
position = Vector2( 830.805, 1176.02 )
script = ExtResource( 3 )
__meta__ = {
"_edit_group_": true
}
[node name="Sprite" type="Sprite" parent="."]
texture = SubResource( 14 )
hframes = 2
frame = 1
[node name="Torso" type="Sprite" parent="."]
texture = SubResource( 1 )
[node name="RightArm" type="Sprite" parent="Torso"]
position = Vector2( -3, 0 )
z_index = -1
texture = SubResource( 3 )
[node name="LeftArm" type="Sprite" parent="Torso"]
position = Vector2( 3, 0 )
z_index = -1
texture = SubResource( 4 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource( 15 )
visible = false
shape = SubResource( 5 )
[node name="Speaker" type="Node" parent="."]
script = ExtResource( 2 )
@ -45,3 +188,19 @@ color = Color( 0.54902, 0.105882, 0.105882, 1 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Fader" type="ColorRect" parent="CanvasLayer"]
visible = false
anchor_right = 1.0
anchor_bottom = 1.0
mouse_filter = 2
color = Color( 0, 0, 0, 1 )
script = ExtResource( 5 )
__meta__ = {
"_edit_use_anchors_": false
}
start_with_fade_in = false
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/Idle = SubResource( 6 )
anims/Shoot = SubResource( 7 )

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=5 format=2]
[gd_scene load_steps=9 format=2]
[ext_resource path="res://Scripts/Entities/NPCs/CEO.gd" type="Script" id=1]
[ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=2]
@ -7,14 +7,104 @@
[sub_resource type="RectangleShape2D" id=1]
extents = Vector2( 16.0863, 8 )
[node name="Scientist" type="Area2D"]
script = ExtResource( 1 )
[sub_resource type="AtlasTexture" id=2]
atlas = ExtResource( 3 )
region = Rect2( 4, 0, 8, 16 )
[node name="Sprite" type="Sprite" parent="."]
texture = ExtResource( 3 )
[sub_resource type="AtlasTexture" id=3]
atlas = ExtResource( 3 )
region = Rect2( 2, 0, 2, 16 )
[sub_resource type="AtlasTexture" id=4]
atlas = ExtResource( 3 )
region = Rect2( 12, 0, 2, 16 )
[sub_resource type="Animation" id=5]
resource_name = "Idle"
length = 2.0
loop = true
tracks/0/type = "bezier"
tracks/0/path = NodePath("Torso/RightArm:position:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"points": PoolRealArray( -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 1, 2 )
}
tracks/1/type = "bezier"
tracks/1/path = NodePath("Torso/RightArm:position:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 1, 2 )
}
tracks/2/type = "bezier"
tracks/2/path = NodePath("Torso/RightArm:rotation_degrees")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 1, 2 )
}
tracks/3/type = "bezier"
tracks/3/path = NodePath("Torso/LeftArm:position:x")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"points": PoolRealArray( 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 1, 2 )
}
tracks/4/type = "bezier"
tracks/4/path = NodePath("Torso/LeftArm:position:y")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 1, 2 )
}
tracks/5/type = "bezier"
tracks/5/path = NodePath("Torso/LeftArm:rotation_degrees")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/keys = {
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
"times": PoolRealArray( 0, 1, 2 )
}
[node name="CEO" type="Area2D"]
script = ExtResource( 1 )
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource( 1 )
[node name="Speaker" type="Node" parent="."]
script = ExtResource( 2 )
[node name="Torso" type="Sprite" parent="."]
texture = SubResource( 2 )
[node name="RightArm" type="Sprite" parent="Torso"]
position = Vector2( -5, -0.25 )
rotation = 0.10472
texture = SubResource( 3 )
[node name="LeftArm" type="Sprite" parent="Torso"]
position = Vector2( 5, -0.25 )
rotation = -0.10472
texture = SubResource( 4 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/Idle = SubResource( 5 )

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