diff --git a/economy.gd b/economy.gd index f94f198..5232656 100644 --- a/economy.gd +++ b/economy.gd @@ -80,6 +80,8 @@ func simulate(): if e.requirements_satisfied() and e.will_happen(): var outcome := e.outcome() for o in outcome: + if o == null: + continue produce(o) production_log.emit(null, o) if e.timeline != null: diff --git a/troup.gd b/troup.gd index 9cf6c83..99fb3db 100644 --- a/troup.gd +++ b/troup.gd @@ -14,6 +14,7 @@ func set_target_for(who: CurrencyMemberSprite, t: Node2D): target.tree_exiting.disconnect(removed_target) t.tree_exiting.connect(removed_target) target = t + UserContext.modal(null) func removed_target(): target = null diff --git a/user_context.gd b/user_context.gd index 2c771e7..03c74d8 100644 --- a/user_context.gd +++ b/user_context.gd @@ -28,7 +28,7 @@ func select_focused_member(): if focused_member() == selected_member: modal(null) return - set_target_for.emit(selected_member, focused_member()) + set_target_for.emit(selected_member, focused_member().get_parent()) return var candidate := focused_member() if candidate == null: