From ac479cf72238c6d871d0badab7182b264ac13dec Mon Sep 17 00:00:00 2001 From: Sage Vaillancourt Date: Tue, 13 Nov 2018 20:53:07 -0500 Subject: [PATCH] Progress on RectangleReturn boss --- BadLaser.gd | 8 +- Player.tscn | 2 +- RectangleBoss.tscn | 2 +- RectangleReturn.gd | 27 ++++- RectangleReturn.tscn | 227 +++++++++++++++++++++++++++++++++++++++---- 5 files changed, 240 insertions(+), 26 deletions(-) diff --git a/BadLaser.gd b/BadLaser.gd index 4e0ea1e..4af9a6d 100644 --- a/BadLaser.gd +++ b/BadLaser.gd @@ -23,7 +23,7 @@ signal dead export (int) var SPEED export (PackedScene) var Laser var screensize -var fire_speed = 15 +var fire_speed = 15#0 var health = 400 var hit_timer = 1000 var can_shoot = true @@ -104,7 +104,7 @@ func _process(delta): $Line2D.set_point_position( 1, health_bar ) if independent == true: - print(independent) + #print(independent) position += velocity * delta func shoot(): @@ -112,5 +112,5 @@ func shoot(): get_node("../").add_child(laser) laser.friendly_laser = false laser.rotation_degrees = 180 - laser.position.y = position.y - 10 - laser.position.x = position.x - 170 \ No newline at end of file + laser.position.y = position.y - 5 + laser.position.x = position.x - 95 \ No newline at end of file diff --git a/Player.tscn b/Player.tscn index 5e970bf..975c8ae 100644 --- a/Player.tscn +++ b/Player.tscn @@ -20,7 +20,7 @@ custom_solver_bias = 0.0 radius = 25.7545 height = 40.4125 -[node name="Player" type="Area2D" index="0"] +[node name="Player" type="Area2D"] input_pickable = true gravity_point = true diff --git a/RectangleBoss.tscn b/RectangleBoss.tscn index 6e1a029..4e43326 100644 --- a/RectangleBoss.tscn +++ b/RectangleBoss.tscn @@ -52,7 +52,7 @@ animations = [ { custom_solver_bias = 0.0 extents = Vector2( 404.313, 217.774 ) -[node name="RectangleBoss" type="Area2D" index="0" groups=[ +[node name="RectangleBoss" type="Area2D" groups=[ "enemies", ]] diff --git a/RectangleReturn.gd b/RectangleReturn.gd index 09dc49d..ace1974 100644 --- a/RectangleReturn.gd +++ b/RectangleReturn.gd @@ -1,13 +1,36 @@ extends "res://Bad.gd" +var right_laser_alive = true +var left_laser_alive = true + func _ready(): speed = 0 #$RightArm/BadLaser.independent = false #$RightArm/BadLaser.health_multi = 3 #$LeftArm/BadLaser.independent = false #$LeftArm/BadLaser.health_multi = 3 + $RightArm/Laser/BadLaser.fire_speed = 25 + $LeftArm/Laser/BadLaser.fire_speed = 25 + $RightArm/Laser/BadLaser/Rotatable.rotation_degrees = -45 pass func _process(delta): - $RightArm/UpperArm.rotate(delta) - pass + #$RightArm/Forearm.rotate(delta/10) + if right_laser_alive: + if $RightArm/Laser/BadLaser: + $RightArm/Laser/BadLaser.health -= delta*30 + if $RightArm/Laser/BadLaser.health <= 100: + $RightArm/Laser/BadLaser.fire_speed = 150 + + if left_laser_alive: + if $LeftArm/Laser/BadLaser: + $LeftArm/Laser/BadLaser.health -= delta*30 + if $LeftArm/Laser/BadLaser.health <= 100: + $LeftArm/Laser/BadLaser.fire_speed = 150 + + +func _on_LeftBadLaser_dead(money): + left_laser_alive = false + +func _on_RightBadLaser_dead(money): + right_laser_alive = false diff --git a/RectangleReturn.tscn b/RectangleReturn.tscn index 8e9d509..f58279d 100644 --- a/RectangleReturn.tscn +++ b/RectangleReturn.tscn @@ -1,26 +1,46 @@ -[gd_scene load_steps=7 format=2] +[gd_scene load_steps=9 format=2] [ext_resource path="res://Bad.tscn" type="PackedScene" id=1] [ext_resource path="res://RectangleReturn.gd" type="Script" id=2] -[ext_resource path="res://art/bad/rectangle/return_arm.png" type="Texture" id=3] +[ext_resource path="res://art/bad/rectangle/rectangle_inside.png" type="Texture" id=3] [ext_resource path="res://BadLaser.tscn" type="PackedScene" id=4] +[ext_resource path="res://art/bad/rectangle/return_arm.png" type="Texture" id=5] -[sub_resource type="RectangleShape2D" id=2] +[sub_resource type="SpriteFrames" id=3] + +animations = [ { +"frames": [ ExtResource( 3 ) ], +"loop": true, +"name": "default", +"speed": 5.0 +} ] + +[sub_resource type="RectangleShape2D" id=1] custom_solver_bias = 0.0 extents = Vector2( 43.4086, 153.113 ) -[sub_resource type="RectangleShape2D" id=3] +[sub_resource type="RectangleShape2D" id=2] custom_solver_bias = 0.0 extents = Vector2( 42.0251, 121.071 ) [node name="RectangleReturn" index="0" instance=ExtResource( 1 )] +position = Vector2( 509.277, -22.7974 ) script = ExtResource( 2 ) +[node name="MainSprite" parent="." index="2"] + +position = Vector2( 371.998, 340.999 ) +scale = Vector2( 0.2, 0.2 ) +z_index = 1 +frames = SubResource( 3 ) +_sections_unfolded = [ "Transform", "Z Index" ] + [node name="RightArm" type="Area2D" parent="." index="3"] +position = Vector2( 284.999, 102 ) input_pickable = true gravity_vec = Vector2( 0, 1 ) gravity = 98.0 @@ -28,13 +48,23 @@ linear_damp = 0.1 angular_damp = 1.0 audio_bus_override = false audio_bus_name = "Master" +_sections_unfolded = [ "Transform" ] -[node name="Forearm" type="RigidBody2D" parent="RightArm" index="0"] +[node name="PinJoint2D" type="PinJoint2D" parent="RightArm" index="0"] + +position = Vector2( 10.5514, 239.666 ) +node_a = NodePath("../Forearm") +node_b = NodePath("../UpperArm") +bias = 0.0 +disable_collision = true +softness = 0.0 + +[node name="Laser" type="RigidBody2D" parent="RightArm" index="1"] input_pickable = false collision_layer = 1 collision_mask = 1 -mode = 0 +mode = 2 mass = 1.0 friction = 1.0 bounce = 0.0 @@ -50,27 +80,55 @@ linear_damp = -1.0 angular_velocity = 0.0 angular_damp = -1.0 +[node name="BadLaser" parent="RightArm/Laser" index="0" instance=ExtResource( 4 )] + +position = Vector2( 0.575623, 2.26275 ) +SPEED = 0 + +[node name="Forearm" type="RigidBody2D" parent="RightArm" index="2"] + +editor/display_folded = true +rotation = -1.2897 +scale = Vector2( 0.7, 0.7 ) +z_index = -2 +input_pickable = false +collision_layer = 1 +collision_mask = 1 +mode = 1 +mass = 1.0 +friction = 1.0 +bounce = 0.0 +gravity_scale = 0.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +linear_velocity = Vector2( 0, 0 ) +linear_damp = -1.0 +angular_velocity = 0.0 +angular_damp = -1.0 +_sections_unfolded = [ "Transform", "Z Index" ] + [node name="Sprite" type="Sprite" parent="RightArm/Forearm" index="0"] position = Vector2( 2.44351, 136.022 ) scale = Vector2( 0.25, 0.25 ) -texture = ExtResource( 3 ) +texture = ExtResource( 5 ) _sections_unfolded = [ "Transform" ] -[node name="BadLaser" parent="RightArm/Forearm" index="1" instance=ExtResource( 4 )] - -position = Vector2( 0.575623, 2.26275 ) -SPEED = 0 - -[node name="CollisionShape2D" type="CollisionShape2D" parent="RightArm/Forearm" index="2"] +[node name="CollisionShape2D" type="CollisionShape2D" parent="RightArm/Forearm" index="1"] position = Vector2( 4, 95 ) -shape = SubResource( 2 ) +shape = SubResource( 1 ) -[node name="UpperArm" type="RigidBody2D" parent="RightArm" index="1"] +[node name="UpperArm" type="RigidBody2D" parent="RightArm" index="3"] editor/display_folded = true -position = Vector2( 6.58612, 372.305 ) +position = Vector2( 135.789, 104.27 ) +rotation = -2.72455 +scale = Vector2( 0.8, 0.8 ) input_pickable = false collision_layer = 1 collision_mask = 1 @@ -89,6 +147,7 @@ linear_velocity = Vector2( 0, 0 ) linear_damp = -1.0 angular_velocity = 0.0 angular_damp = -1.0 +_sections_unfolded = [ "Transform", "Z Index" ] __meta__ = { "_edit_group_": true } @@ -96,12 +155,144 @@ __meta__ = { [node name="Sprite" type="Sprite" parent="RightArm/UpperArm" index="0"] scale = Vector2( 0.26, 0.26 ) -texture = ExtResource( 3 ) +texture = ExtResource( 5 ) _sections_unfolded = [ "Transform" ] [node name="CollisionShape2D" type="CollisionShape2D" parent="RightArm/UpperArm" index="1"] position = Vector2( 0, -1 ) -shape = SubResource( 3 ) +shape = SubResource( 2 ) + +[node name="LeftArm" type="Area2D" parent="." index="4"] + +editor/display_folded = true +position = Vector2( 178.999, 429.998 ) +input_pickable = true +gravity_vec = Vector2( 0, 1 ) +gravity = 98.0 +linear_damp = 0.1 +angular_damp = 1.0 +audio_bus_override = false +audio_bus_name = "Master" +_sections_unfolded = [ "Transform" ] + +[node name="PinJoint2D" type="PinJoint2D" parent="LeftArm" index="0"] + +position = Vector2( 10.5514, 239.666 ) +node_a = NodePath("../Forearm") +node_b = NodePath("../UpperArm") +bias = 0.0 +disable_collision = true +softness = 0.0 + +[node name="Laser" type="RigidBody2D" parent="LeftArm" index="1"] + +position = Vector2( 108, 123.999 ) +input_pickable = false +collision_layer = 1 +collision_mask = 1 +mode = 2 +mass = 1.0 +friction = 1.0 +bounce = 0.0 +gravity_scale = 0.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +linear_velocity = Vector2( 0, 0 ) +linear_damp = -1.0 +angular_velocity = 0.0 +angular_damp = -1.0 + +[node name="BadLaser" parent="LeftArm/Laser" index="0" instance=ExtResource( 4 )] + +position = Vector2( 0.575623, 2.26275 ) +SPEED = 0 + +[node name="Forearm" type="RigidBody2D" parent="LeftArm" index="2"] + +editor/display_folded = true +position = Vector2( 109, 125 ) +rotation = -1.74696 +scale = Vector2( 0.7, 0.7 ) +z_index = -2 +input_pickable = false +collision_layer = 1 +collision_mask = 1 +mode = 1 +mass = 1.0 +friction = 1.0 +bounce = 0.0 +gravity_scale = 0.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +linear_velocity = Vector2( 0, 0 ) +linear_damp = -1.0 +angular_velocity = 0.0 +angular_damp = -1.0 +_sections_unfolded = [ "Transform", "Z Index" ] + +[node name="Sprite" type="Sprite" parent="LeftArm/Forearm" index="0"] + +position = Vector2( 2.44351, 136.022 ) +scale = Vector2( 0.25, 0.25 ) +texture = ExtResource( 5 ) +_sections_unfolded = [ "Transform" ] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="LeftArm/Forearm" index="1"] + +position = Vector2( 4, 95 ) +shape = SubResource( 1 ) + +[node name="UpperArm" type="RigidBody2D" parent="LeftArm" index="3"] + +editor/display_folded = true +position = Vector2( 239.789, 33.2706 ) +rotation = -6.68894 +scale = Vector2( 0.8, 0.8 ) +input_pickable = false +collision_layer = 1 +collision_mask = 1 +mode = 0 +mass = 1.0 +friction = 1.0 +bounce = 0.0 +gravity_scale = 0.0 +custom_integrator = false +continuous_cd = 0 +contacts_reported = 0 +contact_monitor = false +sleeping = false +can_sleep = true +linear_velocity = Vector2( 0, 0 ) +linear_damp = -1.0 +angular_velocity = 0.0 +angular_damp = -1.0 +_sections_unfolded = [ "Transform", "Z Index" ] +__meta__ = { +"_edit_group_": true +} + +[node name="Sprite" type="Sprite" parent="LeftArm/UpperArm" index="0"] + +scale = Vector2( 0.26, 0.26 ) +texture = ExtResource( 5 ) +_sections_unfolded = [ "Transform" ] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="LeftArm/UpperArm" index="1"] + +position = Vector2( 0, -1 ) +shape = SubResource( 2 ) + +[connection signal="dead" from="RightArm/Laser/BadLaser" to="." method="_on_RightBadLaser_dead"] + +[connection signal="dead" from="LeftArm/Laser/BadLaser" to="." method="_on_LeftBadLaser_dead"]