- Added BattleState class to manage battle flow, including turn management and event handling. - Introduced BuffInstance class to represent buffs applied to combatants. - Created CardInstance class to handle card definitions and cost calculations. - Developed CombatantState class to manage combatant attributes and actions. - Implemented EffectRegistry to apply effects based on event specifications. - Added various handlers (BlockHandler, DamageHandler, DrawHandler, etc.) to process specific events. - Created IntentPlanner and IntentState classes to manage enemy actions and intents. - Established a queue system for handling battle events with BattleEventQueue and BattleEventTask. - Introduced triggers for applying effects based on game events (e.g., OnCardDrawnGainBlockTrigger). - Added necessary UID files for new scripts to ensure proper resource management.
14 lines
267 B
GDScript
14 lines
267 B
GDScript
class_name CardInstance
|
|
extends RefCounted
|
|
|
|
var card_def: CardDef
|
|
var cost_modifier: int = 0
|
|
|
|
func _init(definition: CardDef) -> void:
|
|
card_def = definition
|
|
|
|
func get_cost() -> int:
|
|
if card_def == null:
|
|
return 0
|
|
return max(0, card_def.base_cost + cost_modifier)
|