teleportation system

Guide for teleportation system

Coconut Teleportation System

Concept

A unique teleportation mechanic using coconuts with three eyes as vessels for bija-powered teleportation rituals.

Mechanics

Step 1: Obtain Empty Coconut

  • Item: coconut (non-stackable)
  • Weight: 0.8
  • Description: "A coconut with three eyes, used for teleportation rituals"

Step 2: Perform Ritual (Coconut Stacking UI)

  1. Open "Coconut Ritual" interface (🄄 button in Magic tab)
  2. Place 3 specific bijas into the coconut's "eyes" (Eye 1, Eye 2, Eye 3)
  3. Click "Charge Coconut"
  4. System validates recipe and consumes bijas + empty coconut
  5. Receive charged teleport item

Step 3: Use Teleport

  • Item: <Location> Teleport (stackable)
  • Action: "Break" to teleport to destination
  • Weight: 0.1 (much lighter than empty coconut)

Teleport Recipes

Hastinapur Teleport (Lv 25)

  • Eye 1: Vishnu Bija (cosmic order)
  • Eye 2: Air Bija
  • Eye 3: Earth Bija
  • Destination: Hastinapur Palace
  • XP: 15.0

Forest Teleport (Lv 31)

  • Eye 1: Water Bija
  • Eye 2: Earth Bija
  • Eye 3: Indra Bija (heavens)
  • Destination: Sacred Grove
  • XP: 20.0

Mountain Teleport (Lv 38)

  • Eye 1: Vishnu Bija
  • Eye 2: Earth Bija
  • Eye 3: Hanuman Bija (strength)
  • Destination: Mountain Temple
  • XP: 25.0

Design Rationale

Why Coconuts?

  1. Cultural Authenticity: Coconuts are sacred in Hindu rituals
  2. Three Eyes: References Shiva's third eye, mystical symbolism
  3. Unique Mechanic: Distinguishes from generic "teleport tablets"

Stackable vs Non-Stackable

  • Empty Coconuts: Non-stackable (physical ritual vessels)
  • Charged Teleports: Stackable (condensed magical energy)
This creates interesting inventory management:
  • Players need bank space for empty coconuts
  • Charged teleports are convenient to carry in bulk

Bija Combinations

Each recipe uses Vishnu Bija (cosmic order, preservation) as the primary catalyst, representing the preserving/transporting aspect of Vishnu.
Secondary bijas represent the destination's nature:
  • Hastinapur: Air + Earth (capital city, grounded but elevated)
  • Forest: Water + Earth + Indra (natural, divine)
  • Mountain: Earth + Hanuman (strength, elevation)

UI Implementation

Coconut Ritual Window

ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│   Coconut Ritual            │
ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤
│ Place Bijas into Eyes:      │
│                             │
│  Eye 1 (Top)    Eye 2 (L)   │
│  [Vishnu]       [Air]       │
│                             │
│       Eye 3 (Right)         │
│       [Earth]               │
│                             │
ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤
│ Available Bijas:            │
│ [Air] [Water] [Earth]...    │
ā”œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”¤
│      [Charge Coconut]       │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

Features

  • Click bija from inventory to place in first empty eye
  • Click placed bija to remove it
  • "Charge" button enabled when all 3 eyes filled
  • Validates against known recipes
  • Shows error if invalid combination

Data Structure (mantras.json)

{
  "teleport_recipes": [
    {
      "teleport_id": "hastinapur_teleport",
      "name": "Hastinapur Teleport",
      "level_req": 25,
      "coconut_bijas": [
        {"eye": 1, "bija_id": "vishnu_bija"},
        {"eye": 2, "bija_id": "air_bija"},
        {"eye": 3, "bija_id": "earth_bija"}
      ],
      "charged_coconut_id": "hastinapur_teleport_coconut",
      "destination": "hastinapur_palace",
      "xp": 15.0
    }
  ]
}

Event Flow

PrepareCoconutEvent

  1. Triggered by "Charge Coconut" button
  2. Validates player has empty coconut
  3. Checks level requirement
  4. Verifies all 3 bijas in inventory
  5. Consumes coconut + 3 bijas
  6. Adds charged teleport item
  7. Grants Magic XP
  8. Closes UI

BreakCoconutEvent

  1. Triggered by using charged teleport item
  2. Consumes item
  3. Looks up destination from recipe
  4. Teleports player (TODO: actual teleport implementation)
  5. Plays teleport animation/sound

Evolution Notes

Naming Refinement

User Request: "Bija filled coconuts should not be called coconuts anymore it should be teleport"
Before: "Hastinapur Teleport Coconut" After: "Hastinapur Teleport"
Rationale: Cleaner naming, emphasizes the teleport function over the coconut vessel.