re-implement card-loading to avoid loading issue
This commit is contained in:
parent
8067575f2a
commit
cdcb3c618e
|
|
@ -130,9 +130,8 @@ text = "yet they think I'm just pretending"
|
|||
position = Vector2(-32, 140)
|
||||
text = "and girls don't get that."
|
||||
|
||||
[node name="c_teasing" parent="voice_training" node_paths=PackedStringArray("evil_sticky_notes") instance=ExtResource("1_xrckx")]
|
||||
[node name="c_teasing" parent="voice_training" instance=ExtResource("1_xrckx")]
|
||||
position = Vector2(6, 598)
|
||||
evil_sticky_notes = [NodePath("../../childhood/c_joy/p_thomas")]
|
||||
text = "When Jojo got teased for trying, I pretty much exploded"
|
||||
|
||||
[node name="p_stubborn" parent="voice_training/c_teasing" groups=["c_boy_stuff", "c_comic_heroes", "c_confusion", "c_fighting", "c_hit", "c_homework", "c_joy", "c_out-of-world", "c_teasing"] instance=ExtResource("2_ucudl")]
|
||||
|
|
@ -162,9 +161,8 @@ text = "My body just didn't feel right"
|
|||
position = Vector2(-32, 140)
|
||||
text = "I just hate being treated like a girl"
|
||||
|
||||
[node name="c_hit" parent="juijutsu" node_paths=PackedStringArray("evil_sticky_notes") instance=ExtResource("1_xrckx")]
|
||||
[node name="c_hit" parent="juijutsu" instance=ExtResource("1_xrckx")]
|
||||
position = Vector2(15, 297)
|
||||
evil_sticky_notes = [NodePath("../../childhood/c_teachers/p_becoming_teacher")]
|
||||
text = "I know how to properly hit people"
|
||||
|
||||
[node name="p_confidence" parent="juijutsu/c_hit" groups=["c_boy_stuff", "c_comic_heroes", "c_hit", "c_homework", "c_joy", "c_teasing"] instance=ExtResource("2_ucudl")]
|
||||
|
|
|
|||
|
|
@ -1,34 +1,177 @@
|
|||
class_name HardCards extends Node
|
||||
class_name HardCards extends Node2D
|
||||
|
||||
static var all_cards: Array[Dictionary] = [
|
||||
static var source_dicts: Array[Dictionary] = [
|
||||
{
|
||||
"out-of-world": ["unique", "few_friends", []],
|
||||
"rejection": ["finding_friends", "laughed", []],
|
||||
"rejection": ["finding_friends", "laughed_at", []],
|
||||
"confusion": ["inner_conflict", "outer_conflict", []]
|
||||
},
|
||||
{
|
||||
"homework": ["good_grades", "upset_teachers", []],
|
||||
"homework": ["good_grades", "upset_peers", []],
|
||||
"teachers": ["volunteering", "becoming_teacher", []],
|
||||
"joy": ["worried_mother", "thomas_gifted", []]
|
||||
},
|
||||
{
|
||||
"comic_heroes": ["effort", "thomas_gifted", []],
|
||||
"boy_stuff": ["pretending", "girls", []],
|
||||
"teasing": ["stubborn", "good_intended", []]
|
||||
"teasing": ["stubborn", "good_intended", ["thomas_gifted"]]
|
||||
},
|
||||
{
|
||||
"jui_jutsu": ["body", "girly", []],
|
||||
"void": ["wet", "stop", []],
|
||||
"hit": ["confidence", "vent", []]
|
||||
"hit": ["confidence", "vent", ["becoming_teacher"]]
|
||||
},
|
||||
]
|
||||
|
||||
static var id_reference: Dictionary[StringName, StringName] = generate_id_reference(true, true)
|
||||
|
||||
static var card_id_reference: Dictionary[StringName, StringName] = generate_id_reference(true, false)
|
||||
static var sticky_id_reference: Dictionary[StringName, StringName] = generate_id_reference(false, true)
|
||||
|
||||
static func generate_id_reference(include_cards: bool, include_sticky: bool) -> Dictionary[StringName, StringName]:
|
||||
var out:Dictionary[StringName, StringName] = {}
|
||||
|
||||
for id in range(source_dicts.size()):
|
||||
for card_name:String in source_dicts[id].keys():
|
||||
if include_cards:
|
||||
out[card_name] = "%d.%s" % [id, card_name]
|
||||
if include_sticky:
|
||||
for sticky_name in source_dicts[id][card_name]:
|
||||
if sticky_name is String:
|
||||
out[sticky_name] = "%d.%s.%s" % [id, card_name, sticky_name]
|
||||
|
||||
return out
|
||||
|
||||
|
||||
static func get_child_names_of(parent_id: StringName) -> Array[StringName]:
|
||||
var out: Array[StringName]
|
||||
for child_name: StringName in id_reference.keys():
|
||||
if id_reference[child_name].contains(parent_id):
|
||||
if child_name != parent_id:
|
||||
out.append(child_name)
|
||||
return out
|
||||
|
||||
#FIXME: enhance typing!
|
||||
static func get_children_of(parent_id: StringName) -> Array:
|
||||
return get_cards_by_name_array(get_child_names_of(parent_id))["sticky_notes"]
|
||||
|
||||
func arrange(cards: Array[Card], rect: Rect2, obstacles: Array[Area2D]) -> Array[Card]:
|
||||
var total_cards = cards.size()
|
||||
|
||||
var x:int = 0
|
||||
var y:int = 0
|
||||
var i:int = 0
|
||||
var max:int = cards.size()
|
||||
var grid: int = ceil(sqrt(max))
|
||||
var diameter:float = cards[0].diameter
|
||||
|
||||
var r_cards: Array[Card] = cards.duplicate()
|
||||
r_cards.shuffle()
|
||||
|
||||
while i < max:
|
||||
while x < grid and i < max:
|
||||
while y < ceil(sqrt(max)) and i < max:
|
||||
r_cards[i].position = rect.size / Vector2(y, x) * (1.0 / (rect.size.x * diameter) ) + rect.position + Vector2(randf_range(diameter/2+5, diameter-5), randf_range(diameter/2+5, diameter-5))
|
||||
i += 1
|
||||
y += 1
|
||||
x += 1
|
||||
|
||||
for card: Card in r_cards:
|
||||
|
||||
for _i in range(20):
|
||||
|
||||
if is_out_of_bounds(card, rect):
|
||||
card.position = rect.get_center() - card.position * 0.8
|
||||
continue
|
||||
var colliders: Array[Card] = []
|
||||
for collision:Card in r_cards:
|
||||
if card != collision:
|
||||
if card.collider.collide(card.transform.rotated(PI/2), collision.collider, collision.transform.rotated(PI/2)):
|
||||
colliders.append(collision)
|
||||
if colliders != []:
|
||||
var nearest: Card = colliders[0]
|
||||
for colliding in colliders:
|
||||
if (colliding.position - card.position).length() > (nearest.position - card.position).length():
|
||||
nearest = colliding
|
||||
|
||||
card.position += min(nearest.position - card.position.normalized() * card.diameter + 1, nearest.position - card.position)
|
||||
continue
|
||||
break
|
||||
|
||||
return r_cards
|
||||
|
||||
|
||||
func is_out_of_bounds(card: Card, rect: Rect2):
|
||||
var world_boundaries: Array[Transform2D] = [
|
||||
Transform2D(PI, rect.position),
|
||||
Transform2D(PI/2, rect.position),
|
||||
Transform2D(-PI/2, rect.position+rect.size),
|
||||
Transform2D(0, rect.position+rect.size)
|
||||
]
|
||||
var shape: = WorldBoundaryShape2D.new()
|
||||
|
||||
for boundary:Transform2D in world_boundaries:
|
||||
if card.collider.collide(card.transform, shape, boundary):
|
||||
return true
|
||||
return false
|
||||
|
||||
static func get_cards_by_scene_id(id: int) -> Array:
|
||||
var output:Array
|
||||
|
||||
for card_name in all_cards[id].keys():
|
||||
var card_id:StringName = "%d.%s" % [id, card_name]
|
||||
output.append(Card.new(card_name, card_id))
|
||||
for card_name in source_dicts[id].keys():
|
||||
output.append(Card.new(card_name, id_reference[card_name]))
|
||||
|
||||
return output
|
||||
|
||||
# used to put cards on the dev board
|
||||
static func get_cards_by_name_array(names: Array[StringName]) -> Dictionary:
|
||||
var output:Dictionary = {
|
||||
"cards": [],
|
||||
"sticky_notes": []
|
||||
}
|
||||
|
||||
for card_name:StringName in names:
|
||||
if card_id_reference.has(card_name):
|
||||
output["cards"].append(create_from_id(id_reference[card_name]))
|
||||
else:
|
||||
output["sticky_notes"].append(create_from_id(id_reference[card_name]))
|
||||
|
||||
return output
|
||||
|
||||
static func create_from_id(id:StringName) -> Area2D:
|
||||
var parsed: PackedStringArray = id.rsplit(".")
|
||||
|
||||
var helper = card_id_reference
|
||||
var keys = card_id_reference.keys()
|
||||
|
||||
if card_id_reference.values().has(id):
|
||||
return Card.new(parsed[1], id)
|
||||
elif sticky_id_reference.values().has(id):
|
||||
return StickyNote.new(parsed[2], id)
|
||||
else:
|
||||
push_error("Attempted to create Card or Sticky from non-existent ID!")
|
||||
return null
|
||||
|
||||
static func create_dev_board(parent: Node2D, rect: Rect2) -> void:
|
||||
for x in range(source_dicts.size()):
|
||||
var sub_parent = Node2D.new()
|
||||
sub_parent.position = Vector2( rect.size.x/(source_dicts.size()+1) * (x+1) , 0)
|
||||
parent.add_child(sub_parent, false, Node.INTERNAL_MODE_BACK)
|
||||
var y = 1
|
||||
for card_name in source_dicts[x].keys():
|
||||
var card:Card = create_from_id(card_id_reference[card_name])
|
||||
sub_parent.add_child(card, false, Node.INTERNAL_MODE_BACK)
|
||||
card.position = Vector2(0, card.diameter * y - card.diameter/2)
|
||||
|
||||
var z = 0
|
||||
for sticky_name in get_child_names_of(card_name):
|
||||
var sticky: StickyNote = create_from_id(sticky_id_reference[sticky_name])
|
||||
card.add_child(sticky, false, Node.INTERNAL_MODE_BACK)
|
||||
sticky.position = card.sticky_note_position + Vector2(0, 80) * z
|
||||
z += 1
|
||||
|
||||
y += 1
|
||||
|
||||
func _ready() -> void:
|
||||
create_dev_board(self, get_viewport().get_visible_rect())
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,6 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://dckj4hhl42v8u"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dysgoaaesqjbg" path="res://dev-util/hardcoded_cards.gd" id="1_5kg6w"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
script = ExtResource("1_5kg6w")
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://cnaffkv2n4gy5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dysgoaaesqjbg" path="res://dev-util/hardcoded_cards.gd" id="1_ba1m7"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
script = ExtResource("1_ba1m7")
|
||||
|
|
@ -20,8 +20,8 @@ script_export_mode=2
|
|||
|
||||
[preset.0.options]
|
||||
|
||||
custom_template/debug="/home/betalars/Development/godot/godot-steam/godotsteam.44.debug.template.linux.x86_64"
|
||||
custom_template/release="/home/betalars/Development/godot/godot-steam/godotsteam.44.template.linux.x86_64"
|
||||
custom_template/debug="/home/betalars/Development/godot/godot-steam/godotsteam.441.debug.template.linux.x86_64"
|
||||
custom_template/release="/home/betalars/Development/godot/godot-steam/godotsteam.441.template.linux.x86_64"
|
||||
debug/export_console_wrapper=1
|
||||
binary_format/embed_pck=false
|
||||
texture_format/s3tc_bptc=true
|
||||
|
|
@ -66,8 +66,8 @@ script_export_mode=2
|
|||
|
||||
[preset.1.options]
|
||||
|
||||
custom_template/debug="/home/betalars/Development/godot/godot-steam/godotsteam.44.debug.template.windows.64.exe"
|
||||
custom_template/release="/home/betalars/Development/godot/godot-steam/godotsteam.44.template.windows.64.exe"
|
||||
custom_template/debug="/home/betalars/Development/godot/godot-steam/godotsteam.441.debug.template.windows.64.exe"
|
||||
custom_template/release="/home/betalars/Development/godot/godot-steam/godotsteam.441.template.windows.64.exe"
|
||||
debug/export_console_wrapper=1
|
||||
binary_format/embed_pck=false
|
||||
texture_format/s3tc_bptc=true
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
keys,en,de,es,ja,notes
|
||||
"Accessibility, Disclaimers and Content Notes","Accessibility, Disclaimers and Content Notes",Barrierefreiheit und Erwartungsmanagement,,,
|
||||
"Acessibility, Disclaimers and Content Notes","Acessibility, Disclaimers and Content Notes",Barrierefreiheit und Erwartungsmanagement,,,
|
||||
Accessibility,Accessibility,Barrierefreiheit,,,
|
||||
reduce motion,reduce motion,Reduzierte Animationen,,,
|
||||
use Screenreader,use Screenreader,Screen-Reader aktivieren,,,
|
||||
|
|
@ -33,37 +33,37 @@ I would like to know more.,I would like to know more.,Ich würde gern mehr wisse
|
|||
Is this game for or about me?,Is this game for or about me?,Ist dieses Spiel für oder über mich?,,,
|
||||
"[ul]
|
||||
This game tells one story about one fictional character.
|
||||
This character was designed to tell an honest and accessible story about identity and trauma.
|
||||
This character was desiged to tell an honest and acsssible story about identity and trauma.
|
||||
This is not the game for you if you are looking for escapism.
|
||||
This is not therapy.
|
||||
You might feel understood if experiences you've had are close to the characters.
|
||||
You might feel understood if exeriences you've had are close to the characters.
|
||||
It might help you understand a friend.
|
||||
It will tell you things a group of peers, that reflected about their similar, but specific experiences, want more people to know about.
|
||||
This is made by betalars, who has many overlapping experiences with this character. They made sure to consult people, who can speak from their own experiences about subjects, where betalars could not.
|
||||
This is made by betalars, who has many overlapping experiences with this character. They made sure to consult people, who can speak from their own exerpiences about subjects, where betalars could not.
|
||||
[/ul]","[ul]
|
||||
This game tells one story about one fictional character.
|
||||
This character was designed to tell an honest and accessible story about identity and trauma.
|
||||
This character was desiged to tell an honest and acsssible story about identity and trauma.
|
||||
This is not the game for you if you are looking for escapism.
|
||||
This is not therapy.
|
||||
You might feel understood if experiences you've had are close to the characters.
|
||||
You might feel understood if exeriences you've had are close to the characters.
|
||||
It might help you understand a friend.
|
||||
It will tell you things a group of peers, that reflected about their similar, but specific experiences, want more people to know about.
|
||||
This is made by betalars, who has many overlapping experiences with this character. They made sure to consult people, who can speak from their own experiences about subjects, where betalars could not.
|
||||
This is made by betalars, who has many overlapping experiences with this character. They made sure to consult people, who can speak from their own exerpiences about subjects, where betalars could not.
|
||||
[/ul]","[ul]
|
||||
In diesem Spiel wird eine Geschichte eines fiktionalen Charakters erzählt.
|
||||
In diesem Spiel wird eine Geschichte eines fitkionalen Charakters erzählt.
|
||||
Der Charakter wurde geschrieben, um eine zugängliche und ehrliche Geschichte über Trauma zu erzählen.
|
||||
Dieses Spiel bietet keinen Eskapismus.
|
||||
Dieses Spiel bietet keinen Eskarpismus.
|
||||
Dieses Spiel ist keine Therapie.
|
||||
Vielleicht fühlst du dich verstanden, wenn deine Erfahrungen dem Charakter ähneln.
|
||||
Vielleicht hilft es dir, jemand befreundetes zu verstehen.
|
||||
Vielleicht hillft es dir, jemand befreundetes zu verstehen.
|
||||
Dieses Spiel wurde von einer Gruppe an Leuten geschaffen, die sehr spezifische Erfahrungen, die sie gemeinsam gemacht haben, teilen wollten.
|
||||
Dieses Spiel ist von betalars. An vielen Stellen wurde hier aus eigener Erfahrung geschrieben und da, wo keine eigenen Erfahrungen da waren, wurden Betroffene einbezogen.
|
||||
[/ul]",,,leave the [ul] and [/ul] please avoid using gendered words for betalars if possible (they are non-binary)
|
||||
What may be difficult about the premise?,What may be difficult about the premise?,Warum könnte die Prämisse schwierig sein?,,,
|
||||
"In this game, you will encounter situations that are problematic and will have a negative impact on the Mental Health of the character you are playing as. This game will establish hurtful assumptions this character develops about themselves and you may not resolve all of them right away. You will have some agency, but it is limited by the games narrative and also chance. You are encouraged and will be able to resolve hurtful assumptions later in the game.","In this game, you will encounter situations that are problematic and will have a negative impact on the Mental Health of the character you are playing as. This game will establish hurtful assumptions this character develops about themselves and you may not resolve all of them right away. You will have some agency, but it is limited by the games narrative and also chance. You are encouraged and will be able to resolve hurtful assumptions later in the game.","Dieses Spiel wird Erfahrungen thematisieren, die sich negativ auf den gespielten Charakter auswirken. Das Spiel wird schädliche Annahmen etablieren, die der Charakter über sich hat und nicht immer sofort auflösen. Du kannst darauf Einfluss nehmen, aber deine Möglichkeiten sind durch Spielmechanik und Narrative beschränkt. Du sollst und kannst vieles später aufarbeiten.",,,
|
||||
"In this game, you will encounter situations that are problematic and will have a negative impact on the Mental Health of the character you are playing as. This game will establish hurtful assumptions this character develops about themselves and you may not resolve all of them right away. You will have some agency, but it is limited by the games narrative and also chance. You are encouraged and will be able to resolve hurtful assumptions later in the game.","In this game, you will encounter situations that are problematic and will have a negative impact on the Mental Health of the character you are playing as. This game will establish hurtful assumptions this character develops about themselves and you may not resolve all of them right away. You will have some agency, but it is limited by the games narrative and also chance. You are encouraged and will be able to resolve hurtful assumptions later in the game.","Dieses Spiel wird Erfahrungen thematisieren, die sich negativ auf den gespielten Charakter auswirken. Das Spiel wird schädliche Annahmen etablieren, die der Charakter über sich hat und nicht immer sofort auflösen. Du kannst darauf Einfluss nehmen, aber diene Möglichkeiten sind durch Spielmechanik und Narrative beschränkt. Du sollst und kannst vieles später aufarbeiten.",,,
|
||||
What are the game's topics? (Content Notes),What are the game's topics? (Content Notes),Worum geht es im Spiel (Content Warnungen),,,
|
||||
"This game discusses Mental Health and Sex-Positivity. It also includes a character, who is trans but you will get to know them while they are unaware about their trans identity going by their birthname. Besides social Transistioning, this game also deals with topics including Mysoginy, Sanism, Body Issues, Eating Disorders, Bullying, Martial Arts, Relationships and Rape, but not trough physical violence. Comic violence is mentioned while talking about a fictional franchise in universe.","This game discusses Mental Health and Sex-Positivity. It also includes a character, who is trans but you will get to know them while they are unaware about their trans identity going by their birthname. Besides social Transistioning, this game also deals with topics including Mysoginy, Sanism, Body Issues, Eating Disorders, Bullying, Martial Arts, Relationships and Rape, but not trough physical violence. Comic violence is mentioned while talking about a fictional franchise in universe.","In diesem Spiel geht es um mentale Gesundheit und Sex-Positivität. Es enthält einen trans Charakter, der sich darüber nicht im klaren ist und daher auch zunächst noch keinen eigenen Namen hat. Neben Sozialer Transition thematisiert das Spiel Mysoginie, Diskriminierung wegen mentalen Behinderungen, Probleme mit dem Körperbild, Essstörungen, Mobbing, Kampfkunst, Beziehungen und Vergewaltigungen, jedoch nicht durch körperliche Gewalt. Comic Gewalt wird erwähnt in einer im Spiel fiktionalen Geschichte.",,,"The Rape being discussed in this game is non-consensual sex, but also non-voilent."
|
||||
Mental Health Accessibility Options,Mental Health Accessibility Options,Barrierefreiheit für psychische Störungen,,,
|
||||
Mental Health Acessibility Options,Mental Health Accessability Options,Barrierefreiheit für psychische Störungen,,,
|
||||
"[ul]
|
||||
You can always Pause using Escape or Spacebar
|
||||
You can always choose to just get a neutral summary of scenes or skip them entirely
|
||||
|
|
@ -72,14 +72,14 @@ You can always Pause using Escape or Spacebar
|
|||
You can always choose to just get a neutral summary of scenes or skip them entirely
|
||||
[/ul]","[ul]
|
||||
Du kannst immer mit Pause oder Escape pausieren.
|
||||
Du kannst dir wünschen, dass du bei schwierige Szenen überspringen kannst und eine neutrale Zusammenfassung davon bekommst.",,,
|
||||
Du kanns dir wünschen, dass du bei schwierige Szenen überspringen kannst und eine neutrale Zusammenfassung davon bekommst.",,,
|
||||
show content notes during the game,show content notes during the game,Inhaltswarnungen im Spiel anzeigen,,,
|
||||
allow me to skip scenes,allow me to skip scenes,Überspringen von Szenen ermöglichen,,,
|
||||
"[center][i]I assure you I did my best,
|
||||
But I am only human and this is just one game.[/i][/center]","[center][i]I assure you I did my best,
|
||||
But I am only human and this is just one game.[/i][/center]","[center][i]Ich verspreche ich habe mein Bestes getan,
|
||||
Aber ich bin nur ein Mensch und kein Spiel wird je
|
||||
ein Leben vollumfänglich zeigen können.[/i][/center]",,,"This is intentionally phrased as “only one game” instead of “only a game”, hinting at it being meaningful, but limited in what it can convey on its own."
|
||||
ein Leben vollumfänglich zeigen können.[/i][/center]",,,"This is intentionally pheased as “only one game” instead of “only a game”, hinting at it being maningful, but limited in what it can convey on it’s own."
|
||||
new Game,new Game,neues Spiel,,,
|
||||
continue,continue,weiter spielen,,,
|
||||
load,load,Spiel laden,,,
|
||||
|
|
@ -92,23 +92,23 @@ General,General,Allgemeines,,,In the context of a video settings menu
|
|||
apply preset,apply preset,Voreinstellungen,,,
|
||||
Performance,Performance,Leistungsschonend,,,
|
||||
Balanced,Balanced,Ausgeglichen,,,
|
||||
Quality,Quality,höchste Qualität,,,
|
||||
Quality,Quality,Qualität,,,
|
||||
Fulscreen Mode,Fulscreen Mode,Fenster-Modus,,,
|
||||
Windowed,Windowed,im Fenster,,,
|
||||
Fullscreen,Fullscreen,Vollbild,,,
|
||||
exclusive Fullscreen,exclusive Fullscreen,exklusives Vollbild,,,
|
||||
exclusive Fullscreen,exclusive Fullscreen,exklusived Vollbild,,,
|
||||
Rendering Scale,Rendering Scale,Skalierung,,,
|
||||
reset,reset,zurück setzen,,,
|
||||
Super Resolution,Super Resolution,Super Resolution,,,
|
||||
disabled,disabled,aus,,,
|
||||
limit FPS,limit FPS,FPS begrenzen,,,
|
||||
Graphic Fidelity,Graphic Fidelity,graphische Qualität,,,
|
||||
Lighting Quality,Lighting Quality,Lichtqualität,,,
|
||||
Global Illumination,Global Illumination,Globale Illumination,,,
|
||||
minimum,minimum,minimum,,,
|
||||
low (SDF Global Illumination),low (SDF Global Illumination),niedrig (SDF globale Illumination),,,
|
||||
medium (SDF and Screen Space Global Illumination),medium (SDF and Screen Space Global Illumination),medium (SDF und Screen Space globale Illumination),,,
|
||||
high (SDF and Screen Space Global Illumination),high (SDF and Screen Space Global Illumination),hoch (SDF und Screen Space globale Illumination),,,
|
||||
Shadow Quality,Shadow Quality,Schattenqualität,,,
|
||||
low (SDF Global Illumination),low (SDF Global Illumination),Niedrig (SDF Illumination),,,
|
||||
medium (SDF and Screen Space Global Illumination),medium (SDF and Screen Space Global Illumination),mittel (SDF-Beleuchtung und SSGI),,,
|
||||
high (SDF and Screen Space Global Illumination),high (SDF and Screen Space Global Illumination),hoch (SDF-Beleuchtung und SSGI),,,
|
||||
Shadow Quality,Shadow Quality,Shattenqualität,,,
|
||||
performance,performance,leistungsschonend,,,
|
||||
balanced,balanced,ausgeglichen,,,
|
||||
quality,quality,höchste Qualität,,,
|
||||
|
|
@ -125,15 +125,15 @@ close,close,zurück,,,
|
|||
save and apply,save and apply,speichern und anwenden,,,
|
||||
"Settings have been modified.
|
||||
Do you really want to leave without saving?","Settings have been modified.
|
||||
Do you really want to leave without saving?","Es gibt nicht gespeicherte Änderungen.
|
||||
Do you really want to leave without saving?","Es gibt nicht gespeicherte Veränderungen.
|
||||
Möchtest du wirklich zurück ohne zu speichern?",,,
|
||||
leave,leave,wirklich verlassen,,,
|
||||
save,save,speichern,,,
|
||||
abort,abort,abbrechen,,,
|
||||
Gameplay Settings,Gameplay Settings,Spieleinstellungen,,,
|
||||
invert Y (gamepad),invert Y (gamepad),Y-Achse invertieren,,,
|
||||
invert Y (gamepad),invert Y (gamepad),Y-Axhse invertieren,,,
|
||||
Input Sensitivity,Input Sensitivity,Eingabesensibilität,,,
|
||||
Stream Overlay,Stream Overlay,Stream-Einblendungen,,,
|
||||
Stream Overlay,Stream Overlay,Stream-Einlbendungen,,,
|
||||
Displays content note and currently playing music at a corner of the screen.,Displays content note and currently playing music at s corner of the screen.,Zeigt Hinweise zu sensiblen Themen und aktuell laufender Musik an einer Ecke des Bildschirms an.,,,
|
||||
none,none,keine,,,
|
||||
top left,top left,oben links,,,
|
||||
|
|
@ -151,125 +151,125 @@ Exploring social service year.,Exploring social service year.,Während des FSJ.,
|
|||
Transitioning to university.,Transitioning to university.,Übergang zur Universität.,,,
|
||||
Exploring dorm room.,Exploring dorm room.,Während des Studiums,,,
|
||||
Ending,Ending,Ende,,,
|
||||
I never put in much effort for homework,I never put in much effort for homework,Ich habe mir nie Mühe bei Hausaufgaben gegeben,,,
|
||||
but at least I get good grades.,but at least I get good grades.,aber zumindest waren meine Noten gut.,,,
|
||||
my peers were upset about that.,my peers were upset about that.,meine Klasse war deswegen sauer.,,,
|
||||
I like my teachers more than my classmates,I like my teachers more than my classmates,"Ich komm mit meinen Lehrern besser klar, als mit meiner Klasse.",,,
|
||||
doing voluntary social service at my school would be great.,doing voluntary social service at my school would be great.,vielleicht sollte ich ein FSJ vor dem Studium machen,,,
|
||||
maybe I want to become a teacher.,maybe I want to become a teacher.,vielleicht sollte ich Lehrerin werden.,,,
|
||||
I can put ages into things I enjoy,I can put ages into things I enjoy,"Ich versinke in Dingen, die mir Freude machen",,,
|
||||
my mother would be worried about that,my mother would be worried about that,meiner Mutter macht das Sorgen.,,,
|
||||
Mr Thomas thinks that makes me gifted.,Mr Thomas thinks that makes me gifted.,Herr Thomas denkt das macht mich begabt.,,,
|
||||
Comic heroes are my role models,Comic heroes are my role models,Comic Helden sind meine Vorbilder,,,
|
||||
"when I put in the effort, I can make the world a better place","when I put in the effort, I can make the world a better place","wenn ich mich nur anstrenge, kann ich die Welt verbessern!",,,
|
||||
and I want to be like agent q!,and I want to be like agent q!,"Ich will so sein, wie Agent Clue!",,,
|
||||
I like boy stuff,I like boy stuff,Ich mag Jungs Kram,,,
|
||||
yet they think I'm just pretending,yet they think I'm just pretending,aber die denken ich tu einfach nur so.,,,
|
||||
and girls don't get that.,and girls don't get that.,und Mädchen verstehen das einfach nicht!,,,
|
||||
"When Jojo got teased for trying, I pretty much exploded","When Jojo got teased for trying, I pretty much exploded","Ich bin ausgerastet, weil Jojo für ihre Mühe gemobbt wurde",,,
|
||||
"I wouldn't have it any other way, even if it was for my own good","I wouldn't have it any other way, even if it was for my own good","das würde ich nicht aufgeben, selbst wenn das mir helfen würde.",,,
|
||||
I will always stand up for the good intended,I will always stand up for the good intended,"ich werde immer für Menschen einstehen, die das Richtige wollen!",,,
|
||||
I stopped doing Jiu Jitsu.,I stopped doing Jiu Jitsu.,Ich habe mit Jiu Jutsu aufgehört,,,
|
||||
My body just didn't feel right,My body just didn't feel right,mein Körper hat sich falsch angefühlt,,,
|
||||
I just hate being treated like a girl,I just hate being treated like a girl,Ich hasse es wie ein Mädchen behandelt zu werden,,,
|
||||
I know how to properly hit people,I know how to properly hit people,"Ich weiß, wie man ordentlich zuschlägt",,,
|
||||
that gives me a lot of confidence.,that gives me a lot of confidence.,das gibt mir viel Selbstvertrauen.,,,
|
||||
and that’s a great vent.,and that’s a great vent.,ich kann da gut Frust ablassen.,,,
|
||||
"Lukas did not ask for consent, he didn't explain a thing, I didn't even move! Yet he dared to assume, that ","Lukas did not ask for consent, he didn't explain a thing, I didn't even move! Yet he dared to assume, that ","Lukas hat mich nicht gefragt, er hat nichts erklärt und trotzdem wagte er es zu glauben:",,,It is very crucial that this sentence and the next line form a complete sentence
|
||||
"I was wet, so I must have been into it.","I was wet, so I must have been into it","Ich war feucht, also hab ichs wohl gewollt?",,,This line on itself should seem like a intrusive thought on its own without the content above.
|
||||
"Lukas jumped me, he didn't even explain a thing or ask consent. I was confused and paralyzed, so ","Lukas jumped me, he didn't even explain a thing or ask consent. I was confused and paralyzed, so ","Lukas hat mich überrumpelt, er hat nichts erklärt oder überhaupt gefragt, was ich wollte. Ich war im Moment nicht mehr ich selbst und",,,It is very crucial that this sentence and the next line form a complete sentence
|
||||
I didn't say stop.,I didn't say stop.,Ich habe nicht Stopp gesagt.,,,This line on itself should seem like a intrusive thought on its own without the contect above.
|
||||
I feel like I am not from of this world,I feel like I am not from of this world,Ich fühl mich wie von einer anderen Welt,,,
|
||||
I like being unique like that,I like being unique like that,ich mag es so besonders zu sein.,,,
|
||||
I am thankful for the few friends that get me,I am thankful for the few friends that get me,"gut, dass ich ein paar Freunde habe, die das verstehen.",,,
|
||||
I fear being rejected,I fear being rejected,"Ich habe Angst, ausgeschlossen zu werden",,,
|
||||
that makes it hard to find friends,that makes it hard to find friends,darum fällt mir Freunde finden schwer.,,,
|
||||
I'm afraid I will just get laughed at,I'm afraid I will just get laughed at,"was, wenn ich deswegen ausgelacht werde?",,,
|
||||
I am just too many things at once,I am just too many things at once,Ich bin zu viel gleichzeitig.,,,
|
||||
it is just so overwhelming for me,it is just so overwhelming for me,das ist einfach zu viel für mich.,,,
|
||||
this is just too much for others,this is just too much for others,das ist einfach zu viel für andere.,,,
|
||||
"[p]Oh, my old mask. I have so many good memories about theatre club. ","[p]Oh, my old mask. I have so many good memories about theatre club.",das ist einfach zu viel für mich.,,,
|
||||
homework,I never put in much effort for homework ,Ich habe mir nie Mühe bei Hausaufgaben gegeben,,,
|
||||
good_grades,but at least I get good grades.,aber zumindest waren meine Noten gut.,,,
|
||||
upset_peers,my peers were upset about that.,meine Klasse war deswegen sauer.,,,
|
||||
teachers,I like my teachers more than my classmates ,"Ich komm mit meinen Lehrern besser klar, als mit meiner Klasse.",,,
|
||||
volunteering,doing voluntary social service at my school would be great.,vielleicht sollte ich ein FSJ vor dem Stidum machen,,,
|
||||
becoming_teacher,maybe I want to become a teacher.,vielleicht sollte ich Lehrerin werden.,,,
|
||||
joy,I can put ages into things I enjoy ,"Ich versinke in Dingen, die mir Freude machen",,,
|
||||
worried_mother,my mother would be worried about that,meiner Mutter macht das Sorgen.,,,
|
||||
thomas_gifted,Mr Thomas thinks that makes me gifted.,Herr Thomas denkt das macht mich begabt.,,,
|
||||
comic_heroes,Comic heroes are my role models ,Comic Helden sind meine Vorbilder,,,
|
||||
effort,"when I put in the effort, I can make the world a better place","wenn ich mich nur anstrenge, kann ich die Welt verbessern!",,,
|
||||
thomas_gifted,and I want to be like agent q!,"Ich will so sein, wie Agend Clue!",,,
|
||||
boy_stuff,I like boy stuff ,Ich mag Jugns Kram,,,
|
||||
pretending,yet they think I'm just pretending,aber die denken ich tu einfach nur so.,,,
|
||||
girls,and girls don't get that.,und Mädchen verstehen das einfach nicht!,,,
|
||||
teasing,"When Jojo got teased for trying, I pretty much exploded","Ich bin ausgerastet, weil Jojo für ihre Mühe gemobbt wurde",,,
|
||||
stubborn,"I wouldn't have it any other way, even if it was for my own good","das würde ich nicht aufgeben, selbst wenn es mir helfen würde.",,,
|
||||
good_intended,I will always stand up for the good intended,"ich werde immer für Menschen einstehen, die das Richtige wollen!",,,
|
||||
jui_jutsu,I stopped doing Jui Jitsu.,Ich habe mit Jui Jutsu aufgehört,,,
|
||||
body,My body just didn't feel right,mein Körper hat sich falsch anfefühlt,,,
|
||||
girly,I just hate being treated like a girl,Ich hasse es wie ein Mädchen behandelt zu werden,,,
|
||||
hit,I know how to properly hit people ,"Ich weiß, wie man ordentlich zuschlägt",,,
|
||||
confidence,that gives me a lot of confidence.,das gibt mir viel Selbstvertrauen.,,,
|
||||
vent,and that’s a great vent.,ich kann da gut Frust ablassen.,,,
|
||||
"Lukas did not ask for consent, he didn't explain a thing, I didn’t even move! Yet he dared to assume, that ","Lukas did not ask for consent, he didn't explain a thing, I didn’t even move! Yet he dared to assume, that ","Lukas hat mich nicht gefragt, er hat nichts erklärt und trotzdem wagte er es zu glauben:",,,It is very crucial that this sentence and the next line form a complete sentence
|
||||
wet,"I was wet, so I must have been into it","Ich war feucht, also hab ichs wohl gewollt?",,,This line on itself should seem like a intrusive thought on it’s own without the contect above.
|
||||
"Lukas jumped me, he didn't even explain a thing or ask consent. I was confused and paralised, so ","Lukas jumped me, he didn't even explain a thing or ask consent. I was confused and paralised, so ","Lukas hat mich überrumpelt, er hat nichts erklärt oder überhaupt gefragt, was ich wollte. Ich war im Moment nicht mehr ich selbst und",,,It is very crucial that this sentence and the next line form a complete sentence
|
||||
stop,I didn’t say stop.,Ich habe nicht Stopp gesagt.,,,This line on itself should seem like a intrusive thought on it’s own without the contect above.
|
||||
out-of-world,I feel like I am not from of this world,Ich fühl mich wie von einer anderen Welt,,,
|
||||
unique,I like being unique like that,ich mag es so besonders zu sein.,,,
|
||||
few_friends,I am thankful for the few friends that get me,"gut, dass ich ein paar Freunde habe, die das verstehen.",,,
|
||||
rejection,I fear being rejected,"Ich habe Angst, ausgeschlossen zu werden",,,
|
||||
finding_friends,that makes it hard to find friends,darum fällt mir Freunde finden schwer.,,,
|
||||
laughed_at,I'm afraid I will just get laughed at,"was, wenn ich deswegen ausgelacht werde?",,,
|
||||
confusion,I am just too many things at once,Ich bin zu viel gleichzeitig.,,,
|
||||
inner_conflict,it is just so overwhealming for me,das ist einfach überfordernd für mich.,,,
|
||||
outer_conflict,this is just too much for others,das ist einfach überfordernd für andere.,,,
|
||||
"[p]Oh, my old mask. I have so many good memories about theatre club. ","[p]Oh, my old mask. I have so many good memories about theatre club.","[p]Nahw, meine gute alte Maske. Ich habe so schöne Erinnerungen an die Theater-AG. ",,,
|
||||
"I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... ","I would stand on my bed for entire afternoons, weeks on end, practicing my lines. Pretending to be on the big stage ... ","Ich hab den ganzen Nachmittag geübt, wochenlang. Mein Bett eine große Bühne. ",,,
|
||||
"my mom would get mad at me, when she had to call me three or four times for dinner. ","my mom would get mad at me, when she had to call me three or four times for dinner. [/p]","Es gab so oft Zoff, weil mich meine Mutter immer wieder zum Essen rufen musste.[/p]",,,
|
||||
I just … didn't like the interruptions. We both were often mad at each other.,[p]I just … didn't like the interruptions. We both were often mad at each other.[/p],[p]Ich konnte die Unterbrechungen einfach nicht ab. Wir haben uns so oft deswegen gestritten.[/p],,,
|
||||
I just … didn’t like the interruptions. We both were often mad at each other.,[p]I just … didn’t like the interruptions. We both were often mad at each other.[/p],[p]Ich konnte die Unterbrechnungen einfach nicht ab. Wir haben uns so oft deswegen gestritten.[/p],,,
|
||||
Dinner was difficult. ,[p]Dinner was difficult. ,[p]Abendbrot war die Hölle. ,,,
|
||||
"I just couldn't bring myself to eat, because I couldn't deal with the bread and my mom.","I just couldn't bring myself to eat, because I couldn't deal with the bread and my mom.[/p]","Ich weiß nicht, was mich mehr gestört hat: das Brot oder Mom.[/p]",,,
|
||||
"I just couldn’t bring myself to eat, because I couldn’t deal with the bread and my mom.","I just couldn’t bring myself to eat, because I couldn’t deal with the bread and my mom.[/p]","Ich weiß nicht, was mich mehr gestört hat: das Brot oder Mom.[/p]",,,
|
||||
She was always so worried.,[p]She was always so worried: ,[p]Sie war immer besorgt. ,,,
|
||||
" ‘Lisa, you forgot your homework, Lisa why won't you play with the other girls,""","‘Lisa, you forgot your homework, Lisa why won't you play with the other girls, ","“Lisa, deine Hausaufgaben!, Lisa, warum warst du heute nicht bei den Mädels draußen?, ",,,
|
||||
"""Lisa why didn't Steffi invite you to her birthday, Lisa this, Lisa that.’","Lisa why didn't Steffi invite you to her birthday, Lisa this, Lisa that.’[/p]","Lisa, warum hat dich Steffi nicht eingeladen?, Lisa dies, Lisa das.”[/p]",,,
|
||||
But I was fine! She just wouldn't listen.,[p]But I was fine! She just wouldn't listen.[/p],"[p]Mir ging gut, okay? Als ob sie das je interessiert hätte.[/p]",,,
|
||||
"Yes, I didn't do homework, but my teachers didn't mind it as much with me ","[p]Yes, I didn't do homework, but my teachers didn't mind it as much with me ","[p]Natürlich habe ich keine Hausaufgaben gemacht, aber das hat in der Schule bei mir auch niemand' interessiert, ",,,
|
||||
- which the other kids wouldn't shut up about. But like …,", which the other kids wouldn't shut up about. But like … ","außer meine Klasse vielleicht, aber wer interessiert sich schon für die? ",,,
|
||||
" ‘Lisa, you forgot your homework, Lisa why won’t you play with the other girls,""","‘Lisa, you forgot your homework, Lisa why won’t you play with the other girls, ","“Lisa, deine Hausaufgaben!, Lisa, warum warst du heute nicht bei den Mädels draußen?, ",,,
|
||||
"""Lisa why didn’t Steffi invite you to her birthday, Lisa this, Lisa that.’","Lisa why didn’t Steffi invite you to her birthday, Lisa this, Lisa that.’[/p]","Lisa, warum hat dich Steffi nicht eingeladen?, Lisa dies, Lisa das.”[/p]",,,
|
||||
But I was fine! She just wouldn’t listen.,[p]But I was fine! She just wouldn’t listen.[/p],"[p]Mir ging gut, okay? Als ob sie das je interessiert hätte.[/p]",,,
|
||||
"Yes, I didn’t do homework, but my teachers didn’t mind it as much with me ","[p]Yes, I didn’t do homework, but my teachers didn’t mind it as much with me ","[p]Natürlich habe ich keine Hausaufgaben gemacht, aber das hat in der Schule bei mir auch niemand' interessiert, ",,,
|
||||
- which the other kids wouldn’t shut up about. But like … ,", which the other kids wouldn’t shut up about. But like … ","außer meine Klasse vielleicht, aber wer interessiert sich schon für die? ",,,
|
||||
they also made fun of me reading school books and talking to my teachers during breaks.,they also made fun of me reading school books and talking to my teachers during breaks. ,"Vielleicht hätten die auch mal ein Buch in die Hand nehmen sollen statt sich darüber zu zerreißen, dass ich in der Pause lieber mit den Erwachsenen geredet habe. ",,,
|
||||
But at least I could fucking talk to teachers and they had stuff to say. ,But at least I could fucking talk to teachers and they had stuff to say.[/p],Immerhin konnte man mit denen reden und die haben auch was erzählt.[/p],,,
|
||||
Mr Thomas probably even understood me better than my own mom.,[p]Mr Thomas probably even understood me better than my own mom.[/p],"[p]Herr Thomas hat mich vermutlich besser verstanden, als meine eigene Mutter.[/p]",,,
|
||||
He said I was gifted. He said I just didn't need homework for good grades.,[p]He said I was gifted. He said I just didn't need homework for good grades.[/p],"[p]Er hat immer gesagt ich bin begabt, weil ich gute Noten auch ohne Hausaufgaben geschafft habe.[/p]",,,
|
||||
And he also made sure to always include extra credits. So my silly slip-ups wouldn't get me a B.,[p]And he also made sure to always include extra credits. So my silly slip-ups wouldn't get me a B.[/p],"[p]Und er hat immer Fleißaufgaben gehabt, damit ich auch mit Schusselfehlern eine Eins bekomme.[/p]",,,
|
||||
Moonlight trickled down through clouds and twigs as Dräven tapped through the night.,[p]Moonlight trickled down through clouds and twigs as Dräven tapped through the night.,"[p]Das Mondlicht spielte mit Wolken und Geäst, da lief Dräven durch die Nacht. ",,,
|
||||
He said I was gifted. He said I just didn’t need homework for good grades.,[p]He said I was gifted. He said I just didn’t need homework for good grades.[/p],"[p]Er hat immer gesagt ich bin begabt, weil ich gute Noten auch ohne Hausaufgaben geschafft habe.[/p]",,,
|
||||
And he also made sure to always include extra credits. So my silly slip-ups wouldn’t get me a B.,[p]And he also made sure to always include extra credits. So my silly slip-ups wouldn’t get me a B.[/p],"[p]Und er hat immer Fleißaufgaben gehabt, damit ich auch mit Schusselfehlern eine Eins bekomme.[/p]",,,
|
||||
Moonlight trickled down trough clouds and twigs as Dräven tapped trough the night.,[p]Moonlight trickled down trough clouds and twigs as Dräven tapped trough the night. ,"[p]Das Mondlicht spielte mit Wolken und Geäst, da lief Dräven durch die Nacht. ",,,
|
||||
He had been searching for a while and he knew a special someone must be hiding in the thicket.,He had been searching for a while and he knew a special someone must be hiding in the thicket.[/p],"Lang schon suchte er vergeblich, doch war er sich heute gewiss: jemand ganz besonderes hält sich zwischen Farnen und Gestrüpp versteckt.[/p]",,,
|
||||
"When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn't think much of it.","[p]When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn't think much of it. ","[p]Er dachte sich nichts dabei, als ihn neulich ein vertrauter Geruch zu einem Büschel Haare führte: Bronzen und so weich, wie sein eig'ner Schweif. ",,,
|
||||
"When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn’t think much of it.","[p]When a familiar smell first led him to a few bronce hairs as fluffy as his tail, he didn’t think much of it. ","[p]Er dachte sich nichts dabei, als ihn neulich ein vertrauter Geruch zu einem Büschel Haare führte: Bronzen und so weich, wie sein eigner Schweif. ",,,
|
||||
"But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind?","But then he saw paw-prints, that matched his own where he had not been. Would he finally find someone of his kind?[/p]","Doch dann Spuren, die den seinen glichen, wo er noch nicht gewesen war. Würde er endlich seinesgleichen finden?[/p]",,,
|
||||
"He was sure of it, as the familiar scent has never been stronger than tonight.","[p]He was sure of it, as the familiar scent has never been stronger than tonight.[/p]","[p]Bestimmt, denn der vertraute Duft war heute Nacht so stark, wie nie..[/p]",,,
|
||||
When suddenly: Was that chatter?,[p]When suddenly: Was that chatter?[/p],[p]Plötzlich: war das Keckern?[/p],,,
|
||||
When suddently: Was that chatter?,[p]When suddently: Was that chatter?[/p],[p]Plötzlich: war das Keckern?[/p],,,
|
||||
His wings rustled with joy over the familiar voice and Dräven decided to get a better look.,[p]His wings rustled with joy over the familiar voice and Dräven decided to get a better look. ,[p]Seine Flügel raschelten vor Freude über die vertraute Stimme und Drävens Neugier war geweckt. ,,,
|
||||
"A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend.","A few flaps and leaps brought him up a tree, to get a glimpse of his soon to be friend.[/p]","Flatternd sprang er in Wipfel, um einen Blick auf seinen baldigen Freund zu erhaschen.[/p]",,,
|
||||
But all he saw was a fox.,[p]But all he saw was a fox.[/p],[p]Doch er sah nichts als einen Fuchs.[/p],,,
|
||||
He didn't even want to bother it anymore.,[p]He didn't even want to bother it anymore.,[p]Er wollte sich dem Tier nicht einmal mehr nähern.,,,
|
||||
He didn’t even want to bother it anymore.,[p]He didn’t even want to bother it anymore. ,[p]Er wollte sich dem Tier nicht einmal mehr nähern. ,,,
|
||||
"It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots.","It would just scream and laugh at his wings of leafs, just like the trees crackled at his paws, that were no roots. ","Es würde eh nur Kreischen vor Lachen über seine Flügel aus Blättern. Genau wie die Bäume sich geschüttelt haben über seine Pfoten, die keine Wurzeln sind. ",,,
|
||||
"With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake.","With a small whimper, Dräven spread his wings, and slid away to at least find comfort by seeing his reflection in the nearby lake.[/p]",Wimmernd schlug Dräven seine Flügel auf und glitt davon zu seinem Lieblingsplatz am See. Vielleicht vermochte ihn sein Spiegelbild zu trösten.[/p],,,
|
||||
"It took him a while to notice, how there was a sudden silence when the clouds broke: ","[p]It took him a while to notice, how there was a sudden silence when the clouds broke: ","[p]Dräven hätte fast nicht gemerkt, wie der Wald den Atem anhielt, als sich die Wolken teilten. ",,,
|
||||
"Northern lights danced through the sky to form wings, that met at a sleek body made of stars and clouds.","Northern lights danced through the sky to form wings, that met at a sleek body made of stars and clouds.[/p]",Nordlicht tanzte durch den Himmel und wurde zu Flügeln an einem schlanken Körper aus Sternenlicht und Wolken.[/p],,,
|
||||
The whole forest held its breath as it stared into eyes of moonlight gazing down.,[p]The whole forest held its breath as it stared into eyes of moonlight gazing down.,"[p]Der ganze Wald sah ehrfürchtig zu Augen aus Mondlicht hinauf, die verträumt den Blick erwiderten. ",,,
|
||||
"Northern lights danced trough the sky to form wings, that met at a sleak body made of stars and clouds.","Northern lights danced trough the sky to form wings, that met at a sleak body made of stars and clouds.[/p]",Nordlicht tanzte durch den Himmel und wurde zu Flügeln an einem schlanken Körper aus Sternenlicht und Wolken.[/p],,,
|
||||
The whole forest held its breath as it stared into eyes of moonlight gazing down.,[p]The whole forest held its breath as it stared into eyes of moonlight gazing down. ,"[p]Der ganze Wald sah ehrfürchtig zu Augen aus Mondlicht hinauf, die verträumt den Blick erwiederten. ",,,
|
||||
Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. ,[p]Dräven was moved to tears when he gazed back at it. He was sad for the dragon that was of the moon and the stars and the skies. ,"[p]Dräven war zu Tränen gerührt, als er in hinauf sah. Voller Trauer um dem Drachen, der von Wolken, Sternen und Mondlicht war. ",,,
|
||||
It must feel so lost in the universe. ,It must feel so lost in the universe.[/p],Er muss sich so verloren fühlen am Himmel.[/p],,,
|
||||
But his tears were of joy: It was the first time Dräven saw another creature of many kinds.,[p]But his tears were of joy: It was the first time Dräven saw another creature of many kinds.[/p],"[p]Doch es waren Tränen der Freude. Denn es war das erste mal, dass Dräven ein anderes Viel-Wesen sah.[/p]",,,
|
||||
Why do i still have this junk lying around? its not like I want to do ju jutsu ever again. I just fucked it.,[p]Why do i still have this junk lying around? its not like I want to do ju jutsu ever again. I just fucked it.,"Boar, warum hängt hier noch dieser Müll? Ich hab Jiu Jutsu einfach verkackt.",,,
|
||||
Why do i still have this junk lying around? It’s not like I want to do ju jutsu ever again. I just fucked it.,[p]Why do i still have this junk lying around? It’s not like I want to do ju jutsu ever again. I just fucked it. ,"Boar, warum hängt hier noch dieser Müll? Ich hab Jui Jutsu einfach verkackt.",,,
|
||||
I mean I did enjoy it while it lasted. Being able to properly hit people was great. ,I mean I did enjoy it while it lasted. Being able to properly hit people was great. ,Ich meine … ich hatte Spaß damals. Leute gut Schlagen können ist großartig.,,,
|
||||
"It gave me the confidence to intimidate students, that were begging to get folded and - as I only once actually got to do that - it also was a great vent for anger. ","It gave me the confidence to intimidate students, that were begging to get folded and - as I only once actually got to do that - it also was a great vent for anger.[/p]","Es gab mir Selbstvertrauen. Ich konnte Leute einschüchtern, wenn sie darum gebettelt haben aufs Maul zu bekommen und weil ich das nur einmal tatsächlich getan habe, war es auch ein super Ventil.",,,
|
||||
I mean my tits just about killed me during warmup and the changing room really didn't need mirrors - thank you I know my hips are fat and disgusting - but at least there was Lukas.,[p]I mean my tits just about killed me during warmup and the changing room really didn't need mirrors - thank you I know my hips are fat and disgusting - but at least there was Lukas.[/p],"Ich meine … meine Titten waren die Hölle beim aufwärmen und die Umkleide hat wirklich keinen Spiegel gebraucht. Vielen Dank, ich brauche keine Erinnerung an meinen fetten Arsch. Aber wenigstens hatte ich Lukas.",,,
|
||||
I mean my tits just about killed me during warmup and the changing room really didn’t need mirrors - thank you I know my hips are fat and disgusting - but at least there was Lukas.,[p]I mean my tits just about killed me during warmup and the changing room really didn’t need mirrors - thank you I know my hips are fat and disgusting - but at least there was Lukas.[/p],"Ich meine … meine Titten waren die Hölle beim aufwärmen und die Umkleide hat wirklich keinen Spiegel gebraucht. Vielen Dank, ich brauche keine Erinnerung an meinen fetten Arsch. Aber wenigstens hatte ich Lukas.",,,
|
||||
He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion.,[p]He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion. ,Er war so ein Nerd. Er konnte so gut reden. Über Mathe. Er war in seinem dritten Semester und konnte stundenlang erzählen.,,,
|
||||
Also: my math grades pretty much leaped for my final year in high school thanks to him.,Also: my math grades pretty much leaped for my final year in high school thanks to him.,Und ich glaube mein Mathe-Abi war bestimmt drei Punkte besser durch ihn.,,,
|
||||
"He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. ","He also helped me so much with jiu jitsu, as he properly floored me when I slipped up.[/p]","Und ach bei Jui Jutsu … es hat mir so sehr geholfen, dass er mich einfach anständig hingelegt hat, wenn ich gefailed habe.",,,
|
||||
Also - unlike everyone else - he understood that I didn't want people to mind my chest.,[p]Also - unlike everyone else - he understood that I didn't want people to mind my chest.,"Und er war der einzige, der wirklich verstanden hat, dass mir egal war, ob Leute mir an die Brüste kommen.",,,
|
||||
Also: my math grades pretty much leaped for my final year in high shool thanks to him.,Also: my math grades pretty much leaped for my final year in high shool thanks to him. ,Und ich glaube mein Mathe-Abi war bestimmt drei Punkte besser durch ihn.,,,
|
||||
"He also helped me so much with jui jitsu, as he properly floored me when I slipped up. ","He also helped me so much with jui jitsu, as he properly floored me when I slipped up.[/p]","Und ach bei Jui Jutsu … es hat mir so sehr geholfen, dass er mich einfach anständig hingelegt hat, wenn ich gefailed habe.",,,
|
||||
Also - unlike everyone else - he understood that I didn’t want people to mind my chest. ,[p]Also - unlike everyone else - he understood that I didn’t want people to mind my chest. ,"Und er war der einzige, der wirklich verstanden hat, dass mir egal war, ob Leute mir an die Brüste kommen.",,,
|
||||
So Fighting for wins with him was actually rewarding even tho more often than not I ended up having to tap out.,So Fighting for wins with him was actually rewarding even tho more often than not I ended up having to tap out. ,"Mit ihm war Kämpfen so gut – auch wenn ich üblicherweise diejenige war, die abschlagen musste und nicht er.",,,
|
||||
We also had my first proper kiss. I thought I loved him. But now?,We also had my first proper kiss. I thought I loved him. But now?[/p],"Wir hatten auch meinen ersten richtigen Kuss. Ich war so verliebt, und jetzt?",,,
|
||||
He was weird that evening. Even more huggy and hyperactive than usual. ,[p]He was weird that evening. Even more huggy and hyperactive than usual.[/p],Es war so merkwürdig. Irgendwie noch hibbeliger und näher als so schon.,,,
|
||||
"We were under my bed, reading my secret comic stash when I got tired of the floor and told him we should go upstairs.","[p]We were under my bed, reading my secret comic stash when I got tired of the floor and told him we should go upstairs. ","Wir waren unterm Bett, haben meine geheime Comic-Kiste gelesen als ich keine Lust mehr auf Boden hatte und gesagt hab lass hoch gehen.",,,
|
||||
We had a play fight on my mattress. I've never seen him fight like this.,We had a play fight on my mattress. I've never seen him fight like this.,Wir haben auf meiner Matraze gekabbelt. Es war so … anders.,,,
|
||||
We had a play fight on my mattress. I’ve never seen him fight like this. ,We had a play fight on my mattress. I’ve never seen him fight like this. ,Wir haben auf meiner Matraze gekabbelt. Es war so … anders.,,,
|
||||
"His fingers Curled across my Skin without grabbing me, like he would normally do. And he let me win","His fingers Curled across my Skin without grabbing me, like he would normally do. And he let me win ",Seine Finger sind über meinen Körper geglitten ohne mich zu greifen - und er hat mich gewinnen lassen.,,,
|
||||
… with this smirk on his face.,… with this smirk on his face.[/p],mig dieses Grinsen.,,,
|
||||
"I rolled over exhausted when suddenly he sat on top of me, a pearl of sweat dropped from his nose on my throat.","[p]I rolled over exhausted when suddenly he sat on top of me, a pearl of sweat dropped from his nose on my throat. ","Ich habe mich erschöpft zur Seite gerollt, als er plötzlich auf mir saß. Eine Perle Schweiß fiel von seiner Nase auf meinen Hals",,,
|
||||
"I rolled over exhausted when suddently he sat on top of me, a pearl of sweat dropped from his nose on my throat.","[p]I rolled over exhausted when suddently he sat on top of me, a pearl of sweat dropped from his nose on my throat. ","Ich habe mich erschöpft zur Seite gerollt, als er plötzlich auf mir saß. Eine Perle Schweiß fiel von seiner Nase auf meinen Hals",,,
|
||||
He started undoing his shirt.,He started undoing his shirt.[/p],Er hat sein Hemd auf gemacht.,,,
|
||||
Do you have condoms?,[p]”Do you have condoms?”[/p],Hast du Kondome?,,,
|
||||
"Yes, of course everybody has Why did he ask that?","[p]”Yes, of course everybody has Why did he ask that?”.[/p]","Natürlich, jeder hat Kondome, warum hat er das gefragt?",,,
|
||||
"I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars.","[p]I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars.","Ich habe gesehen, wie mein Körper entkleidet wurde. Ich war schwerelos zwischen den Sternen.",,,
|
||||
My body didn't move. It didn't say a word when the butterflies tried to escape from its stomach as he kissed it.,My body didn't move. It didn't say a word when the butterflies tried to escape from its stomach as he kissed it.,"Mein Körper hat sich nicht bewegt. Mein Mund hat nichts gesagt, als die Schmetterlinge aus meinem Bauch ausbrechen wollten, weil der geküsst wurde.",,,
|
||||
"I … observed him from afar. He … didn't seem to notice, that I had left.","I … observed him from afar. He … didn't seem to notice, that I had left. ","Ich habe Lukas von Weitem beobachtet. Ihm ist nicht aufgefallen, dass ich nicht mehr da war.",,,
|
||||
That I didn't return to kiss him goodbye. That I didn't hug him when he went home.,That I didn't return to kiss him goodbye. That I didn't hug him when he went home.[/p],Dass ich ihm keinen Abschiedskuss gegeben habe. Dass ich ihn an der Tür nicht umarmt habe.,,,
|
||||
My hands knocked on my brother’s door. He let me lie on his carpet.,[p]My hands knocked on my brother’s door. He let me lie on his carpet.[/p],Meine Hände klopften an Fabis tür. Ich durfte auf seinem Teppich liegen.,,,
|
||||
My body didn’t move. It didn’t say a word when the butterflies tried to escape from it’s stomach as he kissed it.,My body didn’t move. It didn’t say a word when the butterflies tried to escape from it’s stomach as he kissed it.,"Mein Körper hat sich nicht bewegt. Mein Mund hat nichts gesagt, als die Schmetterlinge aus meinem Bauch ausbrechen wollten, weil der geküsst wurde.",,,
|
||||
"I … observed him from afar. He … didn’t seem to notice, that I had left.","I … observed him from afar. He … didn’t seem to notice, that I had left. ","Ich habe Lukas von Weitem beobachtet. Ihm ist nicht aufgefallen, dass ich nicht mehr da war.",,,
|
||||
That I didn’t return to kiss him good bye. That I didn’t hug him when he went home.,That I didn’t return to kiss him good bye. That I didn’t hug him when he went home.[/p],Dass ich ihm keinen Abschiedskuss gegeben habe. Dass ich ihn an der Tür nicht umarmt habe.,,,
|
||||
My hands knocked on my brother’s door. He let me lie on his carpet.,[p]My hands knocked on my brother’s door. He let me lie on his carpet.[/p],Meine Hände Klopften an Fabis tür. Ich durfte auf seinem Teppich liegen.,,,
|
||||
I slowly returned.,[p]I slowly returned.[/p],Langsam bin ich zurück gekehrt.,,,
|
||||
"""How did it go?, Fabian asked.","[p]""How did it go?, Fabian asked.[/p]","“Wie wars?”, fragte mein Bruder.",,,
|
||||
"""It was moist”, I said.","[p]""It was moist”, I said.[/p]","“Feucht?”, fragte ich.",,,
|
||||
"""It was moist”, I said.","[p]""It was moist”, I said.[/p]","“Feucht?”, frgte ich.",,,
|
||||
“That usually helps.”,[p]“That usually helps.”[/p],"“Das hilft.""",,,
|
||||
"He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried.","[p]He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried.[/p]","Er lachte peinlich berührt. Ich wollte auch lachen, aber ich habe mich zusammen gerollt und geweint.",,,
|
||||
It took him a while to say something. “I … you … it's fine Lisa. I know it hurts the first time.”,[p]It took him a while to say something. “I … you … it's fine Lisa. I know it hurts the first time.”,"Er hat eine Weile gebraucht um etwas zu sagen. “Ich … du … Lisa, es ist okay. Ich weiß das erste mal tut weh.""",,,
|
||||
It took him a while to say something. “I … you … it’s fine Lisa. I know it hurts the first time.” ,[p]It took him a while to say something. “I … you … it’s fine Lisa. I know it hurts the first time.” ,"Er hat eine Weile gebraucht um etwas zu sagen. “Ich … du … Lisa, es ist okay. Ich weiß das erste mal tut weh.""",,,
|
||||
He gently stroked the back I was curling towards him.,[p]He gently stroked the back I was curling towards him.,"Sanft streichelte er den Rücken, den ich ihm hin hielt.",,,
|
||||
That was good. He was a sweet angel. Why must he be so bad at comforting?,That was good. He was a sweet angel. Why must he be so bad at comforting?[/p],Das war gut. Fabi ist so gut zu mir. Warum muss er so schlecht im Trösten sein?,,,
|
||||
My secret comic stash. I remember playing Clue-Men with the boys.,[p]My secret comic stash. I remember playing Clue-Men with the boys.,Meine geheime Comic-Kiste. Wir hatten damals mit den Jungs so viel Clue-Men gespielt.,,,
|
||||
I had a voice for every character in that comic. But more often than not I played him: Agent Q.,I had a voice for every character in that comic. But more often than not I played him: Agent Q.,Ich hatte eine Stimme für jeden Charakter in diesem Comic. Am liebsten aber war ich er: Agent Clue.,,,
|
||||
My secret comic stash. I remember playing Que-Men with the boys.,[p]My secret comic stash. I remember playing Que-Men with the boys.,Meine geheime Comic-Kiste. Wir hatten damals mit den Jungs so viel Que-Men gespielt.,,,
|
||||
I had a voice for every character in that comic. But more often than not I played him: Agent Q.,I had a voice for every character in that comic. But more often than not I played him: Agent Q. ,Ich hatte eine Stimme für jeden Charakter in diesem Comic. Am liebsten aber war ich er: Agend Clue.,,,
|
||||
"Going under the radar, putting in precise work to save the world.","Going under the radar, putting in precise work to save the world. ","Mit chirurgischer Präzision im Verborgenen arbeiten, um die Welt zu retten.",,,
|
||||
Not having to deal with being a girl.,Not having to deal with being a girl.[/p],Kein Mädchen sein müssen.,,,
|
||||
"Boys were so much easier. They like cars, bikes, guns and agents.","[p]Boys were so much easier. They like cars, bikes, guns and agents.","Jungs sind so viel einfacher. Sie mögen Autos, Motorräder, Waffen und Agenten.",,,
|
||||
They don't talk behind your back. They don't think everything is about relationships.,They don't talk behind your back. They don't think everything is about relationships.,Jungs reden nicht hinter deinem Rücken. Jungs denken nicht alles dreht sich um Beziehungen.,,,
|
||||
"Girls don't get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid ","[p]Girls don't get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid ","Mädchen verstehen das nicht. Ich weiß sie haben über mich gelästert. Dass ich Jungs Kram nur gemocht hätte, um jemanden ins Bett zu kriegen.",,,
|
||||
They don’t talk behind your back. They don’t think everything is about relationships.,They don’t talk behind your back. They don’t think everything is about relationships.,Jungs reden nicht hinter deinem Rücken. Jungs denken nicht alles dreht sich um Beziehungen.,,,
|
||||
"Girls don’t get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid ","[p]Girls don’t get that. I knew they talked behind my back about me only “pretending” to like boy stuff, so I’d get laid ","Mädchen verstehen das nicht. Ich weiß sie haben über mich gelästert. Dass ich Jungs Kram nur gemocht hätte, um jemanden ins Bett zu kriegen.",,,
|
||||
"… I mean, maybe they were right?","… I mean, maybe they were right?","… ich meine, vielleicht war was dran?",,,
|
||||
Like I won't deny I was probably the first girl in my class to see a dick.,Like I won't deny I was probably the first girl in my class to see a dick.[/p],Ich hab vermutlich als erstes Mädchen meiner Stufe einen Schwanz gesehen.,,,
|
||||
"But like - that’s what the boys do, right?","[p]But like - that’s what the boys do, right?[/p]","Aber das machen Jungs halt miteinander, oder?",,,
|
||||
Like I won’t deny I was probably the first girl in my class to see a dick.,Like I won’t deny I was probably the first girl in my class to see a dick.[/p],Ich hab vermutlich als erstes Mädchen meiner Stufe einen Schwanz gesehen.,,,
|
||||
"But like - that’s what the boys do, right?","[p]But like - that’s what the boys do, right?[/p]","Aber das machen Jungs halt miteinander, nich?",,,
|
||||
At least it has gotten better after me and Jojo became friends.,[p]At least it has gotten better after me and Jojo became friends.,"Zumindest hat es sich gebessert, nachdem Jojo und ich Freundinnen wurden.",,,
|
||||
I still remember how that happened. I did a voice acting workshop in art class.,I still remember how that happened. I did a voice acting workshop in art class.,Die Geschichte ist großartig. Ich durfte in Kunst einen Vortrag über Voice Acting halten.,,,
|
||||
I still remember how that happend. I did a voice acting workshop in art class. ,I still remember how that happend. I did a voice acting workshop in art class. ,Die Geschichte ist großartig. Ich durfte in Kunst einen Vortag über Voice Acting halten.,,,
|
||||
Being allowed to share my technique in front of everyone was just :D,Being allowed to share my technique in front of everyone was just :D ,Meine Technik mit allen teilen können war einfach nur :D,,,
|
||||
I mean next to nobody put in any effort. But Jojo did.,I mean next to nobody put in any effort. But Jojo did.[/p],"Ich meine … niemand hat sich wirklich angestrengt, außer Jojo halt.",,,
|
||||
"When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded.","[p]When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded.[/p]",Langsam kam ich zurück.,,,
|
||||
I mean next to nobody put in any effort. But Jojo did.,I mean next to nobody put in any effort. But Jojo did.[/p],"Ich meine … nieman hat sich wirklich angesträngt, außer Jojo halt.",,,
|
||||
"When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded.","[p]When our Mr Funny then decided to ape her attempts instead of just minding his own, I pretty much exploded.[/p]","Als unser Klassencloun sie dann nachäffen musste anstatt sich um seinen Scheiß zu kümmern, bin ich einfach eplodiert.",,,
|
||||
"After this, we suddenly were besties. And my class finally started to just leave me be. ","[p]After this, we suddenly were besties. And my class finally started to just leave me be. ",Danach hatte ich plötzlich eine beste Freundin und endlich meine Ruhe.,,,
|
||||
Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both.,Maybe because I for once was friends with another girl. Maybe because I scared them. Maybe both.[/p],"Vielleicht, weil ich nun auch mit einem Mädchen befreundet war. Vielleicht weil die Mobber plötzlich Angst vor mir hatten. Vermutlich beides.",,,
|
||||
skip reading (hold),skip reading (hold),zum Ende springen (gedrückt halten),,,
|
||||
|
|
|
|||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -43,7 +43,6 @@ var has_stage = false:
|
|||
var dropzone_size: Vector2
|
||||
@export var dropzone_padding:int = 100
|
||||
@onready var sticky_note_container = $HBoxContainer/ScrollContainer/VBoxContainer
|
||||
@onready var board_of_devs = $"board of devs"
|
||||
@onready var current_context:int = NAVIGATE:
|
||||
set(context):
|
||||
if current_context == ASSIGN and !context == ASSIGN:
|
||||
|
|
@ -123,8 +122,8 @@ func _ready():
|
|||
dropzone_size = get_viewport_rect().size - Vector2(dropzone_padding + size_reference.minimum_size.x, dropzone_padding)
|
||||
|
||||
if get_parent() == get_tree().root:
|
||||
populate_board(["c_void", 'c_joy', "p_wet", "p_effort"])
|
||||
populate_board(["c_fighting", 'c_hit', "p_girly", "p_vent"])
|
||||
populate_board(["void", 'joy', "wet", "effort"])
|
||||
populate_board(["jui_jutsu", 'hit', "girly", "vent"])
|
||||
mementos_collected = 2
|
||||
|
||||
has_stage = has_stage
|
||||
|
|
@ -148,34 +147,37 @@ func reclaim_lost_focus():
|
|||
# currently_active_node.is_dragged = false
|
||||
|
||||
# Will be used later to spawn Cards and Post-Its and remember them in the dictionary
|
||||
func populate_board(card_names: Array[String]):
|
||||
func populate_board(card_names: Array[StringName]):
|
||||
mementos_collected += 1
|
||||
|
||||
var all_new:Dictionary = board_of_devs.get_cards_by_name_array(card_names)
|
||||
var all_new:Dictionary = HardCards.get_cards_by_name_array(card_names)
|
||||
|
||||
# spawning the cards and adding them to the dictionary
|
||||
for new_card in all_new["cards"]:
|
||||
add_card(new_card)
|
||||
add_card(new_card, false)
|
||||
for new_sticky_note in all_new["sticky_notes"]: # spawning a sticky note
|
||||
add_sticky_note(new_sticky_note)
|
||||
add_sticky_note(new_sticky_note, false)
|
||||
|
||||
#currently_active_node = area_dict["dropzone_content"][0] # set first Card as currently selected node by default
|
||||
currently_active_node = dropzone.get_child(0)
|
||||
|
||||
func add_card(card: Card):
|
||||
func add_card(card: Card, reparent:bool = true):
|
||||
if reparent:
|
||||
card.reparent(self)
|
||||
else:
|
||||
add_child(card)
|
||||
card.position = Vector2(randi_range(dropzone_padding, dropzone_size.x), randi_range(dropzone_padding, dropzone_size.y))
|
||||
insert_area(dropzone, card)
|
||||
card.set_owner(self)
|
||||
card.is_dragable = true
|
||||
|
||||
func add_sticky_note(sticky: StickyNote):
|
||||
func add_sticky_note(sticky: StickyNote, reparent:bool = true):
|
||||
var new_panel = StickyNotePanel.new()
|
||||
sticky_note_container.add_child(new_panel, true, Node.INTERNAL_MODE_DISABLED)
|
||||
#WARNING this for some reason would break the tweens
|
||||
new_panel.set_owner(self)
|
||||
sticky.current_handle = self
|
||||
new_panel.attatch_sticky_note(sticky, self, false)
|
||||
new_panel.attatch_sticky_note(sticky, self, false, reparent)
|
||||
|
||||
# Checks if a Node is currently inside the dropzone
|
||||
func is_in_dropzone(to_check: Node) -> bool:
|
||||
|
|
@ -273,8 +275,9 @@ func is_board_complete() -> bool:
|
|||
|
||||
func is_board_lore() -> bool:
|
||||
for card in dropzone.get_children():
|
||||
if card is Card:
|
||||
if card.has_sticky_note_attached():
|
||||
if not card.current_sticky_note.is_in_group(card.name): return false
|
||||
if not card.current_sticky_note.sticky_id.contains(card.card_id): return false
|
||||
return true
|
||||
|
||||
# Mark area that was hovered over as currently selected
|
||||
|
|
@ -434,7 +437,7 @@ func rebuild_from_savedict(board_state:Dictionary):
|
|||
var cards: Dictionary = board_state["cards"]
|
||||
var stickies: Dictionary = board_state["stickies"]
|
||||
|
||||
var card_pile = board_of_devs.get_cards_by_name_array(cards.keys() + (stickies.keys()))
|
||||
var card_pile = HardCards.get_cards_by_name_array(cards.keys() + (stickies.keys()))
|
||||
|
||||
for card:Card in card_pile["cards"]:
|
||||
add_card(card)
|
||||
|
|
@ -478,13 +481,10 @@ func validate_board():
|
|||
|
||||
# FIXME: currently, illegal temporary state exists a lot and needs to be rectified before this can be trusted.
|
||||
if needs_rebuild and false:
|
||||
remove_child(board_of_devs)
|
||||
|
||||
for child in dropzone.get_children(): child.free()
|
||||
for child in sticky_note_container.get_children(): child.free()
|
||||
|
||||
board_of_devs = preload("res://dev-util/board of devs.tscn").instantiate()
|
||||
add_child(board_of_devs)
|
||||
rebuild_from_savedict(last_save_dict)
|
||||
|
||||
current_dropzone_id = 0
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_resource type="SpriteFrames" load_steps=7 format=3 uid="uid://db35k2lntld0o"]
|
||||
[gd_resource type="SpriteFrames" load_steps=7 format=3 uid="uid://j7e7me3hl6xt"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://sv0nhkkur1tt" path="res://logic-scenes/board/card-textures/cardsheet.png" id="1_l4v2i"]
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,95 @@
|
|||
[gd_resource type="SpriteFrames" load_steps=14 format=3 uid="uid://bixem613olfie"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://c8ckkjmdegyis" path="res://logic-scenes/board/card-textures/postitsheet.png" id="1_c6eib"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nj16s"]
|
||||
atlas = ExtResource("1_c6eib")
|
||||
region = Rect2(0, 0, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_23tiq"]
|
||||
atlas = ExtResource("1_c6eib")
|
||||
region = Rect2(500, 0, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_aomh0"]
|
||||
atlas = ExtResource("1_c6eib")
|
||||
region = Rect2(1000, 0, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_n3svg"]
|
||||
atlas = ExtResource("1_c6eib")
|
||||
region = Rect2(1500, 0, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tfg7a"]
|
||||
atlas = ExtResource("1_c6eib")
|
||||
region = Rect2(0, 220, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dtics"]
|
||||
atlas = ExtResource("1_c6eib")
|
||||
region = Rect2(500, 220, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e0ocs"]
|
||||
atlas = ExtResource("1_c6eib")
|
||||
region = Rect2(1000, 220, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bpwg2"]
|
||||
atlas = ExtResource("1_c6eib")
|
||||
region = Rect2(1500, 220, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xaxol"]
|
||||
atlas = ExtResource("1_c6eib")
|
||||
region = Rect2(0, 440, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ifitb"]
|
||||
atlas = ExtResource("1_c6eib")
|
||||
region = Rect2(500, 440, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6slhe"]
|
||||
atlas = ExtResource("1_c6eib")
|
||||
region = Rect2(1000, 440, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4tk5m"]
|
||||
atlas = ExtResource("1_c6eib")
|
||||
region = Rect2(1500, 440, 500, 220)
|
||||
|
||||
[resource]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nj16s")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_23tiq")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_aomh0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_n3svg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tfg7a")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dtics")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_e0ocs")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bpwg2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xaxol")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ifitb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6slhe")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4tk5m")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
|
@ -26,15 +26,9 @@ var transfor_arr: Array[Transform2D] = [
|
|||
@export var text: String = "" :
|
||||
set(value):
|
||||
text = value
|
||||
if get_children() != [] or Engine.is_editor_hint():
|
||||
$Label.text = value
|
||||
var curr_frame = text.hash() % $BackgroundSprite.sprite_frames.get_frame_count($BackgroundSprite.animation)
|
||||
$BackgroundSprite.frame = text.hash() % $BackgroundSprite.sprite_frames.get_frame_count($BackgroundSprite.animation)
|
||||
$Label.rotation = deg_to_rad(transfor_arr[curr_frame].get_rotation())
|
||||
$Label.position = transfor_arr[curr_frame].origin
|
||||
if !Engine.is_editor_hint():
|
||||
wiggle_pos = float(text.hash() % 100)
|
||||
_handle_wiggle(0)
|
||||
_on_text_updated()
|
||||
var label:Label
|
||||
var background_sprite: AnimatedSprite2D
|
||||
@export var wiggle_strength: float = 0.2
|
||||
@export var wiggle_speed: float = 5
|
||||
@export_range(1, 2) var scale_bump: float = 1.05
|
||||
|
|
@ -67,8 +61,10 @@ var transfor_arr: Array[Transform2D] = [
|
|||
|
||||
@export var voice_line: AudioStream = null
|
||||
@export var is_dragable: bool = false
|
||||
@onready var diameter = $CollisionShape2D.shape.height
|
||||
@onready var sticky_note_anchor: Node2D = %StickyNoteAncor
|
||||
@export var diameter = 336.0
|
||||
|
||||
var sticky_note_position: Vector2 = Vector2(-66, 83)
|
||||
var collider: Shape2D
|
||||
|
||||
var is_dragged: bool = false:
|
||||
set(dragged):
|
||||
|
|
@ -79,46 +75,65 @@ var is_mouse_entered: bool = false
|
|||
var mouse_offset: Vector2
|
||||
|
||||
func _init(card_name: String = "card", own_id:StringName = "-1") -> void:
|
||||
if card_name != "void":
|
||||
text = card_name
|
||||
card_id = own_id
|
||||
name = "c_%s" % card_name
|
||||
|
||||
|
||||
func _ready():
|
||||
|
||||
input_event.connect(_on_input_event)
|
||||
mouse_entered.connect(_on_mouse_entered)
|
||||
mouse_exited.connect(_on_mouse_exited)
|
||||
|
||||
background_sprite = AnimatedSprite2D.new()
|
||||
background_sprite.sprite_frames = preload("res://logic-scenes/board/card-textures/card-sprites.tres")
|
||||
add_child(background_sprite, false, Node.INTERNAL_MODE_BACK)
|
||||
|
||||
label = Label.new()
|
||||
label.theme_type_variation = "card_text"
|
||||
add_child(label, false, Node.INTERNAL_MODE_BACK)
|
||||
label.size = Vector2(273.0, 131.0)
|
||||
label.position = Vector2(-135.0, -82.0)
|
||||
label.autowrap_mode = TextServer.AUTOWRAP_WORD
|
||||
|
||||
var collision_shape: = CollisionShape2D.new()
|
||||
collider = CapsuleShape2D.new()
|
||||
collider.height = diameter
|
||||
collider.radius = 110
|
||||
collision_shape.shape = collider
|
||||
|
||||
add_child(collision_shape, false, Node.INTERNAL_MODE_BACK)
|
||||
|
||||
collision_shape.rotation = PI/2
|
||||
|
||||
_handle_wiggle(0)
|
||||
if not Engine.is_editor_hint() and is_inside_tree():
|
||||
for sticky_note in self.get_children():
|
||||
if sticky_note is StickyNote: self.own_sticky_notes.append(sticky_note as StickyNote)
|
||||
|
||||
for sticky_note in get_tree().get_nodes_in_group(name):
|
||||
if sticky_note is StickyNote: self.compatible_sticky_notes.append(sticky_note as StickyNote)
|
||||
_on_text_updated()
|
||||
|
||||
compatible_sticky_notes.append_array(own_sticky_notes)
|
||||
|
||||
if own_sticky_notes.size() == 2:
|
||||
own_sticky_notes[0].sibling = own_sticky_notes[1]
|
||||
own_sticky_notes[1].sibling = own_sticky_notes[0]
|
||||
|
||||
%BackgroundSprite.frame = text.hash() % %BackgroundSprite.sprite_frames.get_frame_count(%BackgroundSprite.animation)
|
||||
$Label.text = self.text
|
||||
|
||||
$Label.theme = State.current_main_theme
|
||||
State.theme_changed.connect(func change_theme(new_theme): $Label.theme = new_theme)
|
||||
|
||||
wiggle_pos = float(text.hash() % 100)
|
||||
if not Engine.is_editor_hint():
|
||||
_handle_wiggle(0)
|
||||
func _on_text_updated():
|
||||
if is_node_ready():
|
||||
var curr_frame = text.hash() % background_sprite.sprite_frames.get_frame_count(background_sprite.animation)
|
||||
background_sprite.frame = curr_frame
|
||||
background_sprite.scale = Vector2(0.6, 0.6)
|
||||
|
||||
if text == "":
|
||||
become_void()
|
||||
if background_sprite.get_child_count() == 0:
|
||||
background_sprite.add_child(load("res://logic-scenes/board/void_stuff.tscn").instantiate(), false, Node.INTERNAL_MODE_DISABLED)
|
||||
background_sprite.clip_children = CanvasItem.CLIP_CHILDREN_AND_DRAW
|
||||
else:
|
||||
if background_sprite.get_child_count() > 0:
|
||||
background_sprite.get_child(0).queue_free()
|
||||
|
||||
func become_void():
|
||||
%BackgroundSprite.add_child(load("res://logic-scenes/board/void_stuff.tscn").instantiate())
|
||||
label.text = text
|
||||
|
||||
wiggle_pos = float(text.hash() % 100)
|
||||
|
||||
label.rotation = deg_to_rad(transfor_arr[curr_frame].get_rotation())
|
||||
label.position = transfor_arr[curr_frame].origin
|
||||
|
||||
if not Engine.is_editor_hint():
|
||||
_handle_wiggle(0)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if highlighted:
|
||||
|
|
@ -135,9 +150,6 @@ func _process(delta: float) -> void:
|
|||
|
||||
_move_card()
|
||||
|
||||
func get_text() -> String:
|
||||
return $Label.text
|
||||
|
||||
func _handle_wiggle(delta):
|
||||
wiggle_pos += delta * wiggle_speed * wiggle_intensity
|
||||
|
||||
|
|
@ -156,12 +168,6 @@ func _input(event: InputEvent) -> void:
|
|||
if event.button_index == MOUSE_BUTTON_LEFT and not event.pressed:
|
||||
is_dragged = false
|
||||
|
||||
func _on_focus_entered():
|
||||
print(self, "is focused")
|
||||
|
||||
func _on_focus_exited():
|
||||
print(self, "is not focused")
|
||||
|
||||
func _on_mouse_entered():
|
||||
is_mouse_entered = true
|
||||
if not Input.is_action_pressed("mouse_left"):
|
||||
|
|
@ -195,26 +201,26 @@ func _move_card():
|
|||
position += (get_viewport().get_mouse_position() - position) - mouse_offset
|
||||
|
||||
func has_sticky_note_attached() -> bool:
|
||||
return sticky_note_anchor.get_child_count() > 0
|
||||
return get_child_count(false) > 0
|
||||
|
||||
func get_attached_sticky_note() -> StickyNote:
|
||||
return null if not has_sticky_note_attached() else sticky_note_anchor.get_child(0)
|
||||
return null if not has_sticky_note_attached() else get_child(0)
|
||||
|
||||
func preview_sticky_note(sticky_note: StickyNote):
|
||||
sticky_note.reparent(self.get_parent())
|
||||
sticky_note.attached_to = self
|
||||
sticky_note.tween_transform_to(Transform2D(0, sticky_note_anchor.global_position + 0 * Vector2(sticky_note.diameter, sticky_note.diameter)))
|
||||
sticky_note.tween_transform_to(Transform2D(0, global_position + sticky_note_position + 0 * Vector2(sticky_note.diameter, sticky_note.diameter)))
|
||||
|
||||
func attach_sticky_note(sticky_note: StickyNote) -> bool:
|
||||
if has_sticky_note_attached():
|
||||
return false
|
||||
sticky_note.reparent(sticky_note_anchor)
|
||||
sticky_note.position = Vector2.ZERO
|
||||
sticky_note.reparent(self)
|
||||
sticky_note.position = sticky_note_position
|
||||
sticky_note.on_board = false
|
||||
current_sticky_note = sticky_note
|
||||
sticky_note.attached_to = self
|
||||
|
||||
if name == "c_hit" and sticky_note.name == "p_effort":
|
||||
if text == "hit" and sticky_note.text == "effort":
|
||||
Steam.setAchievement("FIGHT_FOR_GOOD")
|
||||
Steam.storeStats()
|
||||
|
||||
|
|
@ -242,7 +248,7 @@ func check_hover():
|
|||
|
||||
func reclaim_sticky_note():
|
||||
current_sticky_note.on_board = false
|
||||
current_sticky_note.tween_transform_to(sticky_note_anchor.global_transform)
|
||||
current_sticky_note.tween_transform_to(Transform2D(0, to_global(sticky_note_position)))
|
||||
await current_sticky_note.transform_tween_finished
|
||||
current_sticky_note.reparent(self)
|
||||
current_sticky_note.owner = self.owner
|
||||
|
|
|
|||
|
|
@ -1,46 +1,8 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://dy5rd437h5hsw"]
|
||||
[gd_scene load_steps=2 format=3 uid="uid://dy5rd437h5hsw"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://wv72dum1fe72" path="res://logic-scenes/board/card.gd" id="1_emip0"]
|
||||
[ext_resource type="SpriteFrames" uid="uid://db35k2lntld0o" path="res://logic-scenes/board/card-textures/card-sprites.tres" id="2_mdi7r"]
|
||||
[ext_resource type="Theme" uid="uid://b056fn288p8ha" path="res://logic-scenes/themes/handwriting.theme" id="3_1x4uh"]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_foovg"]
|
||||
radius = 110.0
|
||||
height = 336.0
|
||||
[ext_resource type="Script" uid="uid://2loic2eeec5b" path="res://logic-scenes/board/card.gd" id="1_emip0"]
|
||||
|
||||
[node name="card" type="Area2D"]
|
||||
script = ExtResource("1_emip0")
|
||||
text = "asdf"
|
||||
metadata/type = "card"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(-0.0713516, 0.997451)
|
||||
rotation = 1.5708
|
||||
shape = SubResource("CapsuleShape2D_foovg")
|
||||
|
||||
[node name="BackgroundSprite" type="AnimatedSprite2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
clip_children = 2
|
||||
scale = Vector2(0.6, 0.6)
|
||||
sprite_frames = ExtResource("2_mdi7r")
|
||||
frame = 1
|
||||
|
||||
[node name="Label" type="Label" parent="."]
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -126.0
|
||||
offset_top = -77.0
|
||||
offset_right = 128.0
|
||||
offset_bottom = 88.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
rotation = 0.00872665
|
||||
theme = ExtResource("3_1x4uh")
|
||||
theme_type_variation = &"card_text"
|
||||
autowrap_mode = 3
|
||||
|
||||
[node name="StickyNoteAncor" type="Node2D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(-66, 83)
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ func _ready():
|
|||
custom_minimum_size = Vector2(custom_minimum_size.x, 0)
|
||||
|
||||
var is_attatching: bool = false
|
||||
func attatch_sticky_note(attatchment: StickyNote, custom_owner: Node, tween:bool = true):
|
||||
func attatch_sticky_note(attatchment: StickyNote, custom_owner: Node, tween:bool = true, reparent:bool = true):
|
||||
is_attatching = true
|
||||
attatchment.on_board = false
|
||||
attached_sticky_note = attatchment
|
||||
|
|
@ -35,7 +35,10 @@ func attatch_sticky_note(attatchment: StickyNote, custom_owner: Node, tween:bool
|
|||
attatchment.position = ancor_position
|
||||
else:
|
||||
custom_minimum_size = minimum_size
|
||||
if reparent:
|
||||
attatchment.reparent(self)
|
||||
else:
|
||||
add_child(attatchment)
|
||||
attatchment.position = ancor_position
|
||||
is_attatching = false
|
||||
attatchment.owner = custom_owner
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
[gd_scene load_steps=10 format=3 uid="uid://bnskiyx1sksww"]
|
||||
[gd_scene load_steps=9 format=3 uid="uid://bnskiyx1sksww"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://bi3xqdknw5tpe" path="res://logic-scenes/board/board-texture/Cork002_2K_Color.png" id="1_8brxc"]
|
||||
[ext_resource type="Shader" uid="uid://kyd37e0s6fdu" path="res://logic-scenes/board/physics-board.gdshader" id="1_ggnth"]
|
||||
[ext_resource type="Script" uid="uid://cqsor57nvowni" path="res://logic-scenes/board/card-board.gd" id="3_8v4c4"]
|
||||
[ext_resource type="PackedScene" uid="uid://bvowj4l8dtceu" path="res://dev-util/board of devs.tscn" id="4_sskx2"]
|
||||
[ext_resource type="Script" uid="uid://ddy8kb2hjvgss" path="res://logic-scenes/board/card collider.gd" id="6_wpxls"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ttqei"]
|
||||
|
|
@ -49,11 +48,6 @@ horizontal_scroll_mode = 0
|
|||
[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer/ScrollContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="board of devs" parent="." instance=ExtResource("4_sskx2")]
|
||||
process_mode = 4
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
|
||||
[node name="up" type="Control" parent="."]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
|
|
|
|||
|
|
@ -24,11 +24,12 @@ signal transform_tween_finished
|
|||
|
||||
@export var text: String = "" :
|
||||
set (value):
|
||||
if is_inside_tree() or Engine.is_editor_hint():
|
||||
$Content/Label.text = value
|
||||
$Content/BackgroundSprite.frame = text.hash() % $Content/BackgroundSprite.sprite_frames.get_frame_count($Content/BackgroundSprite.animation)
|
||||
if is_node_ready():
|
||||
_on_text_updated()
|
||||
text = value
|
||||
|
||||
var content: Node2D
|
||||
var label: Label
|
||||
var background_sprite: AnimatedSprite2D
|
||||
|
||||
@export var shift_by: Vector2 = Vector2(-32, 0)
|
||||
@export_color_no_alpha var highlight_color: Color = Color(1.5, 1.5, 1.5)
|
||||
|
|
@ -44,12 +45,12 @@ signal transform_tween_finished
|
|||
modulate_tween = get_tree().create_tween()
|
||||
modulate_tween.tween_property(self, "modulate", highlight_color, 0.1)
|
||||
shift_tween = get_tree().create_tween()
|
||||
shift_tween.tween_property($Content, "position", shift_by, 0.2)
|
||||
shift_tween.tween_property(content, "position", shift_by, 0.2)
|
||||
else:
|
||||
modulate_tween = get_tree().create_tween()
|
||||
modulate_tween.tween_property(self, "modulate", Color(1, 1, 1), 0.3)
|
||||
shift_tween = get_tree().create_tween()
|
||||
shift_tween.tween_property($Content, "position", Vector2.ZERO, 0.5)
|
||||
shift_tween.tween_property(content, "position", Vector2.ZERO, 0.5)
|
||||
else:
|
||||
if highlighted:
|
||||
modulate = Color(1, 1, 1)
|
||||
|
|
@ -69,7 +70,7 @@ var is_dragged: bool = false:
|
|||
var initial_drag_position: Vector2
|
||||
var mouse_diff: Vector2
|
||||
|
||||
@onready var diameter = $CollisionShape2D.shape.height
|
||||
@onready var diameter = 312.0
|
||||
@export_range(1.0, 10.0) var bounce_speed: float = 8
|
||||
var on_board: bool = false
|
||||
|
||||
|
|
@ -79,6 +80,38 @@ func _init(sticky_name: String = "card", card_id: StringName = "-1", own_id:Stri
|
|||
sticky_id = own_id
|
||||
|
||||
func _ready() -> void:
|
||||
if get_child_count() == 0:
|
||||
content = Node2D.new()
|
||||
add_child(content, false, Node.INTERNAL_MODE_BACK)
|
||||
label = Label.new()
|
||||
label.autowrap_mode = TextServer.AUTOWRAP_WORD
|
||||
label.size = Vector2( 295.0, 97.0 )
|
||||
label.position = Vector2( -52.0, -50.0 )
|
||||
label.vertical_alignment = VERTICAL_ALIGNMENT_CENTER
|
||||
#FIXME eventually replace with better theme handling
|
||||
label.theme = State.current_main_theme
|
||||
State.theme_changed.connect(func change_theme(new_theme): label.theme = new_theme)
|
||||
content.add_child(label, false, Node.INTERNAL_MODE_BACK)
|
||||
background_sprite = AnimatedSprite2D.new()
|
||||
background_sprite.sprite_frames = preload("res://logic-scenes/board/card-textures/sticky-note_sprites.tres")
|
||||
background_sprite.scale = Vector2(0.65, 0.65)
|
||||
background_sprite.position = Vector2(99.5, 0)
|
||||
content.add_child(background_sprite, false, Node.INTERNAL_MODE_FRONT)
|
||||
var collision_shape := CollisionShape2D.new()
|
||||
var capsule := CapsuleShape2D.new()
|
||||
capsule.radius = 48.0
|
||||
capsule.height = diameter
|
||||
collision_shape.shape = capsule
|
||||
add_child(collision_shape, false, Node.INTERNAL_MODE_FRONT)
|
||||
collision_shape.position.x = 99.5
|
||||
collision_shape.rotation = PI/2
|
||||
|
||||
label.theme_type_variation = "card_text"
|
||||
else:
|
||||
label = $Content/Label
|
||||
background_sprite = $Content/BackgroundSprite
|
||||
content = $Content
|
||||
_on_text_updated()
|
||||
|
||||
input_event.connect(_on_input_event)
|
||||
mouse_entered.connect(_on_mouse_entered)
|
||||
|
|
@ -86,11 +119,11 @@ func _ready() -> void:
|
|||
area_entered.connect(_on_area_enter)
|
||||
area_exited.connect(_on_area_exit)
|
||||
|
||||
$Content/Label.text = self.text
|
||||
$Content/BackgroundSprite.frame = text.hash() % $Content/BackgroundSprite.sprite_frames.get_frame_count($Content/BackgroundSprite.animation)
|
||||
|
||||
$Content/Label.theme = State.current_main_theme
|
||||
State.theme_changed.connect(func change_theme(new_theme): $Content/Label.theme = new_theme)
|
||||
|
||||
func _on_text_updated():
|
||||
label.text = text
|
||||
background_sprite.frame = text.hash() % background_sprite.sprite_frames.get_frame_count(background_sprite.animation)
|
||||
|
||||
func replace_with(sticky_note: StickyNote):
|
||||
self.text = sticky_note.text
|
||||
|
|
@ -117,6 +150,7 @@ func _process(delta: float) -> void:
|
|||
func _on_mouse_entered():
|
||||
if not Input.is_action_pressed("mouse_left"):
|
||||
highlighted = true
|
||||
if current_handle != null:
|
||||
if "handle_hover" in current_handle:
|
||||
current_handle.handle_hover(self)
|
||||
|
||||
|
|
@ -146,7 +180,7 @@ func _on_area_exit(card: Area2D):
|
|||
card.highlighted = false
|
||||
if hovering_cards == []:
|
||||
hover_pos_shift = 0
|
||||
$Content.position = Vector2.ZERO
|
||||
content.position = Vector2.ZERO
|
||||
elif card is StickyNote and is_sticky_note_in_panel():
|
||||
attached_to.collapse_gap()
|
||||
|
||||
|
|
@ -170,7 +204,7 @@ func _move_sticky_note():
|
|||
if (closest.position - position).length() > (closest.position - position).length():
|
||||
card = closest
|
||||
closest.highlighted = true
|
||||
$Content.position = (closest.sticky_note_anchor.global_position - global_position) * hover_pos_shift
|
||||
content.position = (closest.sticky_note_anchor.global_position - global_position) * hover_pos_shift
|
||||
|
||||
func is_sticky_note_attached() -> bool:
|
||||
return attached_to is Card
|
||||
|
|
|
|||
|
|
@ -1,107 +1,16 @@
|
|||
[gd_scene load_steps=18 format=3 uid="uid://vkcdj8c3ytbq"]
|
||||
[gd_scene load_steps=5 format=3 uid="uid://vkcdj8c3ytbq"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://r12efqgk6t4n" path="res://logic-scenes/board/sticky-note.gd" id="1_yvh5n"]
|
||||
[ext_resource type="Texture2D" uid="uid://c8ckkjmdegyis" path="res://logic-scenes/board/card-textures/postitsheet.png" id="2_j17jn"]
|
||||
[ext_resource type="SpriteFrames" uid="uid://bixem613olfie" path="res://logic-scenes/board/card-textures/sticky-note_sprites.tres" id="2_260t4"]
|
||||
[ext_resource type="Theme" uid="uid://b056fn288p8ha" path="res://logic-scenes/themes/handwriting.theme" id="3_qmm0h"]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_ml4q7"]
|
||||
radius = 48.0
|
||||
height = 312.0
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nj16s"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(0, 0, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_23tiq"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(500, 0, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_aomh0"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(1000, 0, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_n3svg"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(1500, 0, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tfg7a"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(0, 220, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dtics"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(500, 220, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e0ocs"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(1000, 220, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bpwg2"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(1500, 220, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xaxol"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(0, 440, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ifitb"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(500, 440, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6slhe"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(1000, 440, 500, 220)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4tk5m"]
|
||||
atlas = ExtResource("2_j17jn")
|
||||
region = Rect2(1500, 440, 500, 220)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_2amsi"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nj16s")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_23tiq")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_aomh0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_n3svg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tfg7a")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dtics")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_e0ocs")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bpwg2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xaxol")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ifitb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6slhe")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4tk5m")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[node name="sticky-note" type="Area2D"]
|
||||
script = ExtResource("1_yvh5n")
|
||||
text = "card"
|
||||
highlight_color = Color(1.2, 1.2, 1.2, 1)
|
||||
metadata/type = "sticky-note"
|
||||
|
||||
|
|
@ -115,8 +24,8 @@ shape = SubResource("CapsuleShape2D_ml4q7")
|
|||
[node name="BackgroundSprite" type="AnimatedSprite2D" parent="Content"]
|
||||
position = Vector2(99.5, 0)
|
||||
scale = Vector2(0.65, 0.65)
|
||||
sprite_frames = SubResource("SpriteFrames_2amsi")
|
||||
frame = 5
|
||||
sprite_frames = ExtResource("2_260t4")
|
||||
frame = 3
|
||||
|
||||
[node name="Label" type="Label" parent="Content"]
|
||||
anchors_preset = 8
|
||||
|
|
@ -132,5 +41,6 @@ grow_horizontal = 2
|
|||
grow_vertical = 2
|
||||
theme = ExtResource("3_qmm0h")
|
||||
theme_type_variation = &"card_text"
|
||||
text = "card"
|
||||
vertical_alignment = 1
|
||||
autowrap_mode = 3
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
[ext_resource type="Script" uid="uid://2loic2eeec5b" path="res://logic-scenes/board/card.gd" id="1_6ceun"]
|
||||
[ext_resource type="Texture2D" uid="uid://sv0nhkkur1tt" path="res://logic-scenes/board/card-textures/cardsheet.png" id="2_buevv"]
|
||||
[ext_resource type="PackedScene" uid="uid://b2st6v25p0ley" path="res://logic-scenes/board/void_stuff.tscn" id="3_ipd1f"]
|
||||
[ext_resource type="PackedScene" path="res://logic-scenes/board/void_stuff.tscn" id="3_ipd1f"]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_aqrbw"]
|
||||
radius = 110.0
|
||||
|
|
@ -80,6 +80,7 @@ animations = [{
|
|||
|
||||
[node name="c_void" type="Area2D"]
|
||||
script = ExtResource("1_6ceun")
|
||||
text = "card"
|
||||
metadata/type = "card"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
|
|
|
|||
|
|
@ -1,8 +1,46 @@
|
|||
[gd_scene load_steps=10 format=3 uid="uid://b2st6v25p0ley"]
|
||||
[gd_scene load_steps=9 format=3 uid="uid://b2st6v25p0ley"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://kpmk21d8rlso" path="res://logic-scenes/board/particle_textures/star.png" id="1_kbpjt"]
|
||||
[ext_resource type="Texture2D" uid="uid://bqilajx05t0eb" path="res://logic-scenes/board/particle_textures/void_nomotion.png" id="2_5si5k"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_kbpjt"]
|
||||
script/source = "extends Node2D
|
||||
|
||||
@onready var particles = $GPUParticles2D
|
||||
@onready var sprite = $Sprite2D
|
||||
@onready var initial_position = position
|
||||
@onready var parent
|
||||
var noise_position = randf()
|
||||
var noise: Noise = FastNoiseLite.new()
|
||||
|
||||
func _ready() -> void:
|
||||
State.settings_changed.connect(_on_settings_updated)
|
||||
|
||||
parent = get_parent()
|
||||
|
||||
func _process(delta):
|
||||
|
||||
if not State.reduce_motion:
|
||||
|
||||
noise_position += delta * 10
|
||||
|
||||
var random_position = Vector2(noise.get_noise_1d(noise_position*2), noise.get_noise_1d(-noise_position))
|
||||
|
||||
random_position = random_position.normalized() * pow(random_position.length()*2, 3) * 5
|
||||
|
||||
parent.position = initial_position - random_position
|
||||
|
||||
parent.rotation = noise.get_noise_1d(noise_position*10) * random_position.length() * 0.01
|
||||
|
||||
particles.position = random_position
|
||||
|
||||
else: position = initial_position
|
||||
|
||||
func _on_settings_updated():
|
||||
particles.visible = !State.reduce_motion
|
||||
sprite.visible = State.reduce_motion
|
||||
"
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_v70nd"]
|
||||
interpolation_mode = 2
|
||||
offsets = PackedFloat32Array(0, 0.0529197, 0.191606, 1)
|
||||
|
|
@ -43,21 +81,8 @@ scale_curve = SubResource("CurveTexture_cg0w1")
|
|||
color_ramp = SubResource("GradientTexture1D_xxq8p")
|
||||
turbulence_noise_strength = 0.1
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_vjwk7"]
|
||||
script/source = "extends GPUParticles2D
|
||||
|
||||
func _process(_delta):
|
||||
self.visible = !State.reduce_motion
|
||||
"
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_tgc0b"]
|
||||
script/source = "extends Sprite2D
|
||||
|
||||
func _process(_delta):
|
||||
self.visible = State.reduce_motion
|
||||
"
|
||||
|
||||
[node name="void_stuff" type="Node2D"]
|
||||
script = SubResource("GDScript_kbpjt")
|
||||
|
||||
[node name="GPUParticles2D" type="GPUParticles2D" parent="."]
|
||||
amount = 500
|
||||
|
|
@ -68,10 +93,8 @@ explosiveness = 0.2
|
|||
randomness = 0.14
|
||||
local_coords = true
|
||||
process_material = SubResource("ParticleProcessMaterial_by44l")
|
||||
script = SubResource("GDScript_vjwk7")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
visible = false
|
||||
scale = Vector2(0.4, 0.4)
|
||||
texture = ExtResource("2_5si5k")
|
||||
script = SubResource("GDScript_tgc0b")
|
||||
|
|
|
|||
|
|
@ -11,8 +11,6 @@ enum {
|
|||
DONE
|
||||
}
|
||||
|
||||
@onready var source_board:Control = $"board of devs"
|
||||
|
||||
var has_stage = false:
|
||||
set(focus):
|
||||
if not focus == has_stage:
|
||||
|
|
@ -78,12 +76,12 @@ func reset():
|
|||
for player in anim_players: player.play("reveal")
|
||||
|
||||
func fill_card_slots(id: int):
|
||||
var new_cards = source_board.get_cards_by_scene_id(id)
|
||||
var new_cards = HardCards.get_cards_by_scene_id(id)
|
||||
|
||||
for i in range(new_cards.size()):
|
||||
$cards.get_child(i).remove_child($cards.get_child(i).get_child(1))
|
||||
var new_card:Card = new_cards[i]
|
||||
new_card.reparent($cards.get_child(i), false)
|
||||
$cards.get_child(i).add_child(new_card)
|
||||
new_card.owner = self
|
||||
|
||||
new_card.connect("mouse_entered", Callable(self, "get_highlight"))
|
||||
|
|
@ -93,8 +91,8 @@ func fill_card_slots(id: int):
|
|||
|
||||
func fill_post_slots():
|
||||
var sticky_notes: Array[StickyNote] = []
|
||||
for card in output:
|
||||
sticky_notes.append_array(card.own_sticky_notes)
|
||||
for card: Card in output:
|
||||
sticky_notes.append_array(HardCards.get_children_of(card.card_id))
|
||||
|
||||
for note:StickyNote in sticky_notes:
|
||||
note.current_handle = self
|
||||
|
|
@ -124,7 +122,6 @@ func _input(event):
|
|||
pick(curr_selection_id)
|
||||
elif event.is_action_pressed("skip"):
|
||||
##fixme: using skip causes a lot of invalid state
|
||||
return
|
||||
if selection_state == CARDS_SELECTED:
|
||||
transition()
|
||||
show_posts()
|
||||
|
|
@ -196,11 +193,12 @@ func transition():
|
|||
fill_post_slots()
|
||||
|
||||
await anim_players[0].animation_finished
|
||||
if selection_state != POSTS:
|
||||
show_posts()
|
||||
elif selection_state == POSTS_SELECTED:
|
||||
var out_str:Array[String] = []
|
||||
var out_str:Array[StringName] = []
|
||||
for card in output:
|
||||
out_str.append(card.name)
|
||||
out_str.append(card.text)
|
||||
cards_picked.emit(out_str)
|
||||
get_parent().get_parent().get_parent().dnd = false
|
||||
selection_state = DONE
|
||||
|
|
@ -209,7 +207,7 @@ func transition():
|
|||
func show_posts():
|
||||
selection_state = POSTS
|
||||
for player:AnimationPlayer in anim_players:
|
||||
player.play("reset")
|
||||
player.play("RESET")
|
||||
|
||||
|
||||
func handle_hover(new_highlight):
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
[gd_scene load_steps=65 format=3 uid="uid://brk4hjdf2x81a"]
|
||||
[gd_scene load_steps=64 format=3 uid="uid://brk4hjdf2x81a"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bdb6n10apk1en" path="res://logic-scenes/card_picker/card_picker.gd" id="1_pjntm"]
|
||||
[ext_resource type="PackedScene" uid="uid://dy5rd437h5hsw" path="res://logic-scenes/board/card.tscn" id="2_dqebt"]
|
||||
[ext_resource type="PackedScene" uid="uid://vkcdj8c3ytbq" path="res://logic-scenes/board/sticky-note.tscn" id="3_ggbxq"]
|
||||
[ext_resource type="PackedScene" uid="uid://bvowj4l8dtceu" path="res://dev-util/board of devs.tscn" id="4_1kvte"]
|
||||
[ext_resource type="Script" uid="uid://2loic2eeec5b" path="res://logic-scenes/board/card.gd" id="2_f4sp4"]
|
||||
[ext_resource type="Script" uid="uid://r12efqgk6t4n" path="res://logic-scenes/board/sticky-note.gd" id="3_f4sp4"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_dinvx"]
|
||||
length = 0.001
|
||||
|
|
@ -1526,8 +1525,10 @@ libraries = {
|
|||
&"": SubResource("AnimationLibrary_gdxmh")
|
||||
}
|
||||
|
||||
[node name="card" parent="cards/card_1" instance=ExtResource("2_dqebt")]
|
||||
[node name="Card" type="Area2D" parent="cards/card_1"]
|
||||
script = ExtResource("2_f4sp4")
|
||||
text = "Slot 1"
|
||||
metadata/_custom_type_script = "uid://2loic2eeec5b"
|
||||
|
||||
[node name="card_2" type="Control" parent="cards"]
|
||||
layout_mode = 2
|
||||
|
|
@ -1538,8 +1539,10 @@ libraries = {
|
|||
&"": SubResource("AnimationLibrary_oxheu")
|
||||
}
|
||||
|
||||
[node name="card" parent="cards/card_2" instance=ExtResource("2_dqebt")]
|
||||
[node name="Card" type="Area2D" parent="cards/card_2"]
|
||||
script = ExtResource("2_f4sp4")
|
||||
text = "Slot 2"
|
||||
metadata/_custom_type_script = "uid://2loic2eeec5b"
|
||||
|
||||
[node name="card_3" type="Control" parent="cards"]
|
||||
layout_mode = 2
|
||||
|
|
@ -1555,8 +1558,10 @@ libraries = {
|
|||
&"": SubResource("AnimationLibrary_8blxm")
|
||||
}
|
||||
|
||||
[node name="card" parent="cards/card_3" instance=ExtResource("2_dqebt")]
|
||||
[node name="Card" type="Area2D" parent="cards/card_3"]
|
||||
script = ExtResource("2_f4sp4")
|
||||
text = "Slot 3"
|
||||
metadata/_custom_type_script = "uid://2loic2eeec5b"
|
||||
|
||||
[node name="sticky_notes" type="Panel" parent="."]
|
||||
layout_mode = 2
|
||||
|
|
@ -1574,8 +1579,10 @@ libraries = {
|
|||
}
|
||||
autoplay = "ini"
|
||||
|
||||
[node name="sticky-note" parent="sticky_notes/sticky_note_1" instance=ExtResource("3_ggbxq")]
|
||||
text = "Post 1"
|
||||
[node name="StickyNote" type="Area2D" parent="sticky_notes/sticky_note_1"]
|
||||
script = ExtResource("3_f4sp4")
|
||||
text = "Slot 1"
|
||||
metadata/_custom_type_script = "uid://r12efqgk6t4n"
|
||||
|
||||
[node name="sticky_note_2" type="Control" parent="sticky_notes"]
|
||||
layout_mode = 2
|
||||
|
|
@ -1590,8 +1597,10 @@ libraries = {
|
|||
}
|
||||
autoplay = "ini"
|
||||
|
||||
[node name="sticky-note" parent="sticky_notes/sticky_note_2" instance=ExtResource("3_ggbxq")]
|
||||
text = "Post 2"
|
||||
[node name="StickyNote" type="Area2D" parent="sticky_notes/sticky_note_2"]
|
||||
script = ExtResource("3_f4sp4")
|
||||
text = "Slot 2"
|
||||
metadata/_custom_type_script = "uid://r12efqgk6t4n"
|
||||
|
||||
[node name="sticky_note_3" type="Control" parent="sticky_notes"]
|
||||
layout_mode = 2
|
||||
|
|
@ -1606,8 +1615,10 @@ libraries = {
|
|||
}
|
||||
autoplay = "ini"
|
||||
|
||||
[node name="sticky-note" parent="sticky_notes/sticky_note_3" instance=ExtResource("3_ggbxq")]
|
||||
text = "Post 3"
|
||||
[node name="StickyNote" type="Area2D" parent="sticky_notes/sticky_note_3"]
|
||||
script = ExtResource("3_f4sp4")
|
||||
text = "Slot 3"
|
||||
metadata/_custom_type_script = "uid://r12efqgk6t4n"
|
||||
|
||||
[node name="sticky_note_4" type="Control" parent="sticky_notes"]
|
||||
layout_mode = 2
|
||||
|
|
@ -1622,12 +1633,10 @@ libraries = {
|
|||
}
|
||||
autoplay = "ini"
|
||||
|
||||
[node name="sticky-note" parent="sticky_notes/sticky_note_4" instance=ExtResource("3_ggbxq")]
|
||||
text = "Post 4"
|
||||
|
||||
[node name="board of devs" parent="." instance=ExtResource("4_1kvte")]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
[node name="StickyNote" type="Area2D" parent="sticky_notes/sticky_note_4"]
|
||||
script = ExtResource("3_f4sp4")
|
||||
text = "Slot 4"
|
||||
metadata/_custom_type_script = "uid://r12efqgk6t4n"
|
||||
|
||||
[node name="thought_prompt" type="Control" parent="."]
|
||||
layout_mode = 2
|
||||
|
|
|
|||
Loading…
Reference in New Issue