From 935125de831f5c6be7f17b0a6d890a349c52c3a9 Mon Sep 17 00:00:00 2001 From: Kayne Ruse Date: Wed, 11 Mar 2026 14:42:01 +1100 Subject: [PATCH] Added NPC ArrowGirl --- ArrowGirl/ArrowGirl.gd | 14 ++++++++ ArrowGirl/ArrowGirl.gd.uid | 1 + ArrowGirl/ArrowGirl.png | Bin 0 -> 762 bytes ArrowGirl/ArrowGirl.png.import | 40 ++++++++++++++++++++++ ArrowGirl/ArrowGirl.tscn | 55 ++++++++++++++++++++++++++++++ ArrowGirl/ArrowGirl.xcf | Bin 0 -> 4634 bytes BoxBoy/BoxBoy.gd | 2 +- BoxBoy/BoxBoy.tscn | 8 ++--- BoxBoy/{boxboy.xcf => BoxBoy.xcf} | Bin scene.tscn => Scene.tscn | 6 ++++ project.godot | 2 +- 11 files changed, 122 insertions(+), 6 deletions(-) create mode 100644 ArrowGirl/ArrowGirl.gd create mode 100644 ArrowGirl/ArrowGirl.gd.uid create mode 100644 ArrowGirl/ArrowGirl.png create mode 100644 ArrowGirl/ArrowGirl.png.import create mode 100644 ArrowGirl/ArrowGirl.tscn create mode 100644 ArrowGirl/ArrowGirl.xcf rename BoxBoy/{boxboy.xcf => BoxBoy.xcf} (100%) rename scene.tscn => Scene.tscn (97%) diff --git a/ArrowGirl/ArrowGirl.gd b/ArrowGirl/ArrowGirl.gd new file mode 100644 index 0000000..8775244 --- /dev/null +++ b/ArrowGirl/ArrowGirl.gd @@ -0,0 +1,14 @@ +class_name ArrowGirl extends Area2D + +@onready var _sprite = $AnimatedSprite2D + +#boilerplate +func _ready(): + _sprite.play("idle", 1) + +#animation stuff +func _on_animation_finished() -> void: + if randf() < 0.2: + _sprite.play("idle_glance", 2) + else: + _sprite.play("idle", 2) diff --git a/ArrowGirl/ArrowGirl.gd.uid b/ArrowGirl/ArrowGirl.gd.uid new file mode 100644 index 0000000..1499f9d --- /dev/null +++ b/ArrowGirl/ArrowGirl.gd.uid @@ -0,0 +1 @@ +uid://dqnhd2oej7xbw diff --git a/ArrowGirl/ArrowGirl.png b/ArrowGirl/ArrowGirl.png new file mode 100644 index 0000000000000000000000000000000000000000..d3f698a1656440da8bb2e4a087269198dbb08ada GIT binary patch literal 762 zcmVEX>4Tx04R}tk-ba9P!z>aQ>CI62Rn#3WT*~e7Zq`=RVYG*P%E_RVDi#0Xws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;e}FhCx=4xlC509-K6tzz=e={d?_NM?RG4OU#Q{yX z&2%y$W^=1z=oLZq(FVq4W*Kvml!EX2x<`PYcQKyj|L)J#ujVZV1VrLEGfbO!gLr1s zHaPDSM_5T#iO-2AOe&E0k?V@bZ=8!R3p_JoX43P-5n{2}!Ab|SlBp3-6Gv4|r+gvn zvC4UivsS6GR-OEZ;k>@G%yrr$NMaF7kRU=q4P{hdBSxoAiiI@YCw%)BVfh)c3uQq_$Ptxmc zEqVkDYy%h9ZB5w&E_Z;TCqp)6SK`wb3I*W(jK-7$25*7hHLq{2dz?N18R}K)1~@nb z#)_1^?(^@S&c6Norq#b6HSThbgBs`T00006VoOIv0RI600RN!9r;`8x010qNS#tmY zE+YT{E+YYWr9XB6000McNliru>H`Y{8Z+h*N&x@>02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{007cSL_t(&-tCt`4#gk{L>=ybXS!=#^d|}f{={KrV(n|k z0Td$_K8-Q@Bh3d1enJEa-_l>h|(fTjbDH?LcMk8RrN$W^(Lj}_H2KQdS6$ho7MZ`Hf_@9WW!e`yC)^3?@&8H%?P s1m>CTjKWt6NB{{S0VIF~kO23_1N(P_vWKvTKw!xOXyvgiu%yLO_UGn< z$pZ`|kS7R)JVb7KjX8xJLvjlVldo#JHPvDy?*p|o;(j<4Nt-s zhuyBi=z&5IjqgFXK#qf-7O46dCL)YB$OCmiceG4?cj5mXI1QSwe?6TJCed;D@Kd(A z{Hs(Myab{(yh-mjrTRZzKvk}k``;?{*)L>Pj*wj;=X-p@enopUdHv;uI{H2H=?l5{ zEB5}8?T(OLA?JH=oK(>sH9W!T{jqwME9L&BQb)aP4o!v!sN`nl{1`8MYM1O+4Hy)&FmCed`k3-Gi5_&gdckg1pB#cBA(lP|xbnLTzL zPX?o?Gddq18}FYF=8M;7Q8=HSjgKGs2PdQ9>}+-(9x&^ikDd*}L;mYN!t}F(>2An> zH2rG+d@vkOM`8C6+G|VGO6QyDcoB}L!_#O^D`qDr^Jo#WzmPN0cBXe0qqLhTji7~YeN zD|KHrm#zwy_f>h>R^D<~rD+p#4ZH@usoXSxUInji(Ot~vPv4KcQY`op9jSU<|VgoT}Y{1OeNHjJQjg3{#OztGt-yCwmac19} zZEMEBVT?1xz+tR$7;7BH8i%pQ;YNK8hq1;Xo^9b!*ex8!8i(+=aJbQ~@dkejhw&!6 zjkMUtVZ43TMp|s+5RsBNe7jj2hd7MHA!5!rgqd*|YaGTJhpU{K++8=P+}{Jek4yPI zLGR*beMit;)QCHRZYw`+7f?$z(tSas0^9WpB)jE-nX`N`{O>Uj&9~UtK?v%A51Sit1Q*Z{^j1U45MsS&N z#f?)7O_Q&iC0{p5Ikztyf2|oJU0yJmo;N>5y1Yne-qz8|m?p==Yptmz^X0neTYR)J zt2?1Ub@R@|g>&|K`?~e;`P6jsHzTx>C{!&p5x#C7eBCtUd@WY+mzS~+-HH|KB31>u z6&uXkx*Z%8eHl7bY8jj>R6ADKiLOFF$*w@3PfaH$Dmq2p2LIplUP6Vng`(=~V(RN6 zn)9{1z~9OXbSp2ci@X%*Rvs{K>vkeg1Z7@Oxny3hQ0=^6C(es5O+KHRPX1=(aa&=^ cj43astjKa=N{A^Prev5>QB)$Xs~ptSzlw8800000 literal 0 HcmV?d00001 diff --git a/BoxBoy/BoxBoy.gd b/BoxBoy/BoxBoy.gd index 44c23d7..bfd7126 100644 --- a/BoxBoy/BoxBoy.gd +++ b/BoxBoy/BoxBoy.gd @@ -40,7 +40,7 @@ func _physics_process(_delta) -> void: buffer_jumping -= 1 #process coyote and jump buffers - if buffer_grounded > 0 and buffer_jumping > 0: + if buffer_grounded > 0 and buffer_jumping > 0 and just_bounced == false: velocity.y = -JUMP_FORCE buffer_grounded = 0 buffer_jumping = 0 diff --git a/BoxBoy/BoxBoy.tscn b/BoxBoy/BoxBoy.tscn index 59d32b9..c815581 100644 --- a/BoxBoy/BoxBoy.tscn +++ b/BoxBoy/BoxBoy.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=7 format=3 uid="uid://dndbf44fkm2ww"] +[gd_scene format=3 uid="uid://dndbf44fkm2ww"] [ext_resource type="Script" uid="uid://c2x51mppxugpn" path="res://BoxBoy/BoxBoy.gd" id="1_av86f"] [ext_resource type="Texture2D" uid="uid://bpjhq0b2dae1d" path="res://BoxBoy/BoxBoy.png" id="2_0yqgk"] @@ -34,15 +34,15 @@ animations = [{ radius = 14.0 height = 32.0 -[node name="BoxBoy" type="CharacterBody2D"] +[node name="BoxBoy" type="CharacterBody2D" unique_id=904940283] script = ExtResource("1_av86f") -[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=660463739] sprite_frames = SubResource("SpriteFrames_y2354") animation = &"idle" metadata/_edit_lock_ = true -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1250358515] shape = SubResource("CapsuleShape2D_ulcgi") metadata/_edit_lock_ = true diff --git a/BoxBoy/boxboy.xcf b/BoxBoy/BoxBoy.xcf similarity index 100% rename from BoxBoy/boxboy.xcf rename to BoxBoy/BoxBoy.xcf diff --git a/scene.tscn b/Scene.tscn similarity index 97% rename from scene.tscn rename to Scene.tscn index aa5946a..43e9d0f 100644 --- a/scene.tscn +++ b/Scene.tscn @@ -3,6 +3,7 @@ [ext_resource type="Texture2D" uid="uid://ddl0kxl0inw6r" path="res://Tileset/atlas.png" id="1_3253y"] [ext_resource type="Script" uid="uid://b4nlbrxto0tjp" path="res://Controllers/GameplayController.gd" id="1_u3cyc"] [ext_resource type="PackedScene" uid="uid://dndbf44fkm2ww" path="res://BoxBoy/BoxBoy.tscn" id="2_3253y"] +[ext_resource type="PackedScene" uid="uid://cn8srrkyt4h8e" path="res://ArrowGirl/ArrowGirl.tscn" id="4_m7jmp"] [ext_resource type="PackedScene" uid="uid://b1hpr05b5sgww" path="res://Bouncy/Bouncy.tscn" id="4_u3cyc"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_u3cyc"] @@ -58,3 +59,8 @@ position = Vector2(1584, -576) [node name="Bouncy6" parent="BouncyContainer" unique_id=2085472449 instance=ExtResource("4_u3cyc")] position = Vector2(1680, -896) + +[node name="NPCContainer" type="Node" parent="." unique_id=1127671677] + +[node name="ArrowGirl" parent="NPCContainer" unique_id=869288979 instance=ExtResource("4_m7jmp")] +position = Vector2(-24, 48) diff --git a/project.godot b/project.godot index 043c351..d112414 100644 --- a/project.godot +++ b/project.godot @@ -15,7 +15,7 @@ compatibility/default_parent_skeleton_in_mesh_instance_3d=true [application] config/name="colorvania" -run/main_scene="res://scene.tscn" +run/main_scene="res://Scene.tscn" config/features=PackedStringArray("4.6", "Forward Plus") config/icon="res://icon.svg"