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,13 @@
~ start
% Marlow: Sometimes you gotta be serious about things. But most of the time it's more important to be a little silly.
% Marlow: Every tree is a work of art!
% Marlow: My fav thing to do at the faire is going through the funnel (fun tunnel). It's just so... fun!
% Marlow: Creating things helps to keep the void at bay. Most days I'm just creating my own existence, and that counts, too.
% Marlow: I wonder what life would be like as a horse... is it possible to somehow simulate the life experience of another being?
% Marlow: I've eaten soooooooo many churros today. I feel energetic!
% Marlow: Moo!
% Marlow: Awwwooooooo! That was my wolf howl impression! Cool, huh?
% Marlow: Your fur looks so healthy and glossy today!
=> END

View file

@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_11"
type="Resource"
uid="uid://5mpuirtfejsa"
path="res://.godot/imported/HighlandCow.dialogue-db37fdab08af0ecd85dce367314c27b5.tres"
[deps]
source_file="res://NPCs/HighlandCow/HighlandCow.dialogue"
dest_files=["res://.godot/imported/HighlandCow.dialogue-db37fdab08af0ecd85dce367314c27b5.tres"]
[params]
defaults=true

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b7lonu3dxxrbt"
path="res://.godot/imported/highlandcowl4.png-f3854f4b80fabd001ea8a4a2df594990.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://NPCs/HighlandCow/OnTheyPhone/highlandcowl4.png"
dest_files=["res://.godot/imported/highlandcowl4.png-f3854f4b80fabd001ea8a4a2df594990.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cimceym0i8i6g"
path="res://.godot/imported/highlandcowl5.png-3ea95d8bb576353c25fbcc57bca3aa51.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://NPCs/HighlandCow/OnTheyPhone/highlandcowl5.png"
dest_files=["res://.godot/imported/highlandcowl5.png-3ea95d8bb576353c25fbcc57bca3aa51.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cb4lx3dtax25g"
path="res://.godot/imported/highlandcowl6.png-7b0a24ae0154a968a6d59144864e0d4e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://NPCs/HighlandCow/OnTheyPhone/highlandcowl6.png"
dest_files=["res://.godot/imported/highlandcowl6.png-7b0a24ae0154a968a6d59144864e0d4e.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cskckp2bfsu8o"
path="res://.godot/imported/highlandcowl7.png-61473b8e9d20b20b48969250336cb9a8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://NPCs/HighlandCow/OnTheyPhone/highlandcowl7.png"
dest_files=["res://.godot/imported/highlandcowl7.png-61473b8e9d20b20b48969250336cb9a8.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b8nvfhgllpe8e"
path="res://.godot/imported/highlandcowl8.png-a8ca697290743b48e28f52eed50a5eb4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://NPCs/HighlandCow/OnTheyPhone/highlandcowl8.png"
dest_files=["res://.godot/imported/highlandcowl8.png-a8ca697290743b48e28f52eed50a5eb4.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://di35kwuaft1lc"
path="res://.godot/imported/highlandcowlPhone.png-5bfe32b725affc8521397b199c7654a3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://NPCs/HighlandCow/OnTheyPhone/highlandcowlPhone.png"
dest_files=["res://.godot/imported/highlandcowlPhone.png-5bfe32b725affc8521397b199c7654a3.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dmasq5usp034i"
path="res://.godot/imported/highlandcowl.png-ce24d6b1d1ed0f27e59f2e36eb3525f3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://NPCs/HighlandCow/Sit/highlandcowl.png"
dest_files=["res://.godot/imported/highlandcowl.png-ce24d6b1d1ed0f27e59f2e36eb3525f3.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://eofxbfn0av5a"
path="res://.godot/imported/highlandcowl2.png-e3e95ea7cc7aad1b8a1a77c44d8bfc0d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://NPCs/HighlandCow/Sit/highlandcowl2.png"
dest_files=["res://.godot/imported/highlandcowl2.png-e3e95ea7cc7aad1b8a1a77c44d8bfc0d.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://crpn3s67twkmr"
path="res://.godot/imported/highlandcow.png-7d368c37bfbb20f57ccf63b398d230e2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://NPCs/HighlandCow/Walk/highlandcow.png"
dest_files=["res://.godot/imported/highlandcow.png-7d368c37bfbb20f57ccf63b398d230e2.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bb1rmi50tv7b1"
path="res://.godot/imported/highlandcow2.png-024ddae5ad26f6f20f37633a75a72721.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://NPCs/HighlandCow/Walk/highlandcow2.png"
dest_files=["res://.godot/imported/highlandcow2.png-024ddae5ad26f6f20f37633a75a72721.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

View file

@ -0,0 +1,103 @@
extends NPC
var rng = RandomNumberGenerator.new()
var moveSpeed = 200
var waitTimer = 0
var sitting = false
var onPhone = false
var waited = false
func _ready():
characterName = "Marlow"
pronouns = "they/them"
GlobalEvents.itemBurnt.connect(puppet_burnt)
GlobalEvents.itemBeheld.connect(puppet_shown)
GlobalEvents.itemPlayedWith.connect(puppet_shown)
GlobalEvents.itemWeaved.connect(puppet_weaved)
func puppet_burnt(item:Item):
if item.get_name(false) == "Marlow Puppet":
MessageManager.addMessage("Destruction is a form of creation.", self, "Marlow", Color.ORANGE_RED)
func puppet_shown(item:Item):
if item.get_name(false) == "Marlow Puppet":
MessageManager.addMessage("Omg so handsome...! And the puppet is cute too :3", self, "Marlow", Color.ORANGE_RED)
func puppet_weaved(item:Item):
if item.get_name(false) == "Marlow Puppet":
MessageManager.addMessage("Wow, you're really good at this, you even made it turn pink!", self, "Marlow", Color.ORANGE_RED)
func _process(delta):
waitTimer -= delta
if waitTimer <= 0:
if !waited:
waited = true
if onPhone:
$Sprite.play("OnTheyPhone")
elif sitting:
$Sprite.play("Sit")
wait_between_actions()
else:
pick_next_action()
func wait_between_actions():
waitTimer = rng.randf_range(0.5, 3)
func pick_next_action():
if onPhone:
var nextActionResult = rng.randi_range(0, 4)
if nextActionResult <= 1:
put_away_phone()
elif nextActionResult <= 4:
wait_between_actions()
elif sitting:
var nextActionResult = rng.randi_range(0, 4)
if nextActionResult <= 1:
stand_up()
elif nextActionResult <= 3:
take_out_phone()
elif nextActionResult <= 4:
wait_between_actions()
else:
var nextActionResult = rng.randi_range(0, 4)
if nextActionResult <= 1:
sit_down()
elif nextActionResult <= 4:
wait_between_actions()
waited = false
func sit_down():
$Sprite.play("SitDown")
sitting = true
waitTimer = 1.5
func sit():
$Sprite.play("Sit")
waitTimer = 3
func stand_up():
$Sprite.play("Stand")
sitting = false
waitTimer = 4
func walk():
$Sprite.play("Walk")
waitTimer = 2
func take_out_phone():
onPhone = true
$Sprite.play("PhonePullout")
waitTimer = 1
func put_away_phone():
onPhone = false
$Sprite.play("PhonePullout")
waitTimer = 1
func on_they_phone():
$Sprite.play("OnTheyPhone")
waitTimer = rng.randf_range(2, 5)

View file

@ -0,0 +1,113 @@
[gd_scene load_steps=16 format=3 uid="uid://dmqdlaqf33hvt"]
[ext_resource type="PackedScene" uid="uid://doqfsp7yxools" path="res://NPCs/NPC.tscn" id="1_1rfh1"]
[ext_resource type="Script" path="res://NPCs/HighlandCow/highland_cow.gd" id="2_66nyb"]
[ext_resource type="Texture2D" uid="uid://b7lonu3dxxrbt" path="res://NPCs/HighlandCow/OnTheyPhone/highlandcowl4.png" id="3_8g6wd"]
[ext_resource type="Resource" uid="uid://5mpuirtfejsa" path="res://NPCs/HighlandCow/HighlandCow.dialogue" id="3_w2t8t"]
[ext_resource type="Texture2D" uid="uid://cimceym0i8i6g" path="res://NPCs/HighlandCow/OnTheyPhone/highlandcowl5.png" id="4_yeee2"]
[ext_resource type="Texture2D" uid="uid://cb4lx3dtax25g" path="res://NPCs/HighlandCow/OnTheyPhone/highlandcowl6.png" id="5_wy85p"]
[ext_resource type="Texture2D" uid="uid://cskckp2bfsu8o" path="res://NPCs/HighlandCow/OnTheyPhone/highlandcowl7.png" id="6_5qp7b"]
[ext_resource type="Texture2D" uid="uid://dmasq5usp034i" path="res://NPCs/HighlandCow/Sit/highlandcowl.png" id="6_mpa1s"]
[ext_resource type="Texture2D" uid="uid://b8nvfhgllpe8e" path="res://NPCs/HighlandCow/OnTheyPhone/highlandcowl8.png" id="7_gapsb"]
[ext_resource type="Texture2D" uid="uid://eofxbfn0av5a" path="res://NPCs/HighlandCow/Sit/highlandcowl2.png" id="7_ifaa1"]
[ext_resource type="Texture2D" uid="uid://bb1rmi50tv7b1" path="res://NPCs/HighlandCow/Walk/highlandcow2.png" id="8_57k70"]
[ext_resource type="Texture2D" uid="uid://di35kwuaft1lc" path="res://NPCs/HighlandCow/OnTheyPhone/highlandcowlPhone.png" id="8_qbg48"]
[ext_resource type="Texture2D" uid="uid://crpn3s67twkmr" path="res://NPCs/HighlandCow/Walk/highlandcow.png" id="9_js1ih"]
[sub_resource type="SpriteFrames" id="SpriteFrames_m7bny"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("3_8g6wd")
}, {
"duration": 1.0,
"texture": ExtResource("4_yeee2")
}, {
"duration": 1.0,
"texture": ExtResource("5_wy85p")
}, {
"duration": 1.0,
"texture": ExtResource("6_5qp7b")
}, {
"duration": 1.0,
"texture": ExtResource("7_gapsb")
}],
"loop": true,
"name": &"OnTheyPhone",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("8_qbg48")
}],
"loop": true,
"name": &"PhonePullout",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("7_ifaa1")
}],
"loop": true,
"name": &"Sit",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("6_mpa1s")
}, {
"duration": 1.0,
"texture": ExtResource("7_ifaa1")
}],
"loop": false,
"name": &"SitDown",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("9_js1ih")
}],
"loop": true,
"name": &"Stand",
"speed": 5.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("8_57k70")
}, {
"duration": 1.0,
"texture": ExtResource("9_js1ih")
}],
"loop": true,
"name": &"Walk",
"speed": 5.0
}]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_8naus"]
size = Vector2(128, 10)
[node name="HighlandCow" instance=ExtResource("1_1rfh1")]
script = ExtResource("2_66nyb")
dialogueResource = ExtResource("3_w2t8t")
[node name="Sprite" parent="." index="0"]
position = Vector2(0, -57)
sprite_frames = SubResource("SpriteFrames_m7bny")
animation = &"Stand"
[node name="Panel" parent="Interactable" index="1"]
offset_left = -75.0
offset_top = -87.0
offset_right = 77.0
offset_bottom = 5.0
[node name="CollisionShape2D" parent="Talkable/InteractionArea" index="0"]
position = Vector2(8, -32)
[node name="CollisionShape2D" parent="." index="3"]
position = Vector2(11, -2)
shape = SubResource("RectangleShape2D_8naus")
[editable path="Interactable"]
[editable path="Interactable/ActionMenu"]
[editable path="Talkable"]