mirror of
https://gitlab.com/open-fpsz/open-fpsz.git
synced 2026-07-13 07:25:06 +00:00
✨ Implement Teams and disallow team damage in Rabbit
This commit is contained in:
parent
1a19e5edfa
commit
ac8bd2d07c
10 changed files with 46 additions and 23 deletions
|
|
@ -29,6 +29,9 @@ var _map_manager : Map
|
|||
var _flag : Flag
|
||||
var _flag_carrier_scoring_timer : Timer = Timer.new()
|
||||
|
||||
var team_chasers : Team
|
||||
var team_rabbit : Team
|
||||
|
||||
signal connected_to_server
|
||||
signal connection_failed
|
||||
|
||||
|
|
@ -36,6 +39,10 @@ func _ready() -> void:
|
|||
_flag_carrier_scoring_timer.wait_time = 10.0
|
||||
_flag_carrier_scoring_timer.timeout.connect(_on_flag_carrier_scoring_timer_timeout)
|
||||
add_child(_flag_carrier_scoring_timer)
|
||||
team_chasers = Team.new()
|
||||
team_chasers.team_id = 0
|
||||
team_rabbit = Team.new()
|
||||
team_rabbit.team_id = 1
|
||||
|
||||
func start_server(config : Dictionary) -> void:
|
||||
# Check if required parameters are missing
|
||||
|
|
@ -79,12 +86,13 @@ func _on_player_died(player : Player, killer_id : int) -> void:
|
|||
|
||||
func respawn_player(player : Player) -> void:
|
||||
var spawn_location : Vector3 = _map_manager.get_player_spawn().position
|
||||
player.respawn(spawn_location)
|
||||
player.respawn.rpc(spawn_location)
|
||||
|
||||
func add_player(peer_id : int, nickname : String) -> void:
|
||||
var player : Player = PLAYER.instantiate()
|
||||
player.name = str(peer_id)
|
||||
player.player_id = peer_id
|
||||
player.team_id = team_chasers.team_id
|
||||
player.nickname = nickname
|
||||
player.global_position = _map_manager.get_player_spawn().position
|
||||
players.add_child(player)
|
||||
|
|
@ -122,10 +130,12 @@ func _join_match(nickname : String) -> void:
|
|||
add_player(multiplayer.get_remote_sender_id(), nickname)
|
||||
|
||||
func _on_flag_grabbed(grabber : Player) -> void:
|
||||
grabber.team_id = team_rabbit.team_id
|
||||
scoreboard.add_score_to_player(grabber, 10)
|
||||
_flag_carrier_scoring_timer.start()
|
||||
|
||||
func _on_flag_dropped() -> void:
|
||||
func _on_flag_dropped(dropper : Player) -> void:
|
||||
dropper.team_id = team_chasers.team_id
|
||||
_flag_carrier_scoring_timer.stop()
|
||||
|
||||
func _on_flag_carrier_scoring_timer_timeout() -> void:
|
||||
|
|
|
|||
3
modes/team.gd
Normal file
3
modes/team.gd
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
class_name Team extends Object
|
||||
|
||||
var team_id : int
|
||||
Loading…
Add table
Add a link
Reference in a new issue