X Tutup
Skip to content

Commit c0eaba0

Browse files
committed
Added bandages to chest that you can loot
1 parent 84a1c6c commit c0eaba0

File tree

21 files changed

+408
-160
lines changed

21 files changed

+408
-160
lines changed
Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,6 @@
11
extends Node2D
22

3-
var bandageCount = 0
4-
5-
# Adds 1 bandage to the player
6-
func addBandage():
7-
bandageCount += 1
8-
$Label.set_text(str(bandageCount))
9-
10-
# Removes 1 bandage from the player
11-
func removeBandage():
12-
bandageCount -= 1
13-
$Label.set_text(str(bandageCount))
143

4+
# Sets HUD text to current number of bandages
5+
func _process(delta):
6+
$Label.set_text(str(GLOBAL.bandageCount))
Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,44 @@
11
[gd_scene load_steps=9 format=2]
22

3-
[ext_resource path="res://FarmNer/Assets/Textures/heart.png" type="Texture" id=1]
3+
[ext_resource path="res://FarmNer/Assets/Textures/bandage.png" type="Texture" id=1]
44
[ext_resource path="res://FarmNer/Assets/Fonts/Perfect DOS VGA 437 Win.ttf" type="DynamicFontData" id=2]
55
[ext_resource path="res://FarmNer/Assets/BandageBar/BandageBar.gd" type="Script" id=3]
66

7-
[sub_resource type="Shader" id=4]
7+
[sub_resource type="Shader" id=1]
88
code = "shader_type canvas_item;
99
render_mode unshaded;"
1010

11-
[sub_resource type="ShaderMaterial" id=5]
12-
shader = SubResource( 4 )
11+
[sub_resource type="ShaderMaterial" id=2]
12+
shader = SubResource( 1 )
1313

14-
[sub_resource type="DynamicFont" id=1]
14+
[sub_resource type="DynamicFont" id=3]
1515
font_data = ExtResource( 2 )
1616

17-
[sub_resource type="Shader" id=2]
17+
[sub_resource type="Shader" id=6]
1818
code = "shader_type canvas_item;
19-
render_mode unshaded;
20-
21-
void vertex()
22-
{
23-
VERTEX.x += cos(TIME + VERTEX.x) * 20.5;
24-
25-
}"
19+
render_mode unshaded;"
2620

27-
[sub_resource type="ShaderMaterial" id=3]
28-
shader = SubResource( 2 )
21+
[sub_resource type="ShaderMaterial" id=5]
22+
shader = SubResource( 6 )
2923

3024
[node name="BandageBar" type="Node2D"]
3125
script = ExtResource( 3 )
3226

3327
[node name="Label" type="Label" parent="."]
34-
material = SubResource( 5 )
28+
material = SubResource( 2 )
3529
margin_left = -528.0
3630
margin_top = -104.0
3731
margin_right = -484.0
3832
margin_bottom = -69.0
3933
rect_scale = Vector2( 14.8033, 14.8033 )
40-
custom_fonts/font = SubResource( 1 )
34+
custom_fonts/font = SubResource( 3 )
4135
text = "0
4236
"
4337
__meta__ = {
4438
"_edit_use_anchors_": false
4539
}
4640

4741
[node name="Sprite" type="Sprite" parent="."]
48-
self_modulate = Color( 0, 0.552941, 1, 1 )
49-
material = SubResource( 3 )
42+
material = SubResource( 5 )
43+
scale = Vector2( 1.91101, 2.15595 )
5044
texture = ExtResource( 1 )
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
extends Node2D
2+
3+
var playerEntered = false
4+
5+
# Detects if player enters bandage range
6+
func _on_PlayerCollision_body_entered(body):
7+
playerEntered = true
8+
9+
# Detects if player leaves bandage range
10+
func _on_PlayerCollision_body_exited(body):
11+
playerEntered = false
12+
13+
# Detects if mouse enters bandage range
14+
func _on_Area2D_mouse_entered():
15+
$Sprite.material.set_shader_param("turnOn", 1.0)
16+
17+
# Detects if mouse leaves bandage range
18+
func _on_Area2D_mouse_exited():
19+
$Sprite.material.set_shader_param("turnOn", 0.0)
20+
21+
# Detects if mouse is clicked, then adds 1 bandage
22+
func _on_Area2D_input_event(viewport, event, shape_idx):
23+
if (playerEntered == true):
24+
if event is InputEventMouseButton:
25+
if event.button_index == BUTTON_LEFT and event.pressed:
26+
GLOBAL.addBandage()
27+
queue_free()
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
[gd_scene load_steps=7 format=2]
2+
3+
[ext_resource path="res://FarmNer/Assets/Textures/bandageItem.png" type="Texture" id=1]
4+
[ext_resource path="res://FarmNer/Assets/BandageItem/Bandage.gd" type="Script" id=2]
5+
6+
[sub_resource type="Shader" id=5]
7+
code = "shader_type canvas_item;
8+
9+
uniform vec4 outline_color : hint_color;
10+
uniform float turnOn = 0.0;
11+
12+
void fragment()
13+
{
14+
float size_x = 1.0/float(textureSize(TEXTURE, 0).x) * turnOn;
15+
float size_y = 1.0/float(textureSize(TEXTURE, 0).y) * turnOn;
16+
vec4 sprite_color = texture(TEXTURE, UV);
17+
float alpha = -4.0 * sprite_color.a;
18+
alpha += texture(TEXTURE, UV + vec2(size_x, 0)).a;
19+
alpha += texture(TEXTURE, UV + vec2(-size_x, 0)).a;
20+
alpha += texture(TEXTURE, UV + vec2(0, size_y)).a;
21+
alpha += texture(TEXTURE, UV + vec2(0, -size_y)).a;
22+
vec4 final_color = mix(sprite_color, outline_color, clamp(alpha, 0.0, 1.0));
23+
COLOR = vec4(final_color.rgb, clamp(abs(alpha) + sprite_color.a, 0.0, 1.0));
24+
}"
25+
26+
[sub_resource type="ShaderMaterial" id=2]
27+
resource_local_to_scene = true
28+
shader = SubResource( 5 )
29+
shader_param/outline_color = Color( 1, 1, 1, 1 )
30+
shader_param/turnOn = 0.0
31+
32+
[sub_resource type="RectangleShape2D" id=4]
33+
34+
[sub_resource type="RectangleShape2D" id=3]
35+
36+
[node name="Bandage" type="Node2D"]
37+
scale = Vector2( 0.485, 0.485 )
38+
script = ExtResource( 2 )
39+
40+
[node name="Sprite" type="Sprite" parent="."]
41+
material = SubResource( 2 )
42+
texture = ExtResource( 1 )
43+
44+
[node name="Area2D" type="Area2D" parent="."]
45+
scale = Vector2( 0.168262, 0.168262 )
46+
collision_layer = 16384
47+
collision_mask = 16384
48+
49+
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
50+
scale = Vector2( 14.9592, 14.9592 )
51+
shape = SubResource( 4 )
52+
53+
[node name="PlayerCollision" type="Area2D" parent="."]
54+
scale = Vector2( 0.157, 0.157 )
55+
collision_layer = 16384
56+
collision_mask = 16384
57+
58+
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerCollision"]
59+
scale = Vector2( 69.4916, 69.4916 )
60+
shape = SubResource( 3 )
61+
[connection signal="input_event" from="Area2D" to="." method="_on_Area2D_input_event"]
62+
[connection signal="mouse_entered" from="Area2D" to="." method="_on_Area2D_mouse_entered"]
63+
[connection signal="mouse_exited" from="Area2D" to="." method="_on_Area2D_mouse_exited"]
64+
[connection signal="body_entered" from="PlayerCollision" to="." method="_on_PlayerCollision_body_entered"]
65+
[connection signal="body_exited" from="PlayerCollision" to="." method="_on_PlayerCollision_body_exited"]

FarmNer/Assets/Chest/Chest.gd

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@ extends Node2D
33
var playerEntered = false
44
var chestOpen = false
55

6+
# Instance Bandage
7+
var bInstance = preload("res://FarmNer/Assets/BandageItem/Bandage.tscn")
8+
var bandageInstance = bInstance.instance()
9+
10+
# RandomNumberGenerator for placing items
11+
var random = RandomNumberGenerator.new()
12+
613
# Detects if player enters chest range
714
func _on_PlayerDetection_body_entered(body):
815
playerEntered = true
@@ -16,19 +23,24 @@ func _on_Area2D_mouse_entered():
1623
$Sprite.material.set_shader_param("turnOn", 1.0)
1724
if (chestOpen == true):
1825
$Sprite.material.set_shader_param("turnOn", 0.0)
19-
if (playerEntered == true && chestOpen == false):
20-
$RichTextLabel.show()
2126

2227
# Detects if mouse leaves chest range
2328
func _on_Area2D_mouse_exited():
2429
$Sprite.material.set_shader_param("turnOn", 0.0)
25-
$RichTextLabel.hide()
2630

2731
# Detects if mouse is clicked
2832
func _on_Area2D_input_event(viewport, event, shape_idx):
2933
if (playerEntered == true && chestOpen == false):
3034
if event is InputEventMouseButton:
3135
if event.button_index == BUTTON_LEFT and event.pressed:
3236
chestOpen = true
33-
$Sprite.texture = load("res://FarmNer/Assets/Chest/chestOpen.png")
37+
$Sprite.hide()
38+
$ChestOpenFront.show()
39+
$ChestOpenBack.show()
3440
$ChestOpenSound/AudioStreamPlayer2D.play()
41+
42+
# Adds items in random positions of box
43+
random.randomize()
44+
var randomNumber = random.randf_range(-2.433, 2.84)
45+
add_child(bandageInstance)
46+
bandageInstance.position = Vector2(randomNumber, -1.732)

FarmNer/Assets/Chest/Chest.tscn

Lines changed: 39 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,36 @@
11
[gd_scene load_steps=12 format=2]
22

33
[ext_resource path="res://FarmNer/Assets/Chest/chest.png" type="Texture" id=1]
4-
[ext_resource path="res://FarmNer/Assets/Shaders/OutlineShader.shader" type="Shader" id=2]
54
[ext_resource path="res://FarmNer/Assets/Chest/Chest.gd" type="Script" id=3]
6-
[ext_resource path="res://FarmNer/Assets/Fonts/Perfect DOS VGA 437 Win.ttf" type="DynamicFontData" id=4]
5+
[ext_resource path="res://FarmNer/Assets/Chest/chestOpenFront.png" type="Texture" id=4]
76
[ext_resource path="res://FarmNer/Assets/Chest/ChestOpenSound.tscn" type="PackedScene" id=5]
8-
9-
[sub_resource type="DynamicFont" id=1]
10-
font_data = ExtResource( 4 )
7+
[ext_resource path="res://FarmNer/Assets/Chest/chestOpenBack.png" type="Texture" id=6]
118

129
[sub_resource type="RectangleShape2D" id=2]
1310

11+
[sub_resource type="Shader" id=7]
12+
code = "shader_type canvas_item;
13+
14+
uniform vec4 outline_color : hint_color;
15+
uniform float turnOn = 0.0;
16+
17+
void fragment()
18+
{
19+
float size_x = 1.0/float(textureSize(TEXTURE, 0).x) * turnOn;
20+
float size_y = 1.0/float(textureSize(TEXTURE, 0).y) * turnOn;
21+
vec4 sprite_color = texture(TEXTURE, UV);
22+
float alpha = -4.0 * sprite_color.a;
23+
alpha += texture(TEXTURE, UV + vec2(size_x, 0)).a;
24+
alpha += texture(TEXTURE, UV + vec2(-size_x, 0)).a;
25+
alpha += texture(TEXTURE, UV + vec2(0, size_y)).a;
26+
alpha += texture(TEXTURE, UV + vec2(0, -size_y)).a;
27+
vec4 final_color = mix(sprite_color, outline_color, clamp(alpha, 0.0, 1.0));
28+
COLOR = vec4(final_color.rgb, clamp(abs(alpha) + sprite_color.a, 0.0, 1.0));
29+
}"
30+
1431
[sub_resource type="ShaderMaterial" id=3]
15-
shader = ExtResource( 2 )
32+
resource_local_to_scene = true
33+
shader = SubResource( 7 )
1634
shader_param/outline_color = Color( 1, 1, 1, 1 )
1735
shader_param/turnOn = 0.0
1836

@@ -41,21 +59,6 @@ script = ExtResource( 3 )
4159

4260
[node name="ChestOpenSound" parent="." instance=ExtResource( 5 )]
4361

44-
[node name="RichTextLabel" type="RichTextLabel" parent="."]
45-
visible = false
46-
margin_left = -19.2341
47-
margin_top = -18.0284
48-
margin_right = 79.7659
49-
margin_bottom = -2.02842
50-
rect_scale = Vector2( 0.397735, 0.397735 )
51-
mouse_filter = 2
52-
custom_fonts/normal_font = SubResource( 1 )
53-
text = "Left click!"
54-
scroll_active = false
55-
__meta__ = {
56-
"_edit_use_anchors_": false
57-
}
58-
5962
[node name="StaticBody2D" type="StaticBody2D" parent="."]
6063

6164
[node name="CollisionShape2D" type="CollisionShape2D" parent="StaticBody2D"]
@@ -69,6 +72,20 @@ texture = ExtResource( 1 )
6972
region_rect = Rect2( 0, 0, 11, 9 )
7073
script = SubResource( 4 )
7174

75+
[node name="ChestOpenFront" type="Sprite" parent="."]
76+
visible = false
77+
position = Vector2( 0.0114403, 1.00742 )
78+
scale = Vector2( 1, 1 )
79+
z_index = 1
80+
texture = ExtResource( 4 )
81+
82+
[node name="ChestOpenBack" type="Sprite" parent="."]
83+
visible = false
84+
position = Vector2( 0.0114403, 1.00742 )
85+
scale = Vector2( 1, 1 )
86+
z_index = -1
87+
texture = ExtResource( 6 )
88+
7289
[node name="Area2D" type="Area2D" parent="."]
7390
position = Vector2( -0.283318, -1.3036 )
7491
scale = Vector2( 2.13959, 2.13959 )
@@ -85,7 +102,7 @@ collision_layer = 524288
85102
collision_mask = 524288
86103

87104
[node name="CollisionShape2D" type="CollisionShape2D" parent="PlayerDetection"]
88-
scale = Vector2( 3.8921, 3.8921 )
105+
scale = Vector2( 4.617, 4.617 )
89106
shape = SubResource( 6 )
90107
[connection signal="input_event" from="Area2D" to="." method="_on_Area2D_input_event"]
91108
[connection signal="mouse_entered" from="Area2D" to="." method="_on_Area2D_mouse_entered"]
303 Bytes
Loading
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="StreamTexture"
5+
path="res://.import/chestOpenBack.png-381e3860f173d0017c409fe449a46453.stex"
6+
metadata={
7+
"vram_texture": false
8+
}
9+
10+
[deps]
11+
12+
source_file="res://FarmNer/Assets/Chest/chestOpenBack.png"
13+
dest_files=[ "res://.import/chestOpenBack.png-381e3860f173d0017c409fe449a46453.stex" ]
14+
15+
[params]
16+
17+
compress/mode=0
18+
compress/lossy_quality=0.7
19+
compress/hdr_mode=0
20+
compress/bptc_ldr=0
21+
compress/normal_map=0
22+
flags/repeat=0
23+
flags/filter=false
24+
flags/mipmaps=false
25+
flags/anisotropic=false
26+
flags/srgb=2
27+
process/fix_alpha_border=true
28+
process/premult_alpha=false
29+
process/HDR_as_SRGB=false
30+
process/invert_color=false
31+
stream=false
32+
size_limit=0
33+
detect_3d=true
34+
svg/scale=1.0
386 Bytes
Loading
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
[remap]
2+
3+
importer="texture"
4+
type="StreamTexture"
5+
path="res://.import/chestOpenFront.png-1a0347c6de6aa155e04e0f95c37a2b3e.stex"
6+
metadata={
7+
"vram_texture": false
8+
}
9+
10+
[deps]
11+
12+
source_file="res://FarmNer/Assets/Chest/chestOpenFront.png"
13+
dest_files=[ "res://.import/chestOpenFront.png-1a0347c6de6aa155e04e0f95c37a2b3e.stex" ]
14+
15+
[params]
16+
17+
compress/mode=0
18+
compress/lossy_quality=0.7
19+
compress/hdr_mode=0
20+
compress/bptc_ldr=0
21+
compress/normal_map=0
22+
flags/repeat=0
23+
flags/filter=false
24+
flags/mipmaps=false
25+
flags/anisotropic=false
26+
flags/srgb=2
27+
process/fix_alpha_border=true
28+
process/premult_alpha=false
29+
process/HDR_as_SRGB=false
30+
process/invert_color=false
31+
stream=false
32+
size_limit=0
33+
detect_3d=true
34+
svg/scale=1.0

0 commit comments

Comments
 (0)
X Tutup