Files
SemesterGameJam2022/scripts/Modules/Cannon.gd
2022-12-10 20:27:51 +01:00

43 lines
1.0 KiB
GDScript

extends Module
class_name Cannon
enum STATE {INACTIVE, RELOADING, SHOOTING}
enum AMMO {NORMAL, HEAVY, LIGHT}
var currentAmmo: AMMO
var currentPowderStashValue = 0
var maxPowderStashValue = 3
var CAN_ENGAGE = false
var DAMAGE = 5
@onready var train = get_parent() as Train
#------------Methods-------------#
func _ready():
maxStashValue = 1
currentStashValue = 0
currentState = STATE.INACTIVE
#TODO: FINISH
func interact(player):
if currentState == STATE.INACTIVE:
if player.getResource() == 0:
if currentStashValue < maxStashValue:
currentStashValue += 1
player.clearInventory()
return
return
if player.getResource() == 1:
if currentPowderStashValue < maxPowderStashValue:
currentPowderStashValue += 1
player.clearInventory()
return
return
func shoot():
if currentStashValue >= 1 and currentPowderStashValue >= 1 and currentState == STATE.INACTIVE:
currentState = STATE.SHOOTING
currentStashValue -= 1
currentPowderStashValue = 0
currentState = STATE.INACTIVE
return true
return false