|
@@ -1,69 +1,6 @@
|
|
|
[gd_scene load_steps=8 format=2]
|
|
|
|
|
|
-[sub_resource type="GDScript" id=5]
|
|
|
-script/source = "extends KinematicBody2D
|
|
|
-
|
|
|
-export var vida = 2
|
|
|
-export var speed = 70
|
|
|
-export var type = 1
|
|
|
-
|
|
|
-var enemy_id = 0
|
|
|
-
|
|
|
-var bullet = preload('res://bullet.tscn')
|
|
|
-
|
|
|
-func damage(arg, id):
|
|
|
- vida += arg
|
|
|
- get_tree().get_nodes_in_group('server')[0]._enemy_dmg(enemy_id)
|
|
|
- if vida <= 0:
|
|
|
- get_tree().get_nodes_in_group('enemy_authority')[0].death_count(id)
|
|
|
- queue_free()
|
|
|
-
|
|
|
-var motion = Vector2()
|
|
|
-var target
|
|
|
-onready var reaction_time = int(rand_range(20,60))
|
|
|
-
|
|
|
-var dir_buffer = 0
|
|
|
-
|
|
|
-var tick = 20
|
|
|
-export var tickrate = 4
|
|
|
-var state = 'runaround'
|
|
|
-var fliph = false
|
|
|
-
|
|
|
-func _physics_process(delta):
|
|
|
- tick += 1
|
|
|
- if fmod(tick,tickrate) == 0:
|
|
|
- match state:
|
|
|
- 'runaround':
|
|
|
- type = 0 if motion.x == 0 else 1
|
|
|
- fliph = motion.x > 0 and motion.x != 0
|
|
|
- if target == null: _ready()
|
|
|
- if target == null: return
|
|
|
- dir_buffer += 1
|
|
|
- if fmod(dir_buffer,reaction_time) == 0:
|
|
|
- if is_instance_valid(target): motion.x = (target.global_position - global_position).normalized().x * speed
|
|
|
- motion.y += 15
|
|
|
- if motion.y > 0 and is_on_floor(): motion.y = 0
|
|
|
- move_and_slide(motion*tickrate,Vector2.UP)
|
|
|
- 'shooting':
|
|
|
- type = 2
|
|
|
- if fmod(tick,75) == 0:
|
|
|
- var instance = bullet.instance()
|
|
|
- instance.motion.x = 200 if fliph else -200
|
|
|
- instance.global_position = global_position + Vector2(0,-8)
|
|
|
- instance.id = name
|
|
|
- instance.dmg = 10
|
|
|
- instance.target = 'player'
|
|
|
- get_tree().get_nodes_in_group('proj')[0].add_child(instance)
|
|
|
-
|
|
|
-func _on_Area2D_body_entered(body):
|
|
|
- print(body)
|
|
|
- if body.is_in_group('players'):
|
|
|
- var array = get_tree().get_nodes_in_group('players')
|
|
|
- array.shuffle()
|
|
|
- if array.size() > 0:
|
|
|
- target = array[0]
|
|
|
- pass # Replace with function body.
|
|
|
-"
|
|
|
+[ext_resource path="res://enemy.tres.gd" type="Script" id=1]
|
|
|
|
|
|
[sub_resource type="GDScript" id=6]
|
|
|
script/source = "extends Area2D
|
|
@@ -110,7 +47,7 @@ extents = Vector2( 320, 100 )
|
|
|
[node name="Enemy" type="KinematicBody2D" groups=["enemy"]]
|
|
|
collision_layer = 12
|
|
|
collision_mask = 0
|
|
|
-script = SubResource( 5 )
|
|
|
+script = ExtResource( 1 )
|
|
|
|
|
|
[node name="damage_enemy" type="Area2D" parent="."]
|
|
|
collision_layer = 0
|