juiced the camera a bit and limited weapon ammo

This commit is contained in:
2023-11-27 13:52:46 +11:00
parent f631654626
commit 66f7131c1b
28 changed files with 406 additions and 124 deletions

View File

@ -6,7 +6,7 @@ var last_lives_count = 120
@export var lives_count : Label
@export var enemy_count : Label
@export var currency_count : Label
@export var crosshair : TextureRect
@export var crosshair : Control
@export var minimap : TextureRect
@export var minimap_cam : MinimapCamera3D
@export var minimap_viewport : SubViewport
@ -16,6 +16,11 @@ var minimap_anchor : Node3D
var enemy_names = []
@export var enemy_sprites : Array[TextureRect]
@export var enemy_counts : Array[Label]
@export var weapon_energy_bar : TextureProgressBar
func set_energy_visible(value):
weapon_energy_bar.set_visible(value)
func _process(_delta: float) -> void:
@ -81,6 +86,10 @@ func set_crosshair_visible(value : bool):
crosshair.set_visible(value)
func set_weapon_energy(value):
weapon_energy_bar.value = value
func maximise_minimap(anchor):
minimap_cam.anchor = anchor
minimap.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT)

View File

@ -1,6 +1,8 @@
extends Node3D
class_name Weapon
signal energy_changed(energy)
@export var stats : CardText
@export var animator : AnimationPlayer
@ -11,11 +13,15 @@ var second_trigger_held := false
var time_since_firing := 0.0
var time_between_shots := 0.0
var damage := 0.0
var max_energy := 100.0
var current_energy := 100.0
var energy_cost := 1.0
func _ready() -> void:
time_between_shots = stats.get_attribute("Fire Delay")
damage = stats.get_attribute("Damage")
energy_cost = stats.get_attribute("Energy")
func set_hero(value):
@ -23,13 +29,19 @@ func set_hero(value):
func _process(delta: float) -> void:
current_energy += 5.0 * delta
if current_energy >= max_energy:
current_energy = max_energy
energy_changed.emit(current_energy)
if time_since_firing < time_between_shots:
time_since_firing += delta
func _physics_process(_delta: float) -> void:
if trigger_held and time_since_firing >= time_between_shots:
if trigger_held and current_energy >= energy_cost and time_since_firing >= time_between_shots:
time_since_firing -= time_between_shots
current_energy -= energy_cost
energy_changed.emit(current_energy)
shoot()
networked_shoot.rpc()

View File

@ -40,6 +40,7 @@ func _ready() -> void:
cards.append(preload("res://PCs/Universal/ClassCards/Gatling/card_gatling.tres"))
cards.append(preload("res://PCs/Universal/ClassCards/RocketLauncher/card_rocket_launcher.tres"))
#Uncommon
cards.append(preload("res://PCs/Universal/ClassCards/Sniper/card_sniper.tres"))
cards.append(preload("res://PCs/Universal/ClassCards/Blowdart/card_blowdart.tres"))
cards.append(preload("res://PCs/Universal/ClassCards/Refrigerator/card_refrigerator.tres"))
cards.append(preload("res://PCs/Universal/ClassCards/GlueLauncher/card_glue_launcher.tres"))
@ -52,7 +53,6 @@ func _ready() -> void:
cards.append(preload("res://PCs/Universal/ClassCards/Fireball/card_fireball.tres"))
#cards.append(preload("res://PCs/Universal/ClassCards/GammaLaser/card_gamma_laser.tres"))
#Legendary
cards.append(preload("res://PCs/Universal/ClassCards/Sniper/card_sniper.tres"))
cards.append(preload("res://PCs/Universal/ClassCards/Reactor/card_reactor.tres"))
#cards.append(preload("res://PCs/Universal/ClassCards/Lightning/card_lightning.tres"))

View File

@ -22,7 +22,7 @@ var ray_point
var interact_key_held := false
var interacted_once := false
var interact_held_time := 0.0
var interact_hold_time := 0.5
var interact_hold_time := 0.4
func _ready() -> void:

View File

@ -4,6 +4,7 @@ class_name ShopStand
@export var cards : Array[CardInHand]
@export var choice_colliders : Array[CollisionShape3D]
@export var choice_buttons : Array[InteractButton]
@export var choice_sprites : Array[Sprite3D]
@export var item_card_scene : PackedScene
var price_dict = {
Data.Rarity.UNCOMMON : 30,
@ -16,7 +17,8 @@ var price_dict = {
func close():
for x in choice_colliders:
x.disabled = true
$Sprites.set_visible(false)
for x in choice_sprites:
x.set_visible(false)
func randomize_cards():
@ -49,13 +51,16 @@ func randomize_cards():
cards[x+5].view_tower()
choice_buttons[x+5].press_cost = price_dict[chosen_card.rarity]
choice_buttons[x+5].hover_text = "Spend $" + str(choice_buttons[x+5].press_cost) + " to acquire " + chosen_card.title + "?"
$Sprites.set_visible(true)
for x in choice_colliders:
x.disabled = false
for x in choice_sprites:
x.set_visible(true)
func retrieve_card(i):
close()
#close()
choice_colliders[i].disabled = true
choice_sprites[i].set_visible(false)
var card = cards[i].stats
var item = item_card_scene.instantiate() as ItemCard
item.card = card