extends Reference const NAME = "broken" var ctx = null func _init(): pass func enter_from(state): for item_slot in ctx.item_slots: item_slot.add_enabled = true item_slot.remove_enabled = true ctx.item_dump.enabled = true ctx.item_dump.reset() ctx.coin_machine.enabled = false ctx.progress_text.text = "Broken!" ctx.status_light.fail() func exit_to(state): pass func update(delta): pass func on_coin_machine_coin_requirement_met(player): assert(false, "coin machine should be disabled while broken") func on_gen_timer_timeout(): assert(false, "gen timer should be disabled while broken") func on_item_slot_item_changed(item): pass func on_item_dump_item_dump_completed(): ctx.full_heal() for item_slot in ctx.item_slots: if item_slot.has_item(): ctx.change_state(ctx.States[ctx.EState.BLOCKED].new("Blocked!")) return ctx.change_state(ctx.States[ctx.EState.IDLE].new()) func on_damage_taken(): assert(false, "cant take damage if already broken")