From 25756f26c321d582af2ce4ab6987fd8ee6cf3db9 Mon Sep 17 00:00:00 2001 From: Page Asgardius Date: Wed, 18 Dec 2024 15:03:34 -0700 Subject: [PATCH] character select --- ...6.png-b10c1ac0802417bb5f506a51918cd2e6.md5 | 3 + ....png-b10c1ac0802417bb5f506a51918cd2e6.stex | Bin 0 -> 6762 bytes ...t.csv-f7bafd51ed4405bc3f45b54fa34fb92c.md5 | 4 +- global.gd | 20 +- levels/Ceres/map.gd | 12 + levels/Ceres/map.tscn | 73 +++- levels/Ceres/yourhome.gd | 41 ++ levels/Ceres/yourhome.tscn | 349 ++++++++++++++++++ levels/ui/ceres.gd | 6 + levels/ui/ceres.tscn | 3 +- levels/ui/charlist.gd | 66 ++++ levels/ui/charlist.tscn | 133 +++++++ levels/ui/gameplay.gd | 4 +- levels/ui/pause.gd | 11 + levels/ui/pause.tscn | 1 + levels/ui/teams.gd | 68 ++++ levels/ui/teams.tscn | 80 ++++ sprites/ceres/items/home-icon6.png | Bin 0 -> 9556 bytes sprites/ceres/items/home-icon6.png.import | 35 ++ text.csv | 3 + 20 files changed, 897 insertions(+), 15 deletions(-) create mode 100644 .import/home-icon6.png-b10c1ac0802417bb5f506a51918cd2e6.md5 create mode 100644 .import/home-icon6.png-b10c1ac0802417bb5f506a51918cd2e6.stex create mode 100644 levels/Ceres/yourhome.gd create mode 100644 levels/Ceres/yourhome.tscn create mode 100644 levels/ui/charlist.gd create mode 100644 levels/ui/charlist.tscn create mode 100644 levels/ui/teams.gd create mode 100644 levels/ui/teams.tscn create mode 100644 sprites/ceres/items/home-icon6.png create mode 100644 sprites/ceres/items/home-icon6.png.import diff --git a/.import/home-icon6.png-b10c1ac0802417bb5f506a51918cd2e6.md5 b/.import/home-icon6.png-b10c1ac0802417bb5f506a51918cd2e6.md5 new file mode 100644 index 0000000..d7efe39 --- /dev/null +++ b/.import/home-icon6.png-b10c1ac0802417bb5f506a51918cd2e6.md5 @@ -0,0 +1,3 @@ +source_md5="6a649437299f303f616f1234a7c08963" +dest_md5="26c446519c89766a748573d476653c02" + diff --git a/.import/home-icon6.png-b10c1ac0802417bb5f506a51918cd2e6.stex b/.import/home-icon6.png-b10c1ac0802417bb5f506a51918cd2e6.stex new file mode 100644 index 0000000000000000000000000000000000000000..b8d8d94b94fd92e176bf9febe51364785a845a5e GIT binary patch literal 6762 zcmXX~XHXMd)4d4^gdU1ikx)cRXi8BL2vr1?qDZ6&QdOi1BB3N8O+cDdK?D>&Yk0Pw$rog@G#2FOXhDFA?l zp0-lctm*`4qObo%)NRDkyQ0uC+U{RYguJS=G_tj$~ zA4=))ouQQB2R@K#B%o0bc!M>-+OMi&H|4QmU!!t|&W8`j8<)DfW7~-g$9`)8{rDZ$ zMM`sbclUTq#%BTX#QeP)_T`|non^IZdu^}WTsx~)tIWrCuB>^Cso1wwacuMTCuSu^ zB|^rWyQ?&;XaTksdymJe9$Jl6&Hp&8CzURjxsB~|1>B4{*G_U9)1uTAHQ=@|u46w> zPW7liOj37~AFB$uSLK$~=>N0IZLG>Iv)V25+>&md_*d<*?jFPV&Q}*vT2y+(G%dGS zUhV6SlZ*Eo?#7L7N9J>3YnLH{4&D0Aes8i^8fo-chZX&1foY0I7Gly<&`uuWv!|Y_Z#08e_xFvu%>=^DpR8N@*|-k`oF7zAk;(q_ zXiv1uK)^3V=t-8AzF}w4Y7eitV5jp>bf#BXfJV^2EikxI!=d4xcTAf{Xkk{o!nd=ut^jx@|HAaOntjdG${J~D6|Ff~4>k2wy ziAoE_KKF~Z@uA_GJx^w7t;`W=qR#Tw+2G6L~GDn$wkm*w%NsTYhy-A zeOtp_D_qrk?fW0RPZdypbQf#nTIu@oi9Ar0+9p`Iq{7Wpm=>yU*!U;M+K4+C0wVT zG}oj=6^&sznY;SW z3kyPG12~be5ClNNtg3*x92S_sV2KKnIg<44A?>rx-iT)SW<~?jKt$XGWn8{C@XW{4 zKlaA&0t49n!Bgkwr0)&VL#!^dHb-C*0aKnV0TAGUENFU9@_oB9lVsYR z&&+@RTb|l|Rl8*~u~YI7XTf782}_xnBs)C*W|*3f02oQ6V?PF|%PopRKtbT!)tRpi zop;$xzG!uU(3mhDJFU~9bfexa%JpCUi=Os=itA=%0y%Y)dZ?&mLwKmk8I`AVm6eZ` z3$)=)FDFAC9?sdPZ&Pb>&X~?R&xV^?xJ>I}74(-^h`y zlzD*3v7@smhY^3=!B2Sl(*DTvs6Vas-@JtbEcAau9mTI*yO{`pN?EI18y_=snj*Ix z8ck5v;1lHtM?}kyrM=oH?VQ5x#>EG2_ordTMjS+R)g(C?nR9?u6q*+u$-ZLfCyZtn zo(iDQ_QqT^H~_ev{(|M&L%+r`yZNNqx64d19db+rCmC^Z|0vG00&+9N*sdF&!X;~x zzWGcXO54uArN{v3WCKY~0&1xoz=;LqP_ic(s!ZA&u5JiC^bHrTr-)Zv6n~feD2fFY zs$lXTr@r_5ILB=RgQQrDk~I+xhXPE9>W!LT)770vD;9TCg<@$f!zkjT^3%3+jc5v zQTf*;l#wq8guLkOzr;%SSix~SSC6r!b~Z+ieos2rLSsT#fq1!A(*mz=kWyLAvMq|o zias?4t=lpy+9C=Bu^RMrjzs4Wk>n&60ZsyvYl3C5XxK|^q@#zVXyL%6dUcm2i9><- z!I&elpv!Y?aYANk`Yze!g5IoS*_Gih(B6ciH*z>qm(J#Cv*%u+5gGj6qd#MI(OQ?Zb{P_oS zX)&E4q;*}*is# zypeppidL5>XC;yc8Y5KkjDs)V4Dte{)%+jYZuFNxaapD1JLNgI)wjukU-yphA8hzF z-a6it$CHcu-Ug-)n+kstNI5kkwKOMn%c=sGgS`MXO%$=SyMHOBY-{=tt;zk@*4}ad zH(Z+_?_M8%)OfZZg`h01ZE55LFUiQ<5-W27dQQ-FK+HljZ z>r`Mn`QzL0jzS|L-_K03K5BYFO_!LrKTzxwzbA;8AR|^=-On`cHQ83vT&8H9nBBVzPHxARA#iyQq|Mg|HpQH0 z;KK|09j_A(i)PU>SP(1yR}J2u1I@#T@O&t%ZcHeV_(t<`{Jo<-)zj2jIy^CXa=l~m zcuTm>KUX)0WcsOh^s;oQkrY=xDiJt->9#tHE$+YE;8tN(xXIi|G4^{#%hV_gURG_Q zl6KqEWQ#tmm{m)sMQdwaTM&El5oN;u2sFPx&!;r#MCW%Vvr~?`AZQ#&4bjBj_INh8 zPd$jA&{sf)Pdhv?Wxgeh*O5HM0mUS2js(w^1Q3QDcB`t4l{**koo{ajO)YB*&~`n7 zCqjr!#23XRg^(zM^aCSRc1 z=!KW5Z^@xIU|_u~x>ZSr;XLQ($ihOj6_0bReub5r}(E{zLAeF6A=ifv_GAFp!0RNd|T za`9FZJ)OlXFE7e){N*i&bEBDb?6pGB`L7_ACt1$kcs`kw5AG*&kKQ;ZHV-kJS z2_kM2|KA&loWptJjMLn*m|P6D957p9+3y|gRgcq78d%)%pf)wsx@g|#GM?bZBi`T~!XB4KvWK{|A&Ig^>LI3jm+ zD*_H!zM7=$v3n>{m*krq-_$DQzc?R?zKhb~Pk_(9J{g~f?$F=h6Cw6CD9^TQ*J*l2-99lVxV!6CQJ~~P~dn-AvY*kk6ZZI)`kNCrT*kv)3oye z)CNYc8&MTJ1V}6-fuxu!!k{M#!QQl=z-_#p+8x?rr#;P6rA>X<=xcg@5TQVi4ONp!*3!WsTNtZGY>q~% zkN+G*2A}H}oWl0?;k&iut_I{LYeV7CgyXBX5_2Fd>Q4B&OQGPquEUUNco>^N`G?MS z3E&m+PzOV&^i)kgLAm%u#I#rkA81Z(mi7fs`#rx$+kIWXe>js-JxL?l)*UCQE$mc} z_`K7JT#;)9<$nBxT$e%3KY0yB%hMn zoR9Q?IlUwXBY9q&8-}psE{bJE^R&$tW9|PlaM*ag7ue@VYdsd;Zx=pR8Jk&$fbsO& zAVAVxd|6Uv{+JySM;9;bKQVXp-rhRRmdo>?hoR=yr01Mp@UAj~2TWkcS)Jvc-G)Z! z0aO4XgfH@8eg(HywDX52%v?(h!UrX5hxs2zB{a_H@P!10&vWXZ|50-Da{I^`{|UJe zLJT?6qsGVm4AOq$K4i$F4{4i$%FK4B%JIC|1iRoh%?f?F} zmSrd$KlsL!$JM(=kmo9v@#~WLHq#|Ap6fxH_Y3~V@7I+Q4!;|pbu~_*fgQl;6>ere z{UzQ$C)H;>e~13*FM|cCiHBW6-{KPTmS6OadNaPzPj-YUA})dY`3{dOe10iY2R~gL zYZCQh>}%S1M&UpH-rm)UW=6^^`FuPp!F}PzK}|^2S&9L-`wmv6<~I_W=}eD zdpkVsv*%gV-fBm$8WXtdn`Zr&`a!3ySOMf*fAit&TK=aWL#MqM5lDRtyDN>AA$&k# z79G6IPP-Ms-{NWO;0{!QmC88eQdriN`ge{Kcb`67yJv|ueXRE#)0`c8W^nlQq5wcC zb)?xP({UsJ)5ohNetW$fclDoIELsxPQ^RG8|Ko?>i6ff9&*Ka1fkMM%)B@Yf^0sId;-!$(gk%|UDN zfP^;PbV&4JwiR_961hI1O8uL5?^J;y&t)T<8bbVivWA+^DcuOD5@eQt(5;5y*YcGr9qzk<#SQtK{h_*BQciu~MTLItsoYR1brK1?otoKe zZo~L$#-n{-&Ewz|!zE9?$JMXrUen8p{U=-9iU5|Wj5+!f9+X5{-w*Sz0Mj*IY6I|Q%vGCLwE&O7&&T;(nGsd7lJ4ObC7y%Z zG1*-dtNzgM09D%fx%KsmRw}9>rT102o3<>Daybuz2`>zvv8*BY5RIpfGK<5qbm&>1 zG`qzhPxli~%_3R^&i_rSi)6y}1nK!@LJ>eKI;9i&Rc-FIcvfn`#5Sb4)tm0RkdDy# zLY^4c_O#B^1EXzhtRP6JN~>~y)?OyMjYpO@1|E~jd=eqy#bxSjWtzshp#~2OkU+A_ zhTUl|)vF2wmVfBNXN3 zD$NYK?3_-iI@Vmo5)m==)vJ@^KNey4?bSpJC_3S#!qdi!#fqNv8>NqZL+s`tP8k z$IAHM4=weXC1mJ)g(9L{v2K1)_r4o$GO-HUc{2*ud1BGwvurgh31_JgHqlccC$#T5 zD-l^ao&X2TvVwA0RHd1kA^-M5)nNrUb9dpaVeO+CiQHi9r$po(Y>4=$#P4f)EyJFj z4{je`Y-?YAI}QM;uGHgxjffEjIUO2KhHG8+%ZgJY1(R0)C69XBy*%?1dhy?c^i2lx zOCKl7x{}Vd@`lMf$0cWM-d&A9^Ja*tZrqb0;VixHmTttW=avx+V?|l78L{Xv5K#q5 z$Ul6t%x2qI-m{zZ9x>|e1$iPVZftkIW^}34x?%HyM5ge@N+n#aBAq^$kdLNuwT!-)taB$=XgY&wX@Pf z#M#({F!x128qs{OcA#nL_K3HvMMp~gFWh~|T};7c`O=+hPP(TrLe1%#J*s;KdmGRz zANrr;dW8sjJZ3{`mFjM8+atFYwlwyS)F!fh>da)&R@f&Yvuvu?c^r3K9t+uSe^RwQ z9K0Ye>@(q|Osg-)+%0gJ`^y40Sw5oOM($&b!mwlA|OyS3UomFF7ka__NR~~DbI{r6$USlYl zsl~p_-ZH_9qXiBMX7GBvrEx{__GA8=jSEvX8;;A@Jo4`-je0vskm!i>N$=CxRLK?W z4ae=fPgTYy`&uyI99N2n{3x>XUhDcm$HJ2@Jy zk3AmUn4a*UU9l<7C|N0dzb(H;$5z}#VgTSr6bBiQ{cLC~z+$04ARF&;HPW+Y-kaI6 ze%a&RHr-Uv@w%~d0o_5_+XD{GodL~79^-Ezy`%0nYI0LM|JLj)%pR{SsnU*}@ID#` z@3y`Q-&_NIz`E3SRV8>hkuw1>@0$Ymk8RN<>omm6$rrw<-M?X!g$ zx4GAsn&TU3?5At|Ph6|&a0A`f=^cyy22dE5Q?HfrP&5bb!z~o|LLsO4l14oQa~K^2 z`MAKE3ycTova&hB?7P2W=NOm(Cgx5qJS*phY|h8OUbyd2P<~^)Vom%7&37ggpRNiLwd{hb^jCw&GOle@o&uYXHEW z^SVJ*IoAjdwElXfx>w56bpIKZ=-ed~V0cxPIxvg6~B< zWs|g%EQnFc31tGE{llRz81iEXmAtF_$M{3&+h4WMJIZ$F=)dQL1IT-N-M{9gIQHoo znYeJH1Jh8E{iuj|)D~7EW=8Bp$wrmJ^|qGw4mZ}#JC`TAPOjo2jQ8ci6$yTj+qI;= zH1v5&iXz|ei>_15nx83Er|l{qQ`*lWXCx;`!0sFdlk16f7dh3>r;ul6=~&Z#UKv87 z0PiW*Sd)u&Q=(j|ak_#TOIWrVG&W2xom|J6Erkw@1 zC0iA@T-TLmPAr08PRk_Tk_T_Dk+uGQj) void: func _on_pamela_body_exited(body: Node2D) -> void: travel = null + + +func _on_Home_body_entered(body): + travel = [1, 8, 28] + + +func _on_Home_body_exited(body): + travel = null diff --git a/levels/Ceres/map.tscn b/levels/Ceres/map.tscn index ae60ca9..9405cad 100644 --- a/levels/Ceres/map.tscn +++ b/levels/Ceres/map.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=26 format=2] +[gd_scene load_steps=36 format=2] [ext_resource path="res://sprites/ceres/railway/sprite.png" type="Texture" id=1] [ext_resource path="res://sprites/ceres/pamela/sprite.png" type="Texture" id=2] [ext_resource path="res://sprites/common/player/player.tscn" type="PackedScene" id=3] [ext_resource path="res://levels/Ceres/map.gd" type="Script" id=4] +[ext_resource path="res://sprites/ceres/items/home-icon6.png" type="Texture" id=5] [sub_resource type="RectangleShape2D" id=1] extents = Vector2( 18.5, 721 ) @@ -12,7 +13,7 @@ extents = Vector2( 18.5, 721 ) extents = Vector2( 1167.5, 20.5 ) [sub_resource type="RectangleShape2D" id=3] -extents = Vector2( 45, 128 ) +extents = Vector2( 63, 61 ) [sub_resource type="Animation" id=4] length = 0.001 @@ -312,6 +313,47 @@ tracks/0/keys = { "values": [ 13, 12, 14 ] } +[sub_resource type="Animation" id=22] +length = 0.001 + +[sub_resource type="Animation" id=23] +resource_name = "eidle" +loop = true + +[sub_resource type="Animation" id=24] +resource_name = "ewalk" +length = 0.3 +loop = true +step = 0.033 + +[sub_resource type="Animation" id=25] +resource_name = "nidle" +loop = true + +[sub_resource type="Animation" id=26] +resource_name = "nwalk" +length = 0.3 +loop = true + +[sub_resource type="Animation" id=27] +resource_name = "sidle" +loop = true + +[sub_resource type="Animation" id=28] +resource_name = "swalk" +length = 0.3 +loop = true + +[sub_resource type="Animation" id=29] +resource_name = "widle" +length = 0.3 +loop = true + +[sub_resource type="Animation" id=30] +resource_name = "wwalk" +length = 0.3 +loop = true + [node name="Map" type="Node2D"] script = ExtResource( 4 ) @@ -390,6 +432,31 @@ anims/swalk = SubResource( 19 ) anims/widle = SubResource( 20 ) anims/wwalk = SubResource( 21 ) +[node name="Home" type="Area2D" parent="."] +position = Vector2( 635, 394 ) + +[node name="TextureRect" type="TextureRect" parent="Home"] +margin_left = -64.0 +margin_top = -78.0 +margin_right = 86.0 +margin_bottom = 72.0 +texture = ExtResource( 5 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Home"] +position = Vector2( 11, 3 ) +shape = SubResource( 3 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Home"] +anims/RESET = SubResource( 22 ) +anims/eidle = SubResource( 23 ) +anims/ewalk = SubResource( 24 ) +anims/nidle = SubResource( 25 ) +anims/nwalk = SubResource( 26 ) +anims/sidle = SubResource( 27 ) +anims/swalk = SubResource( 28 ) +anims/widle = SubResource( 29 ) +anims/wwalk = SubResource( 30 ) + [node name="Player" parent="." instance=ExtResource( 3 )] position = Vector2( 635, 586 ) @@ -397,3 +464,5 @@ position = Vector2( 635, 586 ) [connection signal="body_exited" from="Railwaygirl" to="." method="_on_railwaygirl_body_exited"] [connection signal="body_entered" from="Pamela" to="." method="_on_pamela_body_entered"] [connection signal="body_exited" from="Pamela" to="." method="_on_pamela_body_exited"] +[connection signal="body_entered" from="Home" to="." method="_on_Home_body_entered"] +[connection signal="body_exited" from="Home" to="." method="_on_Home_body_exited"] diff --git a/levels/Ceres/yourhome.gd b/levels/Ceres/yourhome.gd new file mode 100644 index 0000000..42dfc5b --- /dev/null +++ b/levels/Ceres/yourhome.gd @@ -0,0 +1,41 @@ +extends Node2D + +var talk +# Called when the node enters the scene tree for the first time. +func _ready(): + if !Global.debug: + _statrebase() + Global.live = 1 + #Global.quest[1] = 3 + #Global.quest[2] = 1 + #pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass + +func _input(event): + if Input.is_action_just_pressed("ui_accept") && Global.cdialog != []: + if Global.live == 1: + Global.live = 0 + talk = load("res://levels/ui/talk.tscn").instance() + call_deferred("_talk") + +func _statrebase(): + for i in 4: + if Global.party[i][0] != null: + for j in 7: + Global.cstats[Global.party[i][0]][j] = Global.basestats[Global.party[i][0]][j] * Global.level[Global.dparty[i][0]] + + +func _talk(): + get_tree().root.add_child(talk) + + +func _on_Katalk_body_entered(body): + Global.cdialog = [[tr("DIALOG_HOME_0"), true, 3, 0]] + + +func _on_Katalk_body_exited(body): + Global.cdialog = [] diff --git a/levels/Ceres/yourhome.tscn b/levels/Ceres/yourhome.tscn new file mode 100644 index 0000000..5aedff7 --- /dev/null +++ b/levels/Ceres/yourhome.tscn @@ -0,0 +1,349 @@ +[gd_scene load_steps=17 format=2] + +[ext_resource path="res://sprites/common/kimberly/sprite.png" type="Texture" id=1] +[ext_resource path="res://levels/Ceres/yourhome.gd" type="Script" id=2] +[ext_resource path="res://sprites/common/player/player.tscn" type="PackedScene" id=3] + +[sub_resource type="RectangleShape2D" id=1] +extents = Vector2( 18.5, 446.5 ) + +[sub_resource type="RectangleShape2D" id=2] +extents = Vector2( 676, 20.5 ) + +[sub_resource type="RectangleShape2D" id=3] +extents = Vector2( 45, 128 ) + +[sub_resource type="Animation" id=4] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 0 ] +} + +[sub_resource type="Animation" id=5] +resource_name = "eidle" +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 8 ] +} + +[sub_resource type="Animation" id=6] +resource_name = "ewalk" +length = 0.3 +loop = true +step = 0.033 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.099, 0.198 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 1, +"values": [ 9, 8, 10 ] +} + +[sub_resource type="Animation" id=7] +resource_name = "nidle" +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0.1 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 4 ] +} + +[sub_resource type="Animation" id=8] +resource_name = "nwalk" +length = 0.3 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.2 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 1, +"values": [ 5, 4, 6 ] +} + +[sub_resource type="Animation" id=9] +resource_name = "sidle" +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0.5 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 0 ] +} + +[sub_resource type="Animation" id=10] +resource_name = "swalk" +length = 0.3 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.2 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 1, +"values": [ 1, 0, 2 ] +} + +[sub_resource type="Animation" id=11] +resource_name = "widle" +length = 0.3 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ 12 ] +} + +[sub_resource type="Animation" id=12] +resource_name = "wwalk" +length = 0.3 +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.1, 0.2 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 1, +"values": [ 13, 12, 14 ] +} + +[sub_resource type="RectangleShape2D" id=13] +extents = Vector2( 48.5, 146 ) + +[node name="Honkerrailway" type="Node2D"] +script = ExtResource( 2 ) + +[node name="ColorRect" type="ColorRect" parent="."] +margin_right = 1280.0 +margin_bottom = 720.0 +color = Color( 0.588235, 0.588235, 0.588235, 1 ) + +[node name="StaticBody2D" type="StaticBody2D" parent="."] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"] +position = Vector2( -18, 373.5 ) +shape = SubResource( 1 ) + +[node name="StaticBody2D2" type="StaticBody2D" parent="."] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D2"] +position = Vector2( 1299, 376 ) +shape = SubResource( 1 ) + +[node name="StaticBody2D3" type="StaticBody2D" parent="."] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D3"] +position = Vector2( 641, -21 ) +shape = SubResource( 2 ) + +[node name="StaticBody2D4" type="StaticBody2D" parent="."] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D4"] +position = Vector2( 640, 741 ) +shape = SubResource( 2 ) + +[node name="Floor" type="Node2D" parent="."] + +[node name="ColorRect2" type="ColorRect" parent="Floor"] +margin_top = 100.0 +margin_right = 1280.0 +margin_bottom = 104.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect3" type="ColorRect" parent="Floor"] +margin_top = 200.0 +margin_right = 1280.0 +margin_bottom = 204.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect4" type="ColorRect" parent="Floor"] +margin_top = 300.0 +margin_right = 1280.0 +margin_bottom = 304.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect5" type="ColorRect" parent="Floor"] +margin_top = 400.0 +margin_right = 1280.0 +margin_bottom = 404.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect6" type="ColorRect" parent="Floor"] +margin_top = 500.0 +margin_right = 1280.0 +margin_bottom = 504.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect7" type="ColorRect" parent="Floor"] +margin_top = 600.0 +margin_right = 1280.0 +margin_bottom = 604.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect8" type="ColorRect" parent="Floor"] +margin_top = 700.0 +margin_right = 1280.0 +margin_bottom = 704.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect9" type="ColorRect" parent="Floor"] +margin_left = 100.0 +margin_right = 104.0 +margin_bottom = 720.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect10" type="ColorRect" parent="Floor"] +margin_left = 200.0 +margin_right = 204.0 +margin_bottom = 720.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect11" type="ColorRect" parent="Floor"] +margin_left = 300.0 +margin_right = 304.0 +margin_bottom = 720.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect12" type="ColorRect" parent="Floor"] +margin_left = 400.0 +margin_right = 404.0 +margin_bottom = 720.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect13" type="ColorRect" parent="Floor"] +margin_left = 500.0 +margin_right = 504.0 +margin_bottom = 720.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect14" type="ColorRect" parent="Floor"] +margin_left = 600.0 +margin_right = 604.0 +margin_bottom = 720.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect15" type="ColorRect" parent="Floor"] +margin_left = 700.0 +margin_right = 704.0 +margin_bottom = 720.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect16" type="ColorRect" parent="Floor"] +margin_left = 800.0 +margin_right = 804.0 +margin_bottom = 720.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect17" type="ColorRect" parent="Floor"] +margin_left = 900.0 +margin_right = 904.0 +margin_bottom = 720.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect18" type="ColorRect" parent="Floor"] +margin_left = 1000.0 +margin_right = 1004.0 +margin_bottom = 720.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect19" type="ColorRect" parent="Floor"] +margin_left = 1100.0 +margin_right = 1104.0 +margin_bottom = 720.0 +color = Color( 0, 0, 0, 1 ) + +[node name="ColorRect20" type="ColorRect" parent="Floor"] +margin_left = 1200.0 +margin_right = 1204.0 +margin_bottom = 720.0 +color = Color( 0, 0, 0, 1 ) + +[node name="Kimberly" type="KinematicBody2D" parent="."] +position = Vector2( 473, 133 ) + +[node name="Sprite" type="Sprite" parent="Kimberly"] +texture = ExtResource( 1 ) +hframes = 4 +vframes = 4 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Kimberly"] +shape = SubResource( 3 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="Kimberly"] +anims/RESET = SubResource( 4 ) +anims/eidle = SubResource( 5 ) +anims/ewalk = SubResource( 6 ) +anims/nidle = SubResource( 7 ) +anims/nwalk = SubResource( 8 ) +anims/sidle = SubResource( 9 ) +anims/swalk = SubResource( 10 ) +anims/widle = SubResource( 11 ) +anims/wwalk = SubResource( 12 ) + +[node name="Katalk" type="Area2D" parent="."] +position = Vector2( 473, 133 ) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Katalk"] +position = Vector2( 2.5, 16 ) +shape = SubResource( 13 ) + +[node name="Player" parent="." instance=ExtResource( 3 )] +position = Vector2( 635, 586 ) + +[connection signal="body_entered" from="Katalk" to="." method="_on_Katalk_body_entered"] +[connection signal="body_exited" from="Katalk" to="." method="_on_Katalk_body_exited"] diff --git a/levels/ui/ceres.gd b/levels/ui/ceres.gd index 9d1f8be..13ec75e 100644 --- a/levels/ui/ceres.gd +++ b/levels/ui/ceres.gd @@ -76,3 +76,9 @@ func _on_Credits_pressed(): Global.dplace = [1, 2, 17] Global.live = 1 get_tree().change_scene("res://levels/ui/gameplay.tscn") + + +func _on_WIP_pressed(): + Global.dplace = [1, 8, 28] + Global.live = 1 + get_tree().change_scene("res://levels/ui/gameplay.tscn") diff --git a/levels/ui/ceres.tscn b/levels/ui/ceres.tscn index cdfa556..85b5e02 100644 --- a/levels/ui/ceres.tscn +++ b/levels/ui/ceres.tscn @@ -86,7 +86,7 @@ margin_right = 1017.0 margin_bottom = 344.0 custom_fonts/font = ExtResource( 2 ) custom_styles/focus = SubResource( 4 ) -text = "BUTTON_PLACEHOLDER" +text = "YOUR_HOME" [node name="Back" type="Button" parent="VBoxContainer"] margin_top = 348.0 @@ -101,4 +101,5 @@ text = "BUTTON_RETURN" [connection signal="pressed" from="VBoxContainer/Dialogtest" to="." method="_on_dialogtest_pressed"] [connection signal="pressed" from="VBoxContainer/Bullethell" to="." method="_on_bullethell_pressed"] [connection signal="pressed" from="VBoxContainer/Credits" to="." method="_on_Credits_pressed"] +[connection signal="pressed" from="VBoxContainer/WIP" to="." method="_on_WIP_pressed"] [connection signal="pressed" from="VBoxContainer/Back" to="." method="_on_back_pressed"] diff --git a/levels/ui/charlist.gd b/levels/ui/charlist.gd new file mode 100644 index 0000000..6fc83c0 --- /dev/null +++ b/levels/ui/charlist.gd @@ -0,0 +1,66 @@ +extends Control + + +# Declare member variables here. Examples: +# var a = 2 +# var b = "text" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + if Global.quest[2] == 3: + $HBoxContainer/VBoxContainer/Diana.visible = true + $HBoxContainer/VBoxContainer/Pamela.visible = true + $HBoxContainer/VBoxContainer/Lety.visible = true + $HBoxContainer/VBoxContainer/Midori.grab_focus() + #pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +#func _process(delta): +# pass + + +func _on_Return_pressed(): + get_tree().change_scene("res://levels/ui/teams.tscn") + + +func _on_Midori_pressed(): + if Global.debug: + Global.dparty[Global.charswitch][0] = 0 + Global.dparty[Global.charswitch][1] = 0 + else: + Global.party[Global.charswitch][0] = 0 + Global.party[Global.charswitch][1] = 0 + _on_Return_pressed() + + +func _on_Diana_pressed(): + if Global.debug: + Global.dparty[Global.charswitch][0] = 1 + Global.dparty[Global.charswitch][1] = 0 + else: + Global.party[Global.charswitch][0] = 1 + Global.party[Global.charswitch][1] = 0 + _on_Return_pressed() + + +func _on_Pamela_pressed(): + if Global.debug: + Global.dparty[Global.charswitch][0] = 7 + Global.dparty[Global.charswitch][1] = 0 + else: + Global.party[Global.charswitch][0] = 7 + Global.party[Global.charswitch][1] = 0 + _on_Return_pressed() + + +func _on_Lety_pressed(): + if Global.debug: + Global.dparty[Global.charswitch][0] = 8 + Global.dparty[Global.charswitch][1] = 0 + else: + Global.party[Global.charswitch][0] = 8 + Global.party[Global.charswitch][1] = 0 + _on_Return_pressed() + diff --git a/levels/ui/charlist.tscn b/levels/ui/charlist.tscn new file mode 100644 index 0000000..6f242d4 --- /dev/null +++ b/levels/ui/charlist.tscn @@ -0,0 +1,133 @@ +[gd_scene load_steps=6 format=2] + +[ext_resource path="res://backgounds/night-sky-at-ceres.jpg" type="Texture" id=1] +[ext_resource path="res://fonts/start.tres" type="DynamicFont" id=2] +[ext_resource path="res://levels/ui/charlist.gd" type="Script" id=3] +[ext_resource path="res://levels/bottomhud.tscn" type="PackedScene" id=4] + +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 0, 0.8, 0, 1 ) + +[node name="Charlist" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 3 ) + +[node name="Night Sky" type="TextureRect" parent="."] +margin_right = 1280.0 +margin_bottom = 720.0 +texture = ExtResource( 1 ) + +[node name="Game name" type="Label" parent="."] +margin_top = 3.0 +margin_right = 1280.0 +margin_bottom = 73.0 +custom_fonts/font = ExtResource( 2 ) +text = "MENU_CHARSEL" +align = 1 +valign = 1 + +[node name="Bottomhud" parent="." instance=ExtResource( 4 )] + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +margin_left = 447.0 +margin_top = 92.0 +margin_right = 834.0 +margin_bottom = 668.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer"] +margin_right = 360.0 +margin_bottom = 576.0 + +[node name="Midori" type="Button" parent="HBoxContainer/VBoxContainer"] +margin_right = 360.0 +margin_bottom = 54.0 +custom_fonts/font = ExtResource( 2 ) +custom_styles/focus = SubResource( 1 ) +text = "Miidori Asgardius" + +[node name="Diana" type="Button" parent="HBoxContainer/VBoxContainer"] +visible = false +margin_top = 58.0 +margin_right = 387.0 +margin_bottom = 112.0 +custom_fonts/font = ExtResource( 2 ) +custom_styles/focus = SubResource( 1 ) +text = "Diana Asgardius" + +[node name="Rikka" type="Button" parent="HBoxContainer/VBoxContainer"] +visible = false +margin_top = 58.0 +margin_right = 387.0 +margin_bottom = 112.0 +custom_fonts/font = ExtResource( 2 ) +custom_styles/focus = SubResource( 1 ) +text = "Rikka Grub" + +[node name="Kimberly" type="Button" parent="HBoxContainer/VBoxContainer"] +visible = false +margin_top = 58.0 +margin_right = 387.0 +margin_bottom = 112.0 +custom_fonts/font = ExtResource( 2 ) +custom_styles/focus = SubResource( 1 ) +text = "Kimberly Arch" + +[node name="Hu" type="Button" parent="HBoxContainer/VBoxContainer"] +visible = false +margin_top = 58.0 +margin_right = 387.0 +margin_bottom = 112.0 +custom_fonts/font = ExtResource( 2 ) +custom_styles/focus = SubResource( 1 ) +text = "Hu Wei" + +[node name="Gurukosu" type="Button" parent="HBoxContainer/VBoxContainer"] +visible = false +margin_top = 58.0 +margin_right = 387.0 +margin_bottom = 112.0 +custom_fonts/font = ExtResource( 2 ) +custom_styles/focus = SubResource( 1 ) +text = "Gurukōsu Tanaka" + +[node name="Momo" type="Button" parent="HBoxContainer/VBoxContainer"] +visible = false +margin_top = 58.0 +margin_right = 387.0 +margin_bottom = 112.0 +custom_fonts/font = ExtResource( 2 ) +custom_styles/focus = SubResource( 1 ) +text = "Momo Tanaka" + +[node name="Pamela" type="Button" parent="HBoxContainer/VBoxContainer"] +visible = false +margin_top = 58.0 +margin_right = 387.0 +margin_bottom = 112.0 +custom_fonts/font = ExtResource( 2 ) +custom_styles/focus = SubResource( 1 ) +text = "Pamela Hashimoto" + +[node name="Lety" type="Button" parent="HBoxContainer/VBoxContainer"] +visible = false +margin_top = 58.0 +margin_right = 360.0 +margin_bottom = 112.0 +custom_fonts/font = ExtResource( 2 ) +custom_styles/focus = SubResource( 1 ) +text = "Lety Hashimoto" + +[node name="Return" type="Button" parent="HBoxContainer/VBoxContainer"] +margin_top = 58.0 +margin_right = 360.0 +margin_bottom = 112.0 +custom_fonts/font = ExtResource( 2 ) +custom_styles/focus = SubResource( 1 ) +text = "BUTTON_RETURN" + +[connection signal="pressed" from="HBoxContainer/VBoxContainer/Midori" to="." method="_on_Midori_pressed"] +[connection signal="pressed" from="HBoxContainer/VBoxContainer/Diana" to="." method="_on_Diana_pressed"] +[connection signal="pressed" from="HBoxContainer/VBoxContainer/Pamela" to="." method="_on_Pamela_pressed"] +[connection signal="pressed" from="HBoxContainer/VBoxContainer/Lety" to="." method="_on_Lety_pressed"] +[connection signal="pressed" from="HBoxContainer/VBoxContainer/Return" to="." method="_on_Return_pressed"] diff --git a/levels/ui/gameplay.gd b/levels/ui/gameplay.gd index c85c19a..b3a4b4c 100644 --- a/levels/ui/gameplay.gd +++ b/levels/ui/gameplay.gd @@ -93,7 +93,7 @@ func _process(delta): Global.isresume = false _pausemenu() var velocity = Vector2.ZERO - if (Global.live > 4 && Global.live < 9) || Global.live == 2: + if (Global.live > 4 && Global.live < 10) || Global.live == 2: _exit() #velocity = (Vector2.RIGHT.rotated(rotation) * -100 * Global.xm * delta)-Vector2.UP.rotated(rotation) * -100 * Global.ym * delta @@ -183,6 +183,8 @@ func _exit(): get_tree().change_scene("res://backgounds/result.tscn") elif Global.live == 8: get_tree().change_scene("res://levels/ui/Cutscenes.tscn") + elif Global.live == 9: + get_tree().change_scene("res://levels/ui/teams.tscn") elif Global.live == 5: Global.result = [0, 0, 0, 0, 0] _statrebase() diff --git a/levels/ui/pause.gd b/levels/ui/pause.gd index bc67002..5e6c1c8 100644 --- a/levels/ui/pause.gd +++ b/levels/ui/pause.gd @@ -4,6 +4,8 @@ var cnf var chealthf var clevel var warpmenu +var teammenu +var teamswitch # Called when the node enters the scene tree for the first time. func _ready(): @@ -13,6 +15,7 @@ func _ready(): chealthf = $CanvasLayer/HBoxContainer/VBoxContainer/HBoxContainer/Label2 clevel = $CanvasLayer/HBoxContainer/VBoxContainer/HBoxContainer2/Label2 $CanvasLayer/HBoxContainer2/VBoxContainer2/Exit.grab_focus() + teammenu = $CanvasLayer/HBoxContainer2/VBoxContainer/Team _fetchdata() #pass # Replace with function body. @@ -30,11 +33,15 @@ func _fetchdata(): warpmenu.visible = true else: warpmenu.visible = false + if Global.dplace == [1, 8, 28]: + teammenu.visible = true else: if Global.cplace != [1, 11, 19] && (Global.cplace[0] == 1 || Global.dplace[0] == 2): warpmenu.visible = true else: warpmenu.visible = false + if Global.cplace == [1, 8, 28]: + teammenu.visible = true if Global.debug: cnf.set_text(Global.pcnames[Global.dparty[Global.dcpchar][0]]) cff.texture = load(Global.hudfaces[Global.dparty[Global.dcpchar][0]][Global.dparty[Global.dcpchar][1]]) @@ -62,3 +69,7 @@ func _on_warp_pressed() -> void: func _on_Resume_pressed(): Global.isresume = true + + +func _on_Team_pressed(): + Global.live = 9 diff --git a/levels/ui/pause.tscn b/levels/ui/pause.tscn index d6b1863..2734f75 100644 --- a/levels/ui/pause.tscn +++ b/levels/ui/pause.tscn @@ -180,6 +180,7 @@ margin_bottom = 204.0 custom_fonts/font = ExtResource( 2 ) text = "Resume" +[connection signal="pressed" from="CanvasLayer/HBoxContainer2/VBoxContainer/Team" to="." method="_on_Team_pressed"] [connection signal="pressed" from="CanvasLayer/HBoxContainer2/VBoxContainer/Warp" to="." method="_on_warp_pressed"] [connection signal="pressed" from="CanvasLayer/HBoxContainer2/VBoxContainer2/Exit" to="." method="_on_exit_pressed"] [connection signal="pressed" from="CanvasLayer/Resume" to="." method="_on_Resume_pressed"] diff --git a/levels/ui/teams.gd b/levels/ui/teams.gd new file mode 100644 index 0000000..ae5f350 --- /dev/null +++ b/levels/ui/teams.gd @@ -0,0 +1,68 @@ +extends Control +var team1 +var team2 +var team3 +var team4 + +# Declare member variables here. Examples: +# var a = 2 +# var b = "text" + + +# Called when the node enters the scene tree for the first time. +func _ready(): + team1 = $"VBoxContainer/HBoxContainer/1" + team2 = $"VBoxContainer/HBoxContainer/2" + team3 = $"VBoxContainer/HBoxContainer/3" + team4 = $"VBoxContainer/HBoxContainer/4" + if Global.debug: + team1.icon = load(Global.pcharfull[Global.dparty[0][0]][Global.dparty[0][1]]) + if Global.dparty[1][0] != null: + team2.icon = load(Global.pcharfull[Global.dparty[1][0]][Global.dparty[1][1]]) + if Global.dparty[2][0] != null: + team3.icon = load(Global.pcharfull[Global.dparty[2][0]][Global.dparty[2][1]]) + if Global.dparty[3][0] != null: + team4.icon = load(Global.pcharfull[Global.dparty[3][0]][Global.dparty[3][1]]) + else: + team1.icon = load(Global.pcharfull[Global.party[0][0]][Global.party[0][1]]) + if Global.party[1][0] != null: + team2.icon = load(Global.pcharfull[Global.party[1][0]][Global.party[1][1]]) + if Global.party[2][0] != null: + team3.icon = load(Global.pcharfull[Global.party[2][0]][Global.party[2][1]]) + if Global.party[3][0] != null: + team4.icon = load(Global.pcharfull[Global.party[3][0]][Global.party[3][1]]) + $"VBoxContainer/HBoxContainer/1".grab_focus() + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +#func _process(delta): +func _input(event): + if Input.is_action_just_pressed("Pause"): + queue_free() + +func _charsel(): + get_tree().change_scene("res://levels/ui/charlist.tscn") + +func _on_Return_pressed(): + # call_deferred("_teamswitch")Global.isresume = true + get_tree().change_scene("res://levels/ui/gameplay.tscn") + + +func _on_1_pressed(): + Global.charswitch = 0 + _charsel() + + +func _on_2_pressed(): + Global.charswitch = 1 + _charsel() + + +func _on_3_pressed(): + Global.charswitch = 2 + _charsel() + + +func _on_4_pressed(): + Global.charswitch = 3 + _charsel() diff --git a/levels/ui/teams.tscn b/levels/ui/teams.tscn new file mode 100644 index 0000000..c55c4ef --- /dev/null +++ b/levels/ui/teams.tscn @@ -0,0 +1,80 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://levels/ui/teams.gd" type="Script" id=1] +[ext_resource path="res://fonts/start.tres" type="DynamicFont" id=2] +[ext_resource path="res://levels/bottomhud.tscn" type="PackedScene" id=3] +[ext_resource path="res://backgounds/night-sky-at-ceres.jpg" type="Texture" id=4] + +[sub_resource type="StyleBoxFlat" id=1] +bg_color = Color( 0, 0.8, 0, 1 ) + +[sub_resource type="StyleBoxFlat" id=2] +bg_color = Color( 0, 0.8, 0, 1 ) + +[node name="Teams" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 1 ) + +[node name="Night Sky" type="TextureRect" parent="."] +margin_right = 1280.0 +margin_bottom = 720.0 +texture = ExtResource( 4 ) + +[node name="Bottomhud" parent="." instance=ExtResource( 3 )] + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +margin_left = 64.0 +margin_top = 46.0 +margin_right = 1100.0 +margin_bottom = 674.0 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] +margin_right = 1036.0 +margin_bottom = 512.0 +rect_min_size = Vector2( 1024, 512 ) + +[node name="1" type="Button" parent="VBoxContainer/HBoxContainer"] +margin_right = 256.0 +margin_bottom = 512.0 +rect_min_size = Vector2( 256, 0 ) +custom_fonts/font = ExtResource( 2 ) +custom_styles/focus = SubResource( 1 ) + +[node name="2" type="Button" parent="VBoxContainer/HBoxContainer"] +margin_left = 260.0 +margin_right = 516.0 +margin_bottom = 512.0 +rect_min_size = Vector2( 256, 0 ) +custom_fonts/font = ExtResource( 2 ) +custom_styles/focus = SubResource( 2 ) + +[node name="3" type="Button" parent="VBoxContainer/HBoxContainer"] +margin_left = 520.0 +margin_right = 776.0 +margin_bottom = 512.0 +rect_min_size = Vector2( 256, 0 ) +custom_fonts/font = ExtResource( 2 ) +custom_styles/focus = SubResource( 2 ) + +[node name="4" type="Button" parent="VBoxContainer/HBoxContainer"] +margin_left = 780.0 +margin_right = 1036.0 +margin_bottom = 512.0 +rect_min_size = Vector2( 256, 0 ) +custom_fonts/font = ExtResource( 2 ) +custom_styles/focus = SubResource( 2 ) + +[node name="Return" type="Button" parent="VBoxContainer"] +margin_top = 516.0 +margin_right = 1036.0 +margin_bottom = 570.0 +custom_fonts/font = ExtResource( 2 ) +custom_styles/focus = SubResource( 1 ) +text = "BUTTON_RETURN" + +[connection signal="pressed" from="VBoxContainer/HBoxContainer/1" to="." method="_on_1_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/2" to="." method="_on_2_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/3" to="." method="_on_3_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/4" to="." method="_on_4_pressed"] +[connection signal="pressed" from="VBoxContainer/Return" to="." method="_on_Return_pressed"] diff --git a/sprites/ceres/items/home-icon6.png b/sprites/ceres/items/home-icon6.png new file mode 100644 index 0000000000000000000000000000000000000000..0ab6b2592265224050fce1ad4fb70df03719b2c4 GIT binary patch literal 9556 zcmb7qRa9I}@aGI3Bv{a3A&>-z!GcR5xD77B2OC_24h{(fcc0+y4go@Nf;)q|I|TpF zw`U)AANFDIIen{d_o?pcy4BV7tJB|9m1Xd-DX{?n0G^zz6c|a9{wr7*$hR=iX&p(> zEG3jA0D$UfoCgzh!w169CvZ1^@(8001(_j21Ov zWCw<+f{YZBBA?q&tuQ2c;V7%?0s!C;|5t#3vblQu7AJ%E%~|w5*N`q+GMH1)N_w;Fp)TM#N|5_jQ|A6^tca8;Psq z&Zn{{iqQdQSmb1sOad%Vu}sgye*f0JyM0IA%E5b>e_lr3uDlvo^9VP`llqBGulJHv zF3^b@5Rmr*;wrx7A?eO1;eJ?U{_7~TV8`#YbxFXm%*H3pIu@sy6mvHBk5uqSGPGWx zqbV*LCp`gx0ANZtw|MxB3BVu#{sGY6=b{nBf~5vgnBo&s-$J&+SzV+nnj3tpj^TWN zMs0%++%-lyJBG}1f0Z*r>4>aP=RTauQlyZgZcqYHm~bMY#s+}M?k8H|ge+09g-ZlA z{^7n_GpR_p^|(=lER{h-kTs#hb0pW{-HO<}m|cZ9gTw@i94am@K!Wfc;H!7lu{l;! zZjhxxw0p|)Uo#S;8+Zv))16mM)J9xF&c+N9e5zHnf~bI(RYnDcqtUz~9(^kATXTxh zPVk=2w{qdKCIX#|LN4;hY81o%Q5R zS%BH~RXwy-l;I!`?JYePbTE|q%i@&)2R!J-B6XlkpD&3| zm*tP5KgxE{9@&5dbaWK;f|K6@_+6B&npqFLN`KVxzkl7Dre8zbuf{$tGAovPr8t*V zGUiMWj*2Uo18mz}o`-3UHt{x?>PgZ`Ca8ok66$b)LuhGp=QAPT*< z^OvSbE^pHBD;NF>pQ_Df0y$;*-}cS(90gRf3b^k7dc||r9h>i8h@*qEUNb44#)5QkIH1g@6udpt z)z)`!5LmaLpie|k^qelMky)8<^N_*}#wd7CRdhL_3XDp3M#K|$a`%<^FA~hL56^$* zNp*>wmQnEob$Gh*H$@K5gv#~+NByfO$u~6lWTRN>qSt-m+ETs??6Ejc>f~j3SYz&H zK?Xmi3Vf)Y9BEH&mPz2Tbhr1s2OtpJt+Y)lH((`R(ZD>9JWGThNmNxYh zLNLw{Oo}>dwkp{uv4smT+e~Bo4Dc9{0L6d-ufkbB455@!v2qWwa^s{z!yv9j!=YsQ zq3ebx+{T)I>jxzCaR#hJnzXY-(*c{7gUWswVC>fPgiC`M+)hZ{y`!6L*l>d={oiY- zp5cR0?NnBj=+=6vV*7ck9&1k>a>qso;$(6?BT^g&$q`a*#Ohp(O0wLTEGq*s#rm^| z33tQpj;v9!{YQmH@*8x?O?v z82Jo}16@B5A2CSLIrEIqo=!~7OKtWMk11IOZ{ntjrE4(gkIknPB+;9e9Q;bre>;`t9Z7(n}nP8>wuHP96<$w7mA&Fso&qQjDIelh<`4X%U|ng*+rC`nnEUl` z9qIkjz-n+L$~zMwYK&g4d6RcUtH|{MJYw0DZH1RM^=88Gg_hSs+o$F%op*85nBRkO zGzGpgKs-*r%Z{pg4#;z)TD6MDRk_GfowgXd3Jv`|lG5^M%2;W3L}$YzHa5sE8NRl( z8EL*i9I5<;q66U4uguag!*H;I@N^{HX-+S+0Vzb+mQByzrVBCpW$o;}C24#oA86!6 z-^cM{woth7tDXpHypyG*W5EQ~($%64T7`jxVDQN6_le^#K|$FHff{@|gEd_NJTQ%!)YM7B=>6|| zFot5I-#j>xubPaYJ0xST^w=$)#qb+QzpMt^-42fs4}i2HGq2KX!Q#Ee}7m zJ`L?=wKM(bGw-oKSEWj*=f}tSawJ|P{)>bFHm!5)hzW#+2?bdd$UU!3cc0~!q;xB z(Fx@U9lu{iQClhsSR2&Xr2Eb6X(;96rqg&|z;80tcCkHV_N-SvhRA?NZ3fbq*>q89 zDg(oRpiE}ci`bE|CGs4i74iU5pWT-NaqKfMs@cfc{hr!)Kz91sZHHCcO%}Etq2^C- zX1^>Xu{Gj2N*~>o$`T3dS@ik;7oF_O?hfqCzO+nSwZu-8! zh>>6SrcuY+$H>I%j^E`s43!W_KsPB}~ znh(-6UZ0@8gTn+?%BhkgmDb2PeNwm`*7W}Lg(^wV5c=5Y4`3Neq*22s zq0RBL%NZ3V#t|Ob*9S*@SjjL59axn{M_09iVsY8P>t0nXU1Wx&pb&N;NyB!Zo>cP9 z+q1+9x$&%T9&#u`5BfrH-DBtop!XD)CC-P%x;BB^YE5e%-TR&Jv4iFrr@3 zz(I6BRC>~u|8;9?UM(pYEjxNcTQyaKMx@aUq>d`+kRcUbWw{+?$Nmre?B}lM$Gd(d z9E)X)#O#ypP7RZm-=gkZL+FK3Lwh*E;r`ZYj%?WPe)^AF}>LE20!mNv>nY{cwp}O^@$T_ALVipM# z^*eU@md#<<{jL9)8l9Doc2JPT!(_9p`pD%r_{j@5BPo>?s`kPjK+u@xx zfq-@Rmrw;M09=TzFI?Y8=LL=D_T#^hzU1nMTc#vk(qM(=J*>Ef>2rhi)281d7-dLE zU_@Gdo*iM1NA}GoT*tV-mGmmdvGr1YxYz~8xbWLad<~bI<27aeNQ{<1Yv8pDxw^!(Y<{py_j1MdOY5DgJ zqNqv>7a?Bj0!W%wDYEhddBi7%#kWR<4*ZoyX?5(MAmb%h+S_dBCfL22$~i}xypC$d z<0)fR?&|u}NXrs-S^OfFZHSad<;{=LSf0&eUG_B{wpmkwE|J-If>`N;cuPgHGw$p{xL$L3FXm0;Ftz$7G0=1(=KykHMV2seL>dS`hQ!wUl)yRQxq3%ij9YP zg-7i+8?d8)QBTWc-+iK~{FjtOg%?}o9@>^H5a2cST6Qqy`9^K`>F{@(WYIYtPk__%@d z-gf1D`Oa>X{aNPGyfQrmI+7D|tV)vfhFk26IvD2^V12+@7g{h3nKkmh>XjC2xr@$y zH|$5;nGdi&_IuD`Il$0v^r-ae62tUI116i-bJeF+UkEYr(8eX2qR0`;Q}XG27CJ)Q zb;T6E{!FDqQaHSpmh_MsuKg4y8`Ur*k39Tat%`k$&LwWNNAsNS$W##H*S#Hl9I&+? zY<+i52||}`Xc|u+HDp2@-Cj?3`zsc9H6HgHxE}Fp^Rqv7Kxt@rO|Dr07QnG3-+$dh zUO_{}o9C;}9r!O-*A4P4i1`;C6pDL;YDvWmQ!9FG3NsgHjuwr72wuH|%Mf=ERu7Jb zZ|-&qV~?bCJW15Y%5BtfC|QF!+I1V(w{9A!4Y3k2s#d3@zT{w+U>SVyAF4b(?ANuu zxNg9yXud1C&c89ZXjLP&s0_qQ79mQ#qOL$`+-pa0|4bENYZpnkyVuIMA)mEgmx64I zTVU4nP93)zYi4-WR>*)m$j(YirEGYlKu4R!fv9rzUjpTILznK*=_u^Wr5Wwm{Q3~)vCY=dTzz!NQrSkNvf}agQ|`Nm3r|2Y zF#OHw(yuO(;XzC|!{@vabuUQk^gNdsW8-l)_q0?B_0&w0-wIl(>3&90!FyW5vyvex z&__W5O;hKW`hLEGB-I-4auj1~md!vO3(4;r4{t7q>W7v~>?qCj3rvqW$baVEyi(RgU+q7R&U+lp@^OPpj$BH@!0rWij9x)q)P><1>=55X=8QP~%q$S6= z@fJXoY@l4oH}1x(g~CyF4^U8rqoD8r^o7$dnPVj&dPN7$khKus@V#?*z)f=G?2u38u5o zGLind5c>TOqPqNm+1<8vjmdZ`Ms(H$9l7dRbtIHxAlj=%W^1gzuqDpm7bV;>n_riW zQm=gdJ;^aE+T7r0>1iV4%y~xP=qt{lT767=%I6lq^6@@$!xT^5q&sOw&QiIEl4DWd zZ@z4h40s6k2S1s7?^drnEC5Iqwn#9=@Dwt-utF%lHQQZ@k)K-%*&1sqWeUmfeq*GM z&DvJ_OO8LRq{+GIn+(_MDLZV=7HKfKn@FA!YcN5&zo=Y9LZDEQi#B{8qA%B^S_QLa znwn{(;ok~Z>(lrw=vSTp_DUP26)ndZCN{!*Ls8M``4t_u&6Gr7t>!X3;qy53>CPt% zy{x3zr8GF}tDb^Jw!z15wu8ko3nWE|%|gs+XL~ol^E)$23(@A5>ouhx)M_(~`D3sm zuYX^Vzt(^4Ax0kV?sA|e17i@_+oe26hNf>s6Pb|#HPlWeEX7!jxfFhHJ<=$DNkT~w zNac>4?o;vsJ+JM*8S2It(9u-iiQ4vB*JXE>0bD0!To*)G$X+b2e!#JR#Rp%GPo#r{f_P`S)2lnTiC+JCf1YkgL(~-d3c2RS$gS8-XEt5m$jrhL z=WVqQ2PQNj^r~{*_GjohfuQGJm-1RsH;s*C(#neV#%kU^928f4=IxyzdC8tJB+$*~ zXefSV@XPlNz3m*r%Mk(=IvRd^>tML@^ErxKj5at8DTS7WM8hvEgI`0gJLIlxDS}Z< zp60HIypFAXL&{4vp-;%DVu20wT-G!ssYvuUt?WL=KG&(J1O#22*?*sK^L1s0o7Ch3 zBggde_>@JJWKkWvs;5dBZBhyT${w&{6@i0h+&z=I5y#~>A|M0BF-8DBHdYay5-dfk~+@78AeG^&{q=WJR&P}BhW9TLu zc$r?RRL&f97)Oo*Ofotu#l=@%8!VrK3{O#ZIqBV;T@jldoBLYH8Gs5gN{uQc2BaQ( zJFrEs+1?@Y%~tbfO}7;_u?7HHc4^XqO(sNdk_w+m9=Ykpqm=&=b$#dIeU1v$bcFTr zktEH1g}3eeI*hhoUN%e}O;7f=S({YZnJKGpln(tuCvN@Tv^jCT_@m?(YmGMw?oXcM zB@4Qt!CyuWBzwI4OE?H{!{sgaf*ASy+BG?W3Uf14YFT^zU!0~B{=`>KReN{UGXZ)% z7JVzZk`GWGQ&^0fU(!ReNNGJLjB4CUFP-2##2W50Y67pnJ)2pGRU&HmB zMg6qwLBTu}VzW%9Y}*7g^X-nyhw>?FJO1^iMHm^;+~pKmHu-Rn2M;}uT+i6HHJ7_w zm&LDhv^9Tw3j4ZA4v--^EE{!f2Kuf(EjEWgO3ZjxBaJqx+`AYRH3x`Zx<8dZvOZoT ztyl9d-;*nGT%4YXhOL1S|`^H`q+zeG6C^Y-t1hiAuueYeqH&Gz@? zoNB+Xu4YcOoi{k49y>Ha2 zqv-_lEj1bh2&s>mqG9*4wYcavZE*Z$O_+ZP5)`btg8Fr|YR{Yu*a>I^Hb*de#JBzq zx^VEI7TGGmZ*wN|V83!Nh)gvS_A71J4Ou7@Em}#voP5#d8ddU#dx87Um|c_%hX3Jr zRcFB%3S$nF!qsU&L!G`(o7bZqKkOm5xDW*0X()U-O1S$H77FnQ<^^t6aw#3tQn?8f z+>8Kn%EYv%9jX)uA+FxPvQj3eP5Ttm&=PP-!~a#Np!>%q35DG$e>iv;Rha|Vo`$%= z5KZMGS~0oU3^$<_D-K0<5stCX@P@Jw>C&0e=GBDg0(V;u8XbAz@8-76& z)*nTEkzRI=5hF-DXeveIf6nai=+US%QMYpj63RKZiWFNL`W&3yGBR`p1AqZ7zacGJ^v6KL<^d~rNCx*ekPOMKKWR|GF)PAlV zDbmwhOAxveZ4q2SHRW)WMQj6tR)YU)ohE?Ktnj4#5$=#E%9yA>0pJ-Iz zF)w1L+64~tQJA~?i8fySXjp2G0|FIjAFDkmc2PJ*XTE&ueTr~Ikz~Pvxcf)C-_xH{ z2#MD@>(gBn8o7@3)@JF}uKhX^x>&Y3ZsRYyJ6FAyy#iCLEe8gga{>rhnbcZ~_lmlE zrIZDK{(M}d`)K~X0fxwcj(Zma@IM;J&Lms{M?Q%cjHt4!=66PJz}Azn)rC7iLJJyRZ;Iu zIMG|?{vYSH)sf^*JxkwTIcwAIZR)Tn1!%6e$Ys3{ctZtdM3G6xQmZ~U)M(x==9)Mv zzU3~t?Neml0Qpu^W7O~9U23#7gxat!Q0;g!aL2*fGid z0AQ}=v{wc?@^9p2%mZ5rc^?W;m=HKoH5)NvnE(o4|K)){2fBCY^9XO5 zdXcO`Jkcbzwdi1Mklx$$0TV#K@M6pb_bcEJ8DC}dXe)GrCnJ$6qm?Z3EkdY8MS`SF zl)3twCp%F9I~!*!^s_woz8~biW>Kp^<>@>Y`%(Z<+r=3hAOk=L*JR~2C*+;QXI652 zHOm?C=_IqZfjy3*t#SdPP1Y5)?31GD2|#wSTDCq_yB>KE(h-}TC-bfwQ+{6~Rh1+h zy7%FQtHLkyj44HR0ArWuzSMwYpyOzfStZeTILdeDRF5Z4Itb_sZ&N9(y&-17e`Z;< zAcKjxl>cUA{sa z`GukR?ZASu0Tn=~IQ0Fxp|5KyT&GgiO}DCb)sO_y=qE0XO-suWqnICh@2u9Cj}A?D z-rYDl!2kg)fKPr-e80X@Mruu+Yl2(Xh*Dww%|gaTl^X;|Bznwr-FIP zjDKKhhyQFW%$vt1QLWl8aeTYp?P>THy-f8HJS!%N!O0MM5&1ckg$jes$MlU>r6;66 z>Sq3+vIibUJ@ZVRs9_S>(`nk;QTYVTMlZEj7cum@s(&N2e5jj@_aq_Q(GTdYdyEo^ z=WlyFjH$%L3$AcHiSJGX2TL)4Y=J&lGlq;EIEu`YAo|e1)S<>lZZ+fJ?;i*wf{jD= z3sLYs^^)hIFmC8!X%#&UmY3AOi2tqws?&kHe_7i3ie;}Z#Y#B)sY>$7Na9Z(3fRea zuI26C=!3aX2)*SK2PE&skv`MfD%@CQJC;qg@t!ASQ8X1etGjMKl`SGX6O*Z~3xmGT!C z+2gKXHpPd*6y{)Sf;F>T&?){&+JuHhqeHVy6#5UN9H{~lW|YKCd#o<(Y1r*o&-j&4 zF0CS9LMu@}r!p>xz7zXC2U9hGagUV(;{=W&8R=H+jgK7n?v0i?4r&mXoUiKhU>@D4 zEKimEIC6D$5%a#udU(sUUl*;(KZ7+{Ahh3Y$!&JM<)DK4c#`}hN&5F!CM|C?I;QiF zGr2fP-^qT$3;#T_34Pm35_d6axH^!Pmfq$VF!r2>)@`O>Bn_EvS^K5YcI&sadgK$V z_=}Ie^XIbPfY+nONuMzlexe_28DZfaVPq_B(2Ub-=4OP}5$q@+|pL!n3L3gmRTk-~4E9<&_2LtQS&!Ul=FI9OE zNhXwdPfi6?%$#6Xt#bT;eI+zZR_jWuQga&lv?}8&tY~CnC-s&pLC#pwB`L03 z>mFoF66hG2w1J&i*9CH+zkbDv=d@tiv zRV|vq!QXjQtS+=s)hWYpR{9(nB`d+Ov3_0R1qybWmhK69u@QR4H~BBD)2eWZ2SG7M zhvZ2Ev!Bs){@SHdw9sr(p)o3n?*c5x))tromUPLMOo_ga`+GRz%OeWOQw~S{UiiNd zm)ORW9THz2-U#}kbQ>Tx|Npp{qX~Y-$BTOG&WO{gLEa}~_tMaDH8*jE2%0%VkOTn0 zO63M|)=ly9Oz?8P;NqzUaaDtO#`rkvK*(!L66NUFngUmd|BKVk!Q9%y^Z($S;;q8v is;dL>)`B>v|2L;31fB8^-fk