Compare commits

..

No commits in common. "main" and "visible-phase" have entirely different histories.

67 changed files with 71 additions and 954 deletions

BIN
assets/card_base/illust bg 1.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://6trhu2r7h6g3"
path="res://.godot/imported/illust bg 1.png-7d6e961f3fef1ad5d8dcf698718d9c23.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/card_base/illust bg 1.png"
dest_files=["res://.godot/imported/illust bg 1.png-7d6e961f3fef1ad5d8dcf698718d9c23.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
assets/monster/Goldfish 2.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b0f5rg5eqyym1"
path="res://.godot/imported/Goldfish 2.png-20495c3132cec5d0b0f2eb9e1b6f168f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/monster/Goldfish 2.png"
dest_files=["res://.godot/imported/Goldfish 2.png-20495c3132cec5d0b0f2eb9e1b6f168f.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
assets/monster/axolotl 3.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://wdyu7txs2ijg"
path="res://.godot/imported/axolotl 3.png-66300d813b5cc2dfc432414b14c1f8bc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/monster/axolotl 3.png"
dest_files=["res://.godot/imported/axolotl 3.png-66300d813b5cc2dfc432414b14c1f8bc.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
assets/monster/capybara 1.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c72q2py2vj6j4"
path="res://.godot/imported/capybara 1.png-98187c93d8c784ac26a4fe6cdc81e3f0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/monster/capybara 1.png"
dest_files=["res://.godot/imported/capybara 1.png-98187c93d8c784ac26a4fe6cdc81e3f0.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
assets/monster/cat 3.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bcusdaqfhlv1b"
path="res://.godot/imported/cat 3.png-a083e2d16032d32908b04a46259e2c6a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/monster/cat 3.png"
dest_files=["res://.godot/imported/cat 3.png-a083e2d16032d32908b04a46259e2c6a.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
assets/monster/duck 1.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ujke0x73f77b"
path="res://.godot/imported/duck 1.png-e7d6d398a984b9ae6ba8f33dfe27e9dd.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/monster/duck 1.png"
dest_files=["res://.godot/imported/duck 1.png-e7d6d398a984b9ae6ba8f33dfe27e9dd.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
assets/monster/jellyfish 2.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cstwubbj8l8fr"
path="res://.godot/imported/jellyfish 2.png-d36c6543a46308145decdddd5ae9a63d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/monster/jellyfish 2.png"
dest_files=["res://.godot/imported/jellyfish 2.png-d36c6543a46308145decdddd5ae9a63d.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
assets/monster/penguing 2.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://deneyvmke3qyl"
path="res://.godot/imported/penguing 2.png-80094e4bcdb64d08cfd28547f5dd45c7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/monster/penguing 2.png"
dest_files=["res://.godot/imported/penguing 2.png-80094e4bcdb64d08cfd28547f5dd45c7.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
assets/monster/rabbit 1.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cu0ivvtvryq64"
path="res://.godot/imported/rabbit 1.png-53666927d04c30fffb92370a7482b673.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/monster/rabbit 1.png"
dest_files=["res://.godot/imported/rabbit 1.png-53666927d04c30fffb92370a7482b673.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
assets/monster/whale 2.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dw8cnu3lfblig"
path="res://.godot/imported/whale 2.png-8dca9b32eca20cb2feb31734e55de3f6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/monster/whale 2.png"
dest_files=["res://.godot/imported/whale 2.png-8dca9b32eca20cb2feb31734e55de3f6.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
assets/support/Invisibility.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b8hkgi1r8wpri"
path="res://.godot/imported/Invisibility.png-b1f5b6e24b6db1d63402e75c2d90b9f4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/support/Invisibility.png"
dest_files=["res://.godot/imported/Invisibility.png-b1f5b6e24b6db1d63402e75c2d90b9f4.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
assets/support/absorb.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cv5hjphfixv3o"
path="res://.godot/imported/absorb.png-e8458d89a69818053d3209e7228c83cd.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/support/absorb.png"
dest_files=["res://.godot/imported/absorb.png-e8458d89a69818053d3209e7228c83cd.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
assets/support/all out attack.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bpmr8pa8cq3w0"
path="res://.godot/imported/all out attack.png-2872fd363fbff1bf0b089ac317139b0e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/support/all out attack.png"
dest_files=["res://.godot/imported/all out attack.png-2872fd363fbff1bf0b089ac317139b0e.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
assets/support/energy booster.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cd1mxacc3gfcy"
path="res://.godot/imported/energy booster.png-f846d83c962a9e077788e0d0ed5252dd.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/support/energy booster.png"
dest_files=["res://.godot/imported/energy booster.png-f846d83c962a9e077788e0d0ed5252dd.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
assets/support/insurance.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bwo6dfe1kpxhe"
path="res://.godot/imported/insurance.png-fa2ae7ef8a239dc0e4a4bd2c8f0b477b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/support/insurance.png"
dest_files=["res://.godot/imported/insurance.png-fa2ae7ef8a239dc0e4a4bd2c8f0b477b.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
assets/support/lifesteal.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bni2wr2vrg0fe"
path="res://.godot/imported/lifesteal.png-1fcf74a2a74d8a4381ce6310ccb999d8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/support/lifesteal.png"
dest_files=["res://.godot/imported/lifesteal.png-1fcf74a2a74d8a4381ce6310ccb999d8.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
assets/support/potion.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://48hblv72emyr"
path="res://.godot/imported/potion.png-1339ae9737d6625a795e518c852db261.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/support/potion.png"
dest_files=["res://.godot/imported/potion.png-1339ae9737d6625a795e518c852db261.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
assets/support/reflection.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b3uq5b2x2oacn"
path="res://.godot/imported/reflection.png-2ae705bc1d7282dacca1272db53a447a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/support/reflection.png"
dest_files=["res://.godot/imported/reflection.png-2ae705bc1d7282dacca1272db53a447a.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
assets/support/sword mastery.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ha5p3vpqn5jv"
path="res://.godot/imported/sword mastery.png-67026928e9b242f46437e6cfb6d95bee.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/support/sword mastery.png"
dest_files=["res://.godot/imported/sword mastery.png-67026928e9b242f46437e6cfb6d95bee.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
assets/support/tanker.png (Stored with Git LFS)

Binary file not shown.

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://hiswkj2stt4l"
path="res://.godot/imported/tanker.png-de127e279370081587c7a5243fff4d1c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/support/tanker.png"
dest_files=["res://.godot/imported/tanker.png-de127e279370081587c7a5243fff4d1c.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

@ -1,6 +1,6 @@
[gd_resource type="Resource" script_class="MonsterCard" load_steps=3 format=3 uid="uid://di76avwc0gn8e"] [gd_resource type="Resource" script_class="MonsterCard" load_steps=3 format=3 uid="uid://deo8mj887rfx1"]
[ext_resource type="Texture2D" uid="uid://wdyu7txs2ijg" path="res://assets/monster/axolotl 3.png" id="1_j0l6n"] [ext_resource type="Texture2D" uid="uid://b8accn4e2ojau" path="res://assets/monster/froggo 1.png" id="1_dyw44"]
[ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_s0p53"] [ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_s0p53"]
[resource] [resource]
@ -12,4 +12,4 @@ energy_cost = 1
base_health = 120 base_health = 120
name = "Axoluna" name = "Axoluna"
description = "Cute wanderer of the tank, Axoluna" description = "Cute wanderer of the tank, Axoluna"
icon = ExtResource("1_j0l6n") icon = ExtResource("1_dyw44")

View file

@ -1,7 +1,6 @@
[gd_resource type="Resource" script_class="MonsterCard" load_steps=3 format=3 uid="uid://tgju8eodyuk1"] [gd_resource type="Resource" script_class="MonsterCard" load_steps=2 format=3 uid="uid://tgju8eodyuk1"]
[ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_3jfyg"] [ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_3jfyg"]
[ext_resource type="Texture2D" uid="uid://cu0ivvtvryq64" path="res://assets/monster/rabbit 1.png" id="1_xibsw"]
[resource] [resource]
script = ExtResource("1_3jfyg") script = ExtResource("1_3jfyg")
@ -12,4 +11,3 @@ energy_cost = 1
base_health = 50 base_health = 50
name = "Bunnaut" name = "Bunnaut"
description = "Run faster than tortoise." description = "Run faster than tortoise."
icon = ExtResource("1_xibsw")

View file

@ -1,6 +1,5 @@
[gd_resource type="Resource" script_class="MonsterCard" load_steps=3 format=3 uid="uid://cs7q8i7bvohmj"] [gd_resource type="Resource" script_class="MonsterCard" load_steps=2 format=3 uid="uid://cs7q8i7bvohmj"]
[ext_resource type="Texture2D" uid="uid://c72q2py2vj6j4" path="res://assets/monster/capybara 1.png" id="1_mulam"]
[ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_n3oql"] [ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_n3oql"]
[resource] [resource]
@ -12,4 +11,3 @@ energy_cost = 3
base_health = 170 base_health = 170
name = "Capytain" name = "Capytain"
description = "A big, hungry capybara" description = "A big, hungry capybara"
icon = ExtResource("1_mulam")

View file

@ -1,7 +1,6 @@
[gd_resource type="Resource" script_class="MonsterCard" load_steps=3 format=3 uid="uid://bmst884k0myvd"] [gd_resource type="Resource" script_class="MonsterCard" load_steps=2 format=3 uid="uid://bmst884k0myvd"]
[ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_hblhq"] [ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_hblhq"]
[ext_resource type="Texture2D" uid="uid://bcusdaqfhlv1b" path="res://assets/monster/cat 3.png" id="1_xles7"]
[resource] [resource]
script = ExtResource("1_hblhq") script = ExtResource("1_hblhq")
@ -12,4 +11,3 @@ energy_cost = 3
base_health = 80 base_health = 80
name = "Cattogato" name = "Cattogato"
description = "Lovely cat wandering in the space." description = "Lovely cat wandering in the space."
icon = ExtResource("1_xles7")

View file

@ -1,7 +1,6 @@
[gd_resource type="Resource" script_class="MonsterCard" load_steps=3 format=3 uid="uid://myxgsyerrdla"] [gd_resource type="Resource" script_class="MonsterCard" load_steps=2 format=3 uid="uid://myxgsyerrdla"]
[ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_1j36c"] [ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_1j36c"]
[ext_resource type="Texture2D" uid="uid://b0f5rg5eqyym1" path="res://assets/monster/Goldfish 2.png" id="1_62dnj"]
[resource] [resource]
script = ExtResource("1_1j36c") script = ExtResource("1_1j36c")
@ -12,4 +11,3 @@ energy_cost = 1
base_health = 120 base_health = 120
name = "Gilli" name = "Gilli"
description = "There is a huge monster looking at me everyday." description = "There is a huge monster looking at me everyday."
icon = ExtResource("1_62dnj")

View file

@ -1,6 +1,5 @@
[gd_resource type="Resource" script_class="MonsterCard" load_steps=3 format=3 uid="uid://425ipxdapg8o"] [gd_resource type="Resource" script_class="MonsterCard" load_steps=2 format=3 uid="uid://425ipxdapg8o"]
[ext_resource type="Texture2D" uid="uid://cstwubbj8l8fr" path="res://assets/monster/jellyfish 2.png" id="1_t6381"]
[ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_yvmeg"] [ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_yvmeg"]
[resource] [resource]
@ -12,4 +11,3 @@ energy_cost = 2
base_health = 110 base_health = 110
name = "Jellova" name = "Jellova"
description = "I'm gonna whip you till' you .. nevermind." description = "I'm gonna whip you till' you .. nevermind."
icon = ExtResource("1_t6381")

View file

@ -1,6 +1,5 @@
[gd_resource type="Resource" script_class="MonsterCard" load_steps=3 format=3 uid="uid://cakkx0o8mifmn"] [gd_resource type="Resource" script_class="MonsterCard" load_steps=2 format=3 uid="uid://cakkx0o8mifmn"]
[ext_resource type="Texture2D" uid="uid://dw8cnu3lfblig" path="res://assets/monster/whale 2.png" id="1_4dsvt"]
[ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_xcdwy"] [ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_xcdwy"]
[resource] [resource]
@ -12,4 +11,3 @@ energy_cost = 2
base_health = 200 base_health = 200
name = "Orcava" name = "Orcava"
description = "Human try to communicate with me. I simply block them." description = "Human try to communicate with me. I simply block them."
icon = ExtResource("1_4dsvt")

View file

@ -1,7 +1,6 @@
[gd_resource type="Resource" script_class="MonsterCard" load_steps=3 format=3 uid="uid://shri5ne51s74"] [gd_resource type="Resource" script_class="MonsterCard" load_steps=2 format=3 uid="uid://shri5ne51s74"]
[ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_70s4q"] [ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_70s4q"]
[ext_resource type="Texture2D" uid="uid://deneyvmke3qyl" path="res://assets/monster/penguing 2.png" id="1_75ppb"]
[resource] [resource]
script = ExtResource("1_70s4q") script = ExtResource("1_70s4q")
@ -12,4 +11,3 @@ energy_cost = 2
base_health = 100 base_health = 100
name = "Prankie" name = "Prankie"
description = "I'm not pranking anyone. Yet." description = "I'm not pranking anyone. Yet."
icon = ExtResource("1_75ppb")

View file

@ -1,6 +1,5 @@
[gd_resource type="Resource" script_class="MonsterCard" load_steps=3 format=3 uid="uid://dnf3gpji5prlr"] [gd_resource type="Resource" script_class="MonsterCard" load_steps=2 format=3 uid="uid://dnf3gpji5prlr"]
[ext_resource type="Texture2D" uid="uid://ujke0x73f77b" path="res://assets/monster/duck 1.png" id="1_4f7pv"]
[ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_a8rjn"] [ext_resource type="Script" path="res://tcg/card/monster_card.gd" id="1_a8rjn"]
[resource] [resource]
@ -12,4 +11,3 @@ energy_cost = 1
base_health = 70 base_health = 70
name = "Quackle" name = "Quackle"
description = "Quack! Quack! No one notice me." description = "Quack! Quack! No one notice me."
icon = ExtResource("1_4f7pv")

View file

@ -1,8 +1,7 @@
[gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=4 format=3 uid="uid://be01tdq1fxlct"] [gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=3 format=3 uid="uid://be01tdq1fxlct"]
[ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_mhxdy"] [ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_mhxdy"]
[ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="2_f6hay"] [ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="2_f6hay"]
[ext_resource type="Texture2D" uid="uid://cv5hjphfixv3o" path="res://assets/support/absorb.png" id="2_i2lgf"]
[resource] [resource]
script = ExtResource("2_f6hay") script = ExtResource("2_f6hay")
@ -11,4 +10,3 @@ type = "red"
effects = Array[ExtResource("1_mhxdy")]([]) effects = Array[ExtResource("1_mhxdy")]([])
name = "Absorb" name = "Absorb"
description = "Enemy damage converted to heal your Active Monster Field HP during this turn." description = "Enemy damage converted to heal your Active Monster Field HP during this turn."
icon = ExtResource("2_i2lgf")

View file

@ -1,14 +1,12 @@
[gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=4 format=3 uid="uid://dgxcvdo6x6kst"] [gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=3 format=3 uid="uid://dgxcvdo6x6kst"]
[ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_fd50n"] [ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_fd50n"]
[ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="2_61mgn"] [ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="2_61mgn"]
[ext_resource type="Texture2D" uid="uid://bpmr8pa8cq3w0" path="res://assets/support/all out attack.png" id="2_a1iip"]
[resource] [resource]
script = ExtResource("2_61mgn") script = ExtResource("2_61mgn")
scope = "turn" scope = "instant"
type = "green" type = "green"
effects = Array[ExtResource("1_fd50n")]([null]) effects = Array[ExtResource("1_fd50n")]([null])
name = "All-Out Attack" name = "All-Out Attack"
description = "Combine all Rock Paper Scissor during this turn, and got additional damage from the lowest Rock Paper Scissor you got." description = "Combine all Rock Paper Scissor during this turn, and got additional damage from the lowest Rock Paper Scissor you got."
icon = ExtResource("2_a1iip")

View file

@ -1,8 +1,7 @@
[gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=4 format=3 uid="uid://c0grh1y65e0f3"] [gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=3 format=3 uid="uid://c0grh1y65e0f3"]
[ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_pkc1x"] [ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_pkc1x"]
[ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="2_iq88n"] [ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="2_iq88n"]
[ext_resource type="Texture2D" uid="uid://cd1mxacc3gfcy" path="res://assets/support/energy booster.png" id="2_lxctl"]
[resource] [resource]
script = ExtResource("2_iq88n") script = ExtResource("2_iq88n")
@ -11,4 +10,3 @@ type = "green"
effects = Array[ExtResource("1_pkc1x")]([null]) effects = Array[ExtResource("1_pkc1x")]([null])
name = "Energy Booster" name = "Energy Booster"
description = "Add 1 additional Energy." description = "Add 1 additional Energy."
icon = ExtResource("2_lxctl")

View file

@ -1,8 +1,7 @@
[gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=4 format=3 uid="uid://dfocg5yfh22e8"] [gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=3 format=3 uid="uid://dfocg5yfh22e8"]
[ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_gtyqr"] [ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_gtyqr"]
[ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="2_3ixor"] [ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="2_3ixor"]
[ext_resource type="Texture2D" uid="uid://bwo6dfe1kpxhe" path="res://assets/support/insurance.png" id="2_f7jjv"]
[resource] [resource]
script = ExtResource("2_3ixor") script = ExtResource("2_3ixor")
@ -11,4 +10,3 @@ type = "red"
effects = Array[ExtResource("1_gtyqr")]([null]) effects = Array[ExtResource("1_gtyqr")]([null])
name = "Insurance" name = "Insurance"
description = "If your monster supposed to be dead in this turn, keep it alive at 10 HP." description = "If your monster supposed to be dead in this turn, keep it alive at 10 HP."
icon = ExtResource("2_f7jjv")

View file

@ -1,14 +1,13 @@
[gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=4 format=3 uid="uid://by4yg81uqti3u"] [gd_resource type="Resource" script_class="SimpleSupportCard" load_steps=3 format=3 uid="uid://by4yg81uqti3u"]
[ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_5tnpm"] [ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_5tnpm"]
[ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="2_6c2xo"] [ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="2_6c2xo"]
[ext_resource type="Texture2D" uid="uid://b8hkgi1r8wpri" path="res://assets/support/Invisibility.png" id="2_6occh"]
[resource] [resource]
script = ExtResource("2_6c2xo") script = ExtResource("2_6c2xo")
scope = "turn" scope = "turn"
magnitude = 0
type = "green" type = "green"
effects = Array[ExtResource("1_5tnpm")]([null]) effects = Array[ExtResource("1_5tnpm")]([null])
name = "Invisibility" name = "Invisibility"
description = "Ignore any damage to your monster in this turn." description = "Ignore any damage to your monster in this turn."
icon = ExtResource("2_6occh")

View file

@ -1,7 +1,6 @@
[gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=4 format=3 uid="uid://bcrlaam8uq6xt"] [gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=3 format=3 uid="uid://bcrlaam8uq6xt"]
[ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_b33y4"] [ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_b33y4"]
[ext_resource type="Texture2D" uid="uid://bni2wr2vrg0fe" path="res://assets/support/lifesteal.png" id="2_arrkb"]
[ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="2_khaf1"] [ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="2_khaf1"]
[resource] [resource]
@ -11,4 +10,3 @@ type = "green"
effects = Array[ExtResource("1_b33y4")]([null]) effects = Array[ExtResource("1_b33y4")]([null])
name = "Lifesteal" name = "Lifesteal"
description = "During this turn your attack also heals your HP." description = "During this turn your attack also heals your HP."
icon = ExtResource("2_arrkb")

View file

@ -1,9 +1,8 @@
[gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=6 format=3 uid="uid://4eod3m0vc5a8"] [gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=5 format=3 uid="uid://4eod3m0vc5a8"]
[ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_ujm0o"] [ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_ujm0o"]
[ext_resource type="Resource" uid="uid://cvu0rtt5nggf" path="res://data/support_effects/heal.tres" id="2_k1cnl"] [ext_resource type="Resource" uid="uid://cvu0rtt5nggf" path="res://data/support_effects/heal.tres" id="2_k1cnl"]
[ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="3_at5nt"] [ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="3_at5nt"]
[ext_resource type="Texture2D" uid="uid://48hblv72emyr" path="res://assets/support/potion.png" id="3_hk8kx"]
[sub_resource type="Resource" id="Resource_88lmk"] [sub_resource type="Resource" id="Resource_88lmk"]
script = ExtResource("1_ujm0o") script = ExtResource("1_ujm0o")
@ -17,4 +16,3 @@ type = "green"
effects = Array[ExtResource("1_ujm0o")]([SubResource("Resource_88lmk")]) effects = Array[ExtResource("1_ujm0o")]([SubResource("Resource_88lmk")])
name = "Potion" name = "Potion"
description = "Heal 30 HP" description = "Heal 30 HP"
icon = ExtResource("3_hk8kx")

View file

@ -1,14 +1,13 @@
[gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=4 format=3 uid="uid://c1gsrru1wa6ao"] [gd_resource type="Resource" script_class="SimpleSupportCard" load_steps=3 format=3 uid="uid://c1gsrru1wa6ao"]
[ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_mk2or"] [ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_mk2or"]
[ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="2_igbok"] [ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="2_igbok"]
[ext_resource type="Texture2D" uid="uid://b3uq5b2x2oacn" path="res://assets/support/reflection.png" id="2_jrr8g"]
[resource] [resource]
script = ExtResource("2_igbok") script = ExtResource("2_igbok")
scope = "turn" scope = "turn"
magnitude = 0
type = "red" type = "red"
effects = Array[ExtResource("1_mk2or")]([null]) effects = Array[ExtResource("1_mk2or")]([null])
name = "Reflection" name = "Reflection"
description = "Enemy got the same amount of damage as our monster in this turn." description = "Enemy got the same amount of damage as our monster in this turn."
icon = ExtResource("2_jrr8g")

View file

@ -1,9 +1,8 @@
[gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=6 format=3 uid="uid://2xeb6keaoabo"] [gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=5 format=3 uid="uid://2xeb6keaoabo"]
[ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_y6yvj"] [ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_y6yvj"]
[ext_resource type="Resource" uid="uid://bs4i85slalkgd" path="res://data/support_effects/sword_mastery.tres" id="2_omhdb"] [ext_resource type="Resource" uid="uid://bs4i85slalkgd" path="res://data/support_effects/sword_mastery.tres" id="2_omhdb"]
[ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="3_37rh4"] [ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="3_37rh4"]
[ext_resource type="Texture2D" uid="uid://ha5p3vpqn5jv" path="res://assets/support/sword mastery.png" id="3_rrvpt"]
[sub_resource type="Resource" id="Resource_wwv02"] [sub_resource type="Resource" id="Resource_wwv02"]
script = ExtResource("1_y6yvj") script = ExtResource("1_y6yvj")
@ -17,4 +16,3 @@ type = "green"
effects = Array[ExtResource("1_y6yvj")]([SubResource("Resource_wwv02")]) effects = Array[ExtResource("1_y6yvj")]([SubResource("Resource_wwv02")])
name = "Sword Mastery" name = "Sword Mastery"
description = "Permanently add 20 damage for all Rock Paper Scissor to 1 Active Monster." description = "Permanently add 20 damage for all Rock Paper Scissor to 1 Active Monster."
icon = ExtResource("3_rrvpt")

View file

@ -1,14 +1,13 @@
[gd_resource type="Resource" script_class="ImplementedSupportCard" load_steps=4 format=3 uid="uid://dsmrqyxt8mdp5"] [gd_resource type="Resource" script_class="SimpleSupportCard" load_steps=3 format=3 uid="uid://dsmrqyxt8mdp5"]
[ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_1fvcb"] [ext_resource type="Script" path="res://tcg/card/support_card_effect_instance.gd" id="1_1fvcb"]
[ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="2_d0adk"] [ext_resource type="Script" path="res://tcg/card/implemented_support_card.gd" id="2_d0adk"]
[ext_resource type="Texture2D" uid="uid://hiswkj2stt4l" path="res://assets/support/tanker.png" id="2_hqv06"]
[resource] [resource]
script = ExtResource("2_d0adk") script = ExtResource("2_d0adk")
scope = "turn" scope = "turn"
magnitude = 0
type = "red" type = "red"
effects = Array[ExtResource("1_1fvcb")]([null]) effects = Array[ExtResource("1_1fvcb")]([null])
name = "Tanker" name = "Tanker"
description = "Add your HP with your selected (Rock Paper Scissor) during this turn, and reduce to max HP if current HP higher than max HP." description = "Add your HP with your selected (Rock Paper Scissor) during this turn, and reduce to max HP if current HP higher than max HP."
icon = ExtResource("2_hqv06")

View file

@ -13,7 +13,6 @@ signal opponent_played_rts(move: String)
@onready var own_side = $Own @onready var own_side = $Own
@onready var opponent_side = $Opponent @onready var opponent_side = $Opponent
@onready var start_game_btn = $StartGameButton @onready var start_game_btn = $StartGameButton
@onready var win_lose_tie_label: Label = $"Win-Lose-Tie"
var id_to_card: Dictionary = {} var id_to_card: Dictionary = {}
@ -66,10 +65,6 @@ func _on_match_manager_state_transitioned(transition: PhaseTransition):
start_game_btn.visible = match_manager.phase == Match.Phase.PREGAME start_game_btn.visible = match_manager.phase == Match.Phase.PREGAME
transition_history.append(transition) transition_history.append(transition)
_update_phase_info(transition.to) _update_phase_info(transition.to)
if transition.to == Match.Phase.END:
var game_ended_event: EventGameEnded = transition.events.filter(func (it): return it is EventGameEnded)[0]
win_lose_tie_label.text = "TIE" if game_ended_event.winner_player_id == -1 else "YOU WON!" if game_ended_event.winner_player_id == id else "YOU LOST!"
win_lose_tie_label.visible = true
print("Phase: ", Match.phase_to_str(transition.from), " -> ", Match.phase_to_str(transition.to)) print("Phase: ", Match.phase_to_str(transition.from), " -> ", Match.phase_to_str(transition.to))
func _on_start_game_button_button_up() -> void: func _on_start_game_button_button_up() -> void:

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=24 format=3 uid="uid://bgc0u117jqyr1"] [gd_scene load_steps=23 format=3 uid="uid://bgc0u117jqyr1"]
[ext_resource type="Script" path="res://demo_game.gd" id="1_jn16u"] [ext_resource type="Script" path="res://demo_game.gd" id="1_jn16u"]
[ext_resource type="Script" path="res://player_side.gd" id="2_w4tnt"] [ext_resource type="Script" path="res://player_side.gd" id="2_w4tnt"]
@ -18,7 +18,6 @@
[ext_resource type="Resource" uid="uid://c0grh1y65e0f3" path="res://data/cards/support/energy_booster.tres" id="10_3rg8q"] [ext_resource type="Resource" uid="uid://c0grh1y65e0f3" path="res://data/cards/support/energy_booster.tres" id="10_3rg8q"]
[ext_resource type="Resource" uid="uid://2xeb6keaoabo" path="res://data/cards/support/sword_mastery.tres" id="11_seakd"] [ext_resource type="Resource" uid="uid://2xeb6keaoabo" path="res://data/cards/support/sword_mastery.tres" id="11_seakd"]
[ext_resource type="Resource" uid="uid://bmst884k0myvd" path="res://data/cards/monster/cattogato.tres" id="12_xqqfn"] [ext_resource type="Resource" uid="uid://bmst884k0myvd" path="res://data/cards/monster/cattogato.tres" id="12_xqqfn"]
[ext_resource type="Texture2D" uid="uid://6trhu2r7h6g3" path="res://assets/card_base/illust bg 1.png" id="13_bdgfp"]
[ext_resource type="Texture2D" uid="uid://b0pclmv0j0r12" path="res://assets/card_base/kertas.png" id="18_gwpy8"] [ext_resource type="Texture2D" uid="uid://b0pclmv0j0r12" path="res://assets/card_base/kertas.png" id="18_gwpy8"]
[ext_resource type="Theme" uid="uid://is34t82g4jg" path="res://cards.tres" id="19_3iovu"] [ext_resource type="Theme" uid="uid://is34t82g4jg" path="res://cards.tres" id="19_3iovu"]
[ext_resource type="Texture2D" uid="uid://ch04c20lkis6j" path="res://assets/card_base/gunting.png" id="19_clnw6"] [ext_resource type="Texture2D" uid="uid://ch04c20lkis6j" path="res://assets/card_base/gunting.png" id="19_clnw6"]
@ -35,13 +34,6 @@ script = ExtResource("1_jn16u")
player_1_deck = Array[ExtResource("2_xuft0")]([ExtResource("3_we1tk"), ExtResource("4_kkhfk"), ExtResource("5_3cm5x"), ExtResource("6_potm8"), ExtResource("7_nvv8k"), ExtResource("8_ewr4v"), ExtResource("9_ga5hf"), ExtResource("10_3rg8q"), ExtResource("11_seakd")]) player_1_deck = Array[ExtResource("2_xuft0")]([ExtResource("3_we1tk"), ExtResource("4_kkhfk"), ExtResource("5_3cm5x"), ExtResource("6_potm8"), ExtResource("7_nvv8k"), ExtResource("8_ewr4v"), ExtResource("9_ga5hf"), ExtResource("10_3rg8q"), ExtResource("11_seakd")])
player_2_deck = Array[ExtResource("2_xuft0")]([ExtResource("12_xqqfn"), ExtResource("4_kkhfk"), ExtResource("6_potm8"), ExtResource("7_nvv8k"), ExtResource("8_ewr4v"), ExtResource("9_ga5hf"), ExtResource("10_3rg8q"), ExtResource("11_seakd"), ExtResource("5_3cm5x")]) player_2_deck = Array[ExtResource("2_xuft0")]([ExtResource("12_xqqfn"), ExtResource("4_kkhfk"), ExtResource("6_potm8"), ExtResource("7_nvv8k"), ExtResource("8_ewr4v"), ExtResource("9_ga5hf"), ExtResource("10_3rg8q"), ExtResource("11_seakd"), ExtResource("5_3cm5x")])
[node name="TextureRect" type="TextureRect" parent="."]
layout_mode = 0
offset_right = 1804.0
offset_bottom = 1224.0
scale = Vector2(1.1, 1.1)
texture = ExtResource("13_bdgfp")
[node name="Own" type="Control" parent="." node_paths=PackedStringArray("deck", "energy_label", "rps_button_container")] [node name="Own" type="Control" parent="." node_paths=PackedStringArray("deck", "energy_label", "rps_button_container")]
layout_mode = 1 layout_mode = 1
anchor_top = 0.5 anchor_top = 0.5
@ -154,12 +146,13 @@ layout_mode = 1
anchors_preset = 5 anchors_preset = 5
anchor_left = 0.5 anchor_left = 0.5
anchor_right = 0.5 anchor_right = 0.5
offset_left = 84.0 offset_left = -83.5
offset_top = 24.0 offset_top = 300.0
offset_right = 251.0 offset_right = 83.5
offset_bottom = 47.0 offset_bottom = 323.0
grow_horizontal = 2 grow_horizontal = 2
text = "HP +0" text = "Incoming Damage: 0"
horizontal_alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="Own"] [node name="HBoxContainer" type="HBoxContainer" parent="Own"]
visible = false visible = false
@ -275,13 +268,14 @@ anchor_left = 0.5
anchor_top = 1.0 anchor_top = 1.0
anchor_right = 0.5 anchor_right = 0.5
anchor_bottom = 1.0 anchor_bottom = 1.0
offset_left = 84.0 offset_left = -83.5
offset_top = -52.0 offset_top = -325.0
offset_right = 251.0 offset_right = 83.5
offset_bottom = -29.0 offset_bottom = -302.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 0 grow_vertical = 0
text = "HP +0" text = "Incoming Damage: 0"
horizontal_alignment = 1
[node name="StartGameButton" type="Button" parent="."] [node name="StartGameButton" type="Button" parent="."]
layout_mode = 1 layout_mode = 1
@ -344,26 +338,6 @@ theme = ExtResource("19_3iovu")
theme_override_font_sizes/font_size = 24 theme_override_font_sizes/font_size = 24
text = "Support (2)" text = "Support (2)"
[node name="Win-Lose-Tie" type="Label" parent="."]
visible = false
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -365.0
offset_top = -215.0
offset_right = 365.0
offset_bottom = 215.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("19_3iovu")
theme_override_font_sizes/font_size = 52
text = "YOU WON!"
horizontal_alignment = 1
vertical_alignment = 1
[connection signal="play_card" from="Own" to="." method="_on_own_play_card"] [connection signal="play_card" from="Own" to="." method="_on_own_play_card"]
[connection signal="rps_move" from="Own" to="." method="_on_own_rps_move"] [connection signal="rps_move" from="Own" to="." method="_on_own_rps_move"]
[connection signal="button_down" from="Own/HBoxContainer/KertasButton" to="Own" method="_on_kertas_button_button_down"] [connection signal="button_down" from="Own/HBoxContainer/KertasButton" to="Own" method="_on_kertas_button_button_down"]

View file

@ -22,14 +22,6 @@ var match_manager: MatchManager
var show_buttons: bool var show_buttons: bool
var signal_connected: bool var signal_connected: bool
var selected_card: Control var selected_card: Control
var focused_card: Control
var hovering_cards_this_frame: Array[Control] = []
var hovering_cards_duration: Dictionary = {}
const original_hover_position = 50 # hard coded idk what's a good way to find this value
const hover_animation_time = 0.1
const hover_height_offset = -50
const selected_height_offset = -100
func attach(match_manager: MatchManager, show_buttons: bool = true): func attach(match_manager: MatchManager, show_buttons: bool = true):
self.show_buttons = show_buttons self.show_buttons = show_buttons
@ -43,14 +35,11 @@ func _ready():
support1_green.visible = false support1_green.visible = false
support2_green.visible = false support2_green.visible = false
support2_red.visible = false support2_red.visible = false
incoming_damage_label.visible = false
for child in deck.get_children(): for child in deck.get_children():
child.queue_free() child.queue_free()
func _on_update(transition): func _on_update(transition):
hovering_cards_duration.clear()
selected_card = null selected_card = null
incoming_damage_label.visible = true
for child in deck.get_children(): for child in deck.get_children():
child.queue_free() child.queue_free()
@ -83,7 +72,7 @@ func _on_update(transition):
if monster: if monster:
monster_card_ui.visible = true monster_card_ui.visible = true
monster_card_ui.show_monster(monster) monster_card_ui.show_monster(monster)
incoming_damage_label.text = "HP " + ("+0" if monster.health_delta == 0 else str(monster.health_delta)) incoming_damage_label.text = "Incoming Damage: " + str(monster.health_delta)
else: else:
monster_card_ui.visible = false monster_card_ui.visible = false
@ -98,7 +87,6 @@ func _on_update(transition):
skip_btn.left_clicked.connect(func (): skip_btn.left_clicked.connect(func ():
_pop_this_card(skip_btn) _pop_this_card(skip_btn)
play_card.emit(null)) play_card.emit(null))
skip_btn.hovering.connect(func (delta): _do_hover(skip_btn, delta))
deck.add_child(skip_btn) deck.add_child(skip_btn)
for card: Card in player.hand: for card: Card in player.hand:
@ -130,9 +118,6 @@ func _on_update(transition):
monster_card.left_clicked.connect(func (): monster_card.left_clicked.connect(func ():
_pop_this_card(monster_card) _pop_this_card(monster_card)
play_card.emit(card)) play_card.emit(card))
monster_card.hovering.connect(func (delta): _do_hover(monster_card, delta))
monster_card.right_clicked.connect(func(): _do_zoom(monster_card))
monster_card.un_right_clicked.connect(_do_unzoom)
deck.add_child(monster_card) deck.add_child(monster_card)
elif card is SupportCard and card.type == "red": elif card is SupportCard and card.type == "red":
@ -148,74 +133,19 @@ func _on_update(transition):
btn.left_clicked.connect(func (): btn.left_clicked.connect(func ():
_pop_this_card(btn) _pop_this_card(btn)
play_card.emit(card)) play_card.emit(card))
btn.hovering.connect(func (delta): _do_hover(btn, delta))
btn.right_clicked.connect(func(): _do_zoom(btn))
btn.un_right_clicked.connect(_do_unzoom)
if rps_button_container: if rps_button_container:
rps_button_container.visible = match_manager.phase == Match.Phase.RPS rps_button_container.visible = match_manager.phase == Match.Phase.RPS
for button: TextureButton in rps_button_container.get_children(): for button: TextureButton in rps_button_container.get_children():
button.modulate = rps_grayed_color button.modulate = rps_grayed_color
func _do_zoom(card: Control):
if focused_card:
_do_unzoom()
var new_card: Control = card.duplicate()
get_parent().add_child(new_card)
new_card.set_anchors_and_offsets_preset(Control.PRESET_CENTER)
new_card.scale = Vector2(2,2)
focused_card = new_card
func _do_unzoom():
if focused_card:
focused_card.queue_free()
focused_card = null
func _pop_this_card(control: Control): func _pop_this_card(control: Control):
if selected_card: if selected_card:
selected_card.position = Vector2(selected_card.position.x, original_hover_position) selected_card.size_flags_vertical = Control.SIZE_SHRINK_END
control.size_flags_vertical = Control.SIZE_SHRINK_BEGIN
selected_card = control selected_card = control
selected_card.position = Vector2(selected_card.position.x, original_hover_position + selected_height_offset)
func _do_hover(control: Control, delta: float):
if control == selected_card:
if control in hovering_cards_duration:
hovering_cards_duration.erase(control)
return
var duration: float
if control in hovering_cards_duration:
duration = hovering_cards_duration[control]
duration = clampf(duration + delta, 0, hover_animation_time)
hovering_cards_duration[control] = duration
else:
hovering_cards_duration[control] = delta
duration = delta
var height = lerpf(0, hover_height_offset, duration / hover_animation_time) + original_hover_position
control.position = Vector2(control.position.x, height)
hovering_cards_this_frame.append(control)
func _process(delta):
for card in hovering_cards_duration.keys():
if !card or card in hovering_cards_this_frame:
continue
var duration = hovering_cards_duration[card]
duration = maxf(0, duration - delta)
var height = lerpf(0, hover_height_offset, duration / hover_animation_time) + original_hover_position
card.position = Vector2(card.position.x, height)
if duration == 0:
hovering_cards_duration.erase(card)
else:
hovering_cards_duration[card] = duration
hovering_cards_this_frame.clear()
func _on_kertas_button_button_down() -> void: func _on_kertas_button_button_down() -> void:

View file

@ -1,7 +0,0 @@
extends Event
class_name EventGameEnded
var winner_player_id: int
func _init(winner_player_id: int) -> void:
self.winner_player_id = winner_player_id

View file

@ -172,7 +172,6 @@ func resolve(action_by_player_id: Dictionary) -> PhaseTransition:
player.active_support_cards = player.active_support_cards.filter(func (card): return not card_expires_this_turn.call(card)) player.active_support_cards = player.active_support_cards.filter(func (card): return not card_expires_this_turn.call(card))
var players_without_monster = players.values().filter(func(player): return player.monster == null) var players_without_monster = players.values().filter(func(player): return player.monster == null)
var players_without_monster_ids = players_without_monster.map(func (it): return it.id)
if players_without_monster.size() == 0: if players_without_monster.size() == 0:
phase = Match.Phase.SUPPORT_1 phase = Match.Phase.SUPPORT_1
elif players_without_monster.all( elif players_without_monster.all(
@ -180,11 +179,7 @@ func resolve(action_by_player_id: Dictionary) -> PhaseTransition:
): ):
phase = Match.Phase.SUMMON phase = Match.Phase.SUMMON
else: else:
var player_1_lost = players_without_monster_ids.has(player_1.id)
var player_2_lost = players_without_monster_ids.has(player_2.id)
var winner_id = -1 if player_1_lost and player_2_lost else player_1.id if player_2_lost else player_2.id
phase = Match.Phase.END phase = Match.Phase.END
events.append(EventGameEnded.new(winner_id))
_: _:
pass pass
var transition = PhaseTransition.new(events, initial_phase, phase) var transition = PhaseTransition.new(events, initial_phase, phase)

View file

@ -3,7 +3,6 @@ class_name CardBase
signal left_clicked signal left_clicked
signal right_clicked signal right_clicked
signal un_right_clicked
signal hovering(delta: float) signal hovering(delta: float)
@export var card_name_label: Label @export var card_name_label: Label
@ -26,17 +25,20 @@ func _update(card: SupportCard):
func _process(delta): func _process(delta):
var mouse_position = get_global_mouse_position() var mouse_position = get_global_mouse_position()
var rect = get_global_rect() var rect = get_global_rect()
if rect.has_point(mouse_position) and get_window().has_focus(): if rect.has_point(mouse_position):
hovering.emit(delta) hovering.emit(delta)
func _input(event): func _input(event):
if event is InputEventMouseButton: if event is InputEventMouseButton:
if !event.is_pressed():
return
var mouse_position = get_global_mouse_position() var mouse_position = get_global_mouse_position()
var rect = get_global_rect() var rect = get_global_rect()
if not rect.has_point(mouse_position):
return
if rect.has_point(mouse_position) and event.button_index == MOUSE_BUTTON_LEFT and event.is_pressed() and get_window().has_focus(): if event.button_index == MOUSE_BUTTON_LEFT:
left_clicked.emit() left_clicked.emit()
elif rect.has_point(mouse_position) and event.button_index == MOUSE_BUTTON_RIGHT and event.is_pressed() and get_window().has_focus(): elif event.button_index == MOUSE_BUTTON_RIGHT:
right_clicked.emit() right_clicked.emit()
elif event.button_index == MOUSE_BUTTON_RIGHT and !event.is_pressed():
un_right_clicked.emit()

View file

@ -3,7 +3,6 @@ class_name MonsterCardUI
signal left_clicked signal left_clicked
signal right_clicked signal right_clicked
signal un_right_clicked
signal hovering(delta: float) signal hovering(delta: float)
@export var name_label : Label @export var name_label : Label
@ -38,17 +37,20 @@ func show_monster(monster: MatchMonster):
func _process(delta): func _process(delta):
var mouse_position = get_global_mouse_position() var mouse_position = get_global_mouse_position()
var rect = get_global_rect() var rect = get_global_rect()
if rect.has_point(mouse_position) and get_window().has_focus(): if rect.has_point(mouse_position):
hovering.emit(delta) hovering.emit(delta)
func _input(event): func _input(event):
if event is InputEventMouseButton: if event is InputEventMouseButton:
if !event.is_pressed():
return
var mouse_position = get_global_mouse_position() var mouse_position = get_global_mouse_position()
var rect = get_global_rect() var rect = get_global_rect()
if not rect.has_point(mouse_position):
return
if rect.has_point(mouse_position) and event.button_index == MOUSE_BUTTON_LEFT and event.is_pressed() and get_window().has_focus(): if event.button_index == MOUSE_BUTTON_LEFT:
left_clicked.emit() left_clicked.emit()
elif rect.has_point(mouse_position) and event.button_index == MOUSE_BUTTON_RIGHT and event.is_pressed() and get_window().has_focus(): elif event.button_index == MOUSE_BUTTON_RIGHT:
right_clicked.emit() right_clicked.emit()
elif event.button_index == MOUSE_BUTTON_RIGHT and !event.is_pressed():
un_right_clicked.emit()

View file

@ -6,9 +6,9 @@
[ext_resource type="Texture2D" uid="uid://crgrple0uik7x" path="res://assets/card_base/Stroke.png" id="3_qajq3"] [ext_resource type="Texture2D" uid="uid://crgrple0uik7x" path="res://assets/card_base/Stroke.png" id="3_qajq3"]
[ext_resource type="Texture2D" uid="uid://blejyda8mendg" path="res://assets/card_base/InnerFill.png" id="4_pgomu"] [ext_resource type="Texture2D" uid="uid://blejyda8mendg" path="res://assets/card_base/InnerFill.png" id="4_pgomu"]
[ext_resource type="Texture2D" uid="uid://by7ws88pn4tvb" path="res://assets/card_base/Separator.png" id="5_501uu"] [ext_resource type="Texture2D" uid="uid://by7ws88pn4tvb" path="res://assets/card_base/Separator.png" id="5_501uu"]
[ext_resource type="Texture2D" uid="uid://bwo6dfe1kpxhe" path="res://assets/support/insurance.png" id="6_bpwac"]
[ext_resource type="Texture2D" uid="uid://0gxplli5krq2" path="res://assets/card_base/Pill.png" id="6_ce7hm"] [ext_resource type="Texture2D" uid="uid://0gxplli5krq2" path="res://assets/card_base/Pill.png" id="6_ce7hm"]
[ext_resource type="Theme" uid="uid://is34t82g4jg" path="res://cards.tres" id="7_va1d7"] [ext_resource type="Theme" path="res://cards.tres" id="7_va1d7"]
[ext_resource type="Texture2D" uid="uid://rh3aswb0p7ri" path="res://assets/energy.png" id="8_4yq42"]
[ext_resource type="FontFile" uid="uid://08q3kkwmd4u6" path="res://assets/Inter-Regular.otf" id="10_c2ugn"] [ext_resource type="FontFile" uid="uid://08q3kkwmd4u6" path="res://assets/Inter-Regular.otf" id="10_c2ugn"]
[node name="CardBase" type="Control" node_paths=PackedStringArray("card_name_label", "card_desc_label", "icon_rect")] [node name="CardBase" type="Control" node_paths=PackedStringArray("card_name_label", "card_desc_label", "icon_rect")]
@ -77,17 +77,6 @@ grow_vertical = 2
texture = ExtResource("4_pgomu") texture = ExtResource("4_pgomu")
expand_mode = 1 expand_mode = 1
[node name="Icon" type="TextureRect" parent="MarginContainer"]
layout_mode = 0
offset_left = 2.0
offset_top = 63.0
offset_right = 209.0
offset_bottom = 203.0
pivot_offset = Vector2(304.286, 120.143)
texture = ExtResource("6_bpwac")
expand_mode = 1
stretch_mode = 6
[node name="InnerStroke" type="NinePatchRect" parent="MarginContainer"] [node name="InnerStroke" type="NinePatchRect" parent="MarginContainer"]
layout_mode = 1 layout_mode = 1
anchors_preset = 15 anchors_preset = 15
@ -158,6 +147,16 @@ text = "Green card"
horizontal_alignment = 1 horizontal_alignment = 1
vertical_alignment = 1 vertical_alignment = 1
[node name="Icon" type="TextureRect" parent="MarginContainer"]
layout_mode = 0
offset_left = 26.0
offset_top = 74.0
offset_right = 169.0
offset_bottom = 179.0
texture = ExtResource("8_4yq42")
expand_mode = 1
stretch_mode = 6
[node name="DescriptionLabel" type="Label" parent="MarginContainer"] [node name="DescriptionLabel" type="Label" parent="MarginContainer"]
layout_mode = 0 layout_mode = 0
offset_left = 11.0 offset_left = 11.0