damage slow down
This commit is contained in:
parent
1d5065cbbf
commit
96f92757b5
9 changed files with 47 additions and 18 deletions
|
|
@ -1,8 +1,4 @@
|
|||
extends Label
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
Lobby.update_ip.connect(on_update_ip)
|
||||
|
||||
func on_update_ip(to: StringName):
|
||||
text = to
|
||||
|
|
|
|||
|
|
@ -9,8 +9,6 @@ signal lobby_joined
|
|||
signal lobby_closed
|
||||
signal update_teams_state
|
||||
|
||||
signal update_ip(StringName)
|
||||
|
||||
var in_lobby: bool = false
|
||||
|
||||
var attack_team: Array[int] = []
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
extends Button
|
||||
|
||||
signal update_ip(StringName)
|
||||
|
||||
func _pressed() -> void:
|
||||
var upnp = UPNP.new()
|
||||
|
|
@ -7,18 +8,18 @@ func _pressed() -> void:
|
|||
var discover_error = upnp.discover()
|
||||
|
||||
if discover_error != UPNP.UPNPResult.UPNP_RESULT_SUCCESS:
|
||||
Lobby.update_ip.emit("Discover error: " + str(discover_error as UPNP.UPNPResult))
|
||||
update_ip.emit("Discover error: " + str(discover_error as UPNP.UPNPResult))
|
||||
return
|
||||
|
||||
var error_udp = upnp.add_port_mapping(Lobby.PORT)
|
||||
if error_udp != UPNP.UPNPResult.UPNP_RESULT_SUCCESS:
|
||||
Lobby.update_ip.emit("UDP forward error: " + str(error_udp as UPNP.UPNPResult))
|
||||
update_ip.emit("UDP forward error: " + str(error_udp as UPNP.UPNPResult))
|
||||
return
|
||||
|
||||
var error_tcp = upnp.add_port_mapping(Lobby.PORT,0,"","TCP")
|
||||
|
||||
if error_tcp != UPNP.UPNPResult.UPNP_RESULT_SUCCESS:
|
||||
Lobby.update_ip.emit("TCP forward error: " + str(error_tcp as UPNP.UPNPResult))
|
||||
update_ip.emit("TCP forward error: " + str(error_tcp as UPNP.UPNPResult))
|
||||
return
|
||||
|
||||
Lobby.update_ip.emit(upnp.query_external_address())
|
||||
|
|
|
|||
|
|
@ -333,16 +333,21 @@ func shoot(id:int , limb_damage: int, torso_damage: int,head_damage: int, distan
|
|||
var hit_player: Player = collision["collider"]
|
||||
var shape_object: CollisionShape3D = hit_player.shape_owner_get_owner(collision["shape"])
|
||||
var reduction: float = 0
|
||||
var damage: int = 0
|
||||
|
||||
match shape_object.get_groups()[0]:
|
||||
"Head":
|
||||
damage = head_damage
|
||||
"Limb":
|
||||
damage = limb_damage
|
||||
_:
|
||||
damage = torso_damage
|
||||
|
||||
if damage_reduction_curve != null:
|
||||
var distance_to_hit = (player_camera.global_position - collision["position"]).length()/distance
|
||||
reduction = damage_reduction_curve.sample(distance_to_hit)
|
||||
match shape_object.get_groups()[0]:
|
||||
"Head":
|
||||
hit_player.take_damage(head_damage*reduction)
|
||||
"Limb":
|
||||
hit_player.take_damage(limb_damage*reduction)
|
||||
_:
|
||||
hit_player.take_damage(torso_damage*reduction)
|
||||
|
||||
hit_player.take_damage(int(float(damage) * reduction))
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue