From f94d68efef8fd9bfd176063455d9e1bea14a4d37 Mon Sep 17 00:00:00 2001 From: TheRailGoat <128244062+TheRailGoat@users.noreply.github.com> Date: Sun, 18 Oct 2026 20:13:23 -0500 Subject: [PATCH] Saws! --- art/saw.pdn | Bin 0 -> 4105 bytes art/saw4.png | Bin 638 -> 0 bytes art/saw4.png.import | 43 ----------------------------------- art/saw5.png | Bin 639 -> 0 bytes art/saw5.png.import | 43 ----------------------------------- saw.gd | 23 +++++++++++++++++++ saw.gd.uid | 1 + saw.tscn | 54 ++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 78 insertions(+), 86 deletions(-) create mode 100644 art/saw.pdn delete mode 100644 art/saw4.png delete mode 100644 art/saw4.png.import delete mode 100644 art/saw5.png delete mode 100644 art/saw5.png.import create mode 100644 saw.gd create mode 100644 saw.gd.uid create mode 100644 saw.tscn diff --git a/art/saw.pdn b/art/saw.pdn new file mode 100644 index 0000000000000000000000000000000000000000..4d53d1639b8e48a1f6684037f587bf7341dcd1de GIT binary patch literal 4105 zcmd^BTZ|i586J0iO*a>shIW&dxaKN(@pXM!v5qw3yB*&>&f3dr8IRA}vmVblbMa-P zHVB@oQXZ&Ufl5OwfkG)Fs8Jq3q#{BH5eW(^lvb!*n?4Xo)S#+?K*IUQ-d%4*_1LT}#5G&WXwEZ3B*`J0+h&!S z9%>xnlvV{(I8g}Md=9tU+#tREwHMrh@C?VN=xn3tzDrRvT+qESM0me z@uo=PCtIRhQM!p|VOWyQFqy$0D%wp-agDN=Efrl!Qj+Ibe*q{(p+LJSd|lHilZq~V-MHrbAA`_#2T?wj>arbXOOf9syVt3WWHaD@#}b! z>*IAq&QJr7U97=Ys>>gV@|_ahK8i&HN|dBTiYk!!etapAD0y>T)bwalWPh};9f@}m zm|5d5YY=df8qGk!IIPF~`2IG@jusJem|4fSfju-uqQDmuVFByJCK!l@@sp!-v7|4j zS#uL-kcq%i%vMZAIkl2V(_phmrbHL1N~Dz+YT0_EU1)`)IZEvX-DN+;7R%*zzud@* zakk(}#RsK8K|sC!A|0lRN>%Pg2Z_p&>fxF_)ru$MeyP)`7L?UiJ?uxR+8{<|-7c}8 zc1N>4nP>9}Z!#b*rrYjeFPfDi{R$aJO^RJ}x)fh*ezlTP=6O00YbD5vSU4(#H-)cBqmojDKBHOg5;3VhE^=>bq%4>bHLH2w{vO#7|$tCOQVJBJ)))$BU-hf|h zs_{t1nUE6Enrq$D^tZT9E*im`57nOLh0xGpzX_3(uV)jmqO$heDCGqGw%Oo!*z zS#MD@7g?e!xnkNEt|pTqo7H(}!MPF8&W%htMCkC3Aa39XzVJ-nfrosa;RGcjDp{mB zB8G`a zRzMZAc~@yDV^+slgEw^Jby(zi#40%bWk(zdNa9!r7P`XlD#CEmr#wqbW7d))aYA#} z+L2jN;<@^kIp!QL_`SOo>VW{`V|{-2ymt<{g7eF>|4;DcrDaf_uuS2>I({wKR)ocX z2Lq6AZ8P98b{Pq~W)CSz%n%G|U*W*myC(=Tw~p?bSocPiRFC0r>F1FzV6;FiSWI|; z$!`4W;nJJjq{*?8Vb(;+xRT)n_)sdxH!Lef)Z?IP<3rfJW;1Bi#qZLG2_pIsL70G` zfdk0Y>$io&^;dBc-yW($5KXnw(9nZa)#;2DOxX1yG~iYp3e$9ZmR!rm9hl}^0GgF+ zglwL9zs<_yYGlLz3Y1|N;r|3Ss|FCV;TEKoNZni5hG0kI^marqAnwGpzyx9tBWZ}i z4Mg82Vo<13WUdLVYlM7d0~z9dLe@Dz-g7fD7VSMFU*15z3#07Zv_cSo_hM3HOJuJL zOQ-?60~<19CB{~u9YCvs@5d)B_uyfxKHrNM z2B80UGC>(N)v;e2xvu^rlM>LlT~ebB*`5`p4#SU^Ac7{w4BQD~+)69(__kJTlyN6) zAcM>@f(vizarxcmung*m(vadswhbnM*E)VbjlY)tcrbvT?`|n@xL#m7=-<1(2^s*_ zc$$+bhHW<`Q56~{vCFWWGPG!>$cPQ3gEptXT^hblcgOxo=WBtdxf^V;;c(*tY!j2V zXZ2X_!wVg8!|+F3ME=8JEyA=iv9dy#0SX=i#Ljz+H{geJ1_*$6iWqR08Ha0AY5C_Y zEk@33|3l0Tw2CANHSo4Yr-PUxpk%_MGl2?Pvxo0(((LaX6=TpCSDk~8n6(+P_y%X6du88~Z<^cBkY|7We7pKk Z<)_a-`+NO?f1EsXgIIa$b88R~{{s3_6-fX9 literal 0 HcmV?d00001 diff --git a/art/saw4.png b/art/saw4.png deleted file mode 100644 index 41a90daaafb85699240dae4601c99022eb111306..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 638 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCikt0(?ST|NsBLV8MdU&d$r1FFQCm0EM47PhkO4Y$ZW{!9dyn{~0##U$P%4 z!dc)ES>jqptK^weVD0CHFvq!?Kl7=bJ=AeM%*LC)7;WCn{f0ojI(ObmiRItqw0+gZTk zIY2fDBmgl;Ka57Vm4N{m1QXa9K;AGgGB#jb05KP&hjjtOtZ6_t2rvOnVgjoSva|rQ zpt=kV3_!9sm(QAdayxfCkon8g#WBRfKXp>zw4(|f&Ww-$ZMRWxRNC`!^{i}_h~10N z)zQq?~dIgPnRNQgK75*gv0{mBP*$(&#K^qIYnk^5_@L*5%1Uv=HoJoiv^t@?o(^VjIzn`+4((v_F{ski^iLk7JP tri;_VO&9oi98r@CxOy-2f5ZJ>%r91P-P-o}(QHtNc)I$ztaD0e0swqQ!Po!* diff --git a/art/saw4.png.import b/art/saw4.png.import deleted file mode 100644 index ae52a77..0000000 --- a/art/saw4.png.import +++ /dev/null @@ -1,43 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cluf02f4cbby5" -path="res://.godot/imported/saw4.png-bd621fa9909b47415f5261a3f191e63a.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://art/saw4.png" -dest_files=["res://.godot/imported/saw4.png-bd621fa9909b47415f5261a3f191e63a.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/high_quality_mode=0 -compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -mipmaps/preserve_alpha_test_coverage=false -mipmaps/alpha_test_threshold=0.5 -roughness/mode=0 -roughness/src_normal="" -process/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 -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 diff --git a/art/saw5.png b/art/saw5.png deleted file mode 100644 index 5dd891889141569e8944e2d081f4ea099cf83157..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 639 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCikt0(?ST|NsBLV8MdU&d$r1FFQCm0EM47PhkO4Y$ZW{!9dyn{~0##U$P%4 z!dc)ES>jqptK^weVD0CHFvq!?Kl7=bJ=AeM%*LC)7;WCn{f0ojI(ObmiRItqw0+gZTk zIY2fDBmgl;Ka57Vm4N{m1QXa9K;AGgGB#jb05KP&hjjtOtZ6_t2rvOnVgjoSva|rQ zpt=kV3_!9sm(QAdayxfCkonuw#WBRfzjTtL*bxN|XTgvE!sktA5wX_o4tr|OxN@y* z+IQ>nbW^tAiv3K?jce-}^bXxQI#p4AS#c}F>7Ywf4Y?NvNHu=tsEbnwDNra)VoICr zFh^?B0X@d4!H4x8P0~nMK40kaMNj{Dp{QF%-;0^u7kR{s-Aqqwy6k*LBN zn;S<@_CHt}B2`)Pku~4}+q0IVH;cQ>R`FK3$JGAbBz0A9ZM^y}ho|3PPAf1un)uZ| z@o<(>qqWLHo5nD6XCbL&4DAn2yBxTnl;EKteT=1=x6!osl^4@S-D`(t30X$nGH-y-J&Fx%1nozn~!TboFyt=akR{08s3^i2wiq diff --git a/art/saw5.png.import b/art/saw5.png.import deleted file mode 100644 index e00a1c6..0000000 --- a/art/saw5.png.import +++ /dev/null @@ -1,43 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://bf3kv2cgp3joy" -path="res://.godot/imported/saw5.png-ed46765cd6d0897adf9e5347c71ffad8.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://art/saw5.png" -dest_files=["res://.godot/imported/saw5.png-ed46765cd6d0897adf9e5347c71ffad8.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/high_quality_mode=0 -compress/lossy_quality=0.7 -compress/uastc_level=0 -compress/rdo_quality_loss=0.0 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -mipmaps/preserve_alpha_test_coverage=false -mipmaps/alpha_test_threshold=0.5 -roughness/mode=0 -roughness/src_normal="" -process/channel_remap/red=0 -process/channel_remap/green=1 -process/channel_remap/blue=2 -process/channel_remap/alpha=3 -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 diff --git a/saw.gd b/saw.gd new file mode 100644 index 0000000..836ca74 --- /dev/null +++ b/saw.gd @@ -0,0 +1,23 @@ +extends Node2D + +@export var max_distance = 260.0 +@export var moving = true +var alt_position = Vector2(position.x + max_distance,0) +@export var move_speed = 0.4 + +func _ready() -> void: + alt_position = Vector2(position.x + max_distance,0) + +func _process(delta: float) -> void: + if position.x != alt_position.x: + position.x = move_toward(position.x, alt_position.x, move_speed) + else: + moving = false + %Player2D.is_on_moving_platform = false + #%Player2D.platform_speed = 0.0 + +func on_contact(body: Node2D) -> void: + if body==%Player2D and %Player2D.death_cooldown == 0: + print("SLASH KILL") + %Player2D/Jetpack/DeathSound.play() + %Player2D.on_death(false,%Player2D.position) diff --git a/saw.gd.uid b/saw.gd.uid new file mode 100644 index 0000000..f731a27 --- /dev/null +++ b/saw.gd.uid @@ -0,0 +1 @@ +uid://dxgg37v8cxi76 diff --git a/saw.tscn b/saw.tscn new file mode 100644 index 0000000..ae165b7 --- /dev/null +++ b/saw.tscn @@ -0,0 +1,54 @@ +[gd_scene format=3 uid="uid://c13khrhjy5nrj"] + +[ext_resource type="Script" uid="uid://dxgg37v8cxi76" path="res://saw.gd" id="1_reoe3"] +[ext_resource type="Texture2D" uid="uid://cpftgnwkpx1rp" path="res://art/saw.png" id="2_b8b65"] +[ext_resource type="Texture2D" uid="uid://dfdjachaibh2u" path="res://art/saw2.png" id="3_tse5f"] +[ext_resource type="Texture2D" uid="uid://cwvvgwo87pct0" path="res://art/saw3.png" id="4_yv4k5"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_f3sb7"] +size = Vector2(32, 26) + +[sub_resource type="SpriteFrames" id="SpriteFrames_lmieu"] +animations = [{ +"frames": [{ +"duration": 0.3, +"texture": ExtResource("2_b8b65") +}, { +"duration": 0.3, +"texture": ExtResource("3_tse5f") +}, { +"duration": 0.3, +"texture": ExtResource("4_yv4k5") +}], +"loop": 1, +"name": &"default", +"speed": 5.0 +}] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_3uo2v"] +size = Vector2(34, 28) + +[node name="Saw" type="RigidBody2D" unique_id=1409784601] +gravity_scale = 0.0 +freeze = true +script = ExtResource("1_reoe3") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=1866755047] +shape = SubResource("RectangleShape2D_f3sb7") + +[node name="Sprite2D" type="AnimatedSprite2D" parent="." unique_id=790714481] +texture_filter = 1 +sprite_frames = SubResource("SpriteFrames_lmieu") +autoplay = "default" +frame_progress = 0.39573506 + +[node name="Area2D" type="Area2D" parent="." unique_id=1910272404] +position = Vector2(19, 7) +rotation = -6.834404e-05 + +[node name="ShapeCast2D" type="CollisionShape2D" parent="Area2D" unique_id=934904308] +position = Vector2(-18.999523, -7.0012984) +shape = SubResource("RectangleShape2D_3uo2v") + +[connection signal="body_entered" from="Area2D" to="." method="on_contact"] +[connection signal="body_exited" from="Area2D" to="." method="on_leave"]