Skip to content

Commit 2fbd279

Browse files
committed
Rzucanie sztyletami
1 parent c3a5be2 commit 2fbd279

File tree

5 files changed

+90
-17
lines changed

5 files changed

+90
-17
lines changed

Diff for: Nodes/Projectiles/PBone.tscn

+1-8
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
resource_name = "Bone"
77
script/source = "extends KinematicBody2D
88

9-
var velocity = Vector2(300, -800)
9+
var velocity = Vector2(250, -800)
1010
var player
1111

1212
onready var sprite = $Sprite
@@ -73,10 +73,3 @@ shape = SubResource( 2 )
7373
7474
[node name="Sprite" type="Sprite" parent="."]
7575
texture = ExtResource( 1 )
76-
77-
[node name="Hitbox" type="Area2D" parent="."]
78-
collision_layer = 4
79-
collision_mask = 0
80-
81-
[node name="Shape" type="CollisionShape2D" parent="Hitbox"]
82-
shape = SubResource( 2 )

Diff for: Nodes/Projectiles/PDagger.tscn

+71
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
[gd_scene load_steps=4 format=2]
2+
3+
[ext_resource path="res://Graphics/Projectiles/Dagger.png" type="Texture" id=1]
4+
5+
[sub_resource type="GDScript" id=1]
6+
resource_name = "Bone"
7+
script/source = "extends Enemy
8+
9+
var velocity = Vector2(600, 0)
10+
var player
11+
12+
onready var sprite = $Sprite
13+
14+
func _ready():
15+
if Com.register_node(self, \"Projectiles/PDagger\"): return
16+
17+
func attack():
18+
return {damage = player.stats.magic_attack + 10}
19+
20+
func _physics_process(delta):
21+
if sprite.position.length_squared() > 1:
22+
sprite.position *= 0.7
23+
else:
24+
sprite.position = Vector2()
25+
26+
var col = move_and_collide(velocity * delta)
27+
if col:
28+
Com.dispose_node(self)
29+
30+
func state_vector_types():
31+
return [
32+
Data.TYPE.U16,
33+
Data.TYPE.U16,
34+
Data.TYPE.U16
35+
]
36+
37+
func get_state_vector():
38+
return [
39+
round(position.x),
40+
round(position.y),
41+
round(velocity.x) + 10000
42+
]
43+
44+
func apply_state_vector(timestamp, diff_vector, vector):
45+
var old_position = position
46+
position.x = vector[0]
47+
position.y = vector[1]
48+
if has_meta(\"initialized\"): sprite.position = (old_position - position) + sprite.position
49+
50+
velocity.x = vector[2] - 10000
51+
sprite.flip_h = velocity.x < 0
52+
53+
func on_hit():
54+
Com.dispose_node(self)"
55+
56+
[sub_resource type="RectangleShape2D" id=2]
57+
extents = Vector2( 30, 12 )
58+
59+
[node name="Dagger" type="KinematicBody2D" groups=[
60+
"player_attack",
61+
]]
62+
collision_layer = 0
63+
collision_mask = 5
64+
script = SubResource( 1 )
65+
attack = 20
66+
67+
[node name="Collider" type="CollisionShape2D" parent="."]
68+
shape = SubResource( 2 )
69+
70+
[node name="Sprite" type="Sprite" parent="."]
71+
texture = ExtResource( 1 )

Diff for: Resources/Data/Souls/Souls1.json

+8-7
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,27 @@
77
"name": "Summon Bat",
88
"description": "Summons a weak bat to chase enemies.",
99
"type": "trigger",
10-
"mp": 8
10+
"mp": 6
1111
},
1212

1313
{
1414
"name": "Echo of Bat",
1515
"description": "Attack with a sonic wave around you.",
1616
"type": "trigger",
17-
"mp": 8
17+
"mp": 5
1818
},
1919

2020
{
2121
"name": "Auto-Jump",
2222
"description": "Jump by holding jump key.",
23-
"type": "ability",
24-
"mp": 8
23+
"type": "ability"
2524
},
2625

2726
{
2827
"name": "Short Hover",
2928
"description": "Hover briefly in air.",
3029
"type": "active",
31-
"mp": 8
30+
"mp": 3
3231
},
3332

3433
{
@@ -41,13 +40,15 @@
4140
{
4241
"name": "Skeleton Disguise",
4342
"description": "You look like skeleton!",
44-
"type": "active"
43+
"type": "active",
44+
"mp": 2
4545
},
4646

4747
{
4848
"name": "Dagger Throw",
4949
"description": "Throw a dagger.",
50-
"type": "trigger"
50+
"type": "trigger",
51+
"mp": 12
5152
},
5253

5354
{

Diff for: Scripts/Networking/Data.gd

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ const NODES = [
2929
"Enemies/Bone",
3030
"Enemies/Dagger",
3131
"Projectiles/PBone",
32+
"Projectiles/PDagger",
3233
"Effects/Soul",
3334
"Objects/Item"
3435
]

Diff for: Scripts/Player.gd

+9-2
Original file line numberDiff line numberDiff line change
@@ -211,13 +211,20 @@ func trigger_soul():
211211

212212
get_meta("character").call("SyncStat", "mp", stats.mp)
213213

214-
match int(souls[0]):
215-
1:
214+
match Res.get_res(Res.souls, int(souls[0])).name:
215+
"Bone Throw":
216216
var bone = preload("res://Nodes/Projectiles/PBone.tscn").instance()
217217
get_parent().add_child(bone)
218218
bone.position = position + Vector2(0, -80)
219219
bone.velocity.x = abs(bone.velocity.x) * direction_i()
220220
bone.player = self
221+
222+
"Dagger Throw":
223+
var dagger = preload("res://Nodes/Projectiles/PDagger.tscn").instance()
224+
get_parent().add_child(dagger)
225+
dagger.position = position
226+
dagger.velocity.x = abs(dagger.velocity.x) * direction_i()
227+
dagger.player = self
221228

222229
func active_soul():
223230
if !Com.is_server: return ##TODO: klient może dostawać info

0 commit comments

Comments
 (0)