Added Healt system + health bar + repair hammers
This commit is contained in:
parent
fb0ab654c3
commit
91ca6be413
12 changed files with 1162 additions and 18 deletions
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=10 format=2]
|
[gd_scene load_steps=11 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://Objects/Player-tank/player.tscn" type="PackedScene" id=1]
|
[ext_resource path="res://Objects/Player-tank/player.tscn" type="PackedScene" id=1]
|
||||||
[ext_resource path="res://Objects/Ai-tank/tank00.tscn" type="PackedScene" id=2]
|
[ext_resource path="res://Objects/Ai-tank/tank00.tscn" type="PackedScene" id=2]
|
||||||
|
@ -7,6 +7,7 @@
|
||||||
[ext_resource path="res://Levels/Score.gd" type="Script" id=5]
|
[ext_resource path="res://Levels/Score.gd" type="Script" id=5]
|
||||||
[ext_resource path="res://Audio/Tutorial_backround.wav" type="AudioStream" id=6]
|
[ext_resource path="res://Audio/Tutorial_backround.wav" type="AudioStream" id=6]
|
||||||
[ext_resource path="res://Audio/Music.gd" type="Script" id=7]
|
[ext_resource path="res://Audio/Music.gd" type="Script" id=7]
|
||||||
|
[ext_resource path="res://Objects/Hammer/Hammer.tscn" type="PackedScene" id=8]
|
||||||
|
|
||||||
[sub_resource type="DynamicFont" id=1]
|
[sub_resource type="DynamicFont" id=1]
|
||||||
size = 60
|
size = 60
|
||||||
|
@ -75,3 +76,12 @@ script = ExtResource( 7 )
|
||||||
|
|
||||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||||
environment = SubResource( 2 )
|
environment = SubResource( 2 )
|
||||||
|
|
||||||
|
[node name="Hammer" parent="." instance=ExtResource( 8 )]
|
||||||
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 11.905, 0.316137, -42.6669 )
|
||||||
|
|
||||||
|
[node name="Hammer2" parent="." instance=ExtResource( 8 )]
|
||||||
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -176.031, 0.226439, 87.7901 )
|
||||||
|
|
||||||
|
[node name="Hammer3" parent="." instance=ExtResource( 8 )]
|
||||||
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.45557, 0.267753, 46.1506 )
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=10 format=2]
|
[gd_scene load_steps=11 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://Objects/Player-tank/player.tscn" type="PackedScene" id=1]
|
[ext_resource path="res://Objects/Player-tank/player.tscn" type="PackedScene" id=1]
|
||||||
[ext_resource path="res://Objects/Ai-tank/tank00.tscn" type="PackedScene" id=2]
|
[ext_resource path="res://Objects/Ai-tank/tank00.tscn" type="PackedScene" id=2]
|
||||||
|
@ -7,6 +7,7 @@
|
||||||
[ext_resource path="res://Levels/Score.gd" type="Script" id=5]
|
[ext_resource path="res://Levels/Score.gd" type="Script" id=5]
|
||||||
[ext_resource path="res://Audio/Music.gd" type="Script" id=6]
|
[ext_resource path="res://Audio/Music.gd" type="Script" id=6]
|
||||||
[ext_resource path="res://Audio/Epic Combat LOOP.wav" type="AudioStream" id=7]
|
[ext_resource path="res://Audio/Epic Combat LOOP.wav" type="AudioStream" id=7]
|
||||||
|
[ext_resource path="res://Objects/Hammer/Hammer.tscn" type="PackedScene" id=8]
|
||||||
|
|
||||||
[sub_resource type="DynamicFont" id=1]
|
[sub_resource type="DynamicFont" id=1]
|
||||||
size = 60
|
size = 60
|
||||||
|
@ -75,3 +76,12 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 100.246, 1.1, 128.309 )
|
||||||
|
|
||||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||||
environment = SubResource( 2 )
|
environment = SubResource( 2 )
|
||||||
|
|
||||||
|
[node name="Hammer" parent="." instance=ExtResource( 8 )]
|
||||||
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 127.161, 0.190119, 60.1346 )
|
||||||
|
|
||||||
|
[node name="Hammer2" parent="." instance=ExtResource( 8 )]
|
||||||
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -6.63201, 0.265376, -100.664 )
|
||||||
|
|
||||||
|
[node name="Hammer3" parent="." instance=ExtResource( 8 )]
|
||||||
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 200.005, 0.230888, -99.1484 )
|
||||||
|
|
|
@ -28,9 +28,6 @@ font_data = ExtResource( 2 )
|
||||||
anchor_right = 1.0
|
anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
__meta__ = {
|
|
||||||
"_edit_use_anchors_": false
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="MenuScreen" type="Sprite" parent="."]
|
[node name="MenuScreen" type="Sprite" parent="."]
|
||||||
position = Vector2( 960, 540 )
|
position = Vector2( 960, 540 )
|
||||||
|
|
|
@ -6,7 +6,7 @@ export var muzzle_velocity = 25 # How fast the bullets are
|
||||||
export var g = Vector3.DOWN * 20
|
export var g = Vector3.DOWN * 20
|
||||||
|
|
||||||
var velocity = Vector3.ZERO
|
var velocity = Vector3.ZERO
|
||||||
var bulletdamagelocal = 0.5
|
var bulletdamagelocal = 0.8
|
||||||
|
|
||||||
###### CHEATS
|
###### CHEATS
|
||||||
var godmode = 0
|
var godmode = 0
|
||||||
|
@ -21,20 +21,10 @@ func _physics_process(delta):
|
||||||
if get_overlapping_bodies().has(get_parent().get_node("PlayerTank")):
|
if get_overlapping_bodies().has(get_parent().get_node("PlayerTank")):
|
||||||
print ("Found Player Tank")
|
print ("Found Player Tank")
|
||||||
self.queue_free()
|
self.queue_free()
|
||||||
|
Global.playerbody = body
|
||||||
if (godmode == 0):
|
if (godmode == 0):
|
||||||
Global.bulletdamage = bulletdamagelocal
|
Global.bulletdamage = bulletdamagelocal
|
||||||
Global.playerhit = 1
|
Global.playerhit = 1
|
||||||
if Global.playerhealthexecfinish:
|
|
||||||
if Global.playerhealthbarscale <= 0:
|
|
||||||
body.queue_free()
|
|
||||||
Global.playerdead = 1
|
|
||||||
Global.tankskilled = 0
|
|
||||||
Global.beforedeathscene = get_tree().current_scene.filename
|
|
||||||
get_tree().change_scene("res://Levels/Dead.tscn")
|
|
||||||
Global.playerhealthbarscale = 2
|
|
||||||
Global.playerhit = 0
|
|
||||||
else:
|
|
||||||
pass # Replace me with new function you'll make soon
|
|
||||||
else:
|
else:
|
||||||
if get_overlapping_bodies():
|
if get_overlapping_bodies():
|
||||||
if body.has_node("TankAI"):
|
if body.has_node("TankAI"):
|
||||||
|
|
12
Objects/Hammer/Hammer.gd
Normal file
12
Objects/Hammer/Hammer.gd
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
extends Area
|
||||||
|
|
||||||
|
|
||||||
|
func _physics_process(delta):
|
||||||
|
for body in get_overlapping_bodies():
|
||||||
|
if get_overlapping_bodies().has(get_parent().get_node("PlayerTank")):
|
||||||
|
print("Hammer")
|
||||||
|
self.queue_free()
|
||||||
|
if Global.playerhealthbarscale < 2:
|
||||||
|
Global.playerhealthbarscale = Global.playerhealthbarscale + 0.25
|
||||||
|
Global.bulletdamage = 0 # Makes sure the player won't take damage
|
||||||
|
Global.playerhit = 1 # This is just to make the player script notice the change to the health bar
|
BIN
Objects/Hammer/Hammer.glb
Normal file
BIN
Objects/Hammer/Hammer.glb
Normal file
Binary file not shown.
1065
Objects/Hammer/Hammer.glb.import
Normal file
1065
Objects/Hammer/Hammer.glb.import
Normal file
File diff suppressed because it is too large
Load diff
49
Objects/Hammer/Hammer.tscn
Normal file
49
Objects/Hammer/Hammer.tscn
Normal file
File diff suppressed because one or more lines are too long
BIN
Objects/Hammer/Material_001.material
Normal file
BIN
Objects/Hammer/Material_001.material
Normal file
Binary file not shown.
BIN
Objects/Hammer/Material_002.material
Normal file
BIN
Objects/Hammer/Material_002.material
Normal file
Binary file not shown.
|
@ -50,6 +50,7 @@ func _physics_process(delta):
|
||||||
Global.playerhit = 0
|
Global.playerhit = 0
|
||||||
Global.bulletdamage = 0
|
Global.bulletdamage = 0
|
||||||
Global.playerhealthexecfinish = 1
|
Global.playerhealthexecfinish = 1
|
||||||
|
Global._player_dead()
|
||||||
|
|
||||||
velocity.x = direction.x * speed
|
velocity.x = direction.x * speed
|
||||||
velocity.z = direction.z * speed
|
velocity.z = direction.z * speed
|
||||||
|
|
|
@ -8,14 +8,24 @@ var playerhit = 0
|
||||||
var playerhealthbarscale = 2
|
var playerhealthbarscale = 2
|
||||||
var bulletdamage = 0
|
var bulletdamage = 0
|
||||||
var playerhealthexecfinish = 0
|
var playerhealthexecfinish = 0
|
||||||
|
var playerbody
|
||||||
|
|
||||||
|
|
||||||
func _resetvars():
|
func _resetvars():
|
||||||
playerdead = 0
|
playerdead = 0
|
||||||
beforedeathscene
|
|
||||||
tankskilled = 0
|
tankskilled = 0
|
||||||
firstlevelcompleted = 0
|
firstlevelcompleted = 0
|
||||||
playerhit = 0
|
playerhit = 0
|
||||||
playerhealthbarscale = 2
|
playerhealthbarscale = 2
|
||||||
bulletdamage = 0
|
bulletdamage = 0
|
||||||
playerhealthexecfinish = 0
|
playerhealthexecfinish = 0
|
||||||
|
|
||||||
|
func _player_dead():
|
||||||
|
if playerhealthbarscale <= 0:
|
||||||
|
playerbody.queue_free()
|
||||||
|
playerdead = 1
|
||||||
|
tankskilled = 0
|
||||||
|
beforedeathscene = get_tree().current_scene.filename
|
||||||
|
get_tree().change_scene("res://Levels/Dead.tscn")
|
||||||
|
playerhealthbarscale = 2
|
||||||
|
playerhit = 0
|
||||||
|
|
Loading…
Reference in a new issue