It's Cow Game! Version 2.04!
This commit is contained in:
commit
a9e1ed9ddd
3148 changed files with 95332 additions and 0 deletions
|
|
@ -0,0 +1,23 @@
|
|||
~ start
|
||||
if LevelManager.skill_check("gardening", 20)
|
||||
if not get_save_value("jonaldGardeningSectionCompleted", false)
|
||||
if get_save_value("jonaldPigeonEvidencePlanted", false)
|
||||
if not get_save_value("jonaldGardeningSectionStarted", false)
|
||||
Jonald: You already planted the Evidence in Pigeon Grove
|
||||
Jonald: That was my task for you
|
||||
Jonald: I do not understand your actions, but you are Worthy
|
||||
else
|
||||
Jonald: You planted Evidence in the secret Pigeon Grove, you are Worthy
|
||||
do set_save_value("jonaldGardeningSectionStarted", true)
|
||||
do set_save_value("jonaldGardeningSectionCompleted", true)
|
||||
else
|
||||
Jonald: Plant Evidence in the secret Pigeon Grove
|
||||
Jonald: If you have not been there, follow the sunflower seeds
|
||||
do set_save_value("jonaldGardeningSectionStarted", true)
|
||||
else
|
||||
Jonald: You planted the evidence, I have no further tasks for you
|
||||
Jonald: You are Worthy
|
||||
else
|
||||
Jonald: You are not ready (Return with at least level 20 Gardening)
|
||||
|
||||
=> END
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
[remap]
|
||||
|
||||
importer="dialogue_manager_compiler_11"
|
||||
type="Resource"
|
||||
uid="uid://b12eu0yw88s5g"
|
||||
path="res://.godot/imported/JonaldEvidencePlanter.dialogue-f3746bfe44aec75303e31149f4dccd7e.tres"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Jonald/BeachPathForestJonalds/JonaldEvidencePlanter.dialogue"
|
||||
dest_files=["res://.godot/imported/JonaldEvidencePlanter.dialogue-f3746bfe44aec75303e31149f4dccd7e.tres"]
|
||||
|
||||
[params]
|
||||
|
||||
defaults=true
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
~ start
|
||||
|
||||
if LevelManager.skill_check("juiceDrinking", 20)
|
||||
if not get_save_value("jonaldJuiceSectionCompleted", false)
|
||||
if SaveManager.get_value_from_section("drank", "Ash Juice", 0) > 0
|
||||
if not get_save_value("jonaldJuiceSectionStarted", false)
|
||||
Jonald: I did not even have to ask you to drink Ash Juice
|
||||
Jonald: That was my task for you
|
||||
Jonald: You did it without prompt
|
||||
Jonald: Greatness awaits you, you are Worthy
|
||||
else
|
||||
Jonald: You drank Ash Juice, you are Worthy
|
||||
do set_save_value("jonaldJuiceSectionStarted", true)
|
||||
do set_save_value("jonaldJuiceSectionCompleted", true)
|
||||
else
|
||||
Jonald: Drink Ash Juice
|
||||
do set_save_value("jonaldJuiceSectionStarted", true)
|
||||
else
|
||||
Jonald: You drank Ash Juice, I have no further tasks for you
|
||||
Jonald: You are Worthy
|
||||
else
|
||||
Jonald: You are not ready (Return with at least level 20 Juice Drinking)
|
||||
|
||||
=> END
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
[remap]
|
||||
|
||||
importer="dialogue_manager_compiler_11"
|
||||
type="Resource"
|
||||
uid="uid://yal41ebofbim"
|
||||
path="res://.godot/imported/JonaldJuiceDrinker.dialogue-d4a6fe66df599e5810e6c3d25b30329f.tres"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Jonald/BeachPathForestJonalds/JonaldJuiceDrinker.dialogue"
|
||||
dest_files=["res://.godot/imported/JonaldJuiceDrinker.dialogue-d4a6fe66df599e5810e6c3d25b30329f.tres"]
|
||||
|
||||
[params]
|
||||
|
||||
defaults=true
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
~ start
|
||||
|
||||
if get_save_value("jonaldJuiceSectionCompleted", false) and get_save_value("jonaldGardeningSectionCompleted", false)
|
||||
if not get_save_value("jonaldTrialsQuestComplete", false)
|
||||
Jonald: My Trial is a test of Knowledge and Truth
|
||||
Jonald: Riddle me this: What ship sunk in the year 1912?
|
||||
- The Titanic
|
||||
- The Gigantic
|
||||
- The Olympic => Correct_Answer
|
||||
- The Britannic
|
||||
|
||||
Jonald: That, is not correct. I will teach you The Truth
|
||||
=> Titanic_Truth
|
||||
else
|
||||
Jonald: You have passed my Trial, but would you like to hear the Truth again?
|
||||
- Yes => Titanic_Truth
|
||||
- No => END
|
||||
else
|
||||
Jonald: Complete the Trials of the other Jonalds here
|
||||
Jonald: Then speak to me
|
||||
=> END
|
||||
|
||||
~ Correct_Answer
|
||||
Jonald: That is correct, you know Much
|
||||
Jonald: You have proven yourself Worthy to Jonald today
|
||||
Jonald: *Jonald stares at you intently with a fierce gaze*
|
||||
do set_save_value("jonaldTrialsQuestComplete", true)
|
||||
do QuestManager.complete_quest("The Trials of Jonald")
|
||||
=> END
|
||||
|
||||
~ Titanic_Truth
|
||||
Jonald: Many believe that the ship that famously sunk in 1912 was the Titanic
|
||||
Jonald: This is a common misunderstanding and was debunked decades ago
|
||||
Jonald: In reality the Titanic was swapped with one of its sister ships, The Olympic
|
||||
Jonald: The swapped in Olympic was in disrepair, and was sunk to commit insurance fraud
|
||||
Jonald: It's important to know the Truths of the world, thank you for listening
|
||||
|
||||
=> END
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
[remap]
|
||||
|
||||
importer="dialogue_manager_compiler_11"
|
||||
type="Resource"
|
||||
uid="uid://c6xnny6cm0qt2"
|
||||
path="res://.godot/imported/JonaldTitanicTruther.dialogue-36d8c7a1a489f6bc359b7a881b40ac37.tres"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Jonald/BeachPathForestJonalds/JonaldTitanicTruther.dialogue"
|
||||
dest_files=["res://.godot/imported/JonaldTitanicTruther.dialogue-36d8c7a1a489f6bc359b7a881b40ac37.tres"]
|
||||
|
||||
[params]
|
||||
|
||||
defaults=true
|
||||
12
NPCs/Jonald/BeachPathForestJonalds/beachPathJonald1.tscn
Normal file
12
NPCs/Jonald/BeachPathForestJonalds/beachPathJonald1.tscn
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://dv3125d1biqmn"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://coslo600kkkwb" path="res://NPCs/Jonald/jonald.tscn" id="1_xr515"]
|
||||
|
||||
[node name="Jonald" instance=ExtResource("1_xr515")]
|
||||
|
||||
[node name="Sprite" parent="." index="0"]
|
||||
position = Vector2(1, -8)
|
||||
|
||||
[editable path="Interactable"]
|
||||
[editable path="Interactable/ActionMenu"]
|
||||
[editable path="Talkable"]
|
||||
9
NPCs/Jonald/BeachPathForestJonalds/beachPathJonald2.tscn
Normal file
9
NPCs/Jonald/BeachPathForestJonalds/beachPathJonald2.tscn
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://fnbuemfbt64x"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://coslo600kkkwb" path="res://NPCs/Jonald/jonald.tscn" id="1_4ykab"]
|
||||
|
||||
[node name="Jonald" instance=ExtResource("1_4ykab")]
|
||||
|
||||
[editable path="Interactable"]
|
||||
[editable path="Interactable/ActionMenu"]
|
||||
[editable path="Talkable"]
|
||||
9
NPCs/Jonald/BeachPathForestJonalds/beachPathJonald3.tscn
Normal file
9
NPCs/Jonald/BeachPathForestJonalds/beachPathJonald3.tscn
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://clt8qyawat1u"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://coslo600kkkwb" path="res://NPCs/Jonald/jonald.tscn" id="1_f751r"]
|
||||
|
||||
[node name="Jonald" instance=ExtResource("1_f751r")]
|
||||
|
||||
[editable path="Interactable"]
|
||||
[editable path="Interactable/ActionMenu"]
|
||||
[editable path="Talkable"]
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
extends NPC
|
||||
|
||||
func _ready():
|
||||
dialogueResource = load("res://NPCs/Jonald/BeachPathForestJonalds/JonaldEvidencePlanter.dialogue")
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
extends NPC
|
||||
|
||||
func _ready():
|
||||
dialogueResource = load("res://NPCs/Jonald/BeachPathForestJonalds/JonaldJuiceDrinker.dialogue")
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
extends NPC
|
||||
|
||||
func _ready():
|
||||
dialogueResource = load("res://NPCs/Jonald/BeachPathForestJonalds/JonaldTitanicTruther.dialogue")
|
||||
20
NPCs/Jonald/EdgeJonald/EdgeJonald.dialogue
Normal file
20
NPCs/Jonald/EdgeJonald/EdgeJonald.dialogue
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
~ start
|
||||
Jonald: *Jonald stares intently with a fierce gaze*
|
||||
if get_save_value("edgeKnowledgePartook", false):
|
||||
Jonald: Now you know
|
||||
=> END
|
||||
Jonald: I have observed The Edge
|
||||
Jonald: Partake in my knowledge?
|
||||
- Yes => partake
|
||||
- No => noPartake
|
||||
|
||||
~ partake
|
||||
Jonald: *Jonald's wise gaze fills you with the knowledge of everything*
|
||||
do DialogueBoxManager.currentSpeaker.partake_knowledge()
|
||||
Jonald: *Just a little bit of everything*
|
||||
Jonald: Use this well
|
||||
=> END
|
||||
|
||||
~ noPartake
|
||||
Jonald: Goodbye
|
||||
=> END
|
||||
15
NPCs/Jonald/EdgeJonald/EdgeJonald.dialogue.import
Normal file
15
NPCs/Jonald/EdgeJonald/EdgeJonald.dialogue.import
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
[remap]
|
||||
|
||||
importer="dialogue_manager_compiler_11"
|
||||
type="Resource"
|
||||
uid="uid://djwowugben84s"
|
||||
path="res://.godot/imported/EdgeJonald.dialogue-745a501d2f0cbc9a6e035a14dcaf4c4f.tres"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Jonald/EdgeJonald/EdgeJonald.dialogue"
|
||||
dest_files=["res://.godot/imported/EdgeJonald.dialogue-745a501d2f0cbc9a6e035a14dcaf4c4f.tres"]
|
||||
|
||||
[params]
|
||||
|
||||
defaults=true
|
||||
8
NPCs/Jonald/EdgeJonald/EdgeJonald.gd
Normal file
8
NPCs/Jonald/EdgeJonald/EdgeJonald.gd
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
extends NPC
|
||||
|
||||
func _ready():
|
||||
dialogueResource = load("res://NPCs/Jonald/EdgeJonald/EdgeJonald.dialogue")
|
||||
|
||||
func partake_knowledge():
|
||||
SaveManager.set_save_value("edgeKnowledgePartook", true)
|
||||
LevelManager.add_all_xp(99)
|
||||
39
NPCs/Jonald/EdgeJonald/EdgeJonald.tscn
Normal file
39
NPCs/Jonald/EdgeJonald/EdgeJonald.tscn
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://cvny0mnv36wsm"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://doqfsp7yxools" path="res://NPCs/NPC.tscn" id="1_3r8er"]
|
||||
[ext_resource type="Script" path="res://NPCs/Jonald/EdgeJonald/EdgeJonald.gd" id="2_ok1yn"]
|
||||
[ext_resource type="Texture2D" uid="uid://nevhel5mtr64" path="res://NPCs/Jonald/Jonald.png" id="3_5cvp7"]
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_xh8md"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("3_5cvp7")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[node name="EdgeJonald" instance=ExtResource("1_3r8er")]
|
||||
script = ExtResource("2_ok1yn")
|
||||
|
||||
[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"]
|
||||
3
NPCs/Jonald/Jonald.dialogue
Normal file
3
NPCs/Jonald/Jonald.dialogue
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
~ start
|
||||
Jonald: *Jonald stares intently with a fierce gaze*
|
||||
=> END
|
||||
15
NPCs/Jonald/Jonald.dialogue.import
Normal file
15
NPCs/Jonald/Jonald.dialogue.import
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
[remap]
|
||||
|
||||
importer="dialogue_manager_compiler_11"
|
||||
type="Resource"
|
||||
uid="uid://dgc7p5xy8gkiy"
|
||||
path="res://.godot/imported/Jonald.dialogue-a8939a74d9154bee31bbe2463b0b264a.tres"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Jonald/Jonald.dialogue"
|
||||
dest_files=["res://.godot/imported/Jonald.dialogue-a8939a74d9154bee31bbe2463b0b264a.tres"]
|
||||
|
||||
[params]
|
||||
|
||||
defaults=true
|
||||
BIN
NPCs/Jonald/Jonald.png
Normal file
BIN
NPCs/Jonald/Jonald.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 317 B |
34
NPCs/Jonald/Jonald.png.import
Normal file
34
NPCs/Jonald/Jonald.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://nevhel5mtr64"
|
||||
path="res://.godot/imported/Jonald.png-f661271473cf5782c9cbf963de661016.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Jonald/Jonald.png"
|
||||
dest_files=["res://.godot/imported/Jonald.png-f661271473cf5782c9cbf963de661016.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
~ start
|
||||
if get_save_value("jonaldTrialsQuestComplete", false):
|
||||
Jonald: You are Worthy
|
||||
Jonald: Would you like to enter our sanctum?
|
||||
- Yes => enter
|
||||
- Not right now => noThanks
|
||||
else:
|
||||
Jonald: You are not Worthy
|
||||
Jonald: Speak to the Trial Masters in the woods and pass their trials
|
||||
=> END
|
||||
|
||||
~ enter
|
||||
do DialogueBoxManager.currentSpeaker.enter_lair()
|
||||
|
||||
~ noThanks
|
||||
Jonald: Goodbye
|
||||
=> END
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
[remap]
|
||||
|
||||
importer="dialogue_manager_compiler_11"
|
||||
type="Resource"
|
||||
uid="uid://cu325vkwnr2pj"
|
||||
path="res://.godot/imported/JonaldLairGuard.dialogue-7ae69852b96a7e52186db9ad126f9d6e.tres"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Jonald/JonaldLairEntranceJonald/JonaldLairGuard.dialogue"
|
||||
dest_files=["res://.godot/imported/JonaldLairGuard.dialogue-7ae69852b96a7e52186db9ad126f9d6e.tres"]
|
||||
|
||||
[params]
|
||||
|
||||
defaults=true
|
||||
7
NPCs/Jonald/JonaldLairEntranceJonald/jonaldLairGuard.gd
Normal file
7
NPCs/Jonald/JonaldLairEntranceJonald/jonaldLairGuard.gd
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
extends NPC
|
||||
|
||||
func enter_lair():
|
||||
LocationManager.changeLocation(LocationManager.Locations.JonaldLair, 0)
|
||||
|
||||
func _ready():
|
||||
dialogueResource = load("res://NPCs/Jonald/JonaldLairEntranceJonald/JonaldLairGuard.dialogue")
|
||||
39
NPCs/Jonald/JonaldLairEntranceJonald/jonaldLairGuard.tscn
Normal file
39
NPCs/Jonald/JonaldLairEntranceJonald/jonaldLairGuard.tscn
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://ct4nhawaciqdp"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://doqfsp7yxools" path="res://NPCs/NPC.tscn" id="1_v6gls"]
|
||||
[ext_resource type="Script" path="res://NPCs/Jonald/JonaldLairEntranceJonald/jonaldLairGuard.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"]
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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")
|
||||
|
|
@ -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"]
|
||||
74
NPCs/Jonald/JonaldLairJonalds/LargeJonald.dialogue
Normal file
74
NPCs/Jonald/JonaldLairJonalds/LargeJonald.dialogue
Normal 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
|
||||
15
NPCs/Jonald/JonaldLairJonalds/LargeJonald.dialogue.import
Normal file
15
NPCs/Jonald/JonaldLairJonalds/LargeJonald.dialogue.import
Normal 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
|
||||
27
NPCs/Jonald/JonaldLairJonalds/LargeJonald.gd
Normal file
27
NPCs/Jonald/JonaldLairJonalds/LargeJonald.gd
Normal 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
|
||||
15
NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald.gd
Normal file
15
NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald.gd
Normal 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()
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
~ start
|
||||
Jonald: *Jonald is too focused on shaking their Woomote to notice you*
|
||||
=> END
|
||||
|
|
@ -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
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
extends TennisJonald
|
||||
|
||||
func _ready():
|
||||
soundDelayTimer = 0.11
|
||||
dialogueResource = load("res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald1.dialogue")
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
extends NPC
|
||||
|
||||
func _ready():
|
||||
dialogueResource = load("res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald2.dialogue")
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
~ start
|
||||
Jonald: *Jonald turns towards you shaking their Woomote dangerously close to your face*
|
||||
Jonald: Hello
|
||||
- Back away
|
||||
=> END
|
||||
|
|
@ -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
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
extends TennisJonald
|
||||
|
||||
func _ready():
|
||||
soundDelayTimer = 0.15
|
||||
delayRange = 0.04
|
||||
dialogueResource = load("res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald3.dialogue")
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
extends NPC
|
||||
|
||||
func _ready():
|
||||
dialogueResource = load("res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald4.dialogue")
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
extends TennisJonald
|
||||
|
||||
func _ready():
|
||||
soundDelayTimer = 0.3
|
||||
delayRange = 0.04
|
||||
dialogueResource = load("res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald5.dialogue")
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
~ start
|
||||
Jonald: I like the swords game but we can't all play on that one
|
||||
=> END
|
||||
|
|
@ -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
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
extends TennisJonald
|
||||
|
||||
func _ready():
|
||||
soundDelayTimer = 0.31
|
||||
dialogueResource = load("res://NPCs/Jonald/JonaldLairJonalds/TennisJonalds/TennisJonald6.dialogue")
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
7
NPCs/Jonald/JonaldLairJonalds/TinyJonald/TinyJonald.gd
Normal file
7
NPCs/Jonald/JonaldLairJonalds/TinyJonald/TinyJonald.gd
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
extends NPC
|
||||
|
||||
func _ready():
|
||||
dialogueResource = load("res://NPCs/Jonald/JonaldLairJonalds/TinyJonald/TinyJonald.dialogue")
|
||||
|
||||
func earn_achievement():
|
||||
AchievementManager.complete_achievement(";)")
|
||||
BIN
NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis1.png
Normal file
BIN
NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
34
NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis1.png.import
Normal file
34
NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis1.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cnbcmhh6q3ogn"
|
||||
path="res://.godot/imported/JonaldWiiTennis1.png-904cf5cc24f6c5a88d81bd8e4a6d5141.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis1.png"
|
||||
dest_files=["res://.godot/imported/JonaldWiiTennis1.png-904cf5cc24f6c5a88d81bd8e4a6d5141.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis2.png
Normal file
BIN
NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
34
NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis2.png.import
Normal file
34
NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis2.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bcw2qhntr5ned"
|
||||
path="res://.godot/imported/JonaldWiiTennis2.png-ff3c7b497450c843f33830ce3d349292.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis2.png"
|
||||
dest_files=["res://.godot/imported/JonaldWiiTennis2.png-ff3c7b497450c843f33830ce3d349292.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis3.png
Normal file
BIN
NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
34
NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis3.png.import
Normal file
34
NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis3.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dykmo74bxtwpt"
|
||||
path="res://.godot/imported/JonaldWiiTennis3.png-951c6da313268f7d820f804369724d9e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis3.png"
|
||||
dest_files=["res://.godot/imported/JonaldWiiTennis3.png-951c6da313268f7d820f804369724d9e.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
65
NPCs/Jonald/JonaldPlayingTennis/jonaldTennis.tscn
Normal file
65
NPCs/Jonald/JonaldPlayingTennis/jonaldTennis.tscn
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
[gd_scene load_steps=9 format=3 uid="uid://cqbc8kenvs6f2"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://doqfsp7yxools" path="res://NPCs/NPC.tscn" id="1_p302e"]
|
||||
[ext_resource type="Script" path="res://NPCs/Jonald/jonald.gd" id="2_66qr4"]
|
||||
[ext_resource type="Texture2D" uid="uid://cnbcmhh6q3ogn" path="res://NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis1.png" id="3_cc4yr"]
|
||||
[ext_resource type="Texture2D" uid="uid://bcw2qhntr5ned" path="res://NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis2.png" id="4_4010q"]
|
||||
[ext_resource type="Texture2D" uid="uid://dykmo74bxtwpt" path="res://NPCs/Jonald/JonaldPlayingTennis/JonaldWiiTennis3.png" id="5_6b2sq"]
|
||||
[ext_resource type="Script" path="res://Utils/PlayOnReady.gd" id="6_dw2bv"]
|
||||
[ext_resource type="AudioStream" uid="uid://5hnu7ghqpehj" path="res://Sounds/SFX/Tennis/Whoosh2.mp3" id="7_m1lq7"]
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_xh8md"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 2.0,
|
||||
"texture": ExtResource("3_cc4yr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("4_4010q")
|
||||
}, {
|
||||
"duration": 2.0,
|
||||
"texture": ExtResource("5_6b2sq")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 20.0
|
||||
}]
|
||||
|
||||
[node name="Jonald" instance=ExtResource("1_p302e")]
|
||||
script = ExtResource("2_66qr4")
|
||||
|
||||
[node name="Sprite" parent="." index="0"]
|
||||
position = Vector2(0, -10)
|
||||
sprite_frames = SubResource("SpriteFrames_xh8md")
|
||||
frame_progress = 0.790351
|
||||
script = ExtResource("6_dw2bv")
|
||||
randDelayMax = 0.4
|
||||
|
||||
[node name="Interactable" parent="." index="1"]
|
||||
position = Vector2(0, -10)
|
||||
|
||||
[node name="Panel" parent="Interactable" index="1"]
|
||||
offset_left = -6.0
|
||||
offset_top = -3.0
|
||||
offset_right = 44.0
|
||||
offset_bottom = 22.0
|
||||
metadata/_edit_use_anchors_ = true
|
||||
|
||||
[node name="Talkable" parent="." index="2"]
|
||||
position = Vector2(0, -10)
|
||||
|
||||
[node name="CollisionShape2D" parent="Talkable/InteractionArea" index="0"]
|
||||
visible = false
|
||||
|
||||
[node name="CollisionShape2D" parent="." index="3"]
|
||||
visible = false
|
||||
disabled = true
|
||||
|
||||
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="." index="4"]
|
||||
stream = ExtResource("7_m1lq7")
|
||||
max_distance = 1500.0
|
||||
bus = &"SFX"
|
||||
|
||||
[editable path="Interactable"]
|
||||
[editable path="Interactable/ActionMenu"]
|
||||
[editable path="Talkable"]
|
||||
BIN
NPCs/Jonald/JonaldWiiTennis.gif
Normal file
BIN
NPCs/Jonald/JonaldWiiTennis.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3 KiB |
|
|
@ -0,0 +1,37 @@
|
|||
~ start
|
||||
Jonald: *Jonald stares intently with a fierce gaze*
|
||||
Jonald: Welcome to my office.
|
||||
- I need Juice => JuiceInquiry
|
||||
- Silica Gel? => SilicaGel
|
||||
- Bye => Bye
|
||||
|
||||
~ JuiceInquiry
|
||||
if DialogueBoxManager.currentSpeaker.ingredients_check():
|
||||
Jonald: Excellent. You've got the ingredients.
|
||||
Jonald: *Jonald takes your juices and stares into the distance for a moment*
|
||||
Jonald: Here you go. Enjoy The Ultimate Juice.
|
||||
do DialogueBoxManager.currentSpeaker.give_ultimate_juice()
|
||||
- I need Juice => JuiceInquiry
|
||||
- Silica Gel? => SilicaGel
|
||||
- Bye => Bye
|
||||
Jonald: Wonderful. All you need to do is bring me the following:
|
||||
Jonald: 1 Banana Juice.
|
||||
Jonald: 1 Iron Ingot Juice.
|
||||
Jonald: And 1 Silica Gel Juice. All Unmodified.
|
||||
Jonald: Bring this to me and I will make you The Ultimate Juice.
|
||||
- Silica Gel? => SilicaGel
|
||||
- Bye => Bye
|
||||
|
||||
~ SilicaGel
|
||||
Jonald: I wrote down where to find Silica Gel on this form here you can have it.
|
||||
do DialogueBoxManager.currentSpeaker.give_taxes()
|
||||
Jonald: I got it grubbed up I was eating snacks.
|
||||
Jonald: You'll have to find a way to clean it.
|
||||
Jonald: This info is very important. I wrote it on many forms. Got them all grubbed up.
|
||||
Jonald: Come back if you need another one.
|
||||
- I need Juice => JuiceInquiry
|
||||
- Bye => Bye
|
||||
|
||||
~ Bye
|
||||
Jonald: Goodbye.
|
||||
=> END
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
[remap]
|
||||
|
||||
importer="dialogue_manager_compiler_11"
|
||||
type="Resource"
|
||||
uid="uid://hdslgmbwp60s"
|
||||
path="res://.godot/imported/JuiceConsultantJonald.dialogue-7eab7d9aa1bb14749e62a00259dbc8a8.tres"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Jonald/JuiceConsultantJonald/JuiceConsultantJonald.dialogue"
|
||||
dest_files=["res://.godot/imported/JuiceConsultantJonald.dialogue-7eab7d9aa1bb14749e62a00259dbc8a8.tres"]
|
||||
|
||||
[params]
|
||||
|
||||
defaults=true
|
||||
51
NPCs/Jonald/JuiceConsultantJonald/JuiceConsultantJonald.gd
Normal file
51
NPCs/Jonald/JuiceConsultantJonald/JuiceConsultantJonald.gd
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
extends NPC
|
||||
|
||||
var bananaJuiceItem
|
||||
var ironIngotJuiceItem
|
||||
var silicaGelJuiceItem
|
||||
|
||||
func _ready():
|
||||
dialogueResource = load("res://NPCs/Jonald/JuiceConsultantJonald/JuiceConsultantJonald.dialogue")
|
||||
|
||||
visible = false
|
||||
|
||||
bananaJuiceItem = JuiceGenerator.generate_juice(preload("res://Items/Foods/Fruits/Banana.gd").new())
|
||||
ironIngotJuiceItem = JuiceGenerator.generate_juice(preload("res://Items/Artificial/Industrial/IronIngot.gd").new())
|
||||
silicaGelJuiceItem = JuiceGenerator.generate_juice(preload("res://Items/Artificial/Products/SilicaGel.gd").new())
|
||||
|
||||
func give_taxes():
|
||||
var taxesItem:Item = preload("res://Items/Paper/Taxes.gd").new()
|
||||
taxesItem.set_modification(Item.modifications.Grubby)
|
||||
InventoryManager.add_item_to_inventory(taxesItem)
|
||||
MessageManager.item_popup(taxesItem.duplicate())
|
||||
|
||||
func give_ultimate_juice():
|
||||
InventoryManager.spend_item(bananaJuiceItem)
|
||||
InventoryManager.spend_item(ironIngotJuiceItem)
|
||||
InventoryManager.spend_item(silicaGelJuiceItem)
|
||||
|
||||
var ultimateJuiceItem = preload("res://Items/Juice/UltimateJuice.gd").new()
|
||||
InventoryManager.add_item_to_inventory(ultimateJuiceItem)
|
||||
MessageManager.item_popup(ultimateJuiceItem.duplicate())
|
||||
|
||||
func ingredients_check():
|
||||
if !banana_juice_check():
|
||||
return false
|
||||
if !iron_ingot_juice_check():
|
||||
return false
|
||||
if !silica_gel_juice_check():
|
||||
return false
|
||||
return true
|
||||
|
||||
func banana_juice_check():
|
||||
return InventoryManager.check_if_in_inventory(bananaJuiceItem)
|
||||
|
||||
func iron_ingot_juice_check():
|
||||
return InventoryManager.check_if_in_inventory(ironIngotJuiceItem)
|
||||
|
||||
func silica_gel_juice_check():
|
||||
return InventoryManager.check_if_in_inventory(silicaGelJuiceItem)
|
||||
|
||||
func _on_ferris_wheel_jonald_dropped_off():
|
||||
SaveManager.set_save_value("juiceJonaldMet", true)
|
||||
visible = true
|
||||
39
NPCs/Jonald/JuiceConsultantJonald/JuiceConsultantJonald.tscn
Normal file
39
NPCs/Jonald/JuiceConsultantJonald/JuiceConsultantJonald.tscn
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://c4v4bb6pjay15"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://doqfsp7yxools" path="res://NPCs/NPC.tscn" id="1_u130t"]
|
||||
[ext_resource type="Script" path="res://NPCs/Jonald/JuiceConsultantJonald/JuiceConsultantJonald.gd" id="2_tc32j"]
|
||||
[ext_resource type="Texture2D" uid="uid://nevhel5mtr64" path="res://NPCs/Jonald/Jonald.png" id="3_odjow"]
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_xh8md"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("3_odjow")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[node name="Jonald" instance=ExtResource("1_u130t")]
|
||||
script = ExtResource("2_tc32j")
|
||||
|
||||
[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"]
|
||||
4
NPCs/Jonald/jonald.gd
Normal file
4
NPCs/Jonald/jonald.gd
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
extends NPC
|
||||
|
||||
func _ready():
|
||||
dialogueResource = load("res://NPCs/Jonald/Jonald.dialogue")
|
||||
39
NPCs/Jonald/jonald.tscn
Normal file
39
NPCs/Jonald/jonald.tscn
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://coslo600kkkwb"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://doqfsp7yxools" path="res://NPCs/NPC.tscn" id="1_pufxv"]
|
||||
[ext_resource type="Script" path="res://NPCs/Jonald/jonald.gd" id="2_fv8n0"]
|
||||
[ext_resource type="Texture2D" uid="uid://nevhel5mtr64" path="res://NPCs/Jonald/Jonald.png" id="2_yl3mx"]
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_xh8md"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("2_yl3mx")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[node name="Jonald" instance=ExtResource("1_pufxv")]
|
||||
script = ExtResource("2_fv8n0")
|
||||
|
||||
[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"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue