It's Cow Game! Version 2.04!

This commit is contained in:
PajamaBee 2024-09-19 23:06:51 -05:00
commit a9e1ed9ddd
3148 changed files with 95332 additions and 0 deletions

View file

@ -0,0 +1,15 @@
~ start
Jonald: *Jonald stares intently with a fierce gaze*
Jonald: Hello is it your time to leave?
- Yes => yes
- No => no
~ yes
Jonald: Goodbye
do DialogueBoxManager.currentSpeaker.enter_lair()
=> END
~ no
Jonald: Ok
=> END

View file

@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_11"
type="Resource"
uid="uid://doug0qvt4v1xq"
path="res://.godot/imported/JonaldLairEntranceGuard.dialogue-2e683de1c929dd4f4d440de37b4497ee.tres"
[deps]
source_file="res://NPCs/Jonald/JonaldLairJonalds/EntranceJonald/JonaldLairEntranceGuard.dialogue"
dest_files=["res://.godot/imported/JonaldLairEntranceGuard.dialogue-2e683de1c929dd4f4d440de37b4497ee.tres"]
[params]
defaults=true

View file

@ -0,0 +1,7 @@
extends NPC
func enter_lair():
LocationManager.changeLocation(LocationManager.Locations.JonaldLairEntrance, 0)
func _ready():
dialogueResource = load("res://NPCs/Jonald/JonaldLairJonalds/EntranceJonald/JonaldLairEntranceGuard.dialogue")

View file

@ -0,0 +1,39 @@
[gd_scene load_steps=5 format=3 uid="uid://dmis0qb56b23e"]
[ext_resource type="PackedScene" uid="uid://doqfsp7yxools" path="res://NPCs/NPC.tscn" id="1_v6gls"]
[ext_resource type="Script" path="res://NPCs/Jonald/JonaldLairJonalds/EntranceJonald/jonaldLairEntranceGuard.gd" id="2_l0km3"]
[ext_resource type="Texture2D" uid="uid://nevhel5mtr64" path="res://NPCs/Jonald/Jonald.png" id="3_rmhlw"]
[sub_resource type="SpriteFrames" id="SpriteFrames_xh8md"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("3_rmhlw")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[node name="Jonald" instance=ExtResource("1_v6gls")]
script = ExtResource("2_l0km3")
[node name="Sprite" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_xh8md")
[node name="Panel" parent="Interactable" index="1"]
offset_left = -27.0
offset_top = -15.0
offset_right = 30.0
offset_bottom = 12.0
[node name="CollisionShape2D" parent="Talkable/InteractionArea" index="0"]
visible = false
[node name="CollisionShape2D" parent="." index="3"]
visible = false
disabled = true
[editable path="Interactable"]
[editable path="Interactable/ActionMenu"]
[editable path="Talkable"]

View file

@ -0,0 +1,74 @@
~ start
if get_save_value("refillQuestComplete", false):
Jonald: Once again we are safe to continue our operations.
Jonald: We have no further missions for you at this time.
Jonald: Thank you for everything you've done, and for being you.
Jonald: I hope you continue to experience a good Cow Life.
=> END!
if get_save_value("juiceLakeRefilled", false):
Jonald: There's someone near the lake who wants to speak to you.
=> END!
if not get_save_value("refillQuestStarted", false):
Jonald: *Jonald stares intently with a fierce gaze and then lowers their eyes to you*
Jonald: Welcome to the Jonald Lair.
Jonald: You have done well to arrive here.
Jonald: However, it seems our lair is now undefended.
- I'll help => startQuest
- Well... => declineQuest
if DialogueBoxManager.currentSpeaker.ultimate_juice_check():
Jonald: Very well done. I see you have the Ultimate Juice.
Jonald: Now go. Refill the lake.
do DialogueBoxManager.currentSpeaker.refill_lake()
Jonald: Good work. Welcome back.
Jonald: Someone near the lake would like to speak to you.
=> END
Jonald: *Jonald stares intently with a fierce gaze and then lowers their eyes to you*
Jonald: I cannot help you any further.
Jonald: If you need more empty key packets I'll set some next to me as I find them.
Jonald: We've had many problems to solve before.
Jonald: Remember: The solution may be locked, but it lies within you.
Jonald: Good Luck.
=> END
~ startQuest
if not LevelManager.skill_check("swimming", 25) or not LevelManager.skill_check("appreciating", 28) or not LevelManager.skill_check("juiceDrinking", 30):
Jonald: Unfortunately the answers to our problem are not yet within you.
Jonald: (Requires level 30 Juice Drinking, level 28 Experiencing, and level 25 Swimming)
=> END
Jonald: Wonderful.
Jonald: We must replace the Juice Barrier protecting our lair.
Jonald: Unfortunately we have lost the contact info for our Lead Juice Consultant.
Jonald: The answer to this problem lies within you.
do DialogueBoxManager.currentSpeaker.give_key_packet()
do set_save_value("refillQuestStarted", true)
Jonald: *Jonald hands you an empty packet*
Jonald: This would have held the key to unlock it, but we already used it the last time this happened.
Jonald: Good Luck.
=> END
~ declineQuest
Jonald: ...
Jonald: ...
Jonald: ...
Jonald: ...
Jonald: ...
Jonald: ...
Jonald: ...
Jonald: ...
Jonald: ...
Jonald: ...
Jonald: ...
Jonald: ...
Jonald: ...
Jonald: ...
Jonald: ...
Jonald: ...
Jonald: ...
Jonald: ...
Jonald: Please move along.
=> END

View file

@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_11"
type="Resource"
uid="uid://bhcwyqige50uv"
path="res://.godot/imported/LargeJonald.dialogue-92d7d9b87ca4023822ca0a9bceb33501.tres"
[deps]
source_file="res://NPCs/Jonald/JonaldLairJonalds/LargeJonald.dialogue"
dest_files=["res://.godot/imported/LargeJonald.dialogue-92d7d9b87ca4023822ca0a9bceb33501.tres"]
[params]
defaults=true

View file

@ -0,0 +1,27 @@
extends NPC
var ultimateJuiceItem
func _ready():
dialogueResource = load("res://NPCs/Jonald/JonaldLairJonalds/LargeJonald.dialogue")
ultimateJuiceItem = preload("res://Items/Juice/UltimateJuice.gd").new()
func refill_lake():
SaveManager.set_save_value("juiceLakeRefilled", true)
InventoryManager.remove_item_from_inventory(ultimateJuiceItem)
var cutscene = preload("res://Cutscenes/RefillingJuiceLake/RefillLakeCutscene.tscn").instantiate()
add_child(cutscene)
func give_key_packet():
var emptyKeyPacketItem = preload("res://Items/Artificial/Products/EmptyKeyPacket.gd").new()
InventoryManager.add_item_to_inventory(emptyKeyPacketItem)
MessageManager.item_popup(emptyKeyPacketItem.duplicate())
func ultimate_juice_check():
if InventoryManager.check_if_in_inventory(ultimateJuiceItem):
return true
return false
func refill_juice_lake():
pass

View file

@ -0,0 +1,15 @@
extends NPC
class_name TennisJonald
var soundDelay = 0.3
var soundDelayTimer = 0
var rng = RandomNumberGenerator.new()
var delayRange = 0.1
func _process(delta):
soundDelayTimer -= delta
if soundDelayTimer <= 0:
soundDelayTimer = soundDelay + rng.randf_range(0, delayRange)
$AudioStreamPlayer2D.play()

View file

@ -0,0 +1,3 @@
~ start
Jonald: *Jonald is too focused on shaking their Woomote to notice you*
=> END

View file

@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_11"
type="Resource"
uid="uid://cs8e22xyorlok"
path="res://.godot/imported/TennisJonald1.dialogue-f1d65a143b306849ba43569752869684.tres"
[deps]
source_file="res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald1.dialogue"
dest_files=["res://.godot/imported/TennisJonald1.dialogue-f1d65a143b306849ba43569752869684.tres"]
[params]
defaults=true

View file

@ -0,0 +1,5 @@
extends TennisJonald
func _ready():
soundDelayTimer = 0.11
dialogueResource = load("res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald1.dialogue")

View file

@ -0,0 +1,6 @@
~ start
Jonald: (Jonald's Woomote seems to be out of battery but they haven't noticed)
- Your Woomote is out of battery
- Let them be => END!
Jonald: *Jonald is too focused to hear you*
=> END

View file

@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_11"
type="Resource"
uid="uid://dta8yrgu7frtt"
path="res://.godot/imported/TennisJonald2.dialogue-04cd9408913d0bf2cbd4b6568a730e61.tres"
[deps]
source_file="res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald2.dialogue"
dest_files=["res://.godot/imported/TennisJonald2.dialogue-04cd9408913d0bf2cbd4b6568a730e61.tres"]
[params]
defaults=true

View file

@ -0,0 +1,4 @@
extends NPC
func _ready():
dialogueResource = load("res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald2.dialogue")

View file

@ -0,0 +1,5 @@
~ start
Jonald: *Jonald turns towards you shaking their Woomote dangerously close to your face*
Jonald: Hello
- Back away
=> END

View file

@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_11"
type="Resource"
uid="uid://cbwlkinirpmtn"
path="res://.godot/imported/TennisJonald3.dialogue-3221754ff682b59b1e217411b8a832ae.tres"
[deps]
source_file="res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald3.dialogue"
dest_files=["res://.godot/imported/TennisJonald3.dialogue-3221754ff682b59b1e217411b8a832ae.tres"]
[params]
defaults=true

View file

@ -0,0 +1,6 @@
extends TennisJonald
func _ready():
soundDelayTimer = 0.15
delayRange = 0.04
dialogueResource = load("res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald3.dialogue")

View file

@ -0,0 +1,6 @@
~ start
Jonald: (Jonald's Woomote is not connected)
- Your Woomote isn't connected
- Let them be => END!
Jonald: *Jonald stares you while shaking their Woomote*
=> END

View file

@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_11"
type="Resource"
uid="uid://bwdinrokwaip"
path="res://.godot/imported/TennisJonald4.dialogue-c45d6a46564158c3777e317c58e541ef.tres"
[deps]
source_file="res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald4.dialogue"
dest_files=["res://.godot/imported/TennisJonald4.dialogue-c45d6a46564158c3777e317c58e541ef.tres"]
[params]
defaults=true

View file

@ -0,0 +1,4 @@
extends NPC
func _ready():
dialogueResource = load("res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald4.dialogue")

View file

@ -0,0 +1,11 @@
~ start
Jonald: I have never lost, have you?
- I have => yes
- I haven't => no
~ yes
Jonald: Don't do that
=> END
~ no
Jonald: Very good
=> END

View file

@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_11"
type="Resource"
uid="uid://xdlnl3l42y8n"
path="res://.godot/imported/TennisJonald5.dialogue-080e1919bb00cf9749eb759fa9ffc341.tres"
[deps]
source_file="res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald5.dialogue"
dest_files=["res://.godot/imported/TennisJonald5.dialogue-080e1919bb00cf9749eb759fa9ffc341.tres"]
[params]
defaults=true

View file

@ -0,0 +1,6 @@
extends TennisJonald
func _ready():
soundDelayTimer = 0.3
delayRange = 0.04
dialogueResource = load("res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald5.dialogue")

View file

@ -0,0 +1,3 @@
~ start
Jonald: I like the swords game but we can't all play on that one
=> END

View file

@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_11"
type="Resource"
uid="uid://bvha1pa08a5uc"
path="res://.godot/imported/TennisJonald6.dialogue-327d5dc7528fe2df916ce6837bb3a5c5.tres"
[deps]
source_file="res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald6.dialogue"
dest_files=["res://.godot/imported/TennisJonald6.dialogue-327d5dc7528fe2df916ce6837bb3a5c5.tres"]
[params]
defaults=true

View file

@ -0,0 +1,5 @@
extends TennisJonald
func _ready():
soundDelayTimer = 0.31
dialogueResource = load("res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald6.dialogue")

View file

@ -0,0 +1,4 @@
~ start
do DialogueBoxManager.currentSpeaker.earn_achievement()
Jonald: *The tiny Jonald stares into your eyes with a deep wisdom, then winks*
=> END

View file

@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_11"
type="Resource"
uid="uid://ddwa86kp5vj4u"
path="res://.godot/imported/TinyJonald.dialogue-82583819cb83f658bfd32e3671e9d5f8.tres"
[deps]
source_file="res://NPCs/Jonald/JonaldLairJonalds/TinyJonald/TinyJonald.dialogue"
dest_files=["res://.godot/imported/TinyJonald.dialogue-82583819cb83f658bfd32e3671e9d5f8.tres"]
[params]
defaults=true

View file

@ -0,0 +1,7 @@
extends NPC
func _ready():
dialogueResource = load("res://NPCs/Jonald/JonaldLairJonalds/TinyJonald/TinyJonald.dialogue")
func earn_achievement():
AchievementManager.complete_achievement(";)")