Overview
The Relationship System integrates fully with Game Creator 2 visual scripting. Use Instructions to modify state, Conditions to check state, and Events to react to changes.
27
Instructions
14
Conditions
12
Events
All components are found under
Relationship System/ in GC2 menus. Items marked with NEW were added in v1.1.Instructions
Instructions modify relationship state. Use them in Triggers, Actions, and other GC2 components.
| Instruction | Category | Description |
|---|---|---|
| Modify Relationship | Relationships | Add or subtract from relationship value |
| Modify Relationship (Definition) | Relationships | Modify a specific definition-scoped dimension |
| Set Relationship | Relationships | Set relationship to specific value |
| Set Opinion (Directional) | Relationships | Set A→B for asymmetric definitions |
| Lock Relationship | Relationships | Prevent relationship changes |
| Unlock Relationship | Relationships | Allow relationship changes again |
| Set Relationship Level | Relationships | Set relationship to specific level threshold |
| Reset Relationship | Relationships | Reset to starting value |
| Clear All Relationships | Relationships | Remove all relationships for entity |
| Copy Relationship | Relationships | Copy relationship from one pair to another |
| Add To Faction | Factions | Add entity to faction |
| Remove From Faction | Factions | Remove entity from faction |
| Broadcast To Faction | Factions | Modify all faction member relationships |
| Set Faction Relationship | Factions | Set faction-to-faction relationship |
| Set Faction Inheritance Rate | Factions | Change inheritance rate at runtime |
| Add Relationship Modifier | Modifiers | Add a temporary buff/debuff |
| Remove Relationship Modifier | Modifiers | Remove modifier by ID or source |
| Clear All Modifiers | Modifiers | Remove all modifiers for a relationship |
| Set Relationship CapNEW | Caps | Add a min/max value cap |
| Remove Relationship CapNEW | Caps | Remove a cap by ID |
| Clear All CapsNEW | Caps | Remove all caps for a relationship |
| Set Diplomacy State | Diplomacy | Set faction diplomacy state |
| Transition Diplomacy State | Diplomacy | Controlled state transition |
| Create Runtime Faction | Runtime Factions | Create dynamic faction at runtime |
| Dissolve Runtime Faction | Runtime Factions | Dissolve a runtime faction |
| Refresh Relationship ViewNEW | UI | Force a UI view to refresh |
| Show NotificationNEW | UI | Trigger a relationship notification popup |
Cap Instructions (v1.1)
New instructions for managing relationship caps via visual scripting:
// Set Cap instruction parameters:
// - Entity A: Player
// - Entity B: Merchant Guild
// - Definition: (optional) Trust
// - Cap ID: "guild_gate"
// - Min Value: (unchecked)
// - Max Value: 50
// Remove Cap instruction parameters:
// - Entity A: Player
// - Entity B: Merchant Guild
// - Cap ID: "guild_gate"Conditions
Conditions check relationship state. Use them in Triggers, Branches, and prerequisite checks.
| Condition | Category | Description |
|---|---|---|
| Is Relationship At Level | Relationships | Check if relationship is at specific level |
| Relationship Value (Compare) | Relationships | Compare value with threshold (>, <, ==, etc.) |
| Has Relationship | Relationships | Check if relationship exists |
| Is Relationship Locked | Relationships | Check if relationship is locked |
| Is Faction Member | Factions | Check if entity belongs to faction |
| Is Same Faction | Factions | Check if two entities share a faction |
| Has Faction Relationship | Factions | Check if factions have relationship |
| Has Active Modifier | Modifiers | Check if modifier is active |
| Modifier Count (Compare) | Modifiers | Compare number of active modifiers |
| Is At Cap (Min)NEW | Caps | Check if relationship is at min cap |
| Is At Cap (Max)NEW | Caps | Check if relationship is at max cap |
| Has CapNEW | Caps | Check if cap exists for relationship |
| Is Diplomacy State | Diplomacy | Check current diplomacy state |
| Allows Travel | Diplomacy | Check if diplomacy allows faction travel |
Cap Conditions (v1.1)
Use cap conditions to check if players have hit progression gates:
// Example: Show hint when player hits cap
Trigger: On Relationship Changed
├─ Condition: Is At Cap (Max)
│ ├─ Entity A: Player
│ ├─ Entity B: Merchant Guild
│ └─ Returns: true when at max cap
└─ Actions:
└─ Show Dialogue: "Join the Guild to improve relations further!"Events
Events trigger when relationship state changes. Attach them to Triggers for reactive gameplay.
| Event | Category | Description |
|---|---|---|
| On Relationship Changed | Relationships | Fires when any relationship value changes |
| On Level Changed | Relationships | Fires when relationship crosses level threshold |
| On Relationship Created | Relationships | Fires when new relationship is established |
| On Modifier Added | Modifiers | Fires when modifier is added |
| On Modifier Removed | Modifiers | Fires when modifier is removed |
| On Modifier Expired | Modifiers | Fires when modifier expires naturally |
| On Cap ReachedNEW | Caps | Fires when relationship hits cap boundary |
| On Cap AddedNEW | Caps | Fires when cap is registered |
| On Cap RemovedNEW | Caps | Fires when cap is removed |
| On Faction Joined | Factions | Fires when entity joins faction |
| On Faction Left | Factions | Fires when entity leaves faction |
| On Diplomacy Changed | Diplomacy | Fires when diplomacy state changes |
On Cap Reached Event (v1.1)
React when players hit cap boundaries:
// Example: Sound + VFX when hitting cap
Trigger: On Cap Reached
├─ Filter: Entity B = "Merchant Guild"
└─ Actions:
├─ Play Sound: "cap_reached.wav"
├─ Spawn VFX: Barrier particles
└─ Show UI: Cap warning tooltip