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,51 @@
~ start
if DialogueBoxManager.currentSpeaker.tome_check():
=> givingLoveTome
if get_save_value("BeaverLoveQuestComplete", false):
Lammy: omg thank you again for helping sorry can't talk I have so much to read
=> END
if get_save_value("BeaverLoveQuestStarted", false):
Lammy: omg omg omg omg omg
Lammy: i'll keep writing novels in case you lose one of mine or his response
Lammy: if you leave for a moment and come back there'll be one next to me
=> END
Lammy: hi omg can you help me with something?
- yes => startQuest
- no => declineQuest
~ startQuest
if not LevelManager.skill_check("swimming", 10) or not LevelManager.skill_check("building", 10):
Lammy: wait it might not be safe
Lammy: you should get level 10 Swimming and 10 Building and come back
=> END
Lammy: i wrote this love novel for the beaver across the river
Lammy: but i'm too shy to bring it over, too shy to even go close really
Lammy: i'll imbue you with my beaver knowledge so you can build a dam to get over there
Lammy: *you can now build beaver dams*
Lammy: be careful, if you're carrying a heavy inventory you'll need to store some stuff or build a stronger dam
Lammy: if you don't it might break and the love novel will get soaked
Lammy: thank you good luck o-o
do set_save_value("BeaverLoveQuestStarted", true)
=> END
~ declineQuest
Lammy: ok no worries...
~ givingLoveTome
do DialogueBoxManager.currentSpeaker.take_tome()
if get_save_value("BeaverLoveQuestComplete", false):
Lammy: woahh another one :o
Lammy: thank you so much, here have some sticks. they're on the dam.
do DialogueBoxManager.currentSpeaker.give_sticks()
=> END
Lammy: whuh, what is this? omg. I gotta read this right away.
Lammy: thank you o-o
Lammy: have this gift, it should help you burn dams
Lammy: thank you so much o-o
do set_save_value("BeaverLoveQuestComplete", true)
do QuestManager.complete_quest("Beaver Love")
=> END

View file

@ -0,0 +1,15 @@
[remap]
importer="dialogue_manager_compiler_11"
type="Resource"
uid="uid://fufgvq7h8egb"
path="res://.godot/imported/LongingBeaver.dialogue-09f46d5949c0562a4ac953d03b0c9cee.tres"
[deps]
source_file="res://NPCs/Beavers/LongingBeaver/LongingBeaver.dialogue"
dest_files=["res://.godot/imported/LongingBeaver.dialogue-09f46d5949c0562a4ac953d03b0c9cee.tres"]
[params]
defaults=true

View file

@ -0,0 +1,39 @@
extends NPC
const loveTomeItemClass = preload("res://Items/Paper/LoveTome.gd")
var loveTome
const stickItemClass = preload("res://Items/Plants/Stick.gd")
const birchStickItemClass = preload("res://Items/Plants/BirchStick.gd")
const magicStickItemClass = preload("res://Items/Plants/MagicStick.gd")
var rng = RandomNumberGenerator.new()
func _ready():
dialogueResource = load("res://NPCs/Beavers/LongingBeaver/LongingBeaver.dialogue")
loveTome = loveTomeItemClass.new()
GlobalEvents.itemBurnt.connect(important_item_burnt)
func important_item_burnt(item:Item):
if item.get_name(false) == "Love Novel" or item.get_name(false) == "Love Tome":
MessageManager.addMessage("AAAAAAAAAAAAA", self, "Lammy", Color.YELLOW)
func take_tome():
InventoryManager.spend_item(loveTome)
func give_sticks():
var result = rng.randi_range(0, 100)
if result <= 45:
InventoryManager.add_item_to_inventory(stickItemClass.new(), 5)
MessageManager.item_popup(stickItemClass.new())
elif result <= 82:
InventoryManager.add_item_to_inventory(birchStickItemClass.new(), 4)
MessageManager.item_popup(birchStickItemClass.new())
else:
InventoryManager.add_item_to_inventory(magicStickItemClass.new(), 1)
MessageManager.item_popup(magicStickItemClass.new())
AchievementManager.complete_achievement("75 WCing Beaver")
func tome_check():
return InventoryManager.check_if_in_inventory(loveTome)

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dpp7gp1v0576u"
path="res://.godot/imported/LongingBeaver.png-483816d4310898b2bc3a4dc7c72c7855.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://NPCs/Beavers/LongingBeaver/LongingBeaver.png"
dest_files=["res://.godot/imported/LongingBeaver.png-483816d4310898b2bc3a4dc7c72c7855.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,49 @@
[gd_scene load_steps=7 format=3 uid="uid://6427y8sddblw"]
[ext_resource type="PackedScene" uid="uid://doqfsp7yxools" path="res://NPCs/NPC.tscn" id="1_nh0ii"]
[ext_resource type="Script" path="res://NPCs/ComingSoonCat/ComingSoonCat.gd" id="2_ubgs1"]
[ext_resource type="Texture2D" uid="uid://dpp7gp1v0576u" path="res://NPCs/Beavers/LongingBeaver/LongingBeaver.png" id="3_yvhnj"]
[sub_resource type="SpriteFrames" id="SpriteFrames_ltd81"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("3_yvhnj")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_ew5ty"]
radius = 30.2655
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_g5tls"]
radius = 7.0
height = 64.0
[node name="LongingBeaver" instance=ExtResource("1_nh0ii")]
script = ExtResource("2_ubgs1")
[node name="Sprite" parent="." index="0"]
position = Vector2(8, -6)
sprite_frames = SubResource("SpriteFrames_ltd81")
[node name="Panel" parent="Interactable" index="1"]
offset_left = -51.0
offset_top = -27.0
offset_right = 35.0
offset_bottom = 11.0
[node name="CollisionShape2D" parent="Talkable/InteractionArea" index="0"]
position = Vector2(0, -8)
shape = SubResource("CircleShape2D_ew5ty")
[node name="CollisionShape2D" parent="." index="3"]
position = Vector2(0, 2)
rotation = 1.5708
shape = SubResource("CapsuleShape2D_g5tls")
[editable path="Interactable"]
[editable path="Interactable/ActionMenu"]
[editable path="Talkable"]