Compare commits

...

17 commits

Author SHA1 Message Date
Jacob Janzen
defb92abd5 fix project settings 2024-11-17 15:52:51 -06:00
Zoey Kitt
03efa21bae Merge branch 'main' into clippette-dialogue 2024-11-17 15:51:37 -06:00
Zoey Kitt
4fc8ff1304 I forgor 2024-11-17 15:48:09 -06:00
Zoey Kitt
3f61a10428 Ad message 2024-11-17 15:35:22 -06:00
Jacob Janzen
67371be013 fix for real this time 2024-11-17 15:32:50 -06:00
Jacob Janzen
8a14702e10 undo skew 2024-11-17 15:30:55 -06:00
Jacob Janzen
2fdd1ee74c fix things i think 2024-11-17 15:30:42 -06:00
Jacob Janzen
f1c476b3f1 score insanity 2024-11-17 15:25:49 -06:00
Zoey Kitt
def01c3c37 Lose money when losing fishing :( 2024-11-17 15:18:56 -06:00
Zoey Kitt
a0e3df5b4c Merge branch 'main' into fully_generalized_fish 2024-11-17 15:10:46 -06:00
Zoey Kitt
cd2144e9bb THE WHALE 2024-11-17 15:03:55 -06:00
Zoey Kitt
6b563d96d5 Oops I only committed the sounds (what is git amend) 2024-11-17 15:03:55 -06:00
Zoey Kitt
ac49d94178 The rest of the guys 2024-11-17 15:03:55 -06:00
Zoey Kitt
8102749611 Salmon 2024-11-17 15:03:55 -06:00
Zoey Kitt
5283cc1d09 Proof of concept (specialized generalized fish) 2024-11-17 15:03:36 -06:00
Jacob Janzen
d267483d31 add losing sound effect 2024-11-17 14:54:34 -06:00
Jacob Janzen
8ccae5aad9 add losing money 2024-11-17 14:46:56 -06:00
15 changed files with 580 additions and 11 deletions

289
export_presets.cfg Normal file
View file

@ -0,0 +1,289 @@
[preset.0]
name="macOS"
platform="macOS"
runnable=true
advanced_options=false
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="./Overstimulator Oversimulator 2.dmg"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.0.options]
export/distribution_type=1
binary_format/architecture="universal"
custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=1
application/icon=""
application/icon_interpolation=4
application/bundle_identifier="relaxingfishinggame"
application/signature=""
application/app_category="Games"
application/short_version=""
application/version=""
application/copyright=""
application/copyright_localized={}
application/min_macos_version="10.12"
application/export_angle=0
display/high_res=true
application/additional_plist_content=""
xcode/platform_build="14C18"
xcode/sdk_version="13.1"
xcode/sdk_build="22C55"
xcode/sdk_name="macosx13.1"
xcode/xcode_version="1420"
xcode/xcode_build="14C18"
codesign/codesign=3
codesign/installer_identity=""
codesign/apple_team_id=""
codesign/identity=""
codesign/entitlements/custom_file=""
codesign/entitlements/allow_jit_code_execution=false
codesign/entitlements/allow_unsigned_executable_memory=false
codesign/entitlements/allow_dyld_environment_variables=false
codesign/entitlements/disable_library_validation=false
codesign/entitlements/audio_input=false
codesign/entitlements/camera=false
codesign/entitlements/location=false
codesign/entitlements/address_book=false
codesign/entitlements/calendars=false
codesign/entitlements/photos_library=false
codesign/entitlements/apple_events=false
codesign/entitlements/debugging=false
codesign/entitlements/app_sandbox/enabled=false
codesign/entitlements/app_sandbox/network_server=false
codesign/entitlements/app_sandbox/network_client=false
codesign/entitlements/app_sandbox/device_usb=false
codesign/entitlements/app_sandbox/device_bluetooth=false
codesign/entitlements/app_sandbox/files_downloads=0
codesign/entitlements/app_sandbox/files_pictures=0
codesign/entitlements/app_sandbox/files_music=0
codesign/entitlements/app_sandbox/files_movies=0
codesign/entitlements/app_sandbox/files_user_selected=0
codesign/entitlements/app_sandbox/helper_executables=[]
codesign/custom_options=PackedStringArray()
notarization/notarization=0
privacy/microphone_usage_description=""
privacy/microphone_usage_description_localized={}
privacy/camera_usage_description=""
privacy/camera_usage_description_localized={}
privacy/location_usage_description=""
privacy/location_usage_description_localized={}
privacy/address_book_usage_description=""
privacy/address_book_usage_description_localized={}
privacy/calendar_usage_description=""
privacy/calendar_usage_description_localized={}
privacy/photos_library_usage_description=""
privacy/photos_library_usage_description_localized={}
privacy/desktop_folder_usage_description=""
privacy/desktop_folder_usage_description_localized={}
privacy/documents_folder_usage_description=""
privacy/documents_folder_usage_description_localized={}
privacy/downloads_folder_usage_description=""
privacy/downloads_folder_usage_description_localized={}
privacy/network_volumes_usage_description=""
privacy/network_volumes_usage_description_localized={}
privacy/removable_volumes_usage_description=""
privacy/removable_volumes_usage_description_localized={}
privacy/tracking_enabled=false
privacy/tracking_domains=PackedStringArray()
privacy/collected_data/name/collected=false
privacy/collected_data/name/linked_to_user=false
privacy/collected_data/name/used_for_tracking=false
privacy/collected_data/name/collection_purposes=0
privacy/collected_data/email_address/collected=false
privacy/collected_data/email_address/linked_to_user=false
privacy/collected_data/email_address/used_for_tracking=false
privacy/collected_data/email_address/collection_purposes=0
privacy/collected_data/phone_number/collected=false
privacy/collected_data/phone_number/linked_to_user=false
privacy/collected_data/phone_number/used_for_tracking=false
privacy/collected_data/phone_number/collection_purposes=0
privacy/collected_data/physical_address/collected=false
privacy/collected_data/physical_address/linked_to_user=false
privacy/collected_data/physical_address/used_for_tracking=false
privacy/collected_data/physical_address/collection_purposes=0
privacy/collected_data/other_contact_info/collected=false
privacy/collected_data/other_contact_info/linked_to_user=false
privacy/collected_data/other_contact_info/used_for_tracking=false
privacy/collected_data/other_contact_info/collection_purposes=0
privacy/collected_data/health/collected=false
privacy/collected_data/health/linked_to_user=false
privacy/collected_data/health/used_for_tracking=false
privacy/collected_data/health/collection_purposes=0
privacy/collected_data/fitness/collected=false
privacy/collected_data/fitness/linked_to_user=false
privacy/collected_data/fitness/used_for_tracking=false
privacy/collected_data/fitness/collection_purposes=0
privacy/collected_data/payment_info/collected=false
privacy/collected_data/payment_info/linked_to_user=false
privacy/collected_data/payment_info/used_for_tracking=false
privacy/collected_data/payment_info/collection_purposes=0
privacy/collected_data/credit_info/collected=false
privacy/collected_data/credit_info/linked_to_user=false
privacy/collected_data/credit_info/used_for_tracking=false
privacy/collected_data/credit_info/collection_purposes=0
privacy/collected_data/other_financial_info/collected=false
privacy/collected_data/other_financial_info/linked_to_user=false
privacy/collected_data/other_financial_info/used_for_tracking=false
privacy/collected_data/other_financial_info/collection_purposes=0
privacy/collected_data/precise_location/collected=false
privacy/collected_data/precise_location/linked_to_user=false
privacy/collected_data/precise_location/used_for_tracking=false
privacy/collected_data/precise_location/collection_purposes=0
privacy/collected_data/coarse_location/collected=false
privacy/collected_data/coarse_location/linked_to_user=false
privacy/collected_data/coarse_location/used_for_tracking=false
privacy/collected_data/coarse_location/collection_purposes=0
privacy/collected_data/sensitive_info/collected=false
privacy/collected_data/sensitive_info/linked_to_user=false
privacy/collected_data/sensitive_info/used_for_tracking=false
privacy/collected_data/sensitive_info/collection_purposes=0
privacy/collected_data/contacts/collected=false
privacy/collected_data/contacts/linked_to_user=false
privacy/collected_data/contacts/used_for_tracking=false
privacy/collected_data/contacts/collection_purposes=0
privacy/collected_data/emails_or_text_messages/collected=false
privacy/collected_data/emails_or_text_messages/linked_to_user=false
privacy/collected_data/emails_or_text_messages/used_for_tracking=false
privacy/collected_data/emails_or_text_messages/collection_purposes=0
privacy/collected_data/photos_or_videos/collected=false
privacy/collected_data/photos_or_videos/linked_to_user=false
privacy/collected_data/photos_or_videos/used_for_tracking=false
privacy/collected_data/photos_or_videos/collection_purposes=0
privacy/collected_data/audio_data/collected=false
privacy/collected_data/audio_data/linked_to_user=false
privacy/collected_data/audio_data/used_for_tracking=false
privacy/collected_data/audio_data/collection_purposes=0
privacy/collected_data/gameplay_content/collected=false
privacy/collected_data/gameplay_content/linked_to_user=false
privacy/collected_data/gameplay_content/used_for_tracking=false
privacy/collected_data/gameplay_content/collection_purposes=0
privacy/collected_data/customer_support/collected=false
privacy/collected_data/customer_support/linked_to_user=false
privacy/collected_data/customer_support/used_for_tracking=false
privacy/collected_data/customer_support/collection_purposes=0
privacy/collected_data/other_user_content/collected=false
privacy/collected_data/other_user_content/linked_to_user=false
privacy/collected_data/other_user_content/used_for_tracking=false
privacy/collected_data/other_user_content/collection_purposes=0
privacy/collected_data/browsing_history/collected=false
privacy/collected_data/browsing_history/linked_to_user=false
privacy/collected_data/browsing_history/used_for_tracking=false
privacy/collected_data/browsing_history/collection_purposes=0
privacy/collected_data/search_hhistory/collected=false
privacy/collected_data/search_hhistory/linked_to_user=false
privacy/collected_data/search_hhistory/used_for_tracking=false
privacy/collected_data/search_hhistory/collection_purposes=0
privacy/collected_data/user_id/collected=false
privacy/collected_data/user_id/linked_to_user=false
privacy/collected_data/user_id/used_for_tracking=false
privacy/collected_data/user_id/collection_purposes=0
privacy/collected_data/device_id/collected=false
privacy/collected_data/device_id/linked_to_user=false
privacy/collected_data/device_id/used_for_tracking=false
privacy/collected_data/device_id/collection_purposes=0
privacy/collected_data/purchase_history/collected=false
privacy/collected_data/purchase_history/linked_to_user=false
privacy/collected_data/purchase_history/used_for_tracking=false
privacy/collected_data/purchase_history/collection_purposes=0
privacy/collected_data/product_interaction/collected=false
privacy/collected_data/product_interaction/linked_to_user=false
privacy/collected_data/product_interaction/used_for_tracking=false
privacy/collected_data/product_interaction/collection_purposes=0
privacy/collected_data/advertising_data/collected=false
privacy/collected_data/advertising_data/linked_to_user=false
privacy/collected_data/advertising_data/used_for_tracking=false
privacy/collected_data/advertising_data/collection_purposes=0
privacy/collected_data/other_usage_data/collected=false
privacy/collected_data/other_usage_data/linked_to_user=false
privacy/collected_data/other_usage_data/used_for_tracking=false
privacy/collected_data/other_usage_data/collection_purposes=0
privacy/collected_data/crash_data/collected=false
privacy/collected_data/crash_data/linked_to_user=false
privacy/collected_data/crash_data/used_for_tracking=false
privacy/collected_data/crash_data/collection_purposes=0
privacy/collected_data/performance_data/collected=false
privacy/collected_data/performance_data/linked_to_user=false
privacy/collected_data/performance_data/used_for_tracking=false
privacy/collected_data/performance_data/collection_purposes=0
privacy/collected_data/other_diagnostic_data/collected=false
privacy/collected_data/other_diagnostic_data/linked_to_user=false
privacy/collected_data/other_diagnostic_data/used_for_tracking=false
privacy/collected_data/other_diagnostic_data/collection_purposes=0
privacy/collected_data/environment_scanning/collected=false
privacy/collected_data/environment_scanning/linked_to_user=false
privacy/collected_data/environment_scanning/used_for_tracking=false
privacy/collected_data/environment_scanning/collection_purposes=0
privacy/collected_data/hands/collected=false
privacy/collected_data/hands/linked_to_user=false
privacy/collected_data/hands/used_for_tracking=false
privacy/collected_data/hands/collection_purposes=0
privacy/collected_data/head/collected=false
privacy/collected_data/head/linked_to_user=false
privacy/collected_data/head/used_for_tracking=false
privacy/collected_data/head/collection_purposes=0
privacy/collected_data/other_data_types/collected=false
privacy/collected_data/other_data_types/linked_to_user=false
privacy/collected_data/other_data_types/used_for_tracking=false
privacy/collected_data/other_data_types/collection_purposes=0
ssh_remote_deploy/enabled=false
ssh_remote_deploy/host="user@host_ip"
ssh_remote_deploy/port="22"
ssh_remote_deploy/extra_args_ssh=""
ssh_remote_deploy/extra_args_scp=""
ssh_remote_deploy/run_script="#!/usr/bin/env bash
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}"
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\")
rm -rf \"{temp_dir}\""
[preset.1]
name="Linux"
platform="Linux"
runnable=true
advanced_options=false
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="./Overstimulator Oversimulator 2.x86_64"
encryption_include_filters=""
encryption_exclude_filters=""
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.1.options]
custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=1
binary_format/embed_pck=false
texture_format/s3tc_bptc=true
texture_format/etc2_astc=false
binary_format/architecture="x86_64"
ssh_remote_deploy/enabled=false
ssh_remote_deploy/host="user@host_ip"
ssh_remote_deploy/port="22"
ssh_remote_deploy/extra_args_ssh=""
ssh_remote_deploy/extra_args_scp=""
ssh_remote_deploy/run_script="#!/usr/bin/env bash
export DISPLAY=:0
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
\"{temp_dir}/{exe_name}\" {cmd_args}"
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
rm -rf \"{temp_dir}\""

Binary file not shown.

BIN
funny_sounds/gamblecore.mp3 Normal file

Binary file not shown.

View file

@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://di3mxkflh6a3o"
path="res://.godot/imported/gamblecore.mp3-b97531db556457a634a248b9722aaaf7.mp3str"
[deps]
source_file="res://funny_sounds/gamblecore.mp3"
dest_files=["res://.godot/imported/gamblecore.mp3-b97531db556457a634a248b9722aaaf7.mp3str"]
[params]
loop=true
loop_offset=0.0
bpm=0.0
beat_count=0
bar_beats=4

View file

@ -38,4 +38,5 @@ G={
renderer/rendering_method="gl_compatibility"
renderer/rendering_method.mobile="gl_compatibility"
textures/vram_compression/import_etc2_astc=true
viewport/transparent_background=true

View file

@ -1 +1,5 @@
# :3
## Outside Resources
- [Cloud Texture](https://www.flickr.com/photos/31288116@N02/3910051966/in/photostream/): Licensed under [Creative Commons Attribution 2.0 Generic](https://creativecommons.org/licenses/by/2.0/)
- [GodotBigNumberClass](https://github.com/ChronoDK/GodotBigNumberClass): [MIT License](https://opensource.org/license/MIT)

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=11 format=3 uid="uid://bbg7lnak6kup7"]
[gd_scene load_steps=14 format=3 uid="uid://bbg7lnak6kup7"]
[ext_resource type="Texture2D" uid="uid://b1t8f4nb5aahv" path="res://scenes/LegallyDistinctPaperclipAssistant/LDPA_angy.png" id="1_bqw21"]
[ext_resource type="Script" path="res://scenes/LegallyDistinctPaperclipAssistant/paperclip.gd" id="1_mbnc6"]
@ -83,6 +83,103 @@ tracks/4/keys = {
"values": ["And don't go bankrupt."]
}
[sub_resource type="Animation" id="Animation_xjkdx"]
resource_name = "ad_appear"
length = 3.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Label:visible_ratio")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 3),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 1.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:current_text")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": ["Our business is funded
by advertisements.
Yeah, investing in
fish doesn't really
bring in the big
bucks either."]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Label:text")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": ["Our business is funded
by advertisements.
Yeah, investing in
fish doesn't really
bring in the big
bucks either."]
}
[sub_resource type="Animation" id="Animation_squrw"]
resource_name = "ad_click"
length = 3.0
step = 1.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Label:visible_ratio")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 1.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Label:text")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": ["We pay the ad agency
per ad spot, per click,
and per second per ad
spot."]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".:current_text")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 3),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": ["We pay the ad agency
per ad spot, per click,
and per second per ad
spot.", ""]
}
[sub_resource type="Animation" id="Animation_4fk4l"]
resource_name = "intro"
length = 20.0
@ -226,11 +323,54 @@ tracks/0/keys = {
"values": []
}
[sub_resource type="Animation" id="Animation_lw71a"]
resource_name = "templaaate"
step = 1.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Label:visible_ratio")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Label:text")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(),
"transitions": PackedFloat32Array(),
"update": 1,
"values": []
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".:current_text")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(),
"transitions": PackedFloat32Array(),
"update": 1,
"values": []
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_qflce"]
_data = {
"RESET": SubResource("Animation_npqqu"),
"ad_appear": SubResource("Animation_xjkdx"),
"ad_click": SubResource("Animation_squrw"),
"intro": SubResource("Animation_4fk4l"),
"intro2": SubResource("Animation_umwwq")
"intro2": SubResource("Animation_umwwq"),
"templaaate": SubResource("Animation_lw71a")
}
[node name="Window" type="Window"]

View file

@ -33,10 +33,12 @@ func _on_microgame_spawn_timer_timeout() -> void:
fishin_instance.fish_chosen.connect(stonk_instance._on_fishin_fish_chosen)
fishin_instance.win.connect(on_other_fishin_win.bind(fishin_instance, stonk_instance, window_instance))
fishin_instance.lose.connect(_on_microgame_lose)
window_instance.add_child(stonk_instance)
window_instance.add_child(fishin_instance)
else:
$Clippette/AnimationPlayer.play("ad_appear")
var window_scene = preload("res://scenes/microgames/ad/ad_window.tscn")
window_instance = window_scene.instantiate()
@ -50,11 +52,27 @@ func _on_microgame_spawn_timer_timeout() -> void:
# Connect signals
window_instance.win.connect(_on_microgame_win)
window_instance.lose.connect(_on_microgame_lose)
window_instance.ad_open.connect(_on_ad_open)
$"Score window (real)/Score window".lose_money($"Score window (real)/Score window".net_worth.times(0.1))
func _on_ad_open(window: MicrogameWindow):
$"Score window (real)/Score window".lose_money($"Score window (real)/Score window".net_worth.times(0.05))
func _on_microgame_win(window: MicrogameWindow):
print("yay")
func _on_microgame_lose(window: MicrogameWindow):
print("noooooo")
$LosingSoundEffect.play()
if window.get_children()[0] is Fishin:
pass
else:
$Clippette/AnimationPlayer.play("ad_click")
$"Score window (real)/Score window".lose_money($"Score window (real)/Score window".net_worth.times(0.2))
func _on_fishin_win(fish_caught: Fishin.FishType) -> void:
$Fishin.queue_free()
@ -63,6 +81,7 @@ func _on_fishin_win(fish_caught: Fishin.FishType) -> void:
$Clippette.start_dialogue()
$"Score window (real)".visible = true
fish_seen.push_back(fish_caught)
$Music.play()
func _on_score_window_donezo() -> void:
@ -73,6 +92,8 @@ func _on_score_window_donezo() -> void:
$"Stock ticker".queue_free()
get_window().position = Vector2i(10000, 10000)
$Music.volume_db = 10
var new_window = Window.new()
new_window.size = Vector2i(1280, 720)
new_window.initial_position = Window.WINDOW_INITIAL_POSITION_CENTER_SCREEN_WITH_MOUSE_FOCUS

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=50 format=3 uid="uid://d06d1vihf2oqp"]
[gd_scene load_steps=53 format=3 uid="uid://d06d1vihf2oqp"]
[ext_resource type="Texture2D" uid="uid://b03ygtrwha22g" path="res://taytay/IMG_5199.jpeg" id="1_o2s48"]
[ext_resource type="Script" path="res://scenes/main.gd" id="1_y7a0r"]
@ -9,7 +9,10 @@
[ext_resource type="PackedScene" uid="uid://bbg7lnak6kup7" path="res://scenes/LegallyDistinctPaperclipAssistant/window.tscn" id="5_6agvn"]
[ext_resource type="Script" path="res://scenes/score_window/score_window.gd" id="6_gvoxs"]
[ext_resource type="Texture2D" uid="uid://dohsqvvi8y64h" path="res://UI/fish-spinning-ezgif.com-gif-to-sprite-converter.png" id="8_oj2tc"]
[ext_resource type="Script" path="res://libs/shake_pivot.gd" id="9_t2vd4"]
[ext_resource type="PackedScene" uid="uid://c4s4pigu4pr48" path="res://scenes/microgames/fishin/node_2d.tscn" id="10_sx2ad"]
[ext_resource type="AudioStream" uid="uid://di3mxkflh6a3o" path="res://funny_sounds/gamblecore.mp3" id="11_33353"]
[ext_resource type="AudioStream" uid="uid://b45557wwianh8" path="res://funny_sounds/Super Mario 64 (Waaah) - Sound effect.mp3" id="12_xycxa"]
[sub_resource type="AtlasTexture" id="AtlasTexture_uyge7"]
atlas = ExtResource("8_oj2tc")
@ -304,7 +307,10 @@ stream = ExtResource("3_gatxj")
visible = false
[node name="Score window (real)" type="Window" parent="."]
position = Vector2i(0, 36)
size = Vector2i(1319, 300)
visible = false
unresizable = true
[node name="Score window" type="Node2D" parent="Score window (real)"]
script = ExtResource("6_gvoxs")
@ -322,7 +328,28 @@ sprite_frames = SubResource("SpriteFrames_ke268")
autoplay = "default"
frame_progress = 0.387952
[node name="Score" type="Label" parent="Score window (real)/Score window"]
[node name="ShakePivot" type="Node2D" parent="Score window (real)/Score window"]
visible = false
script = ExtResource("9_t2vd4")
NOISE_SHAKE_STRENGTH = 37.0
[node name="Label" type="Label" parent="Score window (real)/Score window/ShakePivot"]
offset_left = 24.45
offset_top = 218.85
offset_right = 448.45
offset_bottom = 272.85
theme = ExtResource("3_d7ku7")
theme_override_font_sizes/font_size = 53
text = "+$100000"
[node name="Timer" type="Timer" parent="Score window (real)/Score window/ShakePivot"]
wait_time = 0.5
[node name="ShakePivot2" type="Node2D" parent="Score window (real)/Score window"]
script = ExtResource("9_t2vd4")
NOISE_SHAKE_STRENGTH = 37.0
[node name="Score" type="Label" parent="Score window (real)/Score window/ShakePivot2"]
offset_top = 2.0
offset_right = 1302.0
offset_bottom = 197.0
@ -339,9 +366,16 @@ $00000000000000000000"
position = Vector2(0, 0)
scale = Vector2(1, 1)
[node name="Music" type="AudioStreamPlayer" parent="."]
stream = ExtResource("11_33353")
[node name="LosingSoundEffect" type="AudioStreamPlayer" parent="."]
stream = ExtResource("12_xycxa")
[connection signal="timeout" from="Microgame spawn timer" to="." method="_on_microgame_spawn_timer_timeout"]
[connection signal="intro_finished" from="Clippette" to="." method="_on_clippette_intro_finished"]
[connection signal="donezo" from="Score window (real)/Score window" to="." method="_on_score_window_donezo"]
[connection signal="timeout" from="Score window (real)/Score window/ShakePivot/Timer" to="Score window (real)/Score window" method="_on_timer_timeout"]
[connection signal="buy" from="Stock ticker" to="Score window (real)/Score window" method="_on_stock_ticker_buy"]
[connection signal="sell" from="Stock ticker" to="Score window (real)/Score window" method="_on_stock_ticker_sell"]
[connection signal="fish_chosen" from="Fishin" to="Stock ticker" method="_on_fishin_fish_chosen"]

View file

@ -6,6 +6,7 @@ extends "res://scenes/microgames/microgame_window.gd"
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
# Choose a random ad
var all_ads := $"All ads"
var sprite := all_ads.get_children().pick_random() as Sprite2D
@ -20,7 +21,6 @@ func _ready() -> void:
float(window_size.y) / float(sprite.texture.get_height())
)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
@ -34,3 +34,9 @@ func _on_close_requested() -> void:
func _on_texture_button_pressed() -> void:
OS.shell_open("https://www.youtube.com/watch?v=dQw4w9WgXcQ")
lose.emit(self)
func _on_timer_timeout() -> void:
ad_open.emit(self)

View file

@ -26,7 +26,7 @@
[ext_resource type="Texture2D" uid="uid://diqk5cl2rehkg" path="res://scenes/microgames/ad/ad_images/wizard_sexy.png" id="24_ipkoa"]
[ext_resource type="Texture2D" uid="uid://x1m2v51rug76" path="res://scenes/microgames/ad/ad_images/wtf.png" id="25_o5yc3"]
[node name="Window" instance=ExtResource("1_gtv65")]
[node name="Window2" instance=ExtResource("1_gtv65")]
title = "Check out this special offer [Click Here]"
size = Vector2i(824, 604)
content_scale_size = Vector2i(0, 0)
@ -110,4 +110,8 @@ texture = ExtResource("25_o5yc3")
offset_right = 1000.0
offset_bottom = 1000.0
[node name="Timer" type="Timer" parent="." index="2"]
autostart = true
[connection signal="pressed" from="TextureButton" to="." method="_on_texture_button_pressed"]
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]

View file

@ -14,6 +14,7 @@ enum FishType {
}
signal win(fish_type: FishType)
signal lose
signal fish_chosen(fish_sprite: Sprite2D, fish_name: String)
const IN_GAME_WAIT_TIME = 10
@ -108,7 +109,7 @@ func _on_texture_button_button_up() -> void:
happy.visible = true
# show fish
fish_choice = randi_range(0,len(fishes))
fish_choice = randi_range(0,len(fishes)-1)
match fish_choice:
FishType.GAR:
@ -200,6 +201,7 @@ func _on_in_game_timeout() -> void:
$"Fart".play()
get_window().title = "🙂👎"
lose.emit(get_window())
func _on_success_fail_timeout() -> void:

View file

@ -3,6 +3,8 @@ class_name MicrogameWindow
signal win(this: MicrogameWindow)
signal lose(this: MicrogameWindow)
signal ad_open(this: MicrogameWindow)
func _on_close_requested() -> void:

View file

@ -4,6 +4,45 @@ signal donezo
var net_worth: Big
func lose_money(value: Big):
var strength
if value.isGreaterThan(Big.new(2, 300)):
strength = 2e300
else:
strength = float(value.toString())
$ShakePivot2.shake_strength = strength
$ShakePivot.shake_strength = strength
$ShakePivot.visible = true
$ShakePivot/Label.text = "-$%s" % value.toString()
$ShakePivot/Label.add_theme_color_override("font_color", Color.RED)
$ShakePivot.shake()
net_worth.minusEquals(value)
$ShakePivot/Timer.start()
$ShakePivot2.shake()
func get_money(value: Big):
var strength
if value.isGreaterThan(Big.new(2, 300)):
strength = 2e300
else:
strength = float(value.toString())
$ShakePivot2.shake_strength = strength
$ShakePivot.shake_strength = strength
$ShakePivot.visible = true
$ShakePivot/Label.text = "+$%s" % value.toString()
$ShakePivot/Label.add_theme_color_override("font_color", Color.WEB_GREEN)
$ShakePivot.shake()
net_worth.plusEquals(value)
$ShakePivot/Timer.start()
$ShakePivot2.shake()
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
net_worth = Big.new(1000)
@ -15,15 +54,21 @@ func _ready() -> void:
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
$Score.text = "Net worth: \n$%s" % net_worth.toString()
$ShakePivot2/Score.text = "Net worth: \n$%s" % net_worth.toString()
if net_worth.isLessThan(Big.new(0)):
if net_worth.isLessThan(Big.new(0)) or net_worth.toString()[0] == '-':
donezo.emit()
func _on_stock_ticker_buy(amount: Variant) -> void:
net_worth = net_worth.minus(amount)
lose_money(amount)
func _on_stock_ticker_sell(amount: Variant) -> void:
net_worth = net_worth.plus(amount)
get_money(amount)
func _on_timer_timeout() -> void:
$ShakePivot.visible = false
$ShakePivot/Timer.stop()

View file

@ -23,6 +23,8 @@ func _on_minimize_button_up() -> void:
func _on_start_pressed() -> void:
#get_window().size = Vector2(0,0) This messes up the text for some godforesaken reason
get_window().position = Vector2(-1000,-1000)
var audio = $AudioStreamPlayer
audio.stop()
var new_window = Window.new()
new_window.size = Vector2i(1280, 720)