Merge branch 'main' into tiff

This commit is contained in:
tiffanyfrias10
2021-12-05 20:05:14 -06:00
115 changed files with 3371 additions and 107 deletions

View File

@@ -7,10 +7,17 @@ export var FRICTION: int = 1000
const HEALTH_SLICES: Array = [0, 18, 35, 50, 65, 82, 100]
var health_index: int = 6
var l5_gems: int = 0
var hud: CanvasLayer = null
var velocity: Vector2 = Vector2.ZERO
func _ready() -> void:
set_weapon_position(Vector2(1, 0))
return
func _physics_process(delta: float) -> void:
var input_vector: Vector2 = Vector2.ZERO
@@ -23,6 +30,7 @@ func _physics_process(delta: float) -> void:
if input_vector != Vector2.ZERO:
$AnimationTree.set('parameters/Idle/blend_position', input_vector)
velocity = velocity.move_toward(input_vector * MAX_SPEED, ACCELERATION * delta)
set_weapon_position(input_vector)
else:
velocity = velocity.move_toward(Vector2.ZERO, FRICTION * delta)
@@ -40,29 +48,77 @@ func load_hud(node: CanvasLayer) -> void:
return
func set_weapon_position(pos: Vector2) -> void:
# facing left
if pos[0] < 0:
$Sword.rotation_degrees = -90
$Javelin.rotation_degrees = -90
# facing right
elif pos[0] > 0:
$Sword.rotation_degrees = 90
$Javelin.rotation_degrees = 90
# facing up
elif pos[1] < 0:
$Sword.rotation_degrees = 0
$Javelin.rotation_degrees = 0
# facing down
elif pos[1] > 0:
$Sword.rotation_degrees = 180
$Javelin.rotation_degrees = 180
return
func add_currency(amount: int) -> void:
$Inventory.add_currency(amount)
return
func has_item(item: String) -> bool:
return $Inventory.contains(item)
func add_item(item: String) -> void:
$Inventory.add(item)
return
func remove_item(item: String) -> void:
$Inventory.remove(item)
return
func _on_Inventory_update_currency(amount: int) -> void:
hud.update_currency(amount)
return
func _on_Hitbox_body_entered(body: Node) -> void:
if not 'enemies' in body.get_groups():
func _on_hitbox_area_entered(area: Area2D) -> void:
var hit: int = 0
if area.is_in_group('enemy_hitbox_1') or area.is_in_group('enemy_projectile_1'):
hit = 1
elif area.is_in_group('enemy_hitbox_2') or area.is_in_group('enemy_projectile_2'):
hit = 2
elif area.is_in_group('enemy_hitbox_3') or area.is_in_group('enemy_projectile_3'):
hit = 3
else:
return
#var timer = Timer.new()
elif body.name.begins_with("blue_snowman"):
MAX_SPEED = 20
yield(get_tree().create_timer(3.0), "timeout")
MAX_SPEED = 120
elif health_index != 0:
health_index != 0
health_index -= 1
if health_index != 0:
health_index -= hit
if health_index < 0:
health_index = 0
hud.update_health(HEALTH_SLICES[health_index])
else:
get_tree().change_scene('res://Levels/Hub World.tscn')
@@ -71,10 +127,16 @@ func _on_Hitbox_body_entered(body: Node) -> void:
func _input(event: InputEvent) -> void:
if event.is_action_pressed('player_attack'):
if hud.weapon == 'sword':
$'Sword/Sword Animation'.play('swing')
elif hud.weapon == 'javelin':
$'Javelin/Javelin Animation'.play('swing')
if event.is_action_pressed('screenshot'):
var img: Image = get_viewport().get_texture().get_data()
yield(get_tree(), "idle_frame")
yield(get_tree(), "idle_frame")
yield(get_tree(), 'idle_frame')
yield(get_tree(), 'idle_frame')
img.flip_y()