Browse Source

adding enemies again

galo 1 year ago
parent
commit
14d7f88f25
6 changed files with 63 additions and 1494 deletions
  1. 3 2
      Server.tscn
  2. 40 0
      enemydirector.gd
  3. 9 2
      main.tscn
  4. 0 740
      main.tscn~RF1fbb2b.TMP
  5. 0 742
      main.tscn~RF207ce5.TMP
  6. 11 8
      placeholder.gd

+ 3 - 2
Server.tscn

@@ -1,7 +1,7 @@
-[gd_scene load_steps=2 format=2]
+[gd_scene load_steps=3 format=2]
 
 [ext_resource path="res://server.gd" type="Script" id=1]
-
+[ext_resource path="res://enemydirector.gd" type="Script" id=2]
 
 [node name="Server" type="Node" groups=["server"]]
 script = ExtResource( 1 )
@@ -15,3 +15,4 @@ tickrate = 4
 [node name="projectiles" type="Node" parent="." groups=["proj"]]
 
 [node name="Enemies" type="Node" parent="." groups=["enemy_authority"]]
+script = ExtResource( 2 )

+ 40 - 0
enemydirector.gd

@@ -0,0 +1,40 @@
+extends Node
+
+var counter = 0
+var score = {}
+var xp = {}
+var nxt = {}
+var lv = {}
+var maxhp = {}
+export var hpgain = 5
+export var dmggain = 5
+export var xpggain = 10
+export var xpnext = 1.2
+export var enemydmg = 3.0
+func death_count(id):
+	if not nxt.has(id):
+		nxt[id] = 100
+	
+	if not maxhp.has(id):
+		maxhp[id] = 100
+	
+	if not lv.has(id):
+		lv[id] = 0
+	
+	if score.has(id):
+		score[id] += 1
+	else:
+		score[id] = 1
+	
+	if xp.has(id):
+		xp[id] += xpggain
+		if xp[id] > nxt[id]:
+			lv[id] += 1
+			var gain = hpgain * lv[id]
+			maxhp[id] += gain
+			get_parent().level_up(lv[id] , maxhp[id], gain, dmggain, id)
+			xp[id] = 0
+			nxt[id] *= xpnext
+	else:
+		xp[id] = xpggain
+	get_parent().kill_update(score[id], xp[id], lv[id], nxt[id], id)

+ 9 - 2
main.tscn

@@ -1,4 +1,4 @@
-[gd_scene load_steps=43 format=2]
+[gd_scene load_steps=44 format=2]
 
 [ext_resource path="res://login.gd" type="Script" id=1]
 [ext_resource path="res://envarg.gd" type="Script" id=2]
@@ -130,6 +130,8 @@ func _physics_process(delta):
 #	pass
 "
 
+[sub_resource type="RectangleShape2D" id=23]
+
 [sub_resource type="Shader" id=10]
 code = "// NOTE: Shader automatically converted from Godot Engine 3.4.4.stable's CanvasItemMaterial.
 
@@ -224,7 +226,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
+frame = 1
 speed_scale = 0.9
 playing = true
 offset = Vector2( 32, 32 )
@@ -748,8 +750,13 @@ script = SubResource( 14 )
 
 [node name="Sprite" type="KinematicBody2D" parent="Levelselect/test/enemies" groups=["enemy"]]
 position = Vector2( 671, 292 )
+collision_layer = 12
+collision_mask = 0
 script = ExtResource( 13 )
 
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Levelselect/test/enemies/Sprite"]
+shape = SubResource( 23 )
+
 [node name="testclient" type="Node2D" parent="Levelselect"]
 visible = false
 

File diff suppressed because it is too large
+ 0 - 740
main.tscn~RF1fbb2b.TMP


File diff suppressed because it is too large
+ 0 - 742
main.tscn~RF207ce5.TMP


+ 11 - 8
placeholder.gd

@@ -1,18 +1,21 @@
 extends KinematicBody2D
 
 
-# Declare member variables here. Examples:
-# var a = 2
-# var b = "text"
+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 enemy_id = 0
 var type = 0
 var fliph = 0
+export var vida = 2
 # Called when the node enters the scene tree for the first time.
-func _ready():
-	pass # Replace with function body.
 
+var motion = Vector2(0,50)
 
-# Called every frame. 'delta' is the elapsed time since the previous frame.
-#func _process(delta):
-#	pass
+func _physics_process(delta):
+	
+	move_and_slide(motion)

Some files were not shown because too many files changed in this diff