window.GDD = window.GDD || {}; function SocialPage() { const [activeSection, setActiveSection] = React.useState('progression'); const skillCategories = [ { name: 'Combat', color: 'var(--red)', skills: ['Gunnery', 'Missiles', 'Shield Operation', 'Armor Tanking', 'Electronic Warfare'], xpSource: 'Dealing damage, destroying NPCs, completing combat missions', }, { name: 'Industry', color: 'var(--accent)', skills: ['Mining', 'Refining', 'Manufacturing', 'Blueprint Research', 'Resource Processing'], xpSource: 'Mining cycles, refining batches, manufactured items, research jobs', }, { name: 'Navigation', color: 'var(--cyan)', skills: ['Warp Drive Operation', 'Afterburner', 'Evasive Maneuvering', 'Capital Navigation'], xpSource: 'Distance warped, systems visited, successful evasion from combat', }, { name: 'Trade', color: 'var(--green)', skills: ['Market Analysis', 'Broker Relations', 'Hauling', 'Contracting', 'Regional Trading'], xpSource: 'Completed trades, market orders filled, cargo hauled between systems', }, { name: 'Leadership', color: 'var(--purple)', skills: ['Fleet Command', 'Wing Command', 'AI Coordination', 'Crew Management'], xpSource: 'Fleet actions, AI crew task completions, group mission success (post-MVP)', }, ]; const chatChannels = [ { name: 'Local', range: 'Current system', delay: 'Instant', description: 'Everyone in the same star system sees messages immediately. Core social channel.', color: 'var(--fg-bright)' }, { name: 'Private Message', range: 'Based on distance', delay: 'Light-speed delayed', description: 'Direct messages to another player. Messages arrive after a delay proportional to light-years between systems. Across the galaxy = minutes of delay.', color: 'var(--cyan)' }, { name: 'Trade', range: 'Station / Region', delay: 'Instant at station, delayed region-wide', description: 'Buy/sell offers, price checks, trade negotiations. Station-local is instant; regional relay has a 30s delay.', color: 'var(--green)' }, ]; const bountyTiers = [ { tier: 'Petty', threshold: '500 ISK', reward: '10% of bounty', visibility: 'Current system only', color: 'var(--muted)' }, { tier: 'Standard', threshold: '5,000 ISK', reward: '15% of bounty', visibility: 'Current region (constellation cluster)', color: 'var(--cyan)' }, { tier: 'Dangerous', threshold: '50,000 ISK', reward: '20% of bounty + kill bonus', visibility: 'All regions (galaxy-wide board)', color: 'var(--accent)' }, { tier: 'Most Wanted', threshold: '500,000 ISK', reward: '25% + unique cosmetic reward', visibility: 'Galaxy-wide + leaderboard', color: 'var(--red)' }, ]; return (

Progression & Social

XP-based progression across five skill categories. Chat ranges from instant local to light-speed-delayed private messages. Bounty system creates emergent player-driven justice and piracy consequences. Designed for ~3-hour play sessions with meaningful progression per session.

{/* Tab navigation */}
{[ { id: 'progression', label: 'XP & Skills' }, { id: 'chat', label: 'Chat & Comms' }, { id: 'bounty', label: 'Bounty System' }, { id: 'waypoints', label: 'Waypoints' }, { id: 'corps', label: 'Corporations' }, ].map(t => ( ))}
{/* PROGRESSION */} {activeSection === 'progression' && ( <>
Action-based
XP Model
5 Categories
Skill Trees
~3 hours
Session Target
V Levels
Per Skill
Design intent: XP comes from doing things, not waiting. A 3-hour mining session should unlock at least one meaningful skill upgrade. Combat and trade have comparable XP rates so no playstyle feels punished.
SOC-SKL

Skill Categories

{skillCategories.map((cat, i) => (

{cat.name}

{cat.skills.map((s, j) => ( {s} ))}
XP source: {cat.xpSource}
))}
SOC-LVL

Level Progression

XP Curve (per skill)

Level Cumulative XP Approx. Active Play Typical Unlock
I100~15 minBasic modules, rookie ships
II500~1 hourStandard modules, refining
III2,000~3 hoursT2 modules, cruisers, manufacturing
IV8,000~8 hoursAdvanced fittings, battlecruisers
V32,000~20 hoursBattleships, T2 ships, mastery
SOC-RESPEC

Respec (Skill Reallocation)

Mistakes should be fixable, but not free. Players can reallocate (respec) their skill points, returning XP from one skill and applying it to another. This prevents permanent lock-in from early uninformed decisions while making frequent respeccing uneconomical.

Respec Mechanics

  • Cost: 20% XP penalty on reallocated points. Respeccing 1,000 XP returns 800 XP to redistribute.
  • Cooldown: 7 real-world days between respeccs. Cannot be bypassed.
  • Scope: Full respec (all skills) or single-skill respec. Full respec costs 30% instead of 20%.
  • Location: Must be docked at a station with a "Neural Remapping" facility (not all stations have this).
  • Preview: Before confirming, the respec UI shows the exact XP loss and resulting skill levels. No surprises.

Design Rationale

The 20% cost ensures that respeccing is a meaningful decision, not a free toggle. A player who respeccs from Mining to Gunnery loses 200 of their 1,000 mining XP — they can try combat, but they've paid for the privilege. The cooldown prevents rapid role-switching and preserves the value of specialization. Players who plan their skill progression carefully are rewarded with more total XP than those who respec frequently.

Example: Mining III (2,000 XP) \u2192 respec \u2192 receive 1,600 XP \u2192 invest in Gunnery (now Gunnery II at 500 XP + 1,100 banked)
)} {/* CHAT & COMMS */} {activeSection === 'chat' && ( <>
SOC-COM

Communication System

Communication range is physical — messages travel at light speed. Local chat in the same system is instant. Private messages to someone across the galaxy are delayed by minutes. This creates meaningful tactical information asymmetry and makes relay networks valuable.

{chatChannels.map((ch, i) => (

{ch.name}

{ch.range}

{ch.description}

Delay: {ch.delay}
))}
SOC-PHYS

Light-Speed Delay Mechanics

Message Travel Time

Same system: 0s (quantum relay)
Adjacent system (1 gate): ~2s
5 jumps: ~10s
20 jumps: ~45s
Across galaxy: ~2–3 minutes

Formula: baseDelay × sqrt(gateDistance) × 2s

Strategic implications

  • Fleet commanders near the front have better intel
  • Market data is delayed — arbitrage exists between regions
  • Distress calls from deep null-sec arrive minutes late
  • Players can set up communication relay networks

Post-MVP channels

  • Corporation — instant for corp members (post-MVP)
  • Fleet — instant for fleet members (post-MVP)
  • Relay Beacons — player-placed structures that boost range
  • Alliance — meta-corp channels (far future)
)} {/* BOUNTY SYSTEM */} {activeSection === 'bounty' && ( <>
SOC-BNT

Bounty System

Any player can place a bounty on another player. Bounties create consequences for piracy and emergent "space justice" dynamics. Higher bounties attract more bounty hunters and increase visibility across the galaxy.

{bountyTiers.map((tier, i) => ( ))}
TierBounty ThresholdHunter RewardVisibility (Sector-Specific)
{tier.tier} {tier.threshold} {tier.reward} {tier.visibility}

How bounties work

1. Player A places bounty on Player B (ISK deducted immediately)
2. Bounty pool accumulates — multiple players can contribute
3. When Player B's ship is destroyed, bounty pays out
4. Payout = percentage of bounty pool based on tier
5. Killer gets the reward; remaining pool stays active
6. If Player B stays clean for 30 days, bounty decays 10%/week

Anti-abuse rules

  • You cannot claim your own bounty (alt check)
  • Bounty payout never exceeds ship loss value
  • Minimum bounty placement: 500 ISK (prevents spam)
  • Bounty target must have negative security status or have committed a hostile act in the last 24h (see Gameplay → Security Levels)
  • Kill feed shows bounty collected, not total pool
Sector-specific bounties: Bounty visibility is sector-based, not galaxy-wide by default. A petty bounty in Jita is invisible in Amarr. This means a pirate can be hunted in one region while operating freely in another. Only Dangerous and Most Wanted bounties propagate galaxy-wide. This creates regional justice ecosystems and makes bounty hunting a localized profession rather than a galaxy-wide pursuit.
Kill feed: A galaxy-wide feed shows ship destruction events with pilot names, ship types, system, and bounty collected. This creates reputation dynamics and emergent storylines — "CMDR Worf has been destroyed in O-WAMW, 45,000 ISK bounty collected."
)} {/* WAYPOINTS */} {activeSection === 'waypoints' && ( <>
SOC-NAV

Waypoints & Bookmarks

Players can bookmark arbitrary locations in space and create waypoint routes for navigation. Bookmarks are personal; waypoints can be shared. Fleet beacons are visible to all fleet members and create tactical rally points.

Bookmarks

  • Save any point in space as a named bookmark
  • Personal — only you see them
  • Can warp to any bookmark (if in range)
  • Used for: safe spots, mining positions, ambush points, salvage sites
  • Storage limit: 100 bookmarks per player (MVP)

Waypoints & Routes

  • Create multi-stop routes through star systems
  • Autopilot follows route automatically (slower than manual)
  • Route avoids low-sec if preference set
  • Share routes with other players (trade routes, patrol paths)
  • Optimize for: shortest, safest, or most profitable

Fleet Beacons

  • Visible to all fleet members on star map
  • Create rally points and tactical positions
  • Any fleet member can create a beacon
  • Beacons expire after 1 hour or when creator leaves fleet
  • Post-MVP feature — designed into data model now

Map Annotations

  • Mark systems with notes ("pirate camp", "good mining", "friendly station")
  • Notes visible on star map hover
  • Statistics overlay: jumps/hour, ship kills, pod kills
  • Color-code systems by danger level or personal preference
  • Export/import annotations for sharing
SOC-DB

Backend Tables (New)

Canonical location: These tables are also listed in the Backend → Tables tab, which serves as the master schema reference. The definitions here include Social-specific context.
TablePurposeKey Fields
bookmarks Player-saved locations bookmark_id, player_id, system_id, x/y/z, name, created_at
waypoints Multi-stop routes route_id, player_id, stops (ordered system list), name, shared
bounties Bounty pool per target target_player_id, total_pool, tier, last_hostile_act
bounty_contributions Individual bounty payments contribution_id, target_id, contributor_id, amount, timestamp
kill_feed Ship destruction events kill_id, victim_id, killer_id, ship_type, system_id, bounty_collected, timestamp
player_skills XP and levels per skill player_id, skill_name, xp, level, last_action_at
fleet_beacons Temporary fleet rally points beacon_id, fleet_id, creator_id, system_id, x/y/z, expires_at
)} {/* CORPORATIONS & TERRITORY */} {activeSection === 'corps' && (<>
SOC-CORP

Corporations & Territory

Era 2 feature — designed now, implemented in Phase 14. Corporations ("corps") are player organizations: persistent groups with shared wallets, hangars, roles, and territory claims. They are the endgame social structure — the reason players stay for years. This spec establishes the design direction so the backend schema can accommodate it without breaking changes. Implementation details may evolve, but the core model is fixed.

Corporation Lifecycle

1. Found — Any player pays 1,000,000 ₢ founding fee. Chooses name + ticker (3–5 chars). Becomes CEO. Minimum 1 member.
2. Recruit — CEO (or Director) sends invite. Player accepts. Member appears on corp roster. Corp chat channel auto-created.
3. Operate — Members contribute to corp wallet (ISK tax on bounties/missions, optional). Shared hangar at corp HQ station. Roles control access.
4. Claim — Corp anchors a structure in a null-sec system. Structure asserts sovereignty. System shows on sov map as corp territory.
5. Defend — Rival corps can contest sovereignty. Structure has a vulnerability window (CEO-configured, 4h/day). During vulnerability, structure can be attacked.
6. Dissolve — If CEO disbands or corp drops below 3 members for 14 days, corp dissolves. Assets liquidated to CEO wallet. Territory unclaimed.

Corporation Roles

{[ { role: 'CEO', perms: 'All permissions. Can disband corp. Can transfer CEO role. Cannot be kicked.', assignment: 'Founder (auto). Transferable.' }, { role: 'Director', perms: 'Invite/kick members, manage roles, corp wallet full access, anchor/destroy structures, set tax rate, configure vulnerability window.', assignment: 'Appointed by CEO or other Directors.' }, { role: 'Accountant', perms: 'View corp wallet history. Pay bills. Set market orders from corp funds. Cannot withdraw ISK.', assignment: 'Appointed by Director+.' }, { role: 'Pilot', perms: 'Access corp hangar (configured per station). Use corp fittings. Join corp fleet.', assignment: 'Default role for new members.' }, { role: 'Recruit', perms: 'Corp chat access. View roster. No hangar access. No wallet access.', assignment: 'Probationary role (optional, 7-day default). Auto-promotes to Pilot.' }, ].map((row, i) => ( ))}
RolePermissionsAssignment
{row.role} {row.perms} {row.assignment}

Corporation Wallet & Tax

Corp Wallet

  • Shared ISK balance separate from all member wallets
  • Funded by: tax on member income, voluntary donations, structure taxes, corp market orders
  • Spent on: structure fuel, alliance dues, SRP (ship replacement program), member bonuses
  • Full transaction log visible to Accountant+ roles
  • Withdrawal requires Director+ approval (or CEO)

Tax System

  • Bounty tax: CEO sets % (0–100%). Deducted from NPC bounties and mission rewards. Default 10%.
  • Market tax: Optional tax on market orders placed in corp-controlled stations. 0–5%. Set per station.
  • Refining tax: Optional tax on refining at corp-controlled facilities. 0–5%.
  • Tax revenue goes to corp wallet automatically
  • Members see their personal tax contribution in wallet history

Territory & Sovereignty

Null-sec only. Territory claims are only possible in null-sec (security ≤ 0.0). High-sec and low-sec systems cannot be claimed. This preserves the "wild west" nature of null-sec as the player-driven frontier while keeping NPC-controlled space as the shared commons.

Corporation Structures

  • Starbase (Medium): Claims sovereignty in 1 system. Provides: refining bonus (+10%), market access, hangar, clone bay. Cost: 50M ₢ + fuel.
  • Citadel (Large): Claims constellation-wide influence. Provides: all Starbase bonuses + manufacturing slots + insurance desk. Cost: 500M ₢ + fuel.
  • Keepstar (XL): Regional capital. Provides: all Citadel bonuses + capital ship construction + super-capital docking. Cost: 5B ₢ + fuel. One per region.
  • Structures have shields, armor, and hull — they can be destroyed during vulnerability windows
  • Structure destruction = loss of territory claim. System becomes unclaimed.

Sovereignty Mechanics

  • Anchoring: Corp anchors structure in unclaimed null-sec system. 24-hour onlining timer. During onlining, structure is invulnerable.
  • Vulnerability window: CEO picks a 4-hour daily window (must overlap with corp prime time). Structure can only be attacked during this window.
  • Reinforcement: When structure shields reach 0%, it enters reinforcement (18h timer). Armor becomes targetable after timer expires.
  • Destruction: When structure hull reaches 0%, it explodes. Corp loses sovereignty. All items in corp hangar drop as loot (50%) or are destroyed (50%).
  • Strategic index: The longer a corp holds a system, the higher the strategic index (0–5). Higher index = longer reinforcement timer, stronger structure shields. Rewards long-term ownership.
Design intent: Territory warfare is the endgame that keeps players engaged for years. A corp's home system is its identity — losing it is a major event, conquering one is a major achievement. The vulnerability window ensures battles happen when both sides can participate (no 3 AM structure kills). The strategic index rewards corps that invest in their territory rather than nomadic expansion. The goal is meaningful conflict, not meaningless destruction.
SOC-CORP-DB

Backend Impact

New Tables (Phase 14)

corporationscorp_id, name, ticker, ceo_player_id, founded_at, wallet_balance, tax_rate_bounty, tax_rate_market, tax_rate_refining, member_count, hq_station_id, vulnerability_window_start, vulnerability_window_hours, dissolved_at
corp_memberscorp_id, player_id, role (enum), joined_at, tax_contribution_lifetime
corp_wallet_journalentry_id, corp_id, entry_type (tax/donation/withdrawal/expense), amount, player_id, timestamp, description
corp_structuresstructure_id, corp_id, system_id, structure_type (starbase/citadel/keepstar), shield/armor/hull, state (onlining/online/reinforced/vulnerable/destroyed), reinforced_at, vulnerability_start, strategic_index
corp_hangarhangar_id, corp_id, station_id, item_type, quantity, access_role_min
corp_fittingsfitting_id, corp_id, name, ship_type, modules_json, created_by, access_role_min

Reducers: found_corp(name, ticker), invite_member(player_id), kick_member(player_id), set_role(player_id, role), anchor_structure(system_id, type), attack_structure(structure_id), reinforce_structure(structure_id), destroy_structure(structure_id), set_tax_rate(type, rate), deposit_corp_wallet(amount), withdraw_corp_wallet(amount, reason)
Corp hangar integration: When a player is docked at a station with a corp hangar, they see a "Corp Hangar" tab in the Inventory panel. Access is gated by role. Items in corp hangar can be used for corp manufacturing jobs, corp market orders, or distributed to members. The hangar respects the same item/inventory system as personal hangars — it's just owned by the corp entity rather than a player entity.
)}
); } window.GDD.SocialPage = SocialPage;