coop_countable_objective
A countable objective that scales its target for coop islands — audience entry.
Entry Information
| Property | Value |
|---|---|
| Entry ID | coop_countable_objective |
| Type | Audience |
| Color | Orange |
| Icon | mdi:account-multiple-check |
Description
A countable objective whose target scales for cooperative islands. This is the working replacement for the previous metadata-based approach (CoopIslandQuestWrapperEntry wrote btcsky_coop_multiplier player metadata that no objective ever read). Here the scaling is intrinsic: the effective target — the value shown to the player and exposed through the <target> tag — is baseTarget × factor, computed live per player. The factor is: - 1 when the player is solo (no coopProfileId on their island), so the objective behaves exactly like a standard countable objective; - the number of coop owners (min 2) when [scaleByMemberCount] is true; - the fixed [coopMultiplier] otherwise. ## Wiring completion As with the engine's own countable objective, visibility is driven by [criteria]. To gate completion on the scaled amount, point the quest's completion criteria (or the counting fact's target) at this objective's <target> placeholder rather than a hardcoded number — it already reflects the scaled value, so coop members must collectively reach baseTarget × factor.
Fields
| Field | Type | Description |
|---|---|---|
count | Var<Int> | The value that is being counted towards the target. |
baseTarget | Var<Int> | The per-player (solo) target. It is multiplied by the coop factor at runtime. |
scaleByMemberCount | Boolean | Scale the target by the number of coop owners (min 2) instead of the fixed multiplier. |
coopMultiplier | Int | Fixed multiplier used for coop islands when 'scaleByMemberCount' is off. |
display | Var<String> | The display supports the <count> and <target> tags. <target> is the scaled value. |
Usage Example
- entry: coop_countable_objective
name: "A countable objective that scales its target for coop islands"
count: 0
baseTarget: 0
scaleByMemberCount: false
coopMultiplier: 0
display: ""