chore: gdformat bleed changes

This commit is contained in:
2025-08-23 20:52:29 +02:00
parent 2bd83504f2
commit d74831df56
7 changed files with 14 additions and 6 deletions

View File

@@ -3,5 +3,6 @@ extends Resource
var enemy: EnemyBase var enemy: EnemyBase
func apply(enemy: EnemyBase) -> void: func apply(enemy: EnemyBase) -> void:
push_error("%s does not implement apply" % self) push_error("%s does not implement apply" % self)

View File

@@ -11,10 +11,12 @@ var _enemy: EnemyBase
const PUDDLE = preload("res://scenes/puddle.tscn") const PUDDLE = preload("res://scenes/puddle.tscn")
func _init(enemy: EnemyBase, bleed_damage: float, duration: float): func _init(enemy: EnemyBase, bleed_damage: float, duration: float):
damage = bleed_damage damage = bleed_damage
_timer = Timer.new() _timer = Timer.new()
func apply(enemy: EnemyBase) -> void: func apply(enemy: EnemyBase) -> void:
enemy.effects.append(self) enemy.effects.append(self)
while _remaining_ticks > 0: while _remaining_ticks > 0:
@@ -26,5 +28,6 @@ func apply(enemy: EnemyBase) -> void:
p.global_position = enemy.global_position p.global_position = enemy.global_position
enemy.effects.erase(self) enemy.effects.erase(self)
static func _is_bleeding(enemy: EnemyBase) -> bool: static func _is_bleeding(enemy: EnemyBase) -> bool:
return false return false

View File

@@ -20,7 +20,6 @@ var modifiers: Array[EnemyMod] = []
@onready var label: Label = $HBoxContainer/Label @onready var label: Label = $HBoxContainer/Label
@onready var effect_container: HBoxContainer = $HBoxContainer/EffectContainer @onready var effect_container: HBoxContainer = $HBoxContainer/EffectContainer
var player: Player var player: Player
var enemy_name: String var enemy_name: String
var target: Node2D var target: Node2D
@@ -34,6 +33,7 @@ var _path_update_timer: float = 0.0
var _compute_cache: KeyedCache = KeyedCache.new() var _compute_cache: KeyedCache = KeyedCache.new()
var _effects_visible = [] var _effects_visible = []
func _ready() -> void: func _ready() -> void:
enemy_name = _gen_name() enemy_name = _gen_name()
match enemy_rarity: match enemy_rarity:
@@ -67,6 +67,7 @@ func _find_player():
func _gen_name() -> String: func _gen_name() -> String:
return "Unnamed enemy" return "Unnamed enemy"
func _process(delta: float) -> void: func _process(delta: float) -> void:
for effect in effects: for effect in effects:
if effect in _effects_visible: if effect in _effects_visible:

View File

@@ -31,7 +31,6 @@ func _ready() -> void:
add_child(weapon) add_child(weapon)
func _physics_process(delta: float) -> void: func _physics_process(delta: float) -> void:
if dead: if dead:
return return

View File

@@ -4,6 +4,7 @@ extends Node2D
@export var color: Color = Color.CRIMSON @export var color: Color = Color.CRIMSON
@onready var base: Sprite2D = $Base @onready var base: Sprite2D = $Base
func _ready() -> void: func _ready() -> void:
var player: Player = get_tree().get_first_node_in_group(GlobalConst.GROUP_PLAYER) var player: Player = get_tree().get_first_node_in_group(GlobalConst.GROUP_PLAYER)
var shader = preload("res://assets/shaders/base_color_tint.gdshader") var shader = preload("res://assets/shaders/base_color_tint.gdshader")

View File

@@ -25,9 +25,11 @@ enum WeaponTag {
var _player: Player var _player: Player
func _ready() -> void: func _ready() -> void:
_player = get_tree().get_first_node_in_group(GlobalConst.GROUP_PLAYER) _player = get_tree().get_first_node_in_group(GlobalConst.GROUP_PLAYER)
func _on_attack_cd_timer_timeout() -> void: func _on_attack_cd_timer_timeout() -> void:
do_attack() do_attack()
@@ -87,15 +89,18 @@ func has_property(key: String) -> bool:
return true return true
return false return false
func did_crit() -> bool: func did_crit() -> bool:
var weapon_crit = get_calculated("attack_crit_chance") var weapon_crit = get_calculated("attack_crit_chance")
var player_crit = _player.player_stats.get_final("crit_chance", _player.modifiers) var player_crit = _player.player_stats.get_final("crit_chance", _player.modifiers)
return randf() >= 1 - weapon_crit + player_crit return randf() >= 1 - weapon_crit + player_crit
func did_bleed() -> bool: func did_bleed() -> bool:
return randf() >= 1 - bleed_chance return randf() >= 1 - bleed_chance
func base_damage() -> Array[Variant]: func base_damage() -> Array[Variant]:
var damage = get_calculated("attack_damage") var damage = get_calculated("attack_damage")
var is_crit := did_crit() var is_crit := did_crit()

View File

@@ -9,8 +9,6 @@ const WEAPON_SWORD_PROJECTILE = preload("res://scenes/weapons/weapon_sword_proje
signal projectile_hit(projectile: WeaponSwordProjectile, enemy: EnemyBase) signal projectile_hit(projectile: WeaponSwordProjectile, enemy: EnemyBase)
func _ready() -> void: func _ready() -> void:
bleed_chance = 0.2 bleed_chance = 0.2
targeting_range_shape.shape.radius = attack_range targeting_range_shape.shape.radius = attack_range