diff --git a/core/GameState.gd b/core/GameState.gd index 35ea84c..7354e73 100644 --- a/core/GameState.gd +++ b/core/GameState.gd @@ -3059,6 +3059,10 @@ func quest_progress(quest: Dictionary) -> Vector2i: return Vector2i(1 if vessel_is_unlocked(String(goal.get("vessel", ""))) else 0, 1) QUESTS.GOAL_RESEARCH: return Vector2i(1 if is_unlocked(String(goal.get("node", ""))) else 0, 1) + QUESTS.GOAL_BANKED: + var banked: int = int(goal.get("amount", 1)) + return Vector2i(mini(banked_resource(String(goal.get("resource", + RESOURCE_ORE))), banked), banked) QUESTS.GOAL_EXPLORE: var sectors: int = int(goal.get("sectors", 1)) return Vector2i(mini(explored_chunks.size(), sectors), sectors) diff --git a/core/Quests.gd b/core/Quests.gd index 4a0a8e7..80143af 100644 --- a/core/Quests.gd +++ b/core/Quests.gd @@ -41,6 +41,10 @@ const GOAL_CONQUERED: String = "conquered" # put a crafter down"), which asks the player to do two unrelated things - # open a menu they have never opened, and place a structure - off one line. const GOAL_RESEARCH: String = "research" +# #156: what is in the BANK, which is a different question from what the +# player can lay hands on. GOAL_RESOURCE counts the hold as well, and the +# hold is exactly what this quest is about being too small. +const GOAL_BANKED: String = "banked" const CHAIN: Array = [ { @@ -127,6 +131,18 @@ const CHAIN: Array = [ # else in the game does. "done": "Planet secured. Their equipment reads out as research data - the first we have had. Every doctrine worth having is going to cost some.", }, + { + # #156: the extractor is the first thing the chain asks for that + # cannot be paid for out of a single hold. An interceptor carries 20 + # and the fleet is small; the mothership is where anything larger + # than one trip has to accumulate, and nothing had ever said so. + "id": "deposit", + "title": "THE HOLD IS SMALL", + "objective": "Bank 60 ore at the mothership", + "goal": {"kind": GOAL_BANKED, "resource": "ore", "amount": 60}, + "brief": "Every hull out here carries twenty and no more, and we are going to need more than twenty. Fly what we have back to the mothership and unload it - what is stored there is not carried by anyone.", + "done": "Sixty banked. The hold empties, the vault does not - that is the difference, and everything from here on depends on it.", + }, { "id": "extractor", "title": "STANDING MINE",