commit 1d05d27eb7a905454ea99e986083d0b2fef7a732 Author: chimchooree Date: Sat Mar 4 18:01:20 2023 -0600 blocked out a prose module diff --git a/.import/.gdignore b/.import/.gdignore new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.import/.gdignore @@ -0,0 +1 @@ + diff --git a/.import/Text.csv-faa6f290f79c1ee2595317848795c782.md5 b/.import/Text.csv-faa6f290f79c1ee2595317848795c782.md5 new file mode 100644 index 0000000..878331d --- /dev/null +++ b/.import/Text.csv-faa6f290f79c1ee2595317848795c782.md5 @@ -0,0 +1,3 @@ +source_md5="b3ee3b197af6bdf6b469f88bc97a2b5b" +dest_md5="5cc453001da2def085d615be60a0b9c4" + diff --git a/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 new file mode 100644 index 0000000..5328bc7 --- /dev/null +++ b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 @@ -0,0 +1,3 @@ +source_md5="47313fa4c47a9963fddd764e1ec6e4a8" +dest_md5="26ea799ea0a3da9e753b3ebe822e0570" + diff --git a/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex new file mode 100644 index 0000000..71f6913 Binary files /dev/null and b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex differ diff --git a/Lemon.gd b/Lemon.gd new file mode 100644 index 0000000..8366894 --- /dev/null +++ b/Lemon.gd @@ -0,0 +1,8 @@ +extends Node + +# Lemonland Prose Box + +onready var ui = $UI + +func _ready(): + TranslationServer.set_locale("en") diff --git a/LemonProse.tscn b/LemonProse.tscn new file mode 100644 index 0000000..4221579 --- /dev/null +++ b/LemonProse.tscn @@ -0,0 +1,26 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Lemon.gd" type="Script" id=1] +[ext_resource path="res://UI.gd" type="Script" id=2] +[ext_resource path="res://UI/DialogBox.gd" type="Script" id=3] + +[node name="LemonProse" type="Node"] +script = ExtResource( 1 ) + +[node name="UI" type="PanelContainer" parent="."] +margin_right = 584.0 +margin_bottom = 65.0 +rect_min_size = Vector2( 584, 65 ) +script = ExtResource( 2 ) + +[node name="Prose" type="RichTextLabel" parent="UI"] +margin_left = 7.0 +margin_top = 7.0 +margin_right = 577.0 +margin_bottom = 58.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +text = "You are in the Customs Office. +WARNING: You have no light source. +Dan is hungry. You should feed him soon." +script = ExtResource( 3 ) diff --git a/Res/Text/Text.csv b/Res/Text/Text.csv new file mode 100644 index 0000000..c243953 --- /dev/null +++ b/Res/Text/Text.csv @@ -0,0 +1,69 @@ +id,pr,en +sbshou,,shoutbox +sbchin,,shout something… +sbjoin,,join +sbhost,,host +sbleav,,leave +sbusna,,username +stwe01,,"Yet another immigrant. So you want in, too, huh? Hmmm. \nWhat, are you just going to stand there? Come over. Let me look at you." +stwe02,,"Well, you look like a slacker. I don’t know – the boss might be mad." +stwe03,,"You look like a good kid. I want to help you get here, but the boss would get mad." +stwe04,,"You must have come a long way, tho’, so I would hate to see you turned away." +stwe05,,… +stwe06,,Mmmm – here. Just fill out these forms real quick. /n The boss could return any minute. +acwe01,,take forms +foifna,,Name +foifdo,,Date of Birth +foifge,,Gender +foifbo,,Boy +foifgi,,Girl +foifal,,Alien +foifpa,,Password +foifap,,Password Again +foifse,,"You must pick either an email OR a Security Q&A, so you can retrieve your documentation when you inevitably lose it." +foifem,,Email +foifsq,,Security Question +foifsa,,Security Answer +foifrp,,Pets! +foifrc,,Collecting! +foifrg,,Playing games! +foifrf,,Making friends! +foifri,,I don’t know! +foifre,,Exploring! +foifbs,,Submit Form +foifb1,,Fill these forms real quick. The boss will be here any minute. +foifb2,,I've never seen a name like that. How...exotic. Can you spell it out in English characters to make it more...normal? +tijanu,,January +tifebu,,February +timarc,,March +tiapri,,April +timaya,,May +tijune,,June +tijuly,,July +tiaugu,,August +tiocto,,October +tinove,,November +tidece,,December +tisept,,September +tiun13,,Under 13 years old +tiov13,,13 years old or older +foifb3,,"Whoa, is that really your name? Um, keep in mind we potentially have younger citizens. Of course, if that name is not offensive in your culture, I get it, happens all the time. Just understand the leaders of the land will have you rename yourself if they find it too offensive." +ru0001,,"Avoid being offensive. Keep cussing to a respectful minimum. If you keep it PG-13 and are not mean-spirited, you are probably fine. Violaters with offensive names will either have to rename or be renamed." +ru0002,,"Do not share your account information with anyone, even staff. Keep your username, email, password, security questions, etc secret." +ru0003,,"Do not share personally identifiable information or photos. If you do, your content may be redacted to protect your privacy." +ru0004,,"Do not trade in-game assets for real world currency, goods, or services." +ru0005,,Targeted harassment is not allowed. Make no attempts to evade chat filters or blocklists. +ru0006,,"These are not rules. They are guidelines. If I feel you are harming other members, the site, or the economy, but in a way that is not addressed by the rules, I reserve the right to moderate you." +ru0007,,No spamming. Do not obstruct chat or gameplay for others. +ru0008,,"Do not take advantage of bugs or glitches. If you find any, you will be rewarded a bounty instead. Report typos for a smaller bounty." +foifb4,,I already know a {name}. Having two would just be awkward. Can you use a nickname instead or choose a totally different name? +foifb5,,"Oh, sorry…we can’t accept unacccompanied minors. Come back when you are 13, kid. The adult responsible for you can fill out the form on your behalf, so long as they keep an eye on you while in Lemonland. You...did bring an adult with you, right?" +foifb6,,"Are you aware your password is in the top 10 most common passwords? Sorry. I just can’t in good conscious let you use this. Instead, try a string of four memorable words like “correcthorsebatterystaple.""" +foifb7,,Your passwords don’t match. +foifb8,,Your email isn’t valid. Fix it or use a security Q&A instead. Or both! +foifb9,,You must use at least one: an email OR a security Q&A. +foif10,,You forgot your name. +foif11,,You forgot to write your password. +acwe02,,Begin the immigration process +acwe03,,Why join Lemonland? +acwe04,,View laws of the land diff --git a/Res/Text/Text.csv.import b/Res/Text/Text.csv.import new file mode 100644 index 0000000..d83d200 --- /dev/null +++ b/Res/Text/Text.csv.import @@ -0,0 +1,16 @@ +[remap] + +importer="csv_translation" +type="Translation" + +[deps] + +files=[ "res://Res/Text/Text.pr.translation", "res://Res/Text/Text.en.translation" ] + +source_file="res://Res/Text/Text.csv" +dest_files=[ "res://Res/Text/Text.pr.translation", "res://Res/Text/Text.en.translation" ] + +[params] + +compress=true +delimiter=0 diff --git a/Res/Text/Text.en.translation b/Res/Text/Text.en.translation new file mode 100644 index 0000000..f238094 Binary files /dev/null and b/Res/Text/Text.en.translation differ diff --git a/Res/Text/Text.pr.translation b/Res/Text/Text.pr.translation new file mode 100644 index 0000000..78fdd78 Binary files /dev/null and b/Res/Text/Text.pr.translation differ diff --git a/Res/Text/censor.txt b/Res/Text/censor.txt new file mode 100644 index 0000000..b59ad2a --- /dev/null +++ b/Res/Text/censor.txt @@ -0,0 +1,144 @@ +abortion +anal +antifa +anus +areola +ass +bastard +bdsm +beaner +beastiality +bicurious +bisexual +bitch +blowjob +blueball +boob +breast +bunghole +butt +chink +clit +cock +coitus +commie +communist +condom +crackpipe +crap +crotch +cuck +cum +cunt +damn +darkie +darky +deadname +deepthroat +dick +dildo +drug +dyke +erection +faeces +fag +fart +feces +femboy +femoid +fister +fisting +foreskin +fornicate +fuck +gasm +gay +gender +genital +goldenshower +gook +goy +gyp +heroin +hitler +homo +horny +hump +hymen +incest +intercourse +jackoff +jerkoff +jew +jizz +kink +kkk +kike +lactate +lesbian +lesbo +lezbo +lsd +lube +marijuana +masturbate +menstral +meth +molest +muff +nazi +negroid +nig +nipple +orgy +pedo +penis +pimp +piss +poop +porn +prostitute +pubic +pussy +queef +queer +racial +racist +rapist +rimjob +roastie +schizo +scrotum +semen +sex +shit +skank +slanteye +slut +sodom +spastic +spaz +sucker +swastika +syphilis +tarbaby +tard +testicle +tits +titty +titties +tranny +trans +twat +urinary +urinate +uterus +vagina +vestite +vibrator +virgin +vulva +wank +weed +whore +zipperhead diff --git a/Story/Story.gd b/Story/Story.gd new file mode 100644 index 0000000..72b69e4 --- /dev/null +++ b/Story/Story.gd @@ -0,0 +1,12 @@ +extends Node + +var action_box +var dialog_box + +func setup(): + dialog_box.update_dialog({'portrait': '', 'name': '', 'line': "stwe01"}) + action_box.update_actions({'actions': ['acwe02','acwe03','acwe04']}) + +func _ready(): + add_to_group("setup") + add_to_group("storyteller") diff --git a/UI.gd b/UI.gd new file mode 100644 index 0000000..3d8ae86 --- /dev/null +++ b/UI.gd @@ -0,0 +1,9 @@ +extends PanelContainer + +onready var prose = $Prose + +func update_dialog(dict): + prose.set_text(tr(dict['line'])) + +func _ready(): + add_to_group("dialog_box") diff --git a/UI/DialogBox.gd b/UI/DialogBox.gd new file mode 100644 index 0000000..43dbd9d --- /dev/null +++ b/UI/DialogBox.gd @@ -0,0 +1,9 @@ +extends RichTextLabel + +var storyteller + +func update_dialog(dict): + set_text(tr(dict['line'])) + +func _ready(): + add_to_group("dialog_box") diff --git a/UI/UI.gd b/UI/UI.gd new file mode 100644 index 0000000..79320dc --- /dev/null +++ b/UI/UI.gd @@ -0,0 +1,12 @@ +extends PanelContainer + +onready var action = $HBox/Content/Game/VBox/HBox2/VBox/Action +onready var messages = $HBox/Content/Game/VBox/Messages +onready var partner = $HBox/Content/Game/VBox/HBox2/Partner +onready var PDA = $HBox/Content/Game/VBox/HBox/PDA +onready var shoutbox = $HBox/Shoutbox +onready var whatnow = $HBox/Content/Game/VBox/HBox2/VBox/WhatNow +onready var view = $HBox/Content/Game/VBox/HBox/View + +func send_chat_message(id, msg): + get_parent().send_chat_message(id, msg) diff --git a/UI/UI.tscn b/UI/UI.tscn new file mode 100644 index 0000000..8b267e8 --- /dev/null +++ b/UI/UI.tscn @@ -0,0 +1,132 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://UI/DialogBox.gd" type="Script" id=1] +[ext_resource path="res://UI/Shoutbox/Shoutbox.tscn" type="PackedScene" id=2] +[ext_resource path="res://UI/UI.gd" type="Script" id=3] +[ext_resource path="res://UI/Action.gd" type="Script" id=4] +[ext_resource path="res://icon.png" type="Texture" id=5] + +[sub_resource type="Theme" id=1] + +[sub_resource type="StyleBoxTexture" id=2] +texture = ExtResource( 5 ) +region_rect = Rect2( 0, 0, 64, 64 ) + +[node name="UI" type="PanelContainer"] +margin_right = 800.0 +margin_bottom = 600.0 +rect_min_size = Vector2( 800, 600 ) +rect_clip_content = true +size_flags_horizontal = 3 +size_flags_vertical = 3 +script = ExtResource( 3 ) + +[node name="HBox" type="HBoxContainer" parent="."] +margin_left = 7.0 +margin_top = 7.0 +margin_right = 793.0 +margin_bottom = 593.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Content" type="PanelContainer" parent="HBox"] +margin_right = 612.0 +margin_bottom = 586.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="Game" type="PanelContainer" parent="HBox/Content"] +margin_left = 7.0 +margin_top = 7.0 +margin_right = 605.0 +margin_bottom = 579.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="VBox" type="VBoxContainer" parent="HBox/Content/Game"] +margin_left = 7.0 +margin_top = 7.0 +margin_right = 591.0 +margin_bottom = 565.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="HBox" type="HBoxContainer" parent="HBox/Content/Game/VBox"] +margin_right = 584.0 +margin_bottom = 335.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="View" type="TextureRect" parent="HBox/Content/Game/VBox/HBox"] +margin_right = 375.0 +margin_bottom = 335.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +texture = ExtResource( 5 ) +expand = true + +[node name="PDA" type="PanelContainer" parent="HBox/Content/Game/VBox/HBox"] +margin_left = 379.0 +margin_right = 584.0 +margin_bottom = 335.0 +rect_min_size = Vector2( 205, 335 ) +size_flags_horizontal = 0 +size_flags_vertical = 0 +theme = SubResource( 1 ) +custom_styles/panel = SubResource( 2 ) + +[node name="Messages" type="RichTextLabel" parent="HBox/Content/Game/VBox"] +margin_top = 339.0 +margin_right = 584.0 +margin_bottom = 404.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +text = "You are in the Customs Office. +WARNING: You have no light source. +Dan is hungry. You should feed him soon." +script = ExtResource( 1 ) + +[node name="HBox2" type="HBoxContainer" parent="HBox/Content/Game/VBox"] +margin_top = 408.0 +margin_right = 584.0 +margin_bottom = 558.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="VBox" type="VBoxContainer" parent="HBox/Content/Game/VBox/HBox2"] +margin_right = 430.0 +margin_bottom = 150.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="WhatNow" type="Label" parent="HBox/Content/Game/VBox/HBox2/VBox"] +margin_right = 430.0 +margin_bottom = 73.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +text = "What will you do now...?" +valign = 2 + +[node name="Action" type="GridContainer" parent="HBox/Content/Game/VBox/HBox2/VBox"] +margin_top = 77.0 +margin_right = 430.0 +margin_bottom = 150.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +columns = 2 +script = ExtResource( 4 ) + +[node name="Partner" type="TextureRect" parent="HBox/Content/Game/VBox/HBox2"] +margin_left = 434.0 +margin_right = 584.0 +margin_bottom = 150.0 +rect_min_size = Vector2( 150, 150 ) +size_flags_horizontal = 0 +size_flags_vertical = 0 +texture = ExtResource( 5 ) +expand = true + +[node name="Shoutbox" parent="HBox" instance=ExtResource( 2 )] +margin_left = 616.0 +rect_min_size = Vector2( 170, 0 ) +size_flags_horizontal = 0 diff --git a/default_env.tres b/default_env.tres new file mode 100644 index 0000000..20207a4 --- /dev/null +++ b/default_env.tres @@ -0,0 +1,7 @@ +[gd_resource type="Environment" load_steps=2 format=2] + +[sub_resource type="ProceduralSky" id=1] + +[resource] +background_mode = 2 +background_sky = SubResource( 1 ) diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100644 index 0000000..3403b1d --- /dev/null +++ b/export_presets.cfg @@ -0,0 +1,24 @@ +[preset.0] + +name="Linux/X11" +platform="Linux/X11" +runnable=true +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="../Exports/Lemonland/Lemonland.x86_64" +script_export_mode=1 +script_encryption_key="" + +[preset.0.options] + +custom_template/debug="" +custom_template/release="" +binary_format/64_bits=true +binary_format/embed_pck=false +texture_format/bptc=false +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false +texture_format/no_bptc_fallbacks=true diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..c98fbb6 Binary files /dev/null and b/icon.png differ diff --git a/icon.png.import b/icon.png.import new file mode 100644 index 0000000..a4c02e6 --- /dev/null +++ b/icon.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.png" +dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..6ec62db --- /dev/null +++ b/project.godot @@ -0,0 +1,36 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=4 + +[application] + +config/name="LemonProse" +run/main_scene="res://LemonProse.tscn" +config/icon="res://icon.png" + +[display] + +window/size/width=584 +window/size/height=65 + +[gui] + +common/drop_mouse_on_gui_input_disabled=true + +[locale] + +translations=PoolStringArray( "res://Res/Text/Text.en.translation", "res://Res/Text/Text.pr.translation" ) + +[physics] + +common/enable_pause_aware_picking=true + +[rendering] + +environment/default_environment="res://default_env.tres"