Merge remote-tracking branch 'origin/main' into art

This commit is contained in:
pytunia 2024-01-27 15:43:22 +01:00
commit 2392689db9
42 changed files with 1241 additions and 78 deletions

View File

@ -28,6 +28,10 @@ window/size/window_height_override=1080
window/stretch/mode="canvas_items" window/stretch/mode="canvas_items"
window/stretch/aspect="keep_height" window/stretch/aspect="keep_height"
[dotnet]
project/assembly_name="Tough Crowd"
[gui] [gui]
theme/custom="res://ui/theme.tres" theme/custom="res://ui/theme.tres"
@ -86,6 +90,21 @@ pause={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"echo":false,"script":null) "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"echo":false,"script":null)
] ]
} }
joke_button_1={
"deadzone": 0.5,
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":false,"script":null)
]
}
joke_button_2={
"deadzone": 0.5,
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":false,"script":null)
]
}
joke_button_3={
"deadzone": 0.5,
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":false,"script":null)
]
}
[internationalization] [internationalization]

View File

@ -0,0 +1,31 @@
extends Node2D
signal button_pressed(joke)
@export_enum("joke_button_1", "joke_button_2", "joke_button_3") var action: String
@export var sprite: Sprite2D
@export var type_sprites: Array[Texture2D]
var current_joke: Joke
func _map_action_to_joke():
match action:
"joke_button_1":
return Joke.new(Joke.JokeType.Joke1)
"joke_button_2":
return Joke.new(Joke.JokeType.Joke2)
"joke_button_3":
return Joke.new(Joke.JokeType.Joke3)
func _ready():
set_current_joke(_map_action_to_joke())
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
if Input.is_action_just_pressed(action):
button_pressed.emit(current_joke)
func set_current_joke(joke: Joke):
current_joke = joke
sprite.texture = type_sprites[joke.type]

View File

@ -3,6 +3,7 @@ extends Node2D
@export var move_speed = 100 @export var move_speed = 100
@export var boundary: Boundary @export var boundary: Boundary
@export var tim_sprite : Sprite2D @export var tim_sprite : Sprite2D
@export var transmitter_area: Area2D
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
@ -21,3 +22,12 @@ func _process(delta):
global_position += Vector2.LEFT * delta * move_speed global_position += Vector2.LEFT * delta * move_speed
if global_position.x < boundary.get_most_left_position(): if global_position.x < boundary.get_most_left_position():
global_position = Vector2(boundary.get_most_left_position(), global_position.y) global_position = Vector2(boundary.get_most_left_position(), global_position.y)
func _on_joke_button_button_pressed(joke):
for body in transmitter_area.get_overlapping_bodies():
var person = body.find_parent("Person")
if not (person is AudienceMember):
continue
person.on_joke(joke)

View File

@ -0,0 +1,17 @@
class_name AudienceProfile
extends Node2D
@export var happy_threshold : float
@export var angry_threshold : float
@export var lashout_threshold : float
@export var happiness_decay : float
@export var lashout_decay : float
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
pass

View File

@ -1,26 +1,79 @@
class_name AudienceMember
extends Sprite2D extends Sprite2D
@export var mood : float = 0.
@export var head : Node2D @export var head : Node2D
@export var face : Node2D @export var face : Node2D
@export var profile : AudienceProfile
@export_enum("angry", "neutral", "happy", "laugh") var expression
var known_faces : Array[String] = [ var known_faces : Array[String] = [
"res://scenes/faces/face_curly.tscn", "res://scenes/faces/face_curly.tscn",
"res://scenes/faces/face_jenny.tscn",
"res://scenes/faces/face_moritz.tscn", "res://scenes/faces/face_moritz.tscn",
"res://scenes/faces/face_ronald.tscn", "res://scenes/faces/face_ronald.tscn",
# Add more scenes as needed # Add more scenes as needed
] ]
const laughter_duration : float = 2. # seconds
const laughter_bobs : int = 4
var laughter_left : float = 0.
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
pass # Replace with function body. laughter_left = 0.
mood = randf_range(profile.lashout_threshold, profile.happy_threshold)
update_expression()
if face == null: if face == null:
set_random_face() set_random_face()
# Called every frame. 'delta' is the elapsed time since the previous frame. # Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta): func _process(delta):
pass if laughter_left >= 0:
laughter_left -= delta
if mood > profile.happy_threshold * .5:
mood -= profile.happiness_decay * delta
elif mood < profile.lashout_threshold * .9:
mood += profile.lashout_decay * delta
if Input.is_key_pressed(KEY_SPACE) and OS.is_debug_build():
update_mood(1.)
update_expression()
func hear_joke():
var change = randf_range(-3., 3.)
update_mood(change)
func update_mood(change: float):
if mood > profile.happy_threshold and change > 0 and laughter_left <= 0:
laughter_left = laughter_duration
# bob head
var tween = get_tree().create_tween().bind_node(self).set_loops(laughter_bobs)
var bob_duration = laughter_duration / laughter_bobs / 2
tween.tween_property(face, "position", Vector2.UP * 20, bob_duration).set_delay(randf_range(0, bob_duration))
tween.tween_property(face, "position", Vector2.ZERO, bob_duration)
mood += change
func update_expression():
if laughter_left > 0:
expression = "laugh"
elif mood > profile.happy_threshold:
expression = "happy"
elif mood < profile.angry_threshold:
expression = "angry"
else:
expression = "neutral"
func set_random_face(): func set_random_face():
var face_res = load(known_faces[randi() % known_faces.size()]) var face_res = load(known_faces[randi() % known_faces.size()])
face = face_res.instantiate() face = face_res.instantiate()
head.add_child(face) head.add_child(face)
func on_joke(joke: Joke):
pass

View File

@ -1,15 +1,33 @@
[gd_scene load_steps=3 format=3 uid="uid://cl4fax7fbh2g7"] [gd_scene load_steps=5 format=3 uid="uid://cl4fax7fbh2g7"]
[ext_resource type="Script" path="res://scenes/crowd/person.gd" id="1_mx0i8"] [ext_resource type="Script" path="res://scenes/crowd/person.gd" id="1_mx0i8"]
[ext_resource type="Script" path="res://scenes/crowd/audience_profile.gd" id="2_bsodr"]
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_kbo53"] [sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_kbo53"]
size = Vector2(20, 30) size = Vector2(20, 30)
[node name="Person" type="Sprite2D" node_paths=PackedStringArray("head")] [sub_resource type="RectangleShape2D" id="RectangleShape2D_5rd5b"]
[node name="Person" type="Sprite2D" node_paths=PackedStringArray("head", "profile")]
texture = SubResource("PlaceholderTexture2D_kbo53") texture = SubResource("PlaceholderTexture2D_kbo53")
script = ExtResource("1_mx0i8") script = ExtResource("1_mx0i8")
head = NodePath("Head") head = NodePath("Head")
profile = NodePath("Profile")
expression = 1
[node name="Head" type="Node2D" parent="."] [node name="Head" type="Node2D" parent="."]
position = Vector2(0, -16) position = Vector2(0, -16)
scale = Vector2(0.3, 0.3) scale = Vector2(0.3, 0.3)
[node name="StaticBody2D" type="StaticBody2D" parent="."]
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
shape = SubResource("RectangleShape2D_5rd5b")
[node name="Profile" type="Node2D" parent="."]
script = ExtResource("2_bsodr")
happy_threshold = 3.0
angry_threshold = -3.0
lashout_threshold = -10.0
happiness_decay = 1.0
lashout_decay = 10.0

View File

@ -1,38 +1,40 @@
extends Node2D extends Node2D
@export var mood : int = 0 @export_enum("angry", "neutral", "happy", "laugh") var expression
var last_mood : int = 0
@export var sprite_happy : Sprite2D var person_controller : AudienceMember
@export var sprite_neutral : Sprite2D var expression_map = {}
@export var sprite_unhappy : Sprite2D
const tween_speed : float = 1.5 const expression_change_speed : float = 1.5
const color_transparent : Color = Color(1, 1, 1, 0) const color_transparent : Color = Color(1, 1, 1, 0)
const color_visible : Color = Color(1, 1, 1, 1) const color_visible : Color = Color(1, 1, 1, 1)
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
mood = 0 expression_map = {
last_mood = 0 "angry" : $Unhappy,
sprite_happy.modulate.a = 0 "neutral" : $Neutral,
sprite_neutral.modulate.a = 1 "happy" : $Happy,
sprite_unhappy.modulate.a = 0 "laugh" : $Laugh,
}
# Called every frame. 'delta' is the elapsed time since the previous frame. person_controller = get_node("../../../Person")
expression = person_controller.expression
reset_face()
func _process(_delta): func _process(_delta):
if mood != last_mood: if expression != person_controller.expression:
var tween = get_tree().create_tween().bind_node(self).set_parallel().set_trans(Tween.TRANS_LINEAR) update_face(person_controller.expression)
if mood < 0: expression = person_controller.expression
tween.tween_property(sprite_unhappy, "modulate", color_visible, tween_speed)
tween.tween_property(sprite_neutral, "modulate", color_transparent, tween_speed) func reset_face():
tween.tween_property(sprite_happy, "modulate", color_transparent, tween_speed) for expr in expression_map:
elif mood > 0: expression_map[expr].modulate = color_transparent.lerp(color_visible, expr == expression)
tween.tween_property(sprite_unhappy, "modulate", color_transparent, tween_speed)
tween.tween_property(sprite_neutral, "modulate", color_transparent, tween_speed) func update_face(new_expression: String):
tween.tween_property(sprite_happy, "modulate", color_visible, tween_speed) var trans_speed = expression_change_speed
else: if new_expression == "laugh":
tween.tween_property(sprite_unhappy, "modulate", color_transparent, tween_speed) trans_speed = 0
tween.tween_property(sprite_neutral, "modulate", color_visible, tween_speed) #var trans_speed = lerpf(0, expression_change_speed, new_expression != "laugh")
tween.tween_property(sprite_happy, "modulate", color_transparent, tween_speed) var tween = get_tree().create_tween().bind_node(self).set_parallel().set_trans(Tween.TRANS_LINEAR)
last_mood = mood tween.tween_property(expression_map[expression], "modulate", color_transparent, trans_speed)
tween.tween_property(expression_map[new_expression], "modulate", color_visible, trans_speed)

View File

@ -1,20 +1,22 @@
[gd_scene load_steps=5 format=3 uid="uid://bvc6fbd5cgb0i"] [gd_scene load_steps=6 format=3 uid="uid://bvc6fbd5cgb0i"]
[ext_resource type="Texture2D" uid="uid://f74hle6gaeie" path="res://sprites/faces/curly_happy.png" id="1_7pet0"] [ext_resource type="Texture2D" uid="uid://f74hle6gaeie" path="res://sprites/faces/curly_happy.png" id="1_7pet0"]
[ext_resource type="Script" path="res://scenes/faces/face.gd" id="1_vcbhp"] [ext_resource type="Script" path="res://scenes/faces/face.gd" id="1_vcbhp"]
[ext_resource type="Texture2D" uid="uid://oeljmd05bkvj" path="res://sprites/faces/curly_neutral.png" id="2_54uqk"] [ext_resource type="Texture2D" uid="uid://oeljmd05bkvj" path="res://sprites/faces/curly_neutral.png" id="2_54uqk"]
[ext_resource type="Texture2D" uid="uid://5iygla17stpm" path="res://sprites/faces/curly_not_amused.png" id="3_2t0h4"] [ext_resource type="Texture2D" uid="uid://5iygla17stpm" path="res://sprites/faces/curly_not_amused.png" id="3_2t0h4"]
[ext_resource type="Texture2D" uid="uid://lb4freja2bhq" path="res://sprites/faces/curly_laughing.svg" id="3_3ejvg"]
[node name="FaceCurly" type="Node2D" node_paths=PackedStringArray("sprite_happy", "sprite_neutral", "sprite_unhappy")] [node name="FaceCurly" type="Node2D"]
script = ExtResource("1_vcbhp") script = ExtResource("1_vcbhp")
sprite_happy = NodePath("Happy")
sprite_neutral = NodePath("Neutral")
sprite_unhappy = NodePath("Unhappy")
[node name="Happy" type="Sprite2D" parent="."] [node name="Happy" type="Sprite2D" parent="."]
modulate = Color(1, 1, 1, 0) modulate = Color(1, 1, 1, 0)
texture = ExtResource("1_7pet0") texture = ExtResource("1_7pet0")
[node name="Laugh" type="Sprite2D" parent="."]
modulate = Color(1, 1, 1, 0)
texture = ExtResource("3_3ejvg")
[node name="Neutral" type="Sprite2D" parent="."] [node name="Neutral" type="Sprite2D" parent="."]
texture = ExtResource("2_54uqk") texture = ExtResource("2_54uqk")

View File

@ -0,0 +1,25 @@
[gd_scene load_steps=6 format=3 uid="uid://d2ssc4pyu363v"]
[ext_resource type="Script" path="res://scenes/faces/face.gd" id="1_l3mwj"]
[ext_resource type="Texture2D" uid="uid://dfo0nujuqaeek" path="res://sprites/faces/jenny_happy.svg" id="2_c2flt"]
[ext_resource type="Texture2D" uid="uid://ckwbh5swm710" path="res://sprites/faces/jenny_laughing.svg" id="3_oyx01"]
[ext_resource type="Texture2D" uid="uid://bw7i3n2re3ra7" path="res://sprites/faces/jenny_neutral.svg" id="4_cqtfu"]
[ext_resource type="Texture2D" uid="uid://djixausmja6lq" path="res://sprites/faces/jenny_not_amused.svg" id="5_fvvlp"]
[node name="FaceJenny" type="Node2D"]
script = ExtResource("1_l3mwj")
[node name="Happy" type="Sprite2D" parent="."]
modulate = Color(1, 1, 1, 0)
texture = ExtResource("2_c2flt")
[node name="Laugh" type="Sprite2D" parent="."]
modulate = Color(1, 1, 1, 0)
texture = ExtResource("3_oyx01")
[node name="Neutral" type="Sprite2D" parent="."]
texture = ExtResource("4_cqtfu")
[node name="Unhappy" type="Sprite2D" parent="."]
modulate = Color(1, 1, 1, 0)
texture = ExtResource("5_fvvlp")

View File

@ -1,20 +1,22 @@
[gd_scene load_steps=5 format=3 uid="uid://bsiogxvikwl6o"] [gd_scene load_steps=6 format=3 uid="uid://bsiogxvikwl6o"]
[ext_resource type="Script" path="res://scenes/faces/face.gd" id="1_abnxg"] [ext_resource type="Script" path="res://scenes/faces/face.gd" id="1_abnxg"]
[ext_resource type="Texture2D" uid="uid://vvpc4mnl4nj4" path="res://sprites/faces/moritz_happy.svg" id="2_0u1g1"] [ext_resource type="Texture2D" uid="uid://vvpc4mnl4nj4" path="res://sprites/faces/moritz_happy.svg" id="2_0u1g1"]
[ext_resource type="Texture2D" uid="uid://b0ppuni7v257g" path="res://sprites/faces/moritz_neutral.svg" id="3_s33ae"] [ext_resource type="Texture2D" uid="uid://b0ppuni7v257g" path="res://sprites/faces/moritz_neutral.svg" id="3_s33ae"]
[ext_resource type="Texture2D" uid="uid://brba4d1tnllb3" path="res://sprites/faces/moritz_laughing.svg" id="3_yv3if"]
[ext_resource type="Texture2D" uid="uid://7tn6ynr07tns" path="res://sprites/faces/moritz_not_amused.svg" id="4_0rss5"] [ext_resource type="Texture2D" uid="uid://7tn6ynr07tns" path="res://sprites/faces/moritz_not_amused.svg" id="4_0rss5"]
[node name="FaceMoritz" type="Node2D" node_paths=PackedStringArray("sprite_happy", "sprite_neutral", "sprite_unhappy")] [node name="FaceMoritz" type="Node2D"]
script = ExtResource("1_abnxg") script = ExtResource("1_abnxg")
sprite_happy = NodePath("Happy")
sprite_neutral = NodePath("Neutral")
sprite_unhappy = NodePath("Unhappy")
[node name="Happy" type="Sprite2D" parent="."] [node name="Happy" type="Sprite2D" parent="."]
modulate = Color(1, 1, 1, 0) modulate = Color(1, 1, 1, 0)
texture = ExtResource("2_0u1g1") texture = ExtResource("2_0u1g1")
[node name="Laugh" type="Sprite2D" parent="."]
modulate = Color(1, 1, 1, 0)
texture = ExtResource("3_yv3if")
[node name="Neutral" type="Sprite2D" parent="."] [node name="Neutral" type="Sprite2D" parent="."]
texture = ExtResource("3_s33ae") texture = ExtResource("3_s33ae")

View File

@ -1,15 +1,13 @@
[gd_scene load_steps=5 format=3 uid="uid://cueulkc3lnk5c"] [gd_scene load_steps=6 format=3 uid="uid://cueulkc3lnk5c"]
[ext_resource type="Script" path="res://scenes/faces/face.gd" id="1_8nd6f"] [ext_resource type="Script" path="res://scenes/faces/face.gd" id="1_8nd6f"]
[ext_resource type="Texture2D" uid="uid://ctelqstn5ksh1" path="res://sprites/faces/ronald_happy.svg" id="2_512yk"] [ext_resource type="Texture2D" uid="uid://ctelqstn5ksh1" path="res://sprites/faces/ronald_happy.svg" id="2_512yk"]
[ext_resource type="Texture2D" uid="uid://ijs3777dtv0n" path="res://sprites/faces/ronald_neutral.svg" id="3_ko187"] [ext_resource type="Texture2D" uid="uid://ijs3777dtv0n" path="res://sprites/faces/ronald_neutral.svg" id="3_ko187"]
[ext_resource type="Texture2D" uid="uid://cn7dhkoupxvt8" path="res://sprites/faces/ronald_not_amused.svg" id="4_cf5hk"] [ext_resource type="Texture2D" uid="uid://cn7dhkoupxvt8" path="res://sprites/faces/ronald_not_amused.svg" id="4_cf5hk"]
[ext_resource type="Texture2D" uid="uid://deylqp2w3ydk5" path="res://sprites/faces/ronald_laughing.svg" id="5_kpy4k"]
[node name="FaceCurly" type="Node2D" node_paths=PackedStringArray("sprite_happy", "sprite_neutral", "sprite_unhappy")] [node name="FaceRonald" type="Node2D"]
script = ExtResource("1_8nd6f") script = ExtResource("1_8nd6f")
sprite_happy = NodePath("Happy")
sprite_neutral = NodePath("Neutral")
sprite_unhappy = NodePath("Unhappy")
[node name="Happy" type="Sprite2D" parent="."] [node name="Happy" type="Sprite2D" parent="."]
modulate = Color(1, 1, 1, 0) modulate = Color(1, 1, 1, 0)
@ -21,3 +19,7 @@ texture = ExtResource("3_ko187")
[node name="Unhappy" type="Sprite2D" parent="."] [node name="Unhappy" type="Sprite2D" parent="."]
modulate = Color(1, 1, 1, 0) modulate = Color(1, 1, 1, 0)
texture = ExtResource("4_cf5hk") texture = ExtResource("4_cf5hk")
[node name="Laugh" type="Sprite2D" parent="."]
modulate = Color(1, 1, 1, 0)
texture = ExtResource("5_kpy4k")

View File

@ -0,0 +1,15 @@
[gd_scene load_steps=5 format=3 uid="uid://r1i7ln2hpwq5"]
[ext_resource type="Script" path="res://scenes/Joke Button.gd" id="1_lofpb"]
[ext_resource type="Texture2D" uid="uid://br2j6yu0f7x37" path="res://sprites/room/bubble_blue.svg" id="2_ivsb5"]
[ext_resource type="Texture2D" uid="uid://b2vtyqcfr5ukt" path="res://sprites/room/bubble_green.svg" id="3_26ki8"]
[ext_resource type="Texture2D" uid="uid://03ch1nqrnm6c" path="res://sprites/room/bubble_red.svg" id="4_o1r21"]
[node name="Joke Button" type="Node2D" node_paths=PackedStringArray("sprite")]
script = ExtResource("1_lofpb")
action = "joke_button_1"
sprite = NodePath("Sprite2D")
type_sprites = Array[Texture2D]([ExtResource("2_ivsb5"), ExtResource("3_26ki8"), ExtResource("4_o1r21")])
[node name="Sprite2D" type="Sprite2D" parent="."]
texture = ExtResource("2_ivsb5")

View File

@ -1,12 +1,16 @@
[gd_scene load_steps=5 format=3 uid="uid://cicyfp5xjvvu4"] [gd_scene load_steps=7 format=3 uid="uid://cicyfp5xjvvu4"]
[ext_resource type="Script" path="res://scenes/Tim.gd" id="1_g3k2b"] [ext_resource type="Script" path="res://scenes/Tim.gd" id="1_g3k2b"]
[ext_resource type="Texture2D" uid="uid://kq63ictuirhc" path="res://sprites/tim_side.png" id="1_saxit"] [ext_resource type="Texture2D" uid="uid://kq63ictuirhc" path="res://sprites/tim_side.png" id="1_saxit"]
[ext_resource type="Script" path="res://scenes/Boundary.gd" id="2_8p6ir"] [ext_resource type="Script" path="res://scenes/Boundary.gd" id="2_8p6ir"]
[ext_resource type="PackedScene" uid="uid://r1i7ln2hpwq5" path="res://scenes/joke_button.tscn" id="3_0t41i"]
[sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_3hx6l"] [sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_3hx6l"]
size = Vector2(600, 200) size = Vector2(600, 200)
[sub_resource type="RectangleShape2D" id="RectangleShape2D_wmfel"]
size = Vector2(100, 10000)
[node name="Stage" type="Node2D"] [node name="Stage" type="Node2D"]
[node name="Sprite2D" type="Sprite2D" parent="."] [node name="Sprite2D" type="Sprite2D" parent="."]
@ -14,10 +18,11 @@ scale = Vector2(1, 0.3)
texture = SubResource("PlaceholderTexture2D_3hx6l") texture = SubResource("PlaceholderTexture2D_3hx6l")
offset = Vector2(0, -100) offset = Vector2(0, -100)
[node name="Tim" type="Node2D" parent="." node_paths=PackedStringArray("boundary", "tim_sprite")] [node name="Tim" type="Node2D" parent="." node_paths=PackedStringArray("boundary", "tim_sprite", "transmitter_area")]
script = ExtResource("1_g3k2b") script = ExtResource("1_g3k2b")
boundary = NodePath("../Boundary") boundary = NodePath("../Boundary")
tim_sprite = NodePath("Sprite2D") tim_sprite = NodePath("Sprite2D")
transmitter_area = NodePath("Joke Transmitter/Area2D")
[node name="Sprite2D" type="Sprite2D" parent="Tim"] [node name="Sprite2D" type="Sprite2D" parent="Tim"]
position = Vector2(-12, -142) position = Vector2(-12, -142)
@ -25,5 +30,30 @@ scale = Vector2(0.4, 0.4)
texture = ExtResource("1_saxit") texture = ExtResource("1_saxit")
offset = Vector2(0, 50) offset = Vector2(0, 50)
[node name="Joke Buttons" type="Node2D" parent="Tim"]
position = Vector2(0, -25)
[node name="Joke Button 1" parent="Tim/Joke Buttons" instance=ExtResource("3_0t41i")]
position = Vector2(0, -30)
[node name="Joke Button 2" parent="Tim/Joke Buttons" instance=ExtResource("3_0t41i")]
position = Vector2(-100, -50)
action = "joke_button_2"
[node name="Joke Button 3" parent="Tim/Joke Buttons" instance=ExtResource("3_0t41i")]
position = Vector2(100, -50)
action = "joke_button_3"
[node name="Joke Transmitter" type="Node2D" parent="Tim"]
[node name="Area2D" type="Area2D" parent="Tim/Joke Transmitter"]
[node name="CollisionShape2D" type="CollisionShape2D" parent="Tim/Joke Transmitter/Area2D"]
shape = SubResource("RectangleShape2D_wmfel")
[node name="Boundary" type="Node2D" parent="."] [node name="Boundary" type="Node2D" parent="."]
script = ExtResource("2_8p6ir") script = ExtResource("2_8p6ir")
[connection signal="button_pressed" from="Tim/Joke Buttons/Joke Button 1" to="Tim" method="_on_joke_button_button_pressed"]
[connection signal="button_pressed" from="Tim/Joke Buttons/Joke Button 2" to="Tim" method="_on_joke_button_button_pressed"]
[connection signal="button_pressed" from="Tim/Joke Buttons/Joke Button 3" to="Tim" method="_on_joke_button_button_pressed"]

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bt8qft2vpyl24"
path="res://.godot/imported/body_blue_1.svg-73876d7999610404d0db199910a0001c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/bodies/body_blue_1.svg"
dest_files=["res://.godot/imported/body_blue_1.svg-73876d7999610404d0db199910a0001c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dqxv2u4xiwiup"
path="res://.godot/imported/body_blue_2.svg-265a6bbe215977e1844c9edb12ebc54a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/bodies/body_blue_2.svg"
dest_files=["res://.godot/imported/body_blue_2.svg-265a6bbe215977e1844c9edb12ebc54a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://7bw8nqowkthc"
path="res://.godot/imported/body_blue_3.svg-09c9930b57bc9b1b69c9302b4407e04b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/bodies/body_blue_3.svg"
dest_files=["res://.godot/imported/body_blue_3.svg-09c9930b57bc9b1b69c9302b4407e04b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://baijihfhkfk0i"
path="res://.godot/imported/body_green_1.svg-0f1c7e95fceb1f9c545d50aec87cf824.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/bodies/body_green_1.svg"
dest_files=["res://.godot/imported/body_green_1.svg-0f1c7e95fceb1f9c545d50aec87cf824.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://p557r4sksm4a"
path="res://.godot/imported/body_green_2.svg-6f7c4955ab219414fd9eb4c5d31f0ba1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/bodies/body_green_2.svg"
dest_files=["res://.godot/imported/body_green_2.svg-6f7c4955ab219414fd9eb4c5d31f0ba1.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bsy1pfhg1ante"
path="res://.godot/imported/body_green_3.svg-c1f23e8ec790ac8c6126ba0f019a8f67.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/bodies/body_green_3.svg"
dest_files=["res://.godot/imported/body_green_3.svg-c1f23e8ec790ac8c6126ba0f019a8f67.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b6211hcc6kclc"
path="res://.godot/imported/body_red_1.svg-93218131e9d07dd5a078f158c7f0982c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/bodies/body_red_1.svg"
dest_files=["res://.godot/imported/body_red_1.svg-93218131e9d07dd5a078f158c7f0982c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c2cg5x7x14nd"
path="res://.godot/imported/body_red_2.svg-331a1a45509217126883521e6057c8d2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/bodies/body_red_2.svg"
dest_files=["res://.godot/imported/body_red_2.svg-331a1a45509217126883521e6057c8d2.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bahxyel8pbh40"
path="res://.godot/imported/body_red_3.svg-fcf6f315944385b55753c51760ec4603.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/bodies/body_red_3.svg"
dest_files=["res://.godot/imported/body_red_3.svg-fcf6f315944385b55753c51760ec4603.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://lb4freja2bhq"
path="res://.godot/imported/curly_laughing.svg-d03e95d77d09a6e46fd0d44d6e662cf9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/faces/curly_laughing.svg"
dest_files=["res://.godot/imported/curly_laughing.svg-d03e95d77d09a6e46fd0d44d6e662cf9.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dfo0nujuqaeek"
path="res://.godot/imported/jenny_happy.svg-18bdcbac4f00afe90ad78093013f7bcf.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/faces/jenny_happy.svg"
dest_files=["res://.godot/imported/jenny_happy.svg-18bdcbac4f00afe90ad78093013f7bcf.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ckwbh5swm710"
path="res://.godot/imported/jenny_laughing.svg-f4f475b2560be57a24e4706cae137684.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/faces/jenny_laughing.svg"
dest_files=["res://.godot/imported/jenny_laughing.svg-f4f475b2560be57a24e4706cae137684.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bw7i3n2re3ra7"
path="res://.godot/imported/jenny_neutral.svg-a1345b588fa620a12022fb582666b45f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/faces/jenny_neutral.svg"
dest_files=["res://.godot/imported/jenny_neutral.svg-a1345b588fa620a12022fb582666b45f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://djixausmja6lq"
path="res://.godot/imported/jenny_not_amused.svg-e9a1c9cd72a5898e23665eb2000f38ce.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/faces/jenny_not_amused.svg"
dest_files=["res://.godot/imported/jenny_not_amused.svg-e9a1c9cd72a5898e23665eb2000f38ce.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://brba4d1tnllb3"
path="res://.godot/imported/moritz_laughing.svg-2d677aae6e0e61cab19c6b1064900671.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/faces/moritz_laughing.svg"
dest_files=["res://.godot/imported/moritz_laughing.svg-2d677aae6e0e61cab19c6b1064900671.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://deylqp2w3ydk5"
path="res://.godot/imported/ronald_laughing.svg-9eecc7a3e15c7d15e3aab3dd29e25768.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/faces/ronald_laughing.svg"
dest_files=["res://.godot/imported/ronald_laughing.svg-9eecc7a3e15c7d15e3aab3dd29e25768.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bavsg3hu7pccy"
path="res://.godot/imported/bottle.svg-22011b05c9a3d7eae13e737f1162b981.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/room/bottle.svg"
dest_files=["res://.godot/imported/bottle.svg-22011b05c9a3d7eae13e737f1162b981.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://huokdqy7birm"
path="res://.godot/imported/bubble_blue.svg-fb037e1cfad202315c866906d98ef36c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/room/bubble_blue.svg"
dest_files=["res://.godot/imported/bubble_blue.svg-fb037e1cfad202315c866906d98ef36c.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bsda544aynmha"
path="res://.godot/imported/bubble_green.svg-dd7d0ea9035cbc69a271558239c1ef90.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/room/bubble_green.svg"
dest_files=["res://.godot/imported/bubble_green.svg-dd7d0ea9035cbc69a271558239c1ef90.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cttngp4bj5fh2"
path="res://.godot/imported/bubble_red.svg-a001b24d0912ebfc1149224f019251a6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/room/bubble_red.svg"
dest_files=["res://.godot/imported/bubble_red.svg-a001b24d0912ebfc1149224f019251a6.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bg85if5rrrdmm"
path="res://.godot/imported/buehne.svg-f08ab195d5bf3b8336c502a17edc7380.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/room/buehne.svg"
dest_files=["res://.godot/imported/buehne.svg-f08ab195d5bf3b8336c502a17edc7380.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b10sikhisctbi"
path="res://.godot/imported/squiggle_curled.svg-09eec38ae1f9e8bfe58a2c8a27c73570.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/room/squiggle_curled.svg"
dest_files=["res://.godot/imported/squiggle_curled.svg-09eec38ae1f9e8bfe58a2c8a27c73570.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dodo6eb5r4yw3"
path="res://.godot/imported/squiggle_curved.svg-a4b3b2af12e2b683d257e95254b5eb5f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/room/squiggle_curved.svg"
dest_files=["res://.godot/imported/squiggle_curved.svg-a4b3b2af12e2b683d257e95254b5eb5f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cr1e5m4r4evbl"
path="res://.godot/imported/squiggle_sharp.svg-ccf4c01f73c0fcd39d355176af89c902.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/room/squiggle_sharp.svg"
dest_files=["res://.godot/imported/squiggle_sharp.svg-ccf4c01f73c0fcd39d355176af89c902.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d2lxcrpuframt"
path="res://.godot/imported/tim_ducking.svg-ca7873cc128761502164ba1147bd4069.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://sprites/tim_ducking.svg"
dest_files=["res://.godot/imported/tim_ducking.svg-ca7873cc128761502164ba1147bd4069.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

12
godot/types/joke.gd Normal file
View File

@ -0,0 +1,12 @@
class_name Joke
enum JokeType {
Joke1 = 0,
Joke2,
Joke3
}
var type: JokeType
func _init(type):
self.type = type

File diff suppressed because one or more lines are too long