It's Cow Game! Version 2.04!
This commit is contained in:
commit
a9e1ed9ddd
3148 changed files with 95332 additions and 0 deletions
56
NPCs/Tutorial/Normal/ArsonAlliogator/ArsonAlligator.tscn
Normal file
56
NPCs/Tutorial/Normal/ArsonAlliogator/ArsonAlligator.tscn
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
[gd_scene load_steps=8 format=3 uid="uid://bg1nwnomgw3el"]
|
||||
|
||||
[ext_resource type="Script" path="res://NPCs/Tutorial/Normal/ArsonAlliogator/ArsonAlliogator.gd" id="1_87n48"]
|
||||
[ext_resource type="Texture2D" uid="uid://caiqgwk8f8xgg" path="res://NPCs/Tutorial/Normal/ArsonAlliogator/alligator.png" id="2_54lic"]
|
||||
[ext_resource type="PackedScene" uid="uid://c31736waactb2" path="res://Interactions/Talking/Talkable.tscn" id="2_disfv"]
|
||||
[ext_resource type="PackedScene" uid="uid://bqibe7ha6r5ls" path="res://Interactions/Interactable/interactable.tscn" id="3_mixyw"]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_eqku6"]
|
||||
radius = 21.2091
|
||||
height = 173.643
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_pe01l"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("2_54lic")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_cjexf"]
|
||||
radius = 19.9753
|
||||
height = 189.281
|
||||
|
||||
[node name="ArsonAlligator" type="StaticBody2D"]
|
||||
script = ExtResource("1_87n48")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(2, -27)
|
||||
rotation = 1.44862
|
||||
shape = SubResource("CapsuleShape2D_eqku6")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(-1, -38)
|
||||
sprite_frames = SubResource("SpriteFrames_pe01l")
|
||||
|
||||
[node name="Talkable" parent="." instance=ExtResource("2_disfv")]
|
||||
|
||||
[node name="CollisionShape2D" parent="Talkable/InteractionArea" index="0"]
|
||||
position = Vector2(0, -24)
|
||||
rotation = 1.45037
|
||||
shape = SubResource("CapsuleShape2D_cjexf")
|
||||
|
||||
[node name="Interactable" parent="." instance=ExtResource("3_mixyw")]
|
||||
|
||||
[node name="Panel" parent="Interactable" index="1"]
|
||||
offset_left = -91.0
|
||||
offset_top = -55.0
|
||||
offset_right = 98.0
|
||||
offset_bottom = -1.0
|
||||
|
||||
[editable path="Talkable"]
|
||||
[editable path="Interactable"]
|
||||
[editable path="Interactable/ActionMenu"]
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
~ start
|
||||
|
||||
if not get_save_value("tutorialAlligatorTalked", false)
|
||||
=> init
|
||||
elif get_save_value("tutorialAlligatorDone", false)
|
||||
=> rand
|
||||
elif get_save_value("tutorialArsoned", false)
|
||||
=> postArson
|
||||
else
|
||||
=> midArson
|
||||
|
||||
=> END
|
||||
|
||||
~ init
|
||||
Arson Alligator: You know what's the most essential skill in the life of every animal?
|
||||
Arson Alligator: ARSON...!!!
|
||||
Arson Alligator: Look around you!
|
||||
Arson Alligator: What do you see?
|
||||
Arson Alligator: FLAMMABLE THINGS!!!
|
||||
Arson Alligator: You can and SHOULD burn everything you feel like burning!!!
|
||||
Arson Alligator: Some things are easy to set on fire
|
||||
Arson Alligator: others are more stubborn
|
||||
Arson Alligator: but a determined arsonist can reduce everything in their path to ashes!!!
|
||||
Arson Alligator: If you see black smoke that's a good sign!!!
|
||||
Arson Alligator: That means you can set the thing ablaze if you keep trying!!!
|
||||
Arson Alligator: If you try to burn something and there's no fire and no smoke
|
||||
Arson Alligator: then you gotta first practise your arson more on other things!!!
|
||||
Arson Alligator: Arson is an art!!!
|
||||
Arson Alligator: Go burn something!!!
|
||||
do set_save_value("tutorialAlligatorTalked", true)
|
||||
=> END
|
||||
|
||||
~ midArson
|
||||
Arson Alligator: Go burn something!!!
|
||||
=> END
|
||||
|
||||
~ postArson
|
||||
Arson Alligator: Is there anything you can do with all that ash?
|
||||
Arson Alligator: Heck if I know!!
|
||||
Arson Alligator: Maybe someday science will figure something out!!
|
||||
Arson Alligator: But don't worry about that now
|
||||
Arson Alligator: just focus on those AWESOME flames!!!!
|
||||
do set_save_value("tutorialAlligatorDone", true)
|
||||
=> END!
|
||||
|
||||
~ rand
|
||||
|
||||
% Arson Alligator: Burn, baby, burn!!!
|
||||
% Arson Alligator: This boat looks flammable...!!!
|
||||
% Arson Alligator: Heck yes, I rhyme "fire" on "desire"!!!
|
||||
- continue => END
|
||||
- repeat tutorial => init
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
[remap]
|
||||
|
||||
importer="dialogue_manager_compiler_11"
|
||||
type="Resource"
|
||||
uid="uid://cxhbid7hmhykp"
|
||||
path="res://.godot/imported/ArsonAlliogator.dialogue-e85fcf6f23c302c38856264739eb2de3.tres"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Tutorial/Normal/ArsonAlliogator/ArsonAlliogator.dialogue"
|
||||
dest_files=["res://.godot/imported/ArsonAlliogator.dialogue-e85fcf6f23c302c38856264739eb2de3.tres"]
|
||||
|
||||
[params]
|
||||
|
||||
defaults=true
|
||||
13
NPCs/Tutorial/Normal/ArsonAlliogator/ArsonAlliogator.gd
Normal file
13
NPCs/Tutorial/Normal/ArsonAlliogator/ArsonAlliogator.gd
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
extends NPC
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
characterName = "Arson Alliogator"
|
||||
pronouns = "She/Her"
|
||||
dialogueResource = load("res://NPCs/Tutorial/Normal/ArsonAlliogator/ArsonAlliogator.dialogue")
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
||||
BIN
NPCs/Tutorial/Normal/ArsonAlliogator/alligator.png
Normal file
BIN
NPCs/Tutorial/Normal/ArsonAlliogator/alligator.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
34
NPCs/Tutorial/Normal/ArsonAlliogator/alligator.png.import
Normal file
34
NPCs/Tutorial/Normal/ArsonAlliogator/alligator.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://caiqgwk8f8xgg"
|
||||
path="res://.godot/imported/alligator.png-3d4b909ab991f12fb44ff548616bd83d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Tutorial/Normal/ArsonAlliogator/alligator.png"
|
||||
dest_files=["res://.godot/imported/alligator.png-3d4b909ab991f12fb44ff548616bd83d.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
|
||||
40
NPCs/Tutorial/Normal/JuicingJaguar/JuicingJaguar.dialogue
Normal file
40
NPCs/Tutorial/Normal/JuicingJaguar/JuicingJaguar.dialogue
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
~ start
|
||||
|
||||
if not get_save_value("tutorialJaguarTalked", false)
|
||||
=> init
|
||||
elif get_save_value("tutorialJaguarDone", false)
|
||||
=> rand
|
||||
elif get_save_value("tutorialJuiced", false)
|
||||
=> postJuice
|
||||
else
|
||||
=> midJuice
|
||||
|
||||
=> END
|
||||
|
||||
~ init
|
||||
Juicing Jaguar: ... Hey... wanna know a secret? You can juice pretty much every item you find...
|
||||
Juicing Jaguar: That's right, there is juice in almost everything... sometimes there's also goo... or further secrets!
|
||||
Juicing Jaguar: Just pop your stuff into a juicing machine like this one I have right here, and see what happens...
|
||||
Juicing Jaguar: Try juicing an orange. If you dont have one go talk to scavanging sheep
|
||||
do set_save_value("tutorialJaguarTalked", true)
|
||||
=> END
|
||||
|
||||
~ midJuice
|
||||
Juicing Jaguar: Try juicing an orange. If you dont have one go talk to scavanging sheep
|
||||
=> END
|
||||
|
||||
~ postJuice
|
||||
|
||||
Juicing Jaguar: Now, using a juicing machine is simple...
|
||||
Juicing Jaguar: ...juice drinking is a skill that takes a lot of experience to truly excel in...
|
||||
Juicing Jaguar: Some juices are easy to drink even for a beginner
|
||||
Juicing Jaguar: Others can only be ingested by a veritable juice connoisseur such as myself...
|
||||
Juicing Jaguar: Good luck, novice juice enthusiast...
|
||||
do set_save_value("tutorialJaguarDone", true)
|
||||
=> END
|
||||
|
||||
~ rand
|
||||
% Juicing Jaguar: Feeling juicy?
|
||||
% Juicing Jaguar: What could be more refreshing than a nice glass of juice?
|
||||
- continue => END
|
||||
- repeat tutorial => init
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
[remap]
|
||||
|
||||
importer="dialogue_manager_compiler_11"
|
||||
type="Resource"
|
||||
uid="uid://cccp2wsdq02ql"
|
||||
path="res://.godot/imported/JuicingJaguar.dialogue-ec158bb3f199f33a60d55041e50f7af3.tres"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Tutorial/Normal/JuicingJaguar/JuicingJaguar.dialogue"
|
||||
dest_files=["res://.godot/imported/JuicingJaguar.dialogue-ec158bb3f199f33a60d55041e50f7af3.tres"]
|
||||
|
||||
[params]
|
||||
|
||||
defaults=true
|
||||
13
NPCs/Tutorial/Normal/JuicingJaguar/JuicingJaguar.gd
Normal file
13
NPCs/Tutorial/Normal/JuicingJaguar/JuicingJaguar.gd
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
extends NPC
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
characterName = "Juicing Jaguar"
|
||||
pronouns = "any"
|
||||
dialogueResource = load("res://NPCs/Tutorial/Normal/JuicingJaguar/JuicingJaguar.dialogue")
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
||||
53
NPCs/Tutorial/Normal/JuicingJaguar/JuicingJaguar.tscn
Normal file
53
NPCs/Tutorial/Normal/JuicingJaguar/JuicingJaguar.tscn
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
[gd_scene load_steps=8 format=3 uid="uid://c01l3yqjfdav0"]
|
||||
|
||||
[ext_resource type="Script" path="res://NPCs/Tutorial/Normal/JuicingJaguar/JuicingJaguar.gd" id="1_h0kve"]
|
||||
[ext_resource type="Texture2D" uid="uid://bp4ic0vjga07h" path="res://NPCs/Tutorial/Normal/JuicingJaguar/jaguar.png" id="2_p3igi"]
|
||||
[ext_resource type="PackedScene" uid="uid://c31736waactb2" path="res://Interactions/Talking/Talkable.tscn" id="3_l27ci"]
|
||||
[ext_resource type="PackedScene" uid="uid://bqibe7ha6r5ls" path="res://Interactions/Interactable/interactable.tscn" id="4_tbday"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ycqct"]
|
||||
size = Vector2(128, 63)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_8ue1k"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("2_p3igi")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_vq17j"]
|
||||
radius = 84.1487
|
||||
|
||||
[node name="JuicingJaguar" type="StaticBody2D"]
|
||||
script = ExtResource("1_h0kve")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(13, -29.5)
|
||||
shape = SubResource("RectangleShape2D_ycqct")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(13, -41)
|
||||
sprite_frames = SubResource("SpriteFrames_8ue1k")
|
||||
flip_h = true
|
||||
|
||||
[node name="Talkable" parent="." instance=ExtResource("3_l27ci")]
|
||||
|
||||
[node name="CollisionShape2D" parent="Talkable/InteractionArea" index="0"]
|
||||
position = Vector2(17, -43)
|
||||
shape = SubResource("CircleShape2D_vq17j")
|
||||
|
||||
[node name="Interactable" parent="." instance=ExtResource("4_tbday")]
|
||||
|
||||
[node name="Panel" parent="Interactable" index="1"]
|
||||
offset_left = -54.0
|
||||
offset_top = -88.0
|
||||
offset_right = 81.0
|
||||
offset_bottom = -1.0
|
||||
|
||||
[editable path="Talkable"]
|
||||
[editable path="Interactable"]
|
||||
[editable path="Interactable/ActionMenu"]
|
||||
BIN
NPCs/Tutorial/Normal/JuicingJaguar/jaguar.png
Normal file
BIN
NPCs/Tutorial/Normal/JuicingJaguar/jaguar.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
34
NPCs/Tutorial/Normal/JuicingJaguar/jaguar.png.import
Normal file
34
NPCs/Tutorial/Normal/JuicingJaguar/jaguar.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bp4ic0vjga07h"
|
||||
path="res://.godot/imported/jaguar.png-425a7a37757560410ca795824e47ac0f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Tutorial/Normal/JuicingJaguar/jaguar.png"
|
||||
dest_files=["res://.godot/imported/jaguar.png-425a7a37757560410ca795824e47ac0f.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,36 @@
|
|||
~ start
|
||||
|
||||
if not get_save_value("tutorialSheepTalked", false)
|
||||
=> init
|
||||
elif get_save_value("tutorialSheepDone", false)
|
||||
=> rand
|
||||
elif get_save_value("tutorialScavenged", false)
|
||||
=> postScavenge
|
||||
else
|
||||
=> midScavenge
|
||||
|
||||
|
||||
~ init
|
||||
Scavenging Sheep: This world... is filled with things...! The more you look, the more you find...
|
||||
Scavenging Sheep: When you keep looking, and keep finding, and keep... pocketing... that is known as... scavenging!
|
||||
Scavenging Sheep: Maybe if you were looking inside this here barrel... chances are, you could find... and keep... a thing!
|
||||
Scavenging Sheep: I wonder how many things one could find in such barrels... or in boxes... or even in trees...
|
||||
Scavenging Sheep: in my experience, I tend to always find as much as I need...
|
||||
do set_save_value("tutorialSheepTalked", true)
|
||||
=> END
|
||||
|
||||
~ midScavenge
|
||||
Scavenging Sheep: Maybe if you were looking inside this here barrel...
|
||||
=> END
|
||||
|
||||
~ postScavenge
|
||||
Scavenging Sheep: I've also noticed that I keep getting quicker at finding what I want... the more I look for things...
|
||||
Scavenging Sheep: Go ahead, little cow... go and find everything your heart desires...
|
||||
do set_save_value("tutorialSheepDone", true)
|
||||
=> END
|
||||
|
||||
~ rand
|
||||
% Scavenging Sheep: Hey... would you like to ruminate together... some day?
|
||||
% Scavenging Sheep: My imagination is unlimited, but my legs are short...
|
||||
- continue => END
|
||||
- repeat tutorial => init
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
[remap]
|
||||
|
||||
importer="dialogue_manager_compiler_11"
|
||||
type="Resource"
|
||||
uid="uid://bdsweum10yg00"
|
||||
path="res://.godot/imported/ScavengingSheep.dialogue-568d67f5c325641c399581a2b9789fa6.tres"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Tutorial/Normal/ScavengingSheep/ScavengingSheep.dialogue"
|
||||
dest_files=["res://.godot/imported/ScavengingSheep.dialogue-568d67f5c325641c399581a2b9789fa6.tres"]
|
||||
|
||||
[params]
|
||||
|
||||
defaults=true
|
||||
17
NPCs/Tutorial/Normal/ScavengingSheep/ScavengingSheep.gd
Normal file
17
NPCs/Tutorial/Normal/ScavengingSheep/ScavengingSheep.gd
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
extends NPC
|
||||
|
||||
@export var EllieMode = false
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
characterName = "Scavenging Sheep"
|
||||
pronouns = "any"
|
||||
if EllieMode:
|
||||
dialogueResource = load("res://NPCs/Tutorial/Normal/ScavengingSheep/ScavengingSheep2.dialogue")
|
||||
else:
|
||||
dialogueResource = load("res://NPCs/Tutorial/Normal/ScavengingSheep/ScavengingSheep.dialogue")
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
||||
53
NPCs/Tutorial/Normal/ScavengingSheep/ScavengingSheep.tscn
Normal file
53
NPCs/Tutorial/Normal/ScavengingSheep/ScavengingSheep.tscn
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
[gd_scene load_steps=8 format=3 uid="uid://cpkmcy7ijcrhx"]
|
||||
|
||||
[ext_resource type="Script" path="res://NPCs/Tutorial/Normal/ScavengingSheep/ScavengingSheep.gd" id="1_cmmvp"]
|
||||
[ext_resource type="Texture2D" uid="uid://cap0f1gbtx2e5" path="res://NPCs/Tutorial/Normal/ScavengingSheep/sheep.png" id="2_p7xrh"]
|
||||
[ext_resource type="PackedScene" uid="uid://c31736waactb2" path="res://Interactions/Talking/Talkable.tscn" id="3_7glr2"]
|
||||
[ext_resource type="PackedScene" uid="uid://bqibe7ha6r5ls" path="res://Interactions/Interactable/interactable.tscn" id="4_wmynp"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_3fv85"]
|
||||
size = Vector2(79, 15)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_lnefd"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("2_p7xrh")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_j7osu"]
|
||||
radius = 58.0086
|
||||
|
||||
[node name="ScavengingSheep" type="StaticBody2D"]
|
||||
script = ExtResource("1_cmmvp")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(-2.5, -7.5)
|
||||
shape = SubResource("RectangleShape2D_3fv85")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(12, -42)
|
||||
sprite_frames = SubResource("SpriteFrames_lnefd")
|
||||
flip_h = true
|
||||
|
||||
[node name="Talkable" parent="." instance=ExtResource("3_7glr2")]
|
||||
|
||||
[node name="CollisionShape2D" parent="Talkable/InteractionArea" index="0"]
|
||||
position = Vector2(5, -42)
|
||||
shape = SubResource("CircleShape2D_j7osu")
|
||||
|
||||
[node name="Interactable" parent="." instance=ExtResource("4_wmynp")]
|
||||
|
||||
[node name="Panel" parent="Interactable" index="1"]
|
||||
offset_left = -51.0
|
||||
offset_top = -81.0
|
||||
offset_right = 75.0
|
||||
offset_bottom = 0.0
|
||||
|
||||
[editable path="Talkable"]
|
||||
[editable path="Interactable"]
|
||||
[editable path="Interactable/ActionMenu"]
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
~ start
|
||||
|
||||
Scavenging Sheep: Oh... Hi...
|
||||
Scavenging Sheep: Didnt think you would be back... so soon...
|
||||
Scavenging Sheep: ...
|
||||
Scavenging Sheep: ...uhm...
|
||||
Scavenging Sheep: ...dont worry about it...
|
||||
|
||||
=> END
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
[remap]
|
||||
|
||||
importer="dialogue_manager_compiler_11"
|
||||
type="Resource"
|
||||
uid="uid://qlig566bnrad"
|
||||
path="res://.godot/imported/ScavengingSheep2.dialogue-2e90be4100f56b5e77fb53953ab97b24.tres"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Tutorial/Normal/ScavengingSheep/ScavengingSheep2.dialogue"
|
||||
dest_files=["res://.godot/imported/ScavengingSheep2.dialogue-2e90be4100f56b5e77fb53953ab97b24.tres"]
|
||||
|
||||
[params]
|
||||
|
||||
defaults=true
|
||||
BIN
NPCs/Tutorial/Normal/ScavengingSheep/sheep.png
Normal file
BIN
NPCs/Tutorial/Normal/ScavengingSheep/sheep.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
34
NPCs/Tutorial/Normal/ScavengingSheep/sheep.png.import
Normal file
34
NPCs/Tutorial/Normal/ScavengingSheep/sheep.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cap0f1gbtx2e5"
|
||||
path="res://.godot/imported/sheep.png-e1fffe52ad16e910418e304d1447ef3f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Tutorial/Normal/ScavengingSheep/sheep.png"
|
||||
dest_files=["res://.godot/imported/sheep.png-e1fffe52ad16e910418e304d1447ef3f.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
|
||||
22
NPCs/Tutorial/Normal/TradingToad/TradingToad.dialogue
Normal file
22
NPCs/Tutorial/Normal/TradingToad/TradingToad.dialogue
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
~ start
|
||||
if not get_save_value("tutorialToadDone", false)
|
||||
=> init
|
||||
else
|
||||
=> rand
|
||||
|
||||
~ init
|
||||
Trading Toad: Ever hear about "capitalism"? People in the past were into some WILD stuff, yikes...
|
||||
Trading Toad: What's "money" even supposed to be? A myth from a forgotten time, and I hear it didn't even taste good.
|
||||
Trading Toad: But grapes, they're delicious. Grapes have REAL value. I want grapes, and lots of them!
|
||||
Trading Toad: Which is why you can trade items for other items in places like cafes and shops
|
||||
Trading Toad: Basically wherever animals are offering things from a menu. Try the menu card next to me!
|
||||
Trading Toad: Don't worry, it's easy to find everything you need to thrive here.
|
||||
Trading Toad: Other animals will be happy to share and trade stuff. Have fun!
|
||||
do set_save_value("tutorialToadDone", true)
|
||||
=> END
|
||||
|
||||
~ rand
|
||||
% Trading Toad: It's ok if you don't have everything figured out always!
|
||||
% Trading Toad: Whenever I get tired of carrying too many grapes, I just eat them
|
||||
- continue => END
|
||||
- repeat tutorial => init
|
||||
15
NPCs/Tutorial/Normal/TradingToad/TradingToad.dialogue.import
Normal file
15
NPCs/Tutorial/Normal/TradingToad/TradingToad.dialogue.import
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
[remap]
|
||||
|
||||
importer="dialogue_manager_compiler_11"
|
||||
type="Resource"
|
||||
uid="uid://6ccskjbqvhnk"
|
||||
path="res://.godot/imported/TradingToad.dialogue-feb7390abef6849d185f377daf8d90f1.tres"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Tutorial/Normal/TradingToad/TradingToad.dialogue"
|
||||
dest_files=["res://.godot/imported/TradingToad.dialogue-feb7390abef6849d185f377daf8d90f1.tres"]
|
||||
|
||||
[params]
|
||||
|
||||
defaults=true
|
||||
13
NPCs/Tutorial/Normal/TradingToad/TradingToad.gd
Normal file
13
NPCs/Tutorial/Normal/TradingToad/TradingToad.gd
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
extends NPC
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
characterName = "Trading Toad"
|
||||
pronouns = "He/Him"
|
||||
dialogueResource = load("res://NPCs/Tutorial/Normal/TradingToad/TradingToad.dialogue")
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
||||
52
NPCs/Tutorial/Normal/TradingToad/TradingToad.tscn
Normal file
52
NPCs/Tutorial/Normal/TradingToad/TradingToad.tscn
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
[gd_scene load_steps=8 format=3 uid="uid://h4xktqg1hl6h"]
|
||||
|
||||
[ext_resource type="Script" path="res://NPCs/Tutorial/Normal/TradingToad/TradingToad.gd" id="1_audrv"]
|
||||
[ext_resource type="PackedScene" uid="uid://bqibe7ha6r5ls" path="res://Interactions/Interactable/interactable.tscn" id="2_4t8qg"]
|
||||
[ext_resource type="Texture2D" uid="uid://cly56xk8fgli2" path="res://NPCs/Tutorial/Normal/TradingToad/toad.png" id="2_af2bp"]
|
||||
[ext_resource type="PackedScene" uid="uid://c31736waactb2" path="res://Interactions/Talking/Talkable.tscn" id="3_hr4u7"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_6gxxe"]
|
||||
radius = 23.0868
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_0xhso"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("2_af2bp")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_2vls4"]
|
||||
radius = 36.0555
|
||||
|
||||
[node name="TradingToad" type="StaticBody2D"]
|
||||
script = ExtResource("1_audrv")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(-2, -19)
|
||||
shape = SubResource("CircleShape2D_6gxxe")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(2, -37)
|
||||
sprite_frames = SubResource("SpriteFrames_0xhso")
|
||||
|
||||
[node name="Interactable" parent="." instance=ExtResource("2_4t8qg")]
|
||||
|
||||
[node name="Panel" parent="Interactable" index="1"]
|
||||
offset_left = -28.0
|
||||
offset_top = -67.0
|
||||
offset_right = 36.0
|
||||
offset_bottom = 0.0
|
||||
|
||||
[node name="Talkable" parent="." instance=ExtResource("3_hr4u7")]
|
||||
|
||||
[node name="CollisionShape2D" parent="Talkable/InteractionArea" index="0"]
|
||||
position = Vector2(1, -32)
|
||||
shape = SubResource("CircleShape2D_2vls4")
|
||||
|
||||
[editable path="Interactable"]
|
||||
[editable path="Interactable/ActionMenu"]
|
||||
[editable path="Talkable"]
|
||||
BIN
NPCs/Tutorial/Normal/TradingToad/toad.png
Normal file
BIN
NPCs/Tutorial/Normal/TradingToad/toad.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
34
NPCs/Tutorial/Normal/TradingToad/toad.png.import
Normal file
34
NPCs/Tutorial/Normal/TradingToad/toad.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cly56xk8fgli2"
|
||||
path="res://.godot/imported/toad.png-c2bd05c1d9347c19361f6c9cff4f197e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Tutorial/Normal/TradingToad/toad.png"
|
||||
dest_files=["res://.godot/imported/toad.png-c2bd05c1d9347c19361f6c9cff4f197e.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
|
||||
28
NPCs/Tutorial/Normal/TutorialTapir/TutorialTapir.dialogue
Normal file
28
NPCs/Tutorial/Normal/TutorialTapir/TutorialTapir.dialogue
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
~ start
|
||||
|
||||
if get_save_value("tutorialTapirDone", false)
|
||||
=> rand
|
||||
|
||||
~ init
|
||||
Tutorial Tapir: Good morning, You look wonderful and energetic, so let's get started!
|
||||
- Good morning
|
||||
Tutorial Tapir: Before we arrive at Snoutsville there are some things you should probably know,and I'm here to teach you.
|
||||
~ tutorial
|
||||
Tutorial Tapir: You can walk places by clicking where you would like to go. It is also how you interact with animals and things.
|
||||
Tutorial Tapir: The icons on the bottom right open your skill menu, inventory, and game options.
|
||||
Tutorial Tapir: You can pick up items from the ground, and likewise you can drop things from your inventory.
|
||||
Tutorial Tapir: Engaging in activities such as walking gives you experience for the respective skill.
|
||||
Tutorial Tapir: Try walking around on this boat and talking to all the animals, they will teach you some additional knowledge!
|
||||
Tutorial Tapir: When you're done checking everything out, feel free to chill out downstairs.
|
||||
Tutorial Tapir: I'm sure we will arrive at Snoutsville very soon!
|
||||
- Ok, thank you
|
||||
do set_save_value("tutorialTapirDone", true)
|
||||
=> END
|
||||
|
||||
~ rand
|
||||
% Tutorial Tapir: Did you know tapirs are related to horses and rhinos?
|
||||
% Tutorial Tapir: When I was a baby, I used to look like a watermelon. Now I look like a princess.
|
||||
% Tutorial Tapir: I hope you're enjoying this cow type experience!
|
||||
- continue => END
|
||||
- repeat tutorial => tutorial
|
||||
=> END
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
[remap]
|
||||
|
||||
importer="dialogue_manager_compiler_11"
|
||||
type="Resource"
|
||||
uid="uid://cwdd56jmnq6wi"
|
||||
path="res://.godot/imported/TutorialTapir.dialogue-fb6500c44eb8adac6e2c2fd8f81a866c.tres"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Tutorial/Normal/TutorialTapir/TutorialTapir.dialogue"
|
||||
dest_files=["res://.godot/imported/TutorialTapir.dialogue-fb6500c44eb8adac6e2c2fd8f81a866c.tres"]
|
||||
|
||||
[params]
|
||||
|
||||
defaults=true
|
||||
13
NPCs/Tutorial/Normal/TutorialTapir/TutorialTapir.gd
Normal file
13
NPCs/Tutorial/Normal/TutorialTapir/TutorialTapir.gd
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
extends NPC
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
characterName = "Tutorial Tapir"
|
||||
pronouns = "any"
|
||||
dialogueResource = load("res://NPCs/Tutorial/Normal/TutorialTapir/TutorialTapir.dialogue")
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
pass
|
||||
52
NPCs/Tutorial/Normal/TutorialTapir/TutorialTapir.tscn
Normal file
52
NPCs/Tutorial/Normal/TutorialTapir/TutorialTapir.tscn
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
[gd_scene load_steps=8 format=3 uid="uid://ccvxw3e2nc55a"]
|
||||
|
||||
[ext_resource type="Script" path="res://NPCs/Tutorial/Normal/TutorialTapir/TutorialTapir.gd" id="1_dfdi1"]
|
||||
[ext_resource type="PackedScene" uid="uid://bqibe7ha6r5ls" path="res://Interactions/Interactable/interactable.tscn" id="1_m8lte"]
|
||||
[ext_resource type="PackedScene" uid="uid://c31736waactb2" path="res://Interactions/Talking/Talkable.tscn" id="2_ejyhi"]
|
||||
[ext_resource type="Texture2D" uid="uid://be7unxtjx6hcd" path="res://NPCs/Tutorial/Normal/TutorialTapir/tapir.png" id="4_d6syc"]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_5d5yn"]
|
||||
radius = 66.0076
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_3mssv"]
|
||||
size = Vector2(91, 23)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_e41h6"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("4_d6syc")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[node name="TutorialTapir" type="StaticBody2D"]
|
||||
script = ExtResource("1_dfdi1")
|
||||
|
||||
[node name="Interactable" parent="." instance=ExtResource("1_m8lte")]
|
||||
|
||||
[node name="Panel" parent="Interactable" index="1"]
|
||||
offset_left = -55.0
|
||||
offset_top = -104.0
|
||||
offset_right = 76.0
|
||||
offset_bottom = -1.0
|
||||
|
||||
[node name="Talkable" parent="." instance=ExtResource("2_ejyhi")]
|
||||
|
||||
[node name="CollisionShape2D" parent="Talkable/InteractionArea" index="0"]
|
||||
position = Vector2(2, -47)
|
||||
shape = SubResource("CircleShape2D_5d5yn")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(18.5, -14.5)
|
||||
shape = SubResource("RectangleShape2D_3mssv")
|
||||
|
||||
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(-1, -54)
|
||||
sprite_frames = SubResource("SpriteFrames_e41h6")
|
||||
|
||||
[editable path="Interactable"]
|
||||
[editable path="Interactable/ActionMenu"]
|
||||
[editable path="Talkable"]
|
||||
BIN
NPCs/Tutorial/Normal/TutorialTapir/tapir.png
Normal file
BIN
NPCs/Tutorial/Normal/TutorialTapir/tapir.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
34
NPCs/Tutorial/Normal/TutorialTapir/tapir.png.import
Normal file
34
NPCs/Tutorial/Normal/TutorialTapir/tapir.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://be7unxtjx6hcd"
|
||||
path="res://.godot/imported/tapir.png-e41d9eb841c2b35532a48b77d1b6d27b.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Tutorial/Normal/TutorialTapir/tapir.png"
|
||||
dest_files=["res://.godot/imported/tapir.png-e41d9eb841c2b35532a48b77d1b6d27b.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
|
||||
Loading…
Add table
Add a link
Reference in a new issue