Browse Source

reworking it

galo 1 year ago
parent
commit
e82152373c
8 changed files with 53 additions and 92 deletions
  1. 2 65
      Enemy.tscn
  2. 0 23
      Enemy2.tscn
  3. 2 1
      Server.tscn
  4. 0 0
      enemy.tres.gd
  5. 12 0
      enemy2.tres.gd
  6. 14 0
      enemy3.tres.gd
  7. 5 3
      main.tscn
  8. 18 0
      placeholder.gd

+ 2 - 65
Enemy.tscn

@@ -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

+ 0 - 23
Enemy2.tscn

@@ -1,23 +0,0 @@
-[gd_scene load_steps=3 format=2]
-
-[sub_resource type="GDScript" id=2]
-script/source = "extends KinematicBody2D
-var id = 0
-func damage( damage, attacker):
-	get_parent().dict.arrayvida[id] -= damage
-	get_parent().death_count(attacker)
-#	get_node('CollisionShape2D').disabled = true
-#	queue_free()
-#	print(get_parent().dict.arrayvida[id])
-	pass
-"
-
-[sub_resource type="RectangleShape2D" id=1]
-
-[node name="Enemy" type="KinematicBody2D"]
-collision_layer = 4
-collision_mask = 0
-script = SubResource( 2 )
-
-[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
-shape = SubResource( 1 )

+ 2 - 1
Server.tscn

@@ -1,6 +1,7 @@
 [gd_scene load_steps=2 format=2]
 
-[ext_resource path="res://Server.gd" type="Script" id=1]
+[ext_resource path="res://server.gd" type="Script" id=1]
+
 
 [node name="Server" type="Node" groups=["server"]]
 script = ExtResource( 1 )

+ 0 - 0
Enemy.gd → enemy.tres.gd


+ 12 - 0
enemy2.tres.gd

@@ -0,0 +1,12 @@
+extends Area2D
+
+export var damage = -1
+var attacker = ''
+
+func _on_Timer_timeout():
+	queue_free()
+	pass # Replace with function body.
+
+func _on_damage_player_body_entered(area):
+	area.damage( damage, attacker)
+	pass # Replace with function body.

+ 14 - 0
enemy3.tres.gd

@@ -0,0 +1,14 @@
+extends Area2D
+
+func _on_damage_enemy2_body_entered(body):
+	get_parent().fliph = not get_parent().global_position.x > body.global_position.x
+	if get_parent().is_on_floor():
+		get_parent().state = 'shooting'
+	pass # Replace with function body.
+
+func _on_damage_enemy2_body_exited(body):
+	get_parent().state = 'runaround'
+	pass # Replace with function body.
+
+func _ready():
+	scale.x = rand_range(0.5,2.0)

+ 5 - 3
main.tscn

@@ -12,7 +12,7 @@
 [ext_resource path="res://art/Untitledcxz.png" type="Texture" id=10]
 [ext_resource path="res://Textures.gd" type="Script" id=11]
 [ext_resource path="res://Levelselect.gd" type="Script" id=12]
-[ext_resource path="res://enemy.tscn" type="PackedScene" id=13]
+[ext_resource path="res://placeholder.gd" type="Script" id=13]
 [ext_resource path="res://tiles/basicimage.tres" type="Material" id=14]
 [ext_resource path="res://art/Medieval_Castle_Asset_Pack/Background/layers71.png" type="Texture" id=15]
 [ext_resource path="res://art/Medieval_Castle_Asset_Pack/Background/layers3.png" type="Texture" id=16]
@@ -224,6 +224,7 @@ render_target_v_flip = true
 [node name="Goblin" type="AnimatedSprite" parent="Textures/Goblin4"]
 modulate = Color( 1, 0, 0.984314, 1 )
 frames = SubResource( 5 )
+frame = 3
 speed_scale = 0.9
 playing = true
 offset = Vector2( 32, 32 )
@@ -745,8 +746,9 @@ tile_data = PoolIntArray( -262155, 0, 5, -196619, 0, 65539, -131083, 0, 65539, -
 [node name="enemies" type="Node2D" parent="Levelselect/test"]
 script = SubResource( 14 )
 
-[node name="Enemy" parent="Levelselect/test/enemies" instance=ExtResource( 13 )]
-position = Vector2( 786, 300 )
+[node name="Sprite" type="KinematicBody2D" parent="Levelselect/test/enemies" groups=["enemy"]]
+position = Vector2( 671, 292 )
+script = ExtResource( 13 )
 
 [node name="testclient" type="Node2D" parent="Levelselect"]
 visible = false

+ 18 - 0
placeholder.gd

@@ -0,0 +1,18 @@
+extends KinematicBody2D
+
+
+# Declare member variables here. Examples:
+# var a = 2
+# var b = "text"
+
+var enemy_id = 0
+var type = 0
+var fliph = 0
+# Called when the node enters the scene tree for the first time.
+func _ready():
+	pass # Replace with function body.
+
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+#func _process(delta):
+#	pass