This commit is contained in:
PfandBoss
2022-12-11 00:30:56 +01:00
25 changed files with 576 additions and 75 deletions

View File

@@ -3,12 +3,11 @@ 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
var ammoType = -1
@onready var train = get_parent() as Train
#------------Methods-------------#
@@ -22,6 +21,7 @@ func interact(player):
if player.getResource() == 0:
if currentStashValue < maxStashValue:
currentStashValue += 1
ammoType = 0
player.clearInventory()
$AudioStreamPlayer2.play()
return
@@ -32,10 +32,41 @@ func interact(player):
player.clearInventory()
$AudioStreamPlayer2.play()
return
return
if player.getResource() == 3:
if currentStashValue < maxStashValue:
currentStashValue += 1
ammoType = 1
player.clearInventory()
$AudioStreamPlayer2.play()
return
if player.getResource() == 4:
if currentStashValue < maxStashValue:
currentStashValue += 1
ammoType = 2
player.clearInventory()
$AudioStreamPlayer2.play()
return
func shoot():
if currentStashValue >= 1 and currentPowderStashValue >= 1 and currentState == STATE.INACTIVE:
if currentStashValue >= 1 and currentPowderStashValue >= 1 and currentState == STATE.INACTIVE and ammoType == 0:
currentState = STATE.SHOOTING
currentStashValue -= 1
currentPowderStashValue = 0
currentState = STATE.INACTIVE
$AudioStreamPlayer.play(0)
return true
if currentStashValue >= 1 and currentPowderStashValue >= 2 and currentState == STATE.INACTIVE and ammoType == 1:
currentState = STATE.SHOOTING
currentStashValue -= 1
currentPowderStashValue = 0
currentState = STATE.INACTIVE
$AudioStreamPlayer.play(0)
return true
if currentStashValue >= 1 and currentPowderStashValue >= 3 and currentState == STATE.INACTIVE and ammoType == 2:
currentState = STATE.SHOOTING
currentStashValue -= 1
currentPowderStashValue = 0

View File

@@ -2,7 +2,7 @@ extends Module
class_name Storage
enum TYPE {AMMO, GUNPOWDER, COAL}
enum TYPE {AMMO, GUNPOWDER, COAL, LARGE, GIANT}
@export var currentType: TYPE