Browse Source

[Hero 1] Gain switch charge for touching wall

You touching a wall does not do it. This encourages teamwork / using
your walls in clever ways to gain charge.
master
Luna 7 years ago
parent
commit
8519478638
3 changed files with 16 additions and 10 deletions
  1. +12
    -6
      scripts/heroes/1-wall.gd
  2. +1
    -1
      scripts/heroes/1.gd
  3. +3
    -3
      scripts/player.gd

+ 12
- 6
scripts/heroes/1-wall.gd View File

@ -1,10 +1,14 @@
extends StaticBody
var maker_node
var touch_charge = 1
var touch_charge = 4
var being_touched = 0
func init(maker, color):
maker_node = maker
for player in get_node("/root/Level/Players").get_children():
player.connect("body_entered", self, "count_bodies", [player, 1])
player.connect("body_exited", self, "count_bodies", [player, -1])
var mat = SpatialMaterial.new()
color.a = 0.5
mat.flags_transparent = true
@ -21,10 +25,12 @@ func make_last():
mat.flags_transparent = true
mat.albedo_color.a = 0.9
func count_bodies(with, player, delta):
if with == self:
if player != maker_node:
being_touched += delta
func _process(delta):
pass
# var cols = get_colliding_bodies()
# for col in cols:
# if col != maker_node: # Don't count ourself. This encourages teamwork and discourages wall-touching-for-charge abuse
# maker_node.switch_charge += touch_charge * delta
if being_touched > 0:
maker_node.switch_charge += touch_charge * delta

+ 1
- 1
scripts/heroes/1.gd View File

@ -99,8 +99,8 @@ func add_wall():
var wall = preload("res://scenes/wall.tscn").instance()
var friendly = player_info.is_right_team == master_player.player_info.is_right_team
var color = friend_color if friendly else enemy_color
wall.init(self, color)
get_node("/root/Level").add_child(wall)
wall.init(self, color)
return wall
func finalize_wall(wall, tf=null):


+ 3
- 3
scripts/player.gd View File

@ -13,11 +13,11 @@ var air_friction = 1-0.03
var player_info # Set by lobby
var walk_speed_build = 0.006 # `walk_speed` per `switch_charge`
var air_speed_build = 0.006 # `air_accel` per `switch_chare`
var air_speed_build = 0.006 # `air_accel` per `switch_charge`
var switch_charge = 0
var switch_charge_cap = 200 # While switching is always at 100, things like speed boost might go higher!
var movement_charge = 0.15 # In percent per meter (except when heroes change that)
var movement_charge = 0.1 # In percent per meter (except when heroes change that)
const fall_height = -50
@ -32,7 +32,7 @@ var tp_camera = "TPCamera"
var master_only = "MasterOnly"
var master_player
var friend_color = Color("#4abfe5") # Blue
var friend_color = Color("#4ab0e5") # Blue
var enemy_color = Color("#f04273") # Red
var ai_instanced = false


Loading…
Cancel
Save