Implement friend and foe IFF color change and fix bugs

This commit is contained in:
Squinty 2024-04-26 21:01:10 +00:00
parent 4cead7d985
commit 4c44dc7b30
5 changed files with 43 additions and 9 deletions

View file

@ -5,7 +5,7 @@ enum FlagState { FLAG_STATE_ON_STAND, FLAG_STATE_DROPPED, FLAG_STATE_TAKEN }
@export var flag_state : FlagState = FlagState.FLAG_STATE_ON_STAND
signal grabbed(grabber : Player)
signal regrabbed
signal regrabbed(grabber : Player)
signal dropped(dropper : Player)
var last_carrier : Player = null
@ -22,7 +22,7 @@ func grab(grabber : Player) -> void:
grabbed.emit(grabber)
last_carrier = grabber
else:
regrabbed.emit()
regrabbed.emit(grabber)
func drop(dropper : Player) -> void:
if flag_state == FlagState.FLAG_STATE_TAKEN:

View file

@ -60,6 +60,7 @@ enum PlayerState { PLAYER_ALIVE, PLAYER_DEAD }
signal died(player : Player, killer_id : int)
signal energy_changed(energy : float)
static var pawn_player : Player
var g : float = ProjectSettings.get_setting("physics/3d/default_gravity") # in m/s²
var gravity : Vector3 = g * ProjectSettings.get_setting("physics/3d/default_gravity_vector")
var _jumping : bool = false
@ -85,6 +86,7 @@ func _ready() -> void:
if _is_pawn():
camera.current = true
camera.fov = _game_settings.fov
pawn_player = self
# set the spring arm translation to be about head height level
$Smoothing/SpringArm3D.transform = Transform3D().translated(Vector3(0, collision_shape.shape.height / 2, 0) * 0.9)