placeholder.gd 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. extends KinematicBody2D
  2. func damage(arg, id):
  3. vida += arg
  4. get_tree().get_nodes_in_group('server')[0]._enemy_dmg(enemy_id)
  5. if vida <= 0:
  6. get_tree().get_nodes_in_group('enemy_authority')[0].death_count(id)
  7. queue_free()
  8. var enemy_id = 0
  9. var type = 0
  10. var fliph = 0
  11. export var vida = 2
  12. # Called when the node enters the scene tree for the first time.
  13. var motion = Vector2(0,50)
  14. var target
  15. func find_target():
  16. var data = get_tree().get_nodes_in_group('players')
  17. if data.size() > 0:
  18. data.shuffle()
  19. return data[0]
  20. var bullet = preload('res://bullet.tscn')
  21. var firerate = 30
  22. var fireratebuff = 30
  23. var alert = false
  24. func _physics_process(delta):
  25. if alert:
  26. if not is_instance_valid(target): return
  27. if not $RayCast2D.is_colliding():
  28. fliph = target.global_position.x > global_position.x
  29. $RayCast2D.cast_to.x = 300 if fliph else -300
  30. motion.x = 100 if fliph else -100
  31. type = 1
  32. else:
  33. motion.x = 0
  34. type = 2
  35. fireratebuff -= 1
  36. if fireratebuff == 0:
  37. var instance = bullet.instance()
  38. instance.motion.x = 200 if fliph else -200
  39. instance.global_position = global_position + Vector2(0,-8)
  40. instance.id = name
  41. instance.dmg = 10
  42. instance.target = 'player'
  43. get_tree().get_nodes_in_group('proj')[0].add_child(instance)
  44. fireratebuff = firerate
  45. move_and_slide(motion)
  46. func _on_Area2D_body_entered(body):
  47. alert = true
  48. target = body
  49. pass # Replace with function body.