It's Cow Game! Version 2.04!
This commit is contained in:
commit
a9e1ed9ddd
3148 changed files with 95332 additions and 0 deletions
33
NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.dialogue
Normal file
33
NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.dialogue
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
~ start
|
||||
|
||||
if not get_save_value("BeaverLoveQuestStarted", false):
|
||||
Brench: Hello. Sorry but I'm busy writing right now.
|
||||
Brench: Have a good day.
|
||||
=> END
|
||||
|
||||
if DialogueBoxManager.currentSpeaker.novel_check():
|
||||
=> givingLoveNovel
|
||||
|
||||
if get_save_value("BeaverLoveQuestComplete", false):
|
||||
Brench: Omg did they like it?
|
||||
Brench: If you bring me another of his novels I should have a new tome ready to deliver.
|
||||
=> END
|
||||
|
||||
Brench: Hello do you have something for me?
|
||||
Brench: It doesn't seem like you have anything maybe it got mushed up in the water.
|
||||
Brench: Pleasure to talk to you, though I have work to get back to.
|
||||
=> END
|
||||
|
||||
~ givingLoveNovel
|
||||
do DialogueBoxManager.currentSpeaker.take_novel()
|
||||
if get_save_value("BeaverLoveNovelDelivered", false):
|
||||
Brench: Omg another novel. Thank you so much for delivering this.
|
||||
Brench: Here I have another tome ready. Please take it to Lammy.
|
||||
else:
|
||||
Brench: omg what is this? o_o
|
||||
Brench: i,,,, please deliver this tome back to him
|
||||
do set_save_value("BeaverLoveNovelDelivered", true)
|
||||
do DialogueBoxManager.currentSpeaker.take_novel()
|
||||
do DialogueBoxManager.currentSpeaker.give_tome()
|
||||
|
||||
=> END
|
||||
15
NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.dialogue.import
Normal file
15
NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.dialogue.import
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
[remap]
|
||||
|
||||
importer="dialogue_manager_compiler_11"
|
||||
type="Resource"
|
||||
uid="uid://dkyjkli2xe13s"
|
||||
path="res://.godot/imported/BlissfulBeaver.dialogue-c7ec852f40224fb0746d0698d2bd0296.tres"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.dialogue"
|
||||
dest_files=["res://.godot/imported/BlissfulBeaver.dialogue-c7ec852f40224fb0746d0698d2bd0296.tres"]
|
||||
|
||||
[params]
|
||||
|
||||
defaults=true
|
||||
22
NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.gd
Normal file
22
NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.gd
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
extends NPC
|
||||
|
||||
const loveNovelItemClass = preload("res://Items/Paper/LoveNovel.gd")
|
||||
var loveNovel
|
||||
|
||||
const loveTomeItemClass = preload("res://Items/Paper/LoveTome.gd")
|
||||
var loveTome
|
||||
|
||||
func _ready():
|
||||
dialogueResource = load("res://NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.dialogue")
|
||||
loveNovel = loveNovelItemClass.new()
|
||||
loveTome = loveTomeItemClass.new()
|
||||
|
||||
func take_novel():
|
||||
InventoryManager.spend_item(loveNovel)
|
||||
|
||||
func give_tome():
|
||||
InventoryManager.add_item_to_inventory(loveTome)
|
||||
MessageManager.item_popup(loveTome.duplicate())
|
||||
|
||||
func novel_check():
|
||||
return InventoryManager.check_if_in_inventory(loveNovel)
|
||||
BIN
NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.png
Normal file
BIN
NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 670 B |
34
NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.png.import
Normal file
34
NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cbk44prbe3mj5"
|
||||
path="res://.godot/imported/BlissfulBeaver.png-d5e1068051983d89c93deea67e961508.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.png"
|
||||
dest_files=["res://.godot/imported/BlissfulBeaver.png-d5e1068051983d89c93deea67e961508.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
|
||||
49
NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.tscn
Normal file
49
NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.tscn
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
[gd_scene load_steps=7 format=3 uid="uid://b5rhxql3yxell"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://doqfsp7yxools" path="res://NPCs/NPC.tscn" id="1_cly10"]
|
||||
[ext_resource type="Script" path="res://NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.gd" id="2_i5pex"]
|
||||
[ext_resource type="Texture2D" uid="uid://cbk44prbe3mj5" path="res://NPCs/Beavers/BlissfulBeaver/BlissfulBeaver.png" id="3_x4qei"]
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_ltd81"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("3_x4qei")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="CircleShape2D" id="CircleShape2D_ew5ty"]
|
||||
radius = 30.2655
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_221ce"]
|
||||
radius = 7.0
|
||||
height = 82.0
|
||||
|
||||
[node name="BlissfulBeaver" instance=ExtResource("1_cly10")]
|
||||
script = ExtResource("2_i5pex")
|
||||
|
||||
[node name="Sprite" parent="." index="0"]
|
||||
position = Vector2(-6, -7)
|
||||
sprite_frames = SubResource("SpriteFrames_ltd81")
|
||||
|
||||
[node name="Panel" parent="Interactable" index="1"]
|
||||
offset_left = -43.0
|
||||
offset_top = -29.0
|
||||
offset_right = 62.0
|
||||
offset_bottom = 14.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, 3)
|
||||
rotation = 1.5708
|
||||
shape = SubResource("CapsuleShape2D_221ce")
|
||||
|
||||
[editable path="Interactable"]
|
||||
[editable path="Interactable/ActionMenu"]
|
||||
[editable path="Talkable"]
|
||||
51
NPCs/Beavers/LongingBeaver/LongingBeaver.dialogue
Normal file
51
NPCs/Beavers/LongingBeaver/LongingBeaver.dialogue
Normal 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
|
||||
15
NPCs/Beavers/LongingBeaver/LongingBeaver.dialogue.import
Normal file
15
NPCs/Beavers/LongingBeaver/LongingBeaver.dialogue.import
Normal 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
|
||||
39
NPCs/Beavers/LongingBeaver/LongingBeaver.gd
Normal file
39
NPCs/Beavers/LongingBeaver/LongingBeaver.gd
Normal 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)
|
||||
BIN
NPCs/Beavers/LongingBeaver/LongingBeaver.png
Normal file
BIN
NPCs/Beavers/LongingBeaver/LongingBeaver.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 619 B |
34
NPCs/Beavers/LongingBeaver/LongingBeaver.png.import
Normal file
34
NPCs/Beavers/LongingBeaver/LongingBeaver.png.import
Normal 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
|
||||
49
NPCs/Beavers/LongingBeaver/LongingBeaver.tscn
Normal file
49
NPCs/Beavers/LongingBeaver/LongingBeaver.tscn
Normal 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"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue