Compare commits

...

4 commits

Author SHA1 Message Date
c5851bd288 Mrs. Sex takeover 2025-07-17 10:12:06 -06:00
9748c64035 Set up exports 2025-03-25 13:33:43 -04:00
da17fbc52e this dragged out too long.. 2025-03-25 01:50:08 -04:00
6344896134 i hate revolution 2083 2025-03-24 23:49:56 -04:00
9 changed files with 411 additions and 279 deletions

View file

@ -29,6 +29,7 @@ func skip_cutscene() -> void:
Fade.fade_out(Options.transition_speed_secs) Fade.fade_out(Options.transition_speed_secs)
yield(Fade, "fade_finished") yield(Fade, "fade_finished")
animation_player.seek(cutscene_skip) animation_player.seek(cutscene_skip)
$Label.rect_position.y = -99999 # stupid 1.1 stuff
Fade.fade_in(Options.transition_speed_secs) Fade.fade_in(Options.transition_speed_secs)
func kill_cop() -> void: func kill_cop() -> void:

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=46 format=2] [gd_scene load_steps=47 format=2]
[ext_resource path="res://shaders/recolor_border.shader" type="Shader" id=1] [ext_resource path="res://shaders/recolor_border.shader" type="Shader" id=1]
[ext_resource path="res://graphics/player/palettes/default.tex" type="Texture" id=2] [ext_resource path="res://graphics/player/palettes/default.tex" type="Texture" id=2]
@ -10,7 +10,6 @@
[ext_resource path="res://tilesets/t_laboratory.tres" type="TileSet" id=8] [ext_resource path="res://tilesets/t_laboratory.tres" type="TileSet" id=8]
[ext_resource path="res://graphics/npc/fami_human.png" type="Texture" id=9] [ext_resource path="res://graphics/npc/fami_human.png" type="Texture" id=9]
[ext_resource path="res://cutscenes/fami_cutscene.gd" type="Script" id=10] [ext_resource path="res://cutscenes/fami_cutscene.gd" type="Script" id=10]
[ext_resource path="res://audio/sounds/fami_voice.ogg" type="AudioStream" id=11]
[ext_resource path="res://shaders/1px_border.gdshader" type="Shader" id=12] [ext_resource path="res://shaders/1px_border.gdshader" type="Shader" id=12]
[ext_resource path="res://graphics/collectibles/shard.png" type="Texture" id=13] [ext_resource path="res://graphics/collectibles/shard.png" type="Texture" id=13]
[ext_resource path="res://graphics/enemy/cop/scope_walk.png" type="Texture" id=14] [ext_resource path="res://graphics/enemy/cop/scope_walk.png" type="Texture" id=14]
@ -235,19 +234,20 @@ tracks/10/keys = {
[sub_resource type="Animation" id=2] [sub_resource type="Animation" id=2]
resource_name = "cutscene" resource_name = "cutscene"
length = 93.0 length = 100.0
step = 0.05
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/path = NodePath("Label:text") tracks/0/path = NodePath("Label:text")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = false
tracks/0/keys = { tracks/0/keys = {
"times": PoolRealArray( 0.25, 5.3, 13.2, 19.25, 28.75, 37.3, 46.8, 51.8, 58.3, 59.25, 78.75 ), "times": PoolRealArray( 0, 4.5, 9.5, 13.5, 18.5, 22.5, 26.5, 30.5, 34.5 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 2, "update": 2,
"values": [ "Aha! so you've made it this far, however your efforts are all in vain.", "You see, SG, "values": [ "So you've made it this far... too bad your efforts are all in vain.", "You see, SG,
I plan to use the shards to power my spaceship, its exhaust will be so powerful, you peasants will all be vaporized. ", "Me and all of the wonderful billionaires of the world will head to planet X, the newly discovered planet beyond pluto.", "I've heard you want to start a revolution. Well, I'll have you know I kicked off my own revolution in 2068, and to be honest I don't quite see why you want my revolution to end.", "You know what they say, the freer the market, the freer the people, ever since then I've never felt so free! I think your revolution is a foolish pipe dream! ", "Adam Smith once said \"Nobody but a beggar chooses to depend chiefly upon the benevolence of his fellow citizens\", your commie society would never work!", "Oh? How will i reconstruct the Zircon Ultima? You're just the perfect tool for that. ", "While you've been on your gay little adventure collecting shards I've been waiting for this very moment to take them all from you!", "Have at you!", "", "" ] I plan to use the shards to power my spaceship, its exhaust will be so powerful, you peasants will all be vaporized. ", "Me and all of the wonderful billionaires of the world will head to planet X, the newly discovered planet beyond pluto.", "You plan to hijack my wonderful future, eh? Whaddya kids call it? A revolution?", "Ha! I already started my own revolution in 2068.", "You know what they say, the freer the market, the freer the people! Ever since then, I never felt so free!", "You're such a fool. The perfect tool for the reconstruction of the Zircon Ultima.", "While you've been on your gay little adventure collecting shards I've been waiting for this very moment to take them all from you!", "Have at you!!!" ]
} }
tracks/1/type = "value" tracks/1/type = "value"
tracks/1/path = NodePath("FamiVoice:playing") tracks/1/path = NodePath("FamiVoice:playing")
@ -256,7 +256,7 @@ tracks/1/loop_wrap = true
tracks/1/imported = false tracks/1/imported = false
tracks/1/enabled = true tracks/1/enabled = true
tracks/1/keys = { tracks/1/keys = {
"times": PoolRealArray( 0.25, 78.75 ), "times": PoolRealArray( 0.25, 96 ),
"transitions": PoolRealArray( 1, 1 ), "transitions": PoolRealArray( 1, 1 ),
"update": 1, "update": 1,
"values": [ true, false ] "values": [ true, false ]
@ -268,7 +268,7 @@ tracks/2/loop_wrap = true
tracks/2/imported = false tracks/2/imported = false
tracks/2/enabled = true tracks/2/enabled = true
tracks/2/keys = { tracks/2/keys = {
"times": PoolRealArray( 0.25, 59.25, 60.75 ), "times": PoolRealArray( 0.25, 76.5, 78 ),
"transitions": PoolRealArray( 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1 ),
"update": 0, "update": 0,
"values": [ Vector2( -8, 169 ), Vector2( -8, 169 ), Vector2( 72, 169 ) ] "values": [ Vector2( -8, 169 ), Vector2( -8, 169 ), Vector2( 72, 169 ) ]
@ -280,7 +280,7 @@ tracks/3/loop_wrap = true
tracks/3/imported = false tracks/3/imported = false
tracks/3/enabled = true tracks/3/enabled = true
tracks/3/keys = { tracks/3/keys = {
"times": PoolRealArray( 0, 59.25, 60.75 ), "times": PoolRealArray( 0, 76.5, 78 ),
"transitions": PoolRealArray( 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1 ),
"update": 1, "update": 1,
"values": [ "gun", "walk", "gun" ] "values": [ "gun", "walk", "gun" ]
@ -292,7 +292,7 @@ tracks/4/loop_wrap = true
tracks/4/imported = false tracks/4/imported = false
tracks/4/enabled = true tracks/4/enabled = true
tracks/4/keys = { tracks/4/keys = {
"times": PoolRealArray( 0.25, 61.75, 63.75, 64.25, 69.75, 71.75, 75.75, 76.25 ), "times": PoolRealArray( 0.25, 79, 81, 81.5, 87, 89, 93, 93.5 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 1, "update": 1,
"values": [ "idle", "walk", "idle", "punch", "walk", "idle", "shrink", "orb" ] "values": [ "idle", "walk", "idle", "punch", "walk", "idle", "shrink", "orb" ]
@ -304,7 +304,7 @@ tracks/5/loop_wrap = true
tracks/5/imported = false tracks/5/imported = false
tracks/5/enabled = true tracks/5/enabled = true
tracks/5/keys = { tracks/5/keys = {
"times": PoolRealArray( 0.25, 61.75, 63.75, 69.75, 71.75, 75.75, 77.75, 78.75 ), "times": PoolRealArray( 0.25, 79, 81, 87, 89, 93, 95, 96 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 0, "update": 0,
"values": [ Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 105, 167 ), Vector2( 105, 167 ), Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 160, 83 ) ] "values": [ Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 105, 167 ), Vector2( 105, 167 ), Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 160, 167 ), Vector2( 160, 83 ) ]
@ -316,7 +316,7 @@ tracks/6/loop_wrap = true
tracks/6/imported = false tracks/6/imported = false
tracks/6/enabled = true tracks/6/enabled = true
tracks/6/keys = { tracks/6/keys = {
"times": PoolRealArray( 0.5, 65.5, 70.75 ), "times": PoolRealArray( 0.5, 82.8, 88 ),
"transitions": PoolRealArray( 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1 ),
"update": 1, "update": 1,
"values": [ false, true, false ] "values": [ false, true, false ]
@ -328,7 +328,7 @@ tracks/7/loop_wrap = true
tracks/7/imported = false tracks/7/imported = false
tracks/7/enabled = true tracks/7/enabled = true
tracks/7/keys = { tracks/7/keys = {
"times": PoolRealArray( 0.25, 72.75, 75.75 ), "times": PoolRealArray( 0.25, 90, 93 ),
"transitions": PoolRealArray( 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1 ),
"update": 1, "update": 1,
"values": [ false, true, false ] "values": [ false, true, false ]
@ -340,7 +340,7 @@ tracks/8/loop_wrap = true
tracks/8/imported = false tracks/8/imported = false
tracks/8/enabled = true tracks/8/enabled = true
tracks/8/keys = { tracks/8/keys = {
"times": PoolRealArray( 0.25, 74.75, 75.75 ), "times": PoolRealArray( 0.25, 92, 93 ),
"transitions": PoolRealArray( 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1 ),
"update": 0, "update": 0,
"values": [ Color( 0.396078, 1, 1, 0 ), Color( 0.396078, 1, 1, 0 ), Color( 0.396078, 1, 1, 1 ) ] "values": [ Color( 0.396078, 1, 1, 0 ), Color( 0.396078, 1, 1, 0 ), Color( 0.396078, 1, 1, 1 ) ]
@ -352,7 +352,7 @@ tracks/9/loop_wrap = true
tracks/9/imported = false tracks/9/imported = false
tracks/9/enabled = true tracks/9/enabled = true
tracks/9/keys = { tracks/9/keys = {
"times": PoolRealArray( 0.25, 74.75, 75.75 ), "times": PoolRealArray( 0.25, 92, 93 ),
"transitions": PoolRealArray( 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1 ),
"update": 0, "update": 0,
"values": [ Color( 0.345098, 0.74902, 0.878431, 0 ), Color( 0.345098, 0.74902, 0.878431, 0 ), Color( 0.345098, 0.74902, 0.878431, 1 ) ] "values": [ Color( 0.345098, 0.74902, 0.878431, 0 ), Color( 0.345098, 0.74902, 0.878431, 0 ), Color( 0.345098, 0.74902, 0.878431, 1 ) ]
@ -364,7 +364,7 @@ tracks/10/loop_wrap = true
tracks/10/imported = false tracks/10/imported = false
tracks/10/enabled = true tracks/10/enabled = true
tracks/10/keys = { tracks/10/keys = {
"times": PoolRealArray( 78.75 ), "times": PoolRealArray( 96 ),
"transitions": PoolRealArray( 1 ), "transitions": PoolRealArray( 1 ),
"values": [ { "values": [ {
"args": [ "cutscene_finished" ], "args": [ "cutscene_finished" ],
@ -378,7 +378,7 @@ tracks/11/loop_wrap = true
tracks/11/imported = false tracks/11/imported = false
tracks/11/enabled = true tracks/11/enabled = true
tracks/11/keys = { tracks/11/keys = {
"times": PoolRealArray( 0, 72.75 ), "times": PoolRealArray( 0, 90 ),
"transitions": PoolRealArray( 1, 1 ), "transitions": PoolRealArray( 1, 1 ),
"update": 1, "update": 1,
"values": [ false, true ] "values": [ false, true ]
@ -390,7 +390,7 @@ tracks/12/loop_wrap = true
tracks/12/imported = false tracks/12/imported = false
tracks/12/enabled = true tracks/12/enabled = true
tracks/12/keys = { tracks/12/keys = {
"times": PoolRealArray( 0, 65.5 ), "times": PoolRealArray( 0, 82.8 ),
"transitions": PoolRealArray( 1, 1 ), "transitions": PoolRealArray( 1, 1 ),
"update": 1, "update": 1,
"values": [ false, true ] "values": [ false, true ]
@ -402,7 +402,7 @@ tracks/13/loop_wrap = true
tracks/13/imported = false tracks/13/imported = false
tracks/13/enabled = true tracks/13/enabled = true
tracks/13/keys = { tracks/13/keys = {
"times": PoolRealArray( 0, 76.5 ), "times": PoolRealArray( 0, 93.8 ),
"transitions": PoolRealArray( 1, 1 ), "transitions": PoolRealArray( 1, 1 ),
"update": 1, "update": 1,
"values": [ false, true ] "values": [ false, true ]
@ -414,10 +414,10 @@ tracks/14/loop_wrap = true
tracks/14/imported = false tracks/14/imported = false
tracks/14/enabled = true tracks/14/enabled = true
tracks/14/keys = { tracks/14/keys = {
"times": PoolRealArray( 0, 2.6, 2.7, 2.8, 8, 8.1, 8.2, 12.4, 12.5, 13, 17.1092, 17.2092, 18.3092, 25.8, 25.9, 27.9, 36.6, 36.7, 38.7, 41.4, 41.8, 42.2, 42.6, 44.3, 45, 45.5, 46, 46.5, 47.2, 47.7, 48.2, 48.8, 49.5, 50, 50.5, 51, 51.7, 52.2, 52.7, 53.3, 54, 54.5, 55, 55.5, 56.2, 56.7, 57.2, 57.8, 58.5, 59, 59.5, 60.2, 60.8, 61, 61.5, 61.6, 64.25, 71.75, 71.85, 71.975, 72.125, 73, 73.1 ), "times": PoolRealArray( 0, 2.6, 2.7, 2.8, 8, 8.1, 8.2, 12.4, 12.5, 13, 17.1092, 17.2092, 18.3092, 22.25, 24.25, 30.25, 30.5, 32.5, 40.25, 40.75, 41.25, 41.5, 48, 48.75, 49.25, 49.75, 50.25, 51, 51.5, 52, 52.5, 53.25, 53.75, 54.25, 54.75, 55.5, 56, 56.5, 57, 57.75, 58.25, 58.75, 60.75, 61.5, 62, 62.5, 63, 63.75, 64.25, 64.75, 65.25, 66, 66.5, 67, 67.5, 68.25, 68.75, 69.25, 69.75, 70.5, 71, 71.5, 72.25, 73, 73.5, 74, 74.5, 78, 78.15, 78.3, 78.45, 89.8, 90, 90.2, 90.3, 90.4 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.03526, 1, 1, 1.03526, 1, 1.03526, 1, 1.03526, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.03526, 1, 1, 1.03526, 1, 1.03526, 1, 1.03526, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 1, "update": 1,
"values": [ Vector2( 0, 0 ), Vector2( 0, 0 ), Vector2( 1, 12 ), Vector2( 0, 12 ), Vector2( 0, 0 ), Vector2( 1, 12 ), Vector2( 0, 12 ), Vector2( 0, 0 ), Vector2( 1, 12 ), Vector2( 0, 12 ), Vector2( 0, 0 ), Vector2( 1, 12 ), Vector2( 0, 12 ), Vector2( 0, 0 ), Vector2( 1, 12 ), Vector2( 0, 19 ), Vector2( 0, 19 ), Vector2( 1, 12 ), Vector2( 0, 19 ), Vector2( 1, 12 ), Vector2( 0, 19 ), Vector2( 1, 12 ), Vector2( 0, 19 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 0, 17 ), Vector2( 0, 0 ), Vector2( 0, 16 ), Vector2( 0, 0 ), Vector2( 0, 17 ), Vector2( 1, 12 ), Vector2( 0, 12 ), Vector2( 1, 12 ), Vector2( 0, 12 ), Vector2( 0, 16 ), Vector2( 0, 0 ) ] "values": [ Vector2( 0, 0 ), Vector2( 0, 0 ), Vector2( 1, 12 ), Vector2( 0, 12 ), Vector2( 0, 0 ), Vector2( 1, 12 ), Vector2( 0, 12 ), Vector2( 0, 0 ), Vector2( 1, 12 ), Vector2( 0, 12 ), Vector2( 0, 0 ), Vector2( 1, 12 ), Vector2( 0, 12 ), Vector2( 0, 0 ), Vector2( 0, 19 ), Vector2( 0, 19 ), Vector2( 1, 12 ), Vector2( 0, 19 ), Vector2( 1, 12 ), Vector2( 0, 19 ), Vector2( 1, 12 ), Vector2( 0, 19 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 1, 18 ), Vector2( 2, 18 ), Vector2( 3, 18 ), Vector2( 0, 18 ), Vector2( 0, 17 ), Vector2( 0, 0 ), Vector2( 0, 16 ), Vector2( 0, 17 ), Vector2( 1, 12 ), Vector2( 0, 12 ), Vector2( 0, 12 ), Vector2( 0, 16 ), Vector2( 0, 0 ) ]
} }
tracks/15/type = "value" tracks/15/type = "value"
tracks/15/path = NodePath("SgIdle:flip_h") tracks/15/path = NodePath("SgIdle:flip_h")
@ -426,7 +426,7 @@ tracks/15/loop_wrap = true
tracks/15/imported = false tracks/15/imported = false
tracks/15/enabled = true tracks/15/enabled = true
tracks/15/keys = { tracks/15/keys = {
"times": PoolRealArray( 0, 61.5, 61.6, 73 ), "times": PoolRealArray( 0, 50.75, 78.45, 90.4 ),
"transitions": PoolRealArray( 1, 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1, 1 ),
"update": 1, "update": 1,
"values": [ false, false, true, false ] "values": [ false, false, true, false ]
@ -438,7 +438,7 @@ tracks/16/loop_wrap = true
tracks/16/imported = false tracks/16/imported = false
tracks/16/enabled = true tracks/16/enabled = true
tracks/16/keys = { tracks/16/keys = {
"times": PoolRealArray( 64.25, 65.5 ), "times": PoolRealArray( 81.5, 82.8 ),
"transitions": PoolRealArray( 1, 1 ), "transitions": PoolRealArray( 1, 1 ),
"values": [ { "values": [ {
"args": [ ], "args": [ ],
@ -455,11 +455,212 @@ tracks/17/loop_wrap = true
tracks/17/imported = false tracks/17/imported = false
tracks/17/enabled = true tracks/17/enabled = true
tracks/17/keys = { tracks/17/keys = {
"times": PoolRealArray( -0.1, 60.5 ), "times": PoolRealArray( -0.1, 78 ),
"transitions": PoolRealArray( 1, 1 ), "transitions": PoolRealArray( 1, 1 ),
"update": 1, "update": 1,
"values": [ false, true ] "values": [ false, true ]
} }
tracks/18/type = "value"
tracks/18/path = NodePath("Label:percent_visible")
tracks/18/interp = 1
tracks/18/loop_wrap = true
tracks/18/imported = false
tracks/18/enabled = false
tracks/18/keys = {
"times": PoolRealArray( 0, 3, 4, 4.5, 8, 9, 9.5, 12, 13, 13.5, 17, 18, 18.5, 21, 22, 22.5, 25, 26, 26.5, 29, 30, 30.5, 33, 34, 34.5, 37 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 0,
"values": [ 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0 ]
}
tracks/19/type = "value"
tracks/19/path = NodePath("Label:visible")
tracks/19/interp = 1
tracks/19/loop_wrap = true
tracks/19/imported = false
tracks/19/enabled = false
tracks/19/keys = {
"times": PoolRealArray( 0, 4, 4.5, 9, 9.5, 13, 13.5, 18, 18.5, 22, 22.5, 26, 26.5, 30, 30.5, 34, 34.5, 39 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false ]
}
[sub_resource type="Animation" id=27]
length = 0.001
tracks/0/type = "value"
tracks/0/path = NodePath("ShardRain:emitting")
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": 0,
"values": [ false ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("ShardParticles:emitting")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ false ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("FamiVoice:playing")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ false ]
}
tracks/3/type = "value"
tracks/3/path = NodePath("FamiHuman:material:shader_param/background_color")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Color( 0.396078, 1, 1, 0 ) ]
}
tracks/4/type = "value"
tracks/4/path = NodePath("FamiHuman:material:shader_param/arc_color")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Color( 0.345098, 0.74902, 0.878431, 0 ) ]
}
tracks/5/type = "value"
tracks/5/path = NodePath("Label:text")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ "" ]
}
tracks/6/type = "value"
tracks/6/path = NodePath("FamiHuman:position")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 160, 167 ) ]
}
tracks/7/type = "value"
tracks/7/path = NodePath("SgIdle:frame_coords")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( 0, 0 ) ]
}
tracks/8/type = "value"
tracks/8/path = NodePath("SgIdle:flip_h")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ false ]
}
tracks/9/type = "value"
tracks/9/path = NodePath("FamiHuman:animation")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ "idle" ]
}
tracks/10/type = "value"
tracks/10/path = NodePath("Cop:position")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 0,
"values": [ Vector2( -8, 169 ) ]
}
[sub_resource type="Animation" id=28]
resource_name = "cutscene"
length = 93.0
step = 0.25
tracks/0/type = "value"
tracks/0/path = NodePath("Label:text")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 4.5, 9.5, 13.5, 18.5, 22.5, 26.5, 30.5, 34.5 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 2,
"values": [ "So you've made it this far... too bad your efforts are all in vain.", "You see, SG,
I plan to use the shards to power my spaceship, its exhaust will be so powerful, you peasants will all be vaporized. ", "Me and all of the wonderful billionaires of the world will head to planet X, the newly discovered planet beyond pluto.", "You plan to hijack my wonderful future, eh? Whaddya kids call it? A revolution?", "Ha! I already started my own revolution in 2068.", "You know what they say, the freer the market, the freer the people! Ever since then, I never felt so free!", "You're such a fool. The perfect tool for the reconstruction of the Zircon Ultima.", "While you've been on your gay little adventure collecting shards, I've been waiting for this very moment to take them all from you!", "Have at you!!!" ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("Label:percent_visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = {
"times": PoolRealArray( 0, 3, 4, 4.5, 8, 9, 9.5, 12, 13, 13.5, 17, 18, 18.5, 21, 22, 22.5, 25, 26, 26.5, 29, 30, 30.5, 33, 34, 34.5, 35.25 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 0,
"values": [ 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0 ]
}
tracks/2/type = "value"
tracks/2/path = NodePath("Label:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0, 4, 4.5, 9, 9.5, 13, 13.5, 18, 18.5, 22, 22.5, 26, 26.5, 30, 30.5, 34, 34.5, 37 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 1,
"values": [ true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false ]
}
[sub_resource type="ShaderMaterial" id=8] [sub_resource type="ShaderMaterial" id=8]
shader = ExtResource( 12 ) shader = ExtResource( 12 )
@ -529,6 +730,7 @@ theme = ExtResource( 3 )
align = 1 align = 1
valign = 1 valign = 1
autowrap = true autowrap = true
percent_visible = 0.0
[node name="FamiHuman" type="AnimatedSprite" parent="."] [node name="FamiHuman" type="AnimatedSprite" parent="."]
material = ExtResource( 19 ) material = ExtResource( 19 )
@ -548,7 +750,6 @@ vframes = 20
script = ExtResource( 5 ) script = ExtResource( 5 )
[node name="FamiVoice" type="AudioStreamPlayer" parent="."] [node name="FamiVoice" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 11 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="."] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "cutscene" autoplay = "cutscene"
@ -556,6 +757,13 @@ playback_process_mode = 0
anims/RESET = SubResource( 16 ) anims/RESET = SubResource( 16 )
anims/cutscene = SubResource( 2 ) anims/cutscene = SubResource( 2 )
[node name="labelanim" type="AnimationPlayer" parent="."]
autoplay = "cutscene"
playback_process_mode = 0
playback_speed = 0.5
anims/RESET = SubResource( 27 )
anims/cutscene = SubResource( 28 )
[node name="Cop" type="AnimatedSprite" parent="."] [node name="Cop" type="AnimatedSprite" parent="."]
material = SubResource( 8 ) material = SubResource( 8 )
position = Vector2( -8, 169 ) position = Vector2( -8, 169 )

View file

@ -7,7 +7,7 @@ custom_features=""
export_filter="all_resources" export_filter="all_resources"
include_filter="scoreboard_host.txt" include_filter="scoreboard_host.txt"
exclude_filter="" exclude_filter=""
export_path="build/Revolution 2083.exe" export_path="build/windows/Revolution 2083.exe"
script_export_mode=1 script_export_mode=1
script_encryption_key="" script_encryption_key=""
@ -33,13 +33,13 @@ codesign/description=""
codesign/custom_options=PoolStringArray( ) codesign/custom_options=PoolStringArray( )
application/modify_resources=true application/modify_resources=true
application/icon="res://icon.ico" application/icon="res://icon.ico"
application/icon_interpolation=4 application/icon_interpolation=0
application/file_version="" application/file_version="1.1.0.0"
application/product_version="" application/product_version="1.1.0.0"
application/company_name="Team SG" application/company_name="Team SG"
application/product_name="Revolution 2083" application/product_name="Revolution 2083"
application/file_description="" application/file_description="Change the future!"
application/copyright="" application/copyright="Team SG"
application/trademarks="" application/trademarks=""
[preset.1] [preset.1]
@ -60,7 +60,7 @@ script_encryption_key=""
custom_template/debug="" custom_template/debug=""
custom_template/release="" custom_template/release=""
binary_format/architecture="x86_64" binary_format/architecture="x86_64"
binary_format/embed_pck=true binary_format/embed_pck=false
texture_format/bptc=false texture_format/bptc=false
texture_format/s3tc=true texture_format/s3tc=true
texture_format/etc=false texture_format/etc=false
@ -104,207 +104,87 @@ progressive_web_app/background_color=Color( 0, 0, 0, 1 )
[preset.3] [preset.3]
name="android" name="Mac OSX"
platform="Android" platform="Mac OSX"
runnable=true runnable=true
custom_features="" custom_features=""
export_filter="all_resources" export_filter="all_resources"
include_filter="scoreboard_host.txt" include_filter=""
exclude_filter="" exclude_filter=""
export_path="build/android/hero-mark-2.apk" export_path="build/macos/Revolution 2083.zip"
script_export_mode=1 script_export_mode=1
script_encryption_key="" script_encryption_key=""
[preset.3.options] [preset.3.options]
export/distribution_type=1
custom_template/debug="" custom_template/debug=""
custom_template/release="" custom_template/release=""
custom_build/use_custom_build=false application/name="Revolution 2083"
custom_build/export_format=0 application/icon="res://icon.png"
custom_build/min_sdk="" application/icon_interpolation=4
custom_build/target_sdk="" application/identifier="club.teamsg.hero-mark-2"
architectures/armeabi-v7a=true application/signature=""
architectures/arm64-v8a=true application/app_category="Arcade-games"
architectures/x86=false application/short_version="1.0"
architectures/x86_64=false application/version="1.0"
keystore/debug="" application/copyright=""
keystore/debug_user="" application/min_macos_version="10.12"
keystore/debug_password="" display/high_res=false
keystore/release="" xcode/platform_build="14C18"
keystore/release_user="" xcode/sdk_version="13.1"
keystore/release_password="" xcode/sdk_build="22C55"
one_click_deploy/clear_previous_install=true xcode/sdk_name="macosx13.1"
version/code=1 xcode/xcode_version="1420"
version/name="1.0" xcode/xcode_build="14C18"
package/unique_name="org.godotengine.$genname" codesign/codesign=1
package/name="" codesign/installer_identity=""
package/signed=true codesign/apple_team_id=""
package/classify_as_game=true codesign/identity=""
package/retain_data_on_uninstall=false codesign/certificate_file=""
package/exclude_from_recents=false codesign/certificate_password=""
launcher_icons/main_192x192="" codesign/provisioning_profile=""
launcher_icons/adaptive_foreground_432x432="" codesign/entitlements/custom_file=""
launcher_icons/adaptive_background_432x432="" codesign/entitlements/allow_jit_code_execution=false
graphics/opengl_debug=false codesign/entitlements/allow_unsigned_executable_memory=false
xr_features/xr_mode=0 codesign/entitlements/allow_dyld_environment_variables=false
xr_features/hand_tracking=0 codesign/entitlements/disable_library_validation=false
xr_features/hand_tracking_frequency=0 codesign/entitlements/audio_input=false
xr_features/passthrough=0 codesign/entitlements/camera=false
screen/immersive_mode=true codesign/entitlements/location=false
screen/support_small=true codesign/entitlements/address_book=false
screen/support_normal=true codesign/entitlements/calendars=false
screen/support_large=true codesign/entitlements/photos_library=false
screen/support_xlarge=true codesign/entitlements/apple_events=false
user_data_backup/allow=false codesign/entitlements/debugging=false
command_line/extra_args="" codesign/entitlements/app_sandbox/enabled=false
apk_expansion/enable=false codesign/entitlements/app_sandbox/network_server=false
apk_expansion/SALT="" codesign/entitlements/app_sandbox/network_client=false
apk_expansion/public_key="" codesign/entitlements/app_sandbox/device_usb=false
permissions/custom_permissions=PoolStringArray( ) codesign/entitlements/app_sandbox/device_bluetooth=false
permissions/access_checkin_properties=false codesign/entitlements/app_sandbox/files_downloads=0
permissions/access_coarse_location=false codesign/entitlements/app_sandbox/files_pictures=0
permissions/access_fine_location=false codesign/entitlements/app_sandbox/files_music=0
permissions/access_location_extra_commands=false codesign/entitlements/app_sandbox/files_movies=0
permissions/access_mock_location=false codesign/entitlements/app_sandbox/files_user_selected=0
permissions/access_network_state=false codesign/custom_options=PoolStringArray( )
permissions/access_surface_flinger=false notarization/notarization=0
permissions/access_wifi_state=false notarization/apple_id_name=""
permissions/account_manager=false notarization/apple_id_password=""
permissions/add_voicemail=false notarization/api_uuid=""
permissions/authenticate_accounts=false notarization/api_key=""
permissions/battery_stats=false notarization/api_key_id=""
permissions/bind_accessibility_service=false privacy/microphone_usage_description=""
permissions/bind_appwidget=false privacy/camera_usage_description=""
permissions/bind_device_admin=false privacy/location_usage_description=""
permissions/bind_input_method=false privacy/address_book_usage_description=""
permissions/bind_nfc_service=false privacy/calendar_usage_description=""
permissions/bind_notification_listener_service=false privacy/photos_library_usage_description=""
permissions/bind_print_service=false privacy/desktop_folder_usage_description=""
permissions/bind_remoteviews=false privacy/documents_folder_usage_description=""
permissions/bind_text_service=false privacy/downloads_folder_usage_description=""
permissions/bind_vpn_service=false privacy/network_volumes_usage_description=""
permissions/bind_wallpaper=false privacy/removable_volumes_usage_description=""
permissions/bluetooth=false texture_format/s3tc=true
permissions/bluetooth_admin=false texture_format/etc=false
permissions/bluetooth_privileged=false texture_format/etc2=false
permissions/brick=false
permissions/broadcast_package_removed=false
permissions/broadcast_sms=false
permissions/broadcast_sticky=false
permissions/broadcast_wap_push=false
permissions/call_phone=false
permissions/call_privileged=false
permissions/camera=false
permissions/capture_audio_output=false
permissions/capture_secure_video_output=false
permissions/capture_video_output=false
permissions/change_component_enabled_state=false
permissions/change_configuration=false
permissions/change_network_state=false
permissions/change_wifi_multicast_state=false
permissions/change_wifi_state=false
permissions/clear_app_cache=false
permissions/clear_app_user_data=false
permissions/control_location_updates=false
permissions/delete_cache_files=false
permissions/delete_packages=false
permissions/device_power=false
permissions/diagnostic=false
permissions/disable_keyguard=false
permissions/dump=false
permissions/expand_status_bar=false
permissions/factory_test=false
permissions/flashlight=false
permissions/force_back=false
permissions/get_accounts=false
permissions/get_package_size=false
permissions/get_tasks=false
permissions/get_top_activity_info=false
permissions/global_search=false
permissions/hardware_test=false
permissions/inject_events=false
permissions/install_location_provider=false
permissions/install_packages=false
permissions/install_shortcut=false
permissions/internal_system_window=false
permissions/internet=false
permissions/kill_background_processes=false
permissions/location_hardware=false
permissions/manage_accounts=false
permissions/manage_app_tokens=false
permissions/manage_documents=false
permissions/manage_external_storage=false
permissions/master_clear=false
permissions/media_content_control=false
permissions/modify_audio_settings=false
permissions/modify_phone_state=false
permissions/mount_format_filesystems=false
permissions/mount_unmount_filesystems=false
permissions/nfc=false
permissions/persistent_activity=false
permissions/post_notifications=false
permissions/process_outgoing_calls=false
permissions/read_calendar=false
permissions/read_call_log=false
permissions/read_contacts=false
permissions/read_external_storage=false
permissions/read_frame_buffer=false
permissions/read_history_bookmarks=false
permissions/read_input_state=false
permissions/read_logs=false
permissions/read_phone_state=false
permissions/read_profile=false
permissions/read_sms=false
permissions/read_social_stream=false
permissions/read_sync_settings=false
permissions/read_sync_stats=false
permissions/read_user_dictionary=false
permissions/reboot=false
permissions/receive_boot_completed=false
permissions/receive_mms=false
permissions/receive_sms=false
permissions/receive_wap_push=false
permissions/record_audio=false
permissions/reorder_tasks=false
permissions/restart_packages=false
permissions/send_respond_via_message=false
permissions/send_sms=false
permissions/set_activity_watcher=false
permissions/set_alarm=false
permissions/set_always_finish=false
permissions/set_animation_scale=false
permissions/set_debug_app=false
permissions/set_orientation=false
permissions/set_pointer_speed=false
permissions/set_preferred_applications=false
permissions/set_process_limit=false
permissions/set_time=false
permissions/set_time_zone=false
permissions/set_wallpaper=false
permissions/set_wallpaper_hints=false
permissions/signal_persistent_processes=false
permissions/status_bar=false
permissions/subscribed_feeds_read=false
permissions/subscribed_feeds_write=false
permissions/system_alert_window=false
permissions/transmit_ir=false
permissions/uninstall_shortcut=false
permissions/update_device_stats=false
permissions/use_credentials=false
permissions/use_sip=false
permissions/vibrate=false
permissions/wake_lock=false
permissions/write_apn_settings=false
permissions/write_calendar=false
permissions/write_call_log=false
permissions/write_contacts=false
permissions/write_external_storage=false
permissions/write_gservices=false
permissions/write_history_bookmarks=false
permissions/write_profile=false
permissions/write_secure_settings=false
permissions/write_settings=false
permissions/write_sms=false
permissions/write_social_stream=false
permissions/write_sync_settings=false
permissions/write_user_dictionary=false

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Before After
Before After

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before After
Before After

View file

@ -627,10 +627,10 @@ tracks/0/loop_wrap = true
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
tracks/0/keys = { tracks/0/keys = {
"times": PoolRealArray( 0, 2, 3, 5, 6, 10, 11, 15, 16, 20, 21, 25, 26, 30, 31, 35, 36, 40, 41, 45, 46, 50, 51, 55, 56, 60, 61, 65, 66, 70, 71, 75, 76, 80, 81, 85, 86, 90, 91, 95 ), "times": PoolRealArray( 0, 2, 3, 5, 6, 10, 11, 15, 16, 20, 21, 25, 26, 30, 31, 35, 36, 40, 41, 45, 46, 50, 51, 55, 56, 60, 61, 65, 66, 70, 71, 75, 76, 80, 81, 85, 86, 90 ),
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ), "transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
"update": 0, "update": 0,
"values": [ Vector2( 0, 0 ), Vector2( 0, 0 ), Vector2( -256, 0 ), Vector2( -256, 0 ), Vector2( -512, 0 ), Vector2( -512, 0 ), Vector2( -768, 0 ), Vector2( -768, 0 ), Vector2( -1024, 0 ), Vector2( -1024, 0 ), Vector2( -1280, 0 ), Vector2( -1280, 0 ), Vector2( -1536, 0 ), Vector2( -1536, 0 ), Vector2( -1792, 0 ), Vector2( -1792, 0 ), Vector2( -2048, 0 ), Vector2( -2048, 0 ), Vector2( -2304, 0 ), Vector2( -2304, 0 ), Vector2( -2560, 0 ), Vector2( -2560, 0 ), Vector2( -2816, 0 ), Vector2( -2816, 0 ), Vector2( -3072, 0 ), Vector2( -3072, 0 ), Vector2( -3328, 0 ), Vector2( -3328, 0 ), Vector2( -3584, 0 ), Vector2( -3584, 0 ), Vector2( -3840, 0 ), Vector2( -3840, 0 ), Vector2( -4096, 0 ), Vector2( -4096, 0 ), Vector2( -4352, 0 ), Vector2( -4352, 0 ), Vector2( -4608, 0 ), Vector2( -4608, 0 ), Vector2( -4864, 0 ), Vector2( -4864, 0 ) ] "values": [ Vector2( 0, 0 ), Vector2( 0, 0 ), Vector2( -256, 0 ), Vector2( -256, 0 ), Vector2( -512, 0 ), Vector2( -512, 0 ), Vector2( -768, 0 ), Vector2( -768, 0 ), Vector2( -1024, 0 ), Vector2( -1024, 0 ), Vector2( -1280, 0 ), Vector2( -1280, 0 ), Vector2( -1536, 0 ), Vector2( -1536, 0 ), Vector2( -1792, 0 ), Vector2( -1792, 0 ), Vector2( -2048, 0 ), Vector2( -2048, 0 ), Vector2( -2304, 0 ), Vector2( -2304, 0 ), Vector2( -2560, 0 ), Vector2( -2560, 0 ), Vector2( -2816, 0 ), Vector2( -2816, 0 ), Vector2( -3072, 0 ), Vector2( -3072, 0 ), Vector2( -3328, 0 ), Vector2( -3328, 0 ), Vector2( -3584, 0 ), Vector2( -3584, 0 ), Vector2( -3840, 0 ), Vector2( -3840, 0 ), Vector2( -4096, 0 ), Vector2( -4096, 0 ), Vector2( -4352, 0 ), Vector2( -4352, 0 ), Vector2( -4608, 0 ), Vector2( -4608, 0 ) ]
} }
[node name="Credits" type="Node" groups=["map"]] [node name="Credits" type="Node" groups=["map"]]
@ -685,17 +685,17 @@ text = "Game Staff"
[node name="RollCall" type="Label" parent="Control/TeamSG"] [node name="RollCall" type="Label" parent="Control/TeamSG"]
modulate = Color( 0.426872, 0.218491, 0.433594, 1 ) modulate = Color( 0.426872, 0.218491, 0.433594, 1 )
margin_left = 2735.0 margin_left = 2479.0
margin_top = -15.0 margin_top = -15.0
margin_right = 2927.0 margin_right = 2671.0
margin_bottom = 1.0 margin_bottom = 1.0
theme = SubResource( 93 ) theme = SubResource( 93 )
text = "Roll Call!!!" text = "Roll Call!!!"
[node name="RollCall2" type="Label" parent="Control/TeamSG"] [node name="RollCall2" type="Label" parent="Control/TeamSG"]
margin_left = 2735.0 margin_left = 2479.0
margin_top = -17.0 margin_top = -17.0
margin_right = 2927.0 margin_right = 2671.0
margin_bottom = -1.0 margin_bottom = -1.0
theme = SubResource( 93 ) theme = SubResource( 93 )
text = "Roll Call!!!" text = "Roll Call!!!"
@ -804,23 +804,12 @@ Character design help"
align = 1 align = 1
valign = 1 valign = 1
[node name="GasStationCoffee" type="Label" parent="Control"] [node name="Wolfboy" type="Label" parent="Control"]
material = ExtResource( 4 ) material = ExtResource( 4 )
margin_left = 1792.0 margin_left = 1792.0
margin_right = 2048.0 margin_right = 2048.0
margin_bottom = 192.0 margin_bottom = 192.0
theme = ExtResource( 6 ) theme = ExtResource( 6 )
text = "-Amber \"fami\" coffee-
voice of \"fami\""
align = 1
valign = 1
[node name="Wolfboy" type="Label" parent="Control"]
material = ExtResource( 4 )
margin_left = 2048.0
margin_right = 2304.0
margin_bottom = 192.0
theme = ExtResource( 6 )
text = "-WolfBoy \"SG-2083\"- text = "-WolfBoy \"SG-2083\"-
\"infiltration\" border" \"infiltration\" border"
align = 1 align = 1
@ -828,8 +817,8 @@ valign = 1
[node name="Bodhi" type="Label" parent="Control"] [node name="Bodhi" type="Label" parent="Control"]
material = ExtResource( 4 ) material = ExtResource( 4 )
margin_left = 2304.0 margin_left = 2048.0
margin_right = 2560.0 margin_right = 2304.0
margin_bottom = 192.0 margin_bottom = 192.0
theme = ExtResource( 6 ) theme = ExtResource( 6 )
text = "-Bodhi \"eviscerator\" darner- text = "-Bodhi \"eviscerator\" darner-
@ -839,8 +828,8 @@ valign = 1
[node name="Playtesters" type="Label" parent="Control"] [node name="Playtesters" type="Label" parent="Control"]
material = ExtResource( 4 ) material = ExtResource( 4 )
margin_left = 2560.0 margin_left = 2304.0
margin_right = 2816.0 margin_right = 2560.0
margin_bottom = 192.0 margin_bottom = 192.0
theme = ExtResource( 6 ) theme = ExtResource( 6 )
text = "-Our playtesters- text = "-Our playtesters-
@ -857,8 +846,8 @@ valign = 1
[node name="WonderingNow" type="Label" parent="Control"] [node name="WonderingNow" type="Label" parent="Control"]
material = ExtResource( 4 ) material = ExtResource( 4 )
margin_left = 2816.0 margin_left = 2560.0
margin_right = 3072.0 margin_right = 2816.0
margin_bottom = 192.0 margin_bottom = 192.0
theme = ExtResource( 6 ) theme = ExtResource( 6 )
text = "-You're wondering now- text = "-You're wondering now-
@ -875,8 +864,8 @@ valign = 1
[node name="SpecialThanks" type="Label" parent="Control"] [node name="SpecialThanks" type="Label" parent="Control"]
material = ExtResource( 4 ) material = ExtResource( 4 )
margin_left = 3072.0 margin_left = 2816.0
margin_right = 3328.0 margin_right = 3072.0
margin_bottom = 192.0 margin_bottom = 192.0
theme = ExtResource( 6 ) theme = ExtResource( 6 )
text = "-Special thanks- text = "-Special thanks-
@ -890,9 +879,9 @@ valign = 1
[node name="Playername" type="Label" parent="Control"] [node name="Playername" type="Label" parent="Control"]
material = ExtResource( 4 ) material = ExtResource( 4 )
margin_left = 3072.0 margin_left = 2816.0
margin_top = 123.0 margin_top = 123.0
margin_right = 3328.0 margin_right = 3072.0
margin_bottom = 133.0 margin_bottom = 133.0
theme = ExtResource( 6 ) theme = ExtResource( 6 )
text = "Ty Tiramisu" text = "Ty Tiramisu"
@ -900,7 +889,7 @@ align = 1
autowrap = true autowrap = true
[node name="RollCall1" type="Node2D" parent="Control"] [node name="RollCall1" type="Node2D" parent="Control"]
position = Vector2( 3584, 0 ) position = Vector2( 3328, 0 )
[node name="SG" type="AnimatedSprite" parent="Control/RollCall1"] [node name="SG" type="AnimatedSprite" parent="Control/RollCall1"]
material = SubResource( 7 ) material = SubResource( 7 )
@ -1001,7 +990,7 @@ text = "Vile Villians"
align = 1 align = 1
[node name="RollCall2" type="Node2D" parent="Control"] [node name="RollCall2" type="Node2D" parent="Control"]
position = Vector2( 1024, 0 ) position = Vector2( 768, 0 )
[node name="Eviscerator" type="AnimatedSprite" parent="Control/RollCall2"] [node name="Eviscerator" type="AnimatedSprite" parent="Control/RollCall2"]
material = SubResource( 13 ) material = SubResource( 13 )
@ -1141,7 +1130,7 @@ Poachers"
align = 1 align = 1
[node name="RollCall3" type="Node2D" parent="Control"] [node name="RollCall3" type="Node2D" parent="Control"]
position = Vector2( 4096, 0 ) position = Vector2( 3840, 0 )
[node name="Shedge" type="AnimatedSprite" parent="Control/RollCall3"] [node name="Shedge" type="AnimatedSprite" parent="Control/RollCall3"]
position = Vector2( 60, 25 ) position = Vector2( 60, 25 )
@ -1350,10 +1339,11 @@ experiments"
align = 1 align = 1
[node name="RollCall4" type="Node2D" parent="Control"] [node name="RollCall4" type="Node2D" parent="Control"]
position = Vector2( 1024, 0 ) position = Vector2( 768, 0 )
[node name="2600" parent="Control/RollCall4" instance=ExtResource( 37 )] [node name="2600" parent="Control/RollCall4" instance=ExtResource( 37 )]
position = Vector2( 3464, -8 ) position = Vector2( 3464, -8 )
make_explosions = true
[node name="ShootTimer" parent="Control/RollCall4/2600" index="2"] [node name="ShootTimer" parent="Control/RollCall4/2600" index="2"]
autostart = false autostart = false
@ -1449,7 +1439,6 @@ text = "Tin"
align = 1 align = 1
[node name="RollCall6" type="Node2D" parent="Control"] [node name="RollCall6" type="Node2D" parent="Control"]
position = Vector2( 256, 0 )
[node name="Famira" parent="Control/RollCall6" instance=ExtResource( 47 )] [node name="Famira" parent="Control/RollCall6" instance=ExtResource( 47 )]
position = Vector2( 4502, 184 ) position = Vector2( 4502, 184 )
@ -1478,7 +1467,7 @@ text = "Super Famira"
align = 1 align = 1
[node name="RollCall5" type="Node2D" parent="Control"] [node name="RollCall5" type="Node2D" parent="Control"]
position = Vector2( 4864, 0 ) position = Vector2( 4608, 0 )
[node name="Haze" type="Sprite" parent="Control/RollCall5"] [node name="Haze" type="Sprite" parent="Control/RollCall5"]
position = Vector2( 80, 136 ) position = Vector2( 80, 136 )

View file

@ -35,6 +35,10 @@ export var double_jump_force: float = 122.0
export var underwater = false export var underwater = false
## old player controls ## old player controls
export var beta_gameplay = false export var beta_gameplay = false
## upward effect of air dash
export var dash_ascension: float = 50.0
## side momentum of dash
export var dash_speed: float = 80.0
# velocity # velocity
var velocity: Vector2 = Vector2.ZERO var velocity: Vector2 = Vector2.ZERO
@ -70,6 +74,7 @@ onready var edge_detector = $Graphics/EdgeDetector
onready var body_shape: CollisionShape2D = $"%BodyShape" onready var body_shape: CollisionShape2D = $"%BodyShape"
onready var cfox: Sprite = $"%CFox" onready var cfox: Sprite = $"%CFox"
onready var hitbox: Area2D = $"%Hitbox" onready var hitbox: Area2D = $"%Hitbox"
onready var shoot_hitbox: Area2D = $"%ShootHitbox"
# OVERRIDES # # OVERRIDES #
func _ready() -> void: func _ready() -> void:
@ -602,3 +607,29 @@ func _on_ShieldCooldown_timeout():
func _on_BetaFalling_state_entered() -> void: func _on_BetaFalling_state_entered() -> void:
velocity.x = 0.0 velocity.x = 0.0
func _on_ShootHitbox_area_entered(area: Area2D) -> void:
if area.is_in_group("enemy_hitbox"):
area.get_parent().die()
state_chart.send_event("bounce")
func _on_AfterDashFall_state_entered() -> void:
animation_player.play("double_jump")
func _on_AirDash_state_entered() -> void:
velocity.x = dash_speed * sign(graphics.scale.x)
velocity.y = -dash_ascension
shoot_hitbox.monitoring = true
animation_player.play("shoot_airborne")
func _on_AirDash_state_exited() -> void:
shoot_hitbox.monitoring = false
func _process_airdash(delta) -> void:
if abs(velocity.x) < 4.0:
state_chart.send_event("grounded")

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=52 format=2] [gd_scene load_steps=53 format=2]
[ext_resource path="res://objects/player/player.gd" type="Script" id=1] [ext_resource path="res://objects/player/player.gd" type="Script" id=1]
[ext_resource path="res://graphics/player/sg_zap.png" type="Texture" id=2] [ext_resource path="res://graphics/player/sg_zap.png" type="Texture" id=2]
@ -81,6 +81,9 @@ shader_param/border_color = Color( 0, 0, 0, 1 )
shader_param/border_corners = true shader_param/border_corners = true
shader_param/palette = ExtResource( 12 ) shader_param/palette = ExtResource( 12 )
[sub_resource type="RectangleShape2D" id=35]
extents = Vector2( 8.5, 6.5 )
[sub_resource type="RectangleShape2D" id=2] [sub_resource type="RectangleShape2D" id=2]
extents = Vector2( 2.5, 5 ) extents = Vector2( 2.5, 5 )
@ -649,7 +652,7 @@ tracks/5/keys = {
[sub_resource type="Animation" id=11] [sub_resource type="Animation" id=11]
resource_name = "shoot_airborne" resource_name = "shoot_airborne"
length = 0.001 length = 0.2
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/path = NodePath("Graphics/Sprite:frame") tracks/0/path = NodePath("Graphics/Sprite:frame")
tracks/0/interp = 1 tracks/0/interp = 1
@ -657,10 +660,10 @@ tracks/0/loop_wrap = true
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
tracks/0/keys = { tracks/0/keys = {
"times": PoolRealArray( 0 ), "times": PoolRealArray( 0, 0.1 ),
"transitions": PoolRealArray( 1 ), "transitions": PoolRealArray( 1, 1 ),
"update": 1, "update": 1,
"values": [ 48 ] "values": [ 48, 49 ]
} }
tracks/1/type = "value" tracks/1/type = "value"
tracks/1/path = NodePath("Graphics/Sprite:rotation_degrees") tracks/1/path = NodePath("Graphics/Sprite:rotation_degrees")
@ -882,6 +885,8 @@ walk_acceleration_frames = 4.0
gravity = 700.0 gravity = 700.0
jump_force = 140.0 jump_force = 140.0
double_jump_force = 124.0 double_jump_force = 124.0
dash_ascension = 124.0
dash_speed = 124.0
[node name="Graphics" type="Node2D" parent="."] [node name="Graphics" type="Node2D" parent="."]
@ -998,6 +1003,15 @@ material = SubResource( 24 )
position = Vector2( 0, -10 ) position = Vector2( 0, -10 )
texture = ExtResource( 4 ) texture = ExtResource( 4 )
[node name="ShootHitbox" type="Area2D" parent="Graphics" groups=["arrow"]]
unique_name_in_owner = true
position = Vector2( 9, -6 )
collision_mask = 5
[node name="CollisionShape2D" type="CollisionShape2D" parent="Graphics/ShootHitbox"]
position = Vector2( -8.5, 0.5 )
shape = SubResource( 35 )
[node name="BodyShape" type="CollisionShape2D" parent="."] [node name="BodyShape" type="CollisionShape2D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
position = Vector2( 0.5, -5 ) position = Vector2( 0.5, -5 )
@ -1132,9 +1146,8 @@ initial_state = NodePath("Still")
[node name="On Shoot" type="Node" parent="StateChart/Root/Movement/Grounded/CanWalk"] [node name="On Shoot" type="Node" parent="StateChart/Root/Movement/Grounded/CanWalk"]
script = ExtResource( 10 ) script = ExtResource( 10 )
to = NodePath("../../Shooting") to = NodePath("../../../Airborne/AirDash")
event = "shoot" event = "shoot"
guard_expression = "can_shoot"
[node name="On PushStart" type="Node" parent="StateChart/Root/Movement/Grounded/CanWalk"] [node name="On PushStart" type="Node" parent="StateChart/Root/Movement/Grounded/CanWalk"]
script = ExtResource( 10 ) script = ExtResource( 10 )
@ -1212,9 +1225,8 @@ event = "duck_released"
[node name="On Shoot" type="Node" parent="StateChart/Root/Movement/Grounded/Ducking"] [node name="On Shoot" type="Node" parent="StateChart/Root/Movement/Grounded/Ducking"]
script = ExtResource( 10 ) script = ExtResource( 10 )
to = NodePath("../../Shooting") to = NodePath("../../../Airborne/AirDash")
event = "shoot" event = "shoot"
guard_expression = "can_shoot"
[node name="On Jump" type="Node" parent="StateChart/Root/Movement/Grounded/Ducking"] [node name="On Jump" type="Node" parent="StateChart/Root/Movement/Grounded/Ducking"]
script = ExtResource( 10 ) script = ExtResource( 10 )
@ -1265,9 +1277,8 @@ event = "grounded"
[node name="On Shoot" type="Node" parent="StateChart/Root/Movement/Airborne"] [node name="On Shoot" type="Node" parent="StateChart/Root/Movement/Airborne"]
script = ExtResource( 10 ) script = ExtResource( 10 )
to = NodePath("../AirShooting") to = NodePath("../AirDash")
event = "shoot" event = "shoot"
guard_expression = "can_shoot"
[node name="On LadderTouched" type="Node" parent="StateChart/Root/Movement/Airborne"] [node name="On LadderTouched" type="Node" parent="StateChart/Root/Movement/Airborne"]
script = ExtResource( 10 ) script = ExtResource( 10 )
@ -1345,9 +1356,17 @@ script = ExtResource( 11 )
[node name="DoubleJump" type="Node" parent="StateChart/Root/Movement/Airborne"] [node name="DoubleJump" type="Node" parent="StateChart/Root/Movement/Airborne"]
script = ExtResource( 11 ) script = ExtResource( 11 )
[node name="AirShooting" type="Node" parent="StateChart/Root/Movement/Airborne"] [node name="AfterDashFall" type="Node" parent="StateChart/Root/Movement/Airborne"]
script = ExtResource( 11 ) script = ExtResource( 11 )
[node name="AirDash" type="Node" parent="StateChart/Root/Movement/Airborne"]
script = ExtResource( 11 )
[node name="On Bounce" type="Node" parent="StateChart/Root/Movement/Airborne/AirDash"]
script = ExtResource( 10 )
to = NodePath("../../Jump/NormalJump")
event = "bounce"
[node name="Climbing" type="Node" parent="StateChart/Root/Movement"] [node name="Climbing" type="Node" parent="StateChart/Root/Movement"]
script = ExtResource( 11 ) script = ExtResource( 11 )
__meta__ = { __meta__ = {
@ -1539,6 +1558,7 @@ wait_time = 2.0
one_shot = true one_shot = true
[connection signal="tree_exited" from="." to="." method="_on_Player_tree_exited"] [connection signal="tree_exited" from="." to="." method="_on_Player_tree_exited"]
[connection signal="area_entered" from="Graphics/ShootHitbox" to="." method="_on_ShootHitbox_area_entered"]
[connection signal="body_entered" from="Hitbox" to="." method="_on_Hitbox_body_entered"] [connection signal="body_entered" from="Hitbox" to="." method="_on_Hitbox_body_entered"]
[connection signal="state_physics_processing" from="StateChart/Root/Movement" to="." method="_process_movement"] [connection signal="state_physics_processing" from="StateChart/Root/Movement" to="." method="_process_movement"]
[connection signal="state_entered" from="StateChart/Root/Movement/Grounded" to="." method="_on_Grounded_state_entered"] [connection signal="state_entered" from="StateChart/Root/Movement/Grounded" to="." method="_on_Grounded_state_entered"]
@ -1555,8 +1575,8 @@ one_shot = true
[connection signal="state_entered" from="StateChart/Root/Movement/Grounded/Shooting" to="." method="_on_Shooting_state_entered"] [connection signal="state_entered" from="StateChart/Root/Movement/Grounded/Shooting" to="." method="_on_Shooting_state_entered"]
[connection signal="state_entered" from="StateChart/Root/Movement/Grounded/Pushing" to="." method="_on_Pushing_state_entered"] [connection signal="state_entered" from="StateChart/Root/Movement/Grounded/Pushing" to="." method="_on_Pushing_state_entered"]
[connection signal="state_physics_processing" from="StateChart/Root/Movement/Grounded/Pushing" to="." method="_process_pushing"] [connection signal="state_physics_processing" from="StateChart/Root/Movement/Grounded/Pushing" to="." method="_process_pushing"]
[connection signal="state_entered" from="StateChart/Root/Movement/Airborne" to="." method="reset_fall_speed"]
[connection signal="state_entered" from="StateChart/Root/Movement/Airborne" to="." method="_on_Airborne_state_entered"] [connection signal="state_entered" from="StateChart/Root/Movement/Airborne" to="." method="_on_Airborne_state_entered"]
[connection signal="state_entered" from="StateChart/Root/Movement/Airborne" to="." method="reset_fall_speed"]
[connection signal="state_physics_processing" from="StateChart/Root/Movement/Airborne" to="." method="_process_gravity"] [connection signal="state_physics_processing" from="StateChart/Root/Movement/Airborne" to="." method="_process_gravity"]
[connection signal="state_physics_processing" from="StateChart/Root/Movement/Airborne/Jump" to="." method="_process_horizontal_movement"] [connection signal="state_physics_processing" from="StateChart/Root/Movement/Airborne/Jump" to="." method="_process_horizontal_movement"]
[connection signal="state_physics_processing" from="StateChart/Root/Movement/Airborne/Jump" to="." method="_process_jump"] [connection signal="state_physics_processing" from="StateChart/Root/Movement/Airborne/Jump" to="." method="_process_jump"]
@ -1570,11 +1590,14 @@ one_shot = true
[connection signal="state_entered" from="StateChart/Root/Movement/Airborne/Falling/BetaFalling" to="." method="_on_NormalFalling_state_entered"] [connection signal="state_entered" from="StateChart/Root/Movement/Airborne/Falling/BetaFalling" to="." method="_on_NormalFalling_state_entered"]
[connection signal="state_entered" from="StateChart/Root/Movement/Airborne/Falling/BetaFalling" to="." method="_on_BetaFalling_state_entered"] [connection signal="state_entered" from="StateChart/Root/Movement/Airborne/Falling/BetaFalling" to="." method="_on_BetaFalling_state_entered"]
[connection signal="state_entered" from="StateChart/Root/Movement/Airborne/Falling/ScaredFalling" to="." method="_on_ScaredFalling_state_entered"] [connection signal="state_entered" from="StateChart/Root/Movement/Airborne/Falling/ScaredFalling" to="." method="_on_ScaredFalling_state_entered"]
[connection signal="state_entered" from="StateChart/Root/Movement/Airborne/DoubleJump" to="." method="_on_DoubleJump_state_entered"]
[connection signal="state_entered" from="StateChart/Root/Movement/Airborne/DoubleJump" to="." method="reset_fall_speed"] [connection signal="state_entered" from="StateChart/Root/Movement/Airborne/DoubleJump" to="." method="reset_fall_speed"]
[connection signal="state_entered" from="StateChart/Root/Movement/Airborne/DoubleJump" to="." method="_on_DoubleJump_state_entered"]
[connection signal="state_physics_processing" from="StateChart/Root/Movement/Airborne/DoubleJump" to="." method="_process_horizontal_movement"] [connection signal="state_physics_processing" from="StateChart/Root/Movement/Airborne/DoubleJump" to="." method="_process_horizontal_movement"]
[connection signal="state_entered" from="StateChart/Root/Movement/Airborne/AirShooting" to="." method="_on_AirShooting_state_entered"] [connection signal="state_entered" from="StateChart/Root/Movement/Airborne/AfterDashFall" to="." method="_on_AfterDashFall_state_entered"]
[connection signal="state_physics_processing" from="StateChart/Root/Movement/Airborne/AirShooting" to="." method="_process_horizontal_movement"] [connection signal="state_physics_processing" from="StateChart/Root/Movement/Airborne/AfterDashFall" to="." method="_process_horizontal_movement"]
[connection signal="state_entered" from="StateChart/Root/Movement/Airborne/AirDash" to="." method="_on_AirDash_state_entered"]
[connection signal="state_exited" from="StateChart/Root/Movement/Airborne/AirDash" to="." method="_on_AirDash_state_exited"]
[connection signal="state_physics_processing" from="StateChart/Root/Movement/Airborne/AirDash" to="." method="_process_airdash"]
[connection signal="state_entered" from="StateChart/Root/Movement/Climbing" to="." method="_on_Climbing_state_entered"] [connection signal="state_entered" from="StateChart/Root/Movement/Climbing" to="." method="_on_Climbing_state_entered"]
[connection signal="state_exited" from="StateChart/Root/Movement/Climbing" to="." method="_on_Climbing_state_exited"] [connection signal="state_exited" from="StateChart/Root/Movement/Climbing" to="." method="_on_Climbing_state_exited"]
[connection signal="state_physics_processing" from="StateChart/Root/Movement/Climbing" to="." method="_process_climbing"] [connection signal="state_physics_processing" from="StateChart/Root/Movement/Climbing" to="." method="_process_climbing"]