🌊 The Obstacle List

🎴 Deck: {{ deck_count }} cards left
{% set ns = namespace(captain=None) %} {% for p in game.players %} {% if is_captain(p, game.players) %} {% set ns.captain = p %} {% endif %} {% endfor %}
{% if ns.captain %} 🏴‍☠️ Captain: {{ ns.captain.name }} (Rank {{ ns.captain.rank }}) {% else %} 🏴‍☠️ Captain: None (No Pi-Rats) {% endif %}
Active Roster: {% for p in game.players %} {% if p.role == 'deep' %} 🌊 {{ p.name }} (Deep) {% elif p.role == 'pirat' %} 🐀 {{ p.name }} (Rank {{ p.rank }}){% if is_captain(p, game.players) %} ⭐{% endif %} {% endif %} {% endfor %}
{% for obs in game.obstacles %} {% set column_cards = json_loads(obs.played_cards) %} {% set active_card_code = column_cards[-1]["card"] if column_cards else obs.original_card %} {% set active_parsed = parse_card(active_card_code) %}
{{ active_parsed.value }} {{ active_parsed.symbol }}
{% if active_parsed.is_joker %} 🃏 {% else %} {{ active_parsed.symbol }} {% endif %}
{{ active_parsed.value }} {{ active_parsed.symbol }}

{{ obs.title }}

{{ obs.description }}

Current Difficulty {% if parse_card(obs.original_card).value in ["J", "Q", "K"] %} Rank ({{ player.rank }}) {% else %} {{ obs.current_value }} {% endif %}
{% set ns_non_deep = namespace(count=0) %} {% for p in game.players %} {% if p.role != "deep" %} {% set ns_non_deep.count = ns_non_deep.count + 1 %} {% endif %} {% endfor %}
Successes {{ obs.success_count }} / {{ ns_non_deep.count }}
Card History (Column)
{% set column_cards = json_loads(obs.played_cards) %}
{{ obs.original_card[:-1] }} {{ obs.symbol }}
{% for pc in column_cards %}
{{ pc.card[:-1] if not pc.card.startswith('Joker') else '🃏' }} {{ parse_card(pc.card).symbol }} {{ pc.player_name[:4] }}
{% endfor %}
{% else %}

No active obstacles. Deep players can end the scene!

{% endfor %}
{% if player.role == "deep" %}

🌊 Deep Control Panel

Crew Objectives

Pi-Rat Personal Objectives

You control completion. Only mark in sequence (1 -> 2 -> 3).

{% for p in game.players if p.role == 'pirat' %}
{{ p.name }}
{% endfor %}

Conclude the scene once players have made attempts or the obstacle list is depleted.

{% endif %}

🃏 Your Hand

Keep your cards secret! {% if player.role != "deep" %}Drag a card onto an active obstacle to play it.{% else %}Max hand size: {{ max_hand_size }} cards.{% endif %}

{% for card in hand %} {% set parsed = parse_card(card) %}
{{ parsed.value }} {{ parsed.symbol }}
{% if parsed.is_joker %} 🃏 {% else %} {{ parsed.symbol }} {% endif %}
{% if parsed.value == "J" %}
J: "{{ player.tech_jack }}"
{% elif parsed.value == "Q" %}
Q: "{{ player.tech_queen }}"
{% elif parsed.value == "K" %}
K: "{{ player.tech_king }}"
{% endif %}
{{ parsed.value }} {{ parsed.symbol }}
{% else %}

Your hand is empty! (You draw cards when playing cards that match the suit color of the obstacle.)

{% endfor %}
{% if player.role != "deep" %}

🐀 Your Character sheet

Description:

Look: {{ player.avatar_look }}

Smell: {{ player.avatar_smell }}

First Words: "{{ player.first_words }}"

Likes: "{{ player.other_like }}" (by {{ get_player_name(player.other_like_from_player_id) }})

Hates: "{{ player.other_hate }}" (by {{ get_player_name(player.other_hate_from_player_id) }})

Assigned Secret Techniques (J/Q/K):

  • Jack (J): "{{ player.tech_jack }}"
  • Queen (Q): "{{ player.tech_queen }}"
  • King (K): "{{ player.tech_king }}"

Objectives Tracker:

Deep players control these objectives. They unlock privileges when checked.

{% if player.completed_personal_1 %}✅{% else %}⬜{% endif %} 🔫 Personal 1: Get a Gat
Privilege: +1 to Black cards. Tax: Can ask a Gatted player to do challenges.
{% if player.completed_personal_2 %}✅{% else %}⬜{% endif %} 👑 Personal 2: Earn a Name
Privilege: +1 to Red cards. Tax: Can ask a Named player to do challenges.
{% if player.needs_name %}
{% endif %}
{% if player.completed_personal_3 %}✅{% else %}⬜{% endif %} ☠️ Personal 3: Die Like a Pirate
Bonus: Rank up another player.
{% if player.needs_rank_3_bonus %}
{% endif %} {% if player.is_dead and not player.is_ghost %}

You Died!

Your Pi-Rat's story has concluded. You may continue to watch over your crew as a ghost!

{% endif %} {% if player.is_ghost %}
👻 Ghost Mode Active

You can still use your hand to help the living, but between scenes you may roll a new recruit.

{% endif %}
{% endif %}
{% include "header_status_snippet.html" %}