Documentation

Metadata & Grading

Every Card Is Unique

Metadata tracks condition, grading history, rarity, brand, stats, colors, and effects so a CVG 10 Gem Mint version is valued differently than a worn copy of the same card. All metadata uses version 2 format for compatibility.

Condition System Configuration

Every card rolls condition (1–100) which drives grading value and sell price. The system uses weighted presets for realistic distribution.

Config.Condition = {
  enabled = true,                    -- Must remain true for economy
  preset = 'strict',                 -- strict/balanced/generous
  presets = {
    -- Strict: Lower conditions more common (CVG 5-8 average)
    strict = { 
      [0]=12,  [10]=12, [20]=10,   [30]=9,  [40]=8,  [50]=7,   
      [60]=6,  [70]=5,   [80]=3,   [90]=2,  [100]=1   
    },
    -- Balanced: Even distribution across all conditions
    balanced = { 
      [0]=2,   [10]=3,  [20]=5,   [30]=7,   [40]=9,  [50]=10,  
      [60]=10, [70]=9,   [80]=7,   [90]=5,  [100]=3   
    },
    -- Generous: Higher conditions more common (CVG 8-10 frequent)
    generous = { 
      [0]=1,   [10]=2,  [20]=3,   [30]=4,   [40]=5,  [50]=7,   
      [60]=9,  [70]=12, [80]=16,  [90]=19, [100]=22  
    }
  }
}

Card Metadata Schema

When a card is generated (opened or created), the server assigns standardized metadata. If metadata is missing, the script rolls condition using Config.Condition weights.

Core Fields

  • • condition: 1–100 (card condition)
  • • description: Auto-generated "Condition X%"
  • • rarity: Normal/Uncommon/Rare/Epic/Legendary/Holo/OriginalArt
  • • brand: jg_warlords, jg_shin_genesis, etc.
  • • style: Normal, OriginalArt, etc.
  • • effectType: VStar, Rainbow_Rare, etc.

Optional Fields

  • • stats: level, hp, attack, defense
  • • colors: color1, color2, color3, color4, color5
  • • grade: CVG grade (1-10) for graded cards
  • • gradeLabel: CVG label (e.g., "CVG Gem Mint 10")
  • • serial: Unique case serial number
  • • gradeDate: Grading timestamp (DD/MM/YYYY)

CVG Grading System (Card Vault Grading)

Submitting a card to the grading shop requires an empty grading case and returns a slabbed case item containing the original card metadata with CVG grade.

Grading Process Requirements

  • • Empty grading case item required for submission
  • • Time-based grading varies by rarity (6-15 seconds)
  • • 40/60 weighted gamble based on condition ranges
  • • Holo cards cannot get CVG 10 unless condition is 100%
  • • Unique serial number generated for each graded case

CVG Grade Labels

  • • CVG 10: Gem Mint 10
  • • CVG 9: Mint 9
  • • CVG 8: NM-MT 8
  • • CVG 7: NM 7
  • • CVG 6: EX-MT 6
  • • CVG 5: EX 5
  • • CVG 4: VG-EX 4
  • • CVG 3: VG 3
  • • CVG 2: Good 2
  • • CVG 1: Poor 1

Grading Shop Configuration

The grading shop uses time-based pricing where higher rarity cards cost more and take longer to grade. Requires empty grading cases for submission.

Time-Based Pricing Structure

Config.GradingShop = {
  enabled = true,
  currency = 'cash',
  prices = {
    Normal      = { price = 500,    timeSec = 6  },
    Uncommon    = { price = 1200,   timeSec = 8  },
    Rare        = { price = 2500,   timeSec = 9  },
    Epic        = { price = 4000,   timeSec = 10 },
    Legendary   = { price = 6000,   timeSec = 12 },
    Holo        = { price = 8000,   timeSec = 14 },
    OriginalArt = { price = 9000,   timeSec = 15 }
  }
}

Grading Case Images

Config.GradingCase = {
  case_pack = 'jim_g_trading_cards_grading_pack.webp',
  case_label = 'jim_g_trading_cards_grading_pack_label.webp',
  case_texture = 'jim_g_trading_cards_grading_pack_t.webp'
}

Economy & Pricing System

Sell Shop Dynamic Pricing

Calculates value on the fly from rarity and condition using dynamicSellPriceWithMeta function.

  • • Base value multiplied by rarity factor
  • • Condition factor: 0.6 + 0.09 × grade (1-10 scale)
  • • CVG grade significantly impacts sell value
  • • Real-time market fluctuations available

CVG Grade Sell Multipliers

When selling graded slabs, the CVG grade applies a multiplier to the base sell price. Higher grades yield significantly more value.

Config.CVG.gradeMultipliers = {
  [1]  = 0.5,    -- Poor: half base value
  [2]  = 0.7,    -- Good
  [3]  = 0.85,   -- VG
  [4]  = 1.0,    -- VG-EX: base value
  [5]  = 1.2,    -- EX
  [6]  = 1.5,    -- EX-MT
  [7]  = 2.0,    -- NM: double base value
  [8]  = 3.0,    -- NM-MT: triple
  [9]  = 5.0,    -- Mint: 5x
  [10] = 10.0    -- Gem Mint: 10x base value
}

CVG Binder & Case Splitter

CVG Binder

A dedicated binder for storing and displaying graded CVG slabs. Works like a standard binder but exclusively holds slabbed items.

  • • Stores graded CVG slabs only
  • • Displays grade, serial, and grade date
  • • Same theme and checklist features as card binders
  • • Preserves all slab metadata when stored

CVG Case Splitter

A consumable tool that breaks open a graded slab to retrieve the original card inside.

  • • Splits a CVG slab back into the raw card
  • • Card retains original condition and metadata
  • • CVG grade, serial, and gradeDate are removed
  • • Splitter item consumed on use (configurable)

Data Persistence

Binder System Storage

  • • Removing a card from binder reconstructs item from stored metadata
  • • Using cards decrements condition and persists via SetMetadata
  • • SQL-free metadata storage using inventory system
  • • All metadata uses version 2 format — legacy items auto-migrate on first use

🎯 Next Steps

After understanding the metadata and grading system: