added the scrump
This commit is contained in:
parent
e5151c4a28
commit
5d7a5a1d29
9 changed files with 70 additions and 58 deletions
|
@ -6,9 +6,11 @@ var hp = 3
|
|||
var arrow_speed = 80
|
||||
export var phase2_speed = 100
|
||||
export var phase3_speed = 150
|
||||
const ArrowProjectile = preload("res://objects/player/arrow_projectile.tscn")
|
||||
const projectile = preload("res://objects/enemy/boss/boss1_projectile.tscn")
|
||||
const arrow_pickup = preload("res://objects/collectibles/arrow.tscn")
|
||||
onready var shoot_timer = $ShootTimer
|
||||
onready var shootpoint = $Position2D
|
||||
onready var map = get_owner()
|
||||
var shoot_time = Vector2(0.4,0.7)
|
||||
export var arrow_spawns = [Vector2(0,0),Vector2(0,0),Vector2(0,0)]
|
||||
|
||||
|
@ -16,16 +18,7 @@ func _ready():
|
|||
seed(hash("HEROMARK2"))
|
||||
|
||||
func shoot():
|
||||
var arrow = ArrowProjectile.instance()
|
||||
arrow.global_position = Vector2(
|
||||
global_position.x + $Position2D.position.x,
|
||||
stepify(global_position.y + $Position2D.position.y,8)
|
||||
)
|
||||
arrow.direction = -1
|
||||
arrow.breaks_on_wall = false
|
||||
arrow.target_group = "player"
|
||||
arrow.speed = arrow_speed
|
||||
get_owner().add_child(arrow)
|
||||
Game.instance_node(projectile,global_position.x + shootpoint.position.x,stepify(global_position.y + shootpoint.position.y,8),map)
|
||||
|
||||
func _on_ShootTimer_timeout():
|
||||
shoot_timer.start(rand_range(shoot_time.x,shoot_time.y))
|
||||
|
|
|
@ -1,18 +1,13 @@
|
|||
[gd_scene load_steps=6 format=2]
|
||||
[gd_scene load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://graphics/enemy/boss/scrump.png" type="Texture" id=1]
|
||||
[ext_resource path="res://objects/enemy/boss/boss1.gd" type="Script" id=2]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=1]
|
||||
extents = Vector2( 12, 8 )
|
||||
extents = Vector2( 5.5, 9.5 )
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=2]
|
||||
extents = Vector2( 16, 12 )
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=3]
|
||||
extents = Vector2( 16, 4 )
|
||||
|
||||
[sub_resource type="RectangleShape2D" id=4]
|
||||
extents = Vector2( 8, 8 )
|
||||
extents = Vector2( 20, 27 )
|
||||
|
||||
[node name="Boss1" type="Node2D"]
|
||||
script = ExtResource( 2 )
|
||||
|
@ -20,6 +15,7 @@ move_direction = 1
|
|||
flip_sprite = false
|
||||
|
||||
[node name="Sprite" type="ColorRect" parent="."]
|
||||
visible = false
|
||||
margin_left = 8.0
|
||||
margin_right = 40.0
|
||||
margin_bottom = 40.0
|
||||
|
@ -55,36 +51,32 @@ color = Color( 0.27451, 0.796078, 0.756863, 1 )
|
|||
[node name="WeakSpot" type="Area2D" parent="." groups=["boss_weakspot", "enemy_hitbox"]]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="WeakSpot"]
|
||||
position = Vector2( 12, 16 )
|
||||
position = Vector2( 5.5, 14.5 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="Hitbox" type="Area2D" parent="." groups=["blocks_arrow", "enemy_hitbox"]]
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2( 24, 36 )
|
||||
position = Vector2( 32, 32 )
|
||||
shape = SubResource( 2 )
|
||||
|
||||
[node name="CollisionShape2D2" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2( 24, 4 )
|
||||
shape = SubResource( 3 )
|
||||
|
||||
[node name="CollisionShape2D3" type="CollisionShape2D" parent="Hitbox"]
|
||||
position = Vector2( 32, 16 )
|
||||
shape = SubResource( 4 )
|
||||
|
||||
[node name="ShootTimer" type="Timer" parent="."]
|
||||
wait_time = 0.5
|
||||
one_shot = true
|
||||
autostart = true
|
||||
|
||||
[node name="Position2D" type="Position2D" parent="."]
|
||||
position = Vector2( 8, 32 )
|
||||
position = Vector2( 14, 29 )
|
||||
|
||||
[node name="ArrowSpawnTimer" type="Timer" parent="."]
|
||||
wait_time = 5.0
|
||||
one_shot = true
|
||||
autostart = true
|
||||
|
||||
[node name="Sprite2" type="Sprite" parent="."]
|
||||
position = Vector2( 26, 27 )
|
||||
texture = ExtResource( 1 )
|
||||
|
||||
[connection signal="area_entered" from="Hitbox" to="." method="_on_Hitbox_area_entered"]
|
||||
[connection signal="timeout" from="ShootTimer" to="." method="_on_ShootTimer_timeout"]
|
||||
[connection signal="timeout" from="ArrowSpawnTimer" to="." method="_on_ArrowSpawnTimer_timeout"]
|
||||
|
|
5
objects/enemy/boss/boss1_projectile.gd
Normal file
5
objects/enemy/boss/boss1_projectile.gd
Normal file
|
@ -0,0 +1,5 @@
|
|||
extends "res://objects/enemy/enemy.gd"
|
||||
|
||||
|
||||
func _physics_process(delta):
|
||||
position.x -= 80 * delta
|
11
objects/enemy/boss/boss1_projectile.tscn
Normal file
11
objects/enemy/boss/boss1_projectile.tscn
Normal file
|
@ -0,0 +1,11 @@
|
|||
[gd_scene load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://objects/enemy/boss/boss1_projectile.gd" type="Script" id=1]
|
||||
|
||||
[node name="Boss1Projectile" type="Node2D"]
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="."]
|
||||
margin_right = 8.0
|
||||
margin_bottom = 8.0
|
||||
color = Color( 1, 0, 0, 1 )
|
|
@ -1,15 +0,0 @@
|
|||
extends "res://objects/enemy/enemy.gd"
|
||||
|
||||
# Declare member variables here. Examples:
|
||||
# var a = 2
|
||||
# var b = "text"
|
||||
|
||||
|
||||
# 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
|
Loading…
Add table
Add a link
Reference in a new issue