Bullet delay now upgrades on a tier system

This commit is contained in:
Sage Vaillancourt 2018-05-23 04:24:00 -04:00
parent 7ce69fb960
commit 845dc35e37
2 changed files with 41 additions and 28 deletions

View File

@ -5,7 +5,7 @@ signal shooting_speed_upgrade
export (PackedScene) var Laser
#Default ship strengths and costs
const SHOOTING_SPEED_UPGRADE_TIER1 = 50 #To be replaced
const SHOOTING_SPEED_UPGRADE_DEFAULT = 1500 #To be replaced
const BULLET_DELAY_TIER1 = 0.8
const BULLET_DELAY_TIER2 = 0.5
const BULLET_DELAY_TIER3 = 0.2
@ -22,13 +22,6 @@ const SHIP_SPEED_TIER3 = 300
const SHIP_SPEED_TIER4 = 500
const SHIP_SPEED_TIER5 = 800
#func upgradeBulletDelay():
# if (bullet_delay_tier == 1 && money >= BULLET_DELAY_TIER2_COST):
# bullet_delay = BULLET_DELAY_TIER2
# money -= BULLET_DELAY_TIER2_COST
# ship_value += BULLET_DELAY_TIER2_COST
#
var screensize
var ship_speed = SHIP_SPEED_TIER1
@ -42,7 +35,38 @@ var ship_value = 0
var refund_percentage = 1
var money = 100
var shooting_speed_upgrade = 50
var shooting_speed_upgrade = SHOOTING_SPEED_UPGRADE_DEFAULT
func upgradeBulletDelay():
if (can_shoot == true):
if (bullet_delay == 0.8 && money >= BULLET_DELAY_TIER2_COST):
bullet_delay = BULLET_DELAY_TIER2
money -= BULLET_DELAY_TIER2_COST
ship_value += BULLET_DELAY_TIER2_COST
elif (bullet_delay == 0.5 && money >= BULLET_DELAY_TIER3_COST):
bullet_delay = BULLET_DELAY_TIER3
money -= BULLET_DELAY_TIER3_COST
ship_value += BULLET_DELAY_TIER3_COST
elif (bullet_delay == 0.2 && money >= BULLET_DELAY_TIER4_COST):
bullet_delay = BULLET_DELAY_TIER4
money -= BULLET_DELAY_TIER4_COST
ship_value += BULLET_DELAY_TIER4_COST
elif (bullet_delay == 0.1 && money >= BULLET_DELAY_TIER5_COST):
bullet_delay = BULLET_DELAY_TIER5
money -= BULLET_DELAY_TIER5_COST
ship_value += BULLET_DELAY_TIER5_COST
elif (bullet_delay <= 0.01):
emit_signal("bullet_delay_fully_upgraded")
elif (bullet_delay <= 0.05 && money >= shooting_speed_upgrade):
bullet_delay = bullet_delay*0.95
money -= shooting_speed_upgrade
ship_value += shooting_speed_upgrade
shooting_speed_upgrade *= 1.1
timer.set_wait_time(bullet_delay)
prints(bullet_delay)
timer.start()
can_shoot = false
func _ready():
timer = Timer.new()
@ -56,13 +80,11 @@ func _ready():
screensize = get_viewport_rect().size
$AnimatedSprite.play()
# Initialization here
pass
func refund():
bullet_delay = BULLET_DELAY_TIER1
ship_speed = SHIP_SPEED_TIER1
shooting_speed_upgrade = SHOOTING_SPEED_UPGRADE_TIER1
shooting_speed_upgrade = SHOOTING_SPEED_UPGRADE_DEFAULT
money += ship_value*refund_percentage
emit_signal("refund", ship_value*refund_percentage)
ship_value = 0
@ -89,24 +111,15 @@ func _process(delta):
velocity.y -= 1
if (velocity.length() > 0):
velocity = velocity.normalized() * ship_speed
position += velocity * delta
position.x = clamp(position.x, 0, screensize.x)
position.y = clamp(position.y, 0, screensize.y)
if (Input.is_action_pressed("ui_select") && can_shoot == true && money >= shooting_speed_upgrade ):
emit_signal("shooting_speed_upgrade")
money -= shooting_speed_upgrade
ship_value += shooting_speed_upgrade
shooting_speed_upgrade *= 1.02
bullet_delay = bullet_delay * 0.95
can_shoot = false
timer.set_wait_time(bullet_delay)
timer.start()
if ((Input.is_action_pressed("ui_accept") || shoot_down == true) && can_shoot == true):
shoot()
if (Input.is_action_pressed("ui_select") && can_shoot == true):
upgradeBulletDelay()
func _on_Player_body_entered(body):
prints("hit")
@ -132,7 +145,7 @@ func shoot():
laser.current_pen = laser_penetration
laser.position.y = position.y - 27
laser.position.x = position.x + 46
#MAYBE THE LASERS SHOULD BE THEIR OWN NODES
#Would allow for more simple additions in the future
if double_laser == true:

View File

@ -20,7 +20,7 @@ custom_solver_bias = 0.0
radius = 19.3222
height = 76.5834
[node name="Player" type="Area2D"]
[node name="Player" type="Area2D" index="0"]
input_pickable = true
gravity_vec = Vector2( 0, 1 )