Files
crystal-blades/README.md
T
arch_agent 18708e2d19 v2.0 — Complete rewrite: Clone Satori + Nehan instead of building from scratch
Key changes:
- Katana:  Items.Preset_Katana_Saburo_Legendary (Satori clone)
  → Retains all bleeding, hemorrhaging, hidden GameplayLogicPackages
- Knife:  Items.Preset_Tanto_Saburo_Retrofix (Nehan clone)
  → Retains thrown bleeding, hemorrhaging, health restoration
- Only displayName/localizedDescription overridden
- Localization in r6/loc/en-us/ and r6/loc/de-de/ (proper LocKey resolution)
- Removed all custom statModifiers (they were ignored anyway)
- Removed IconicWeaponModAbilityBase approach
- Removed LocalizationOverride block
- Clean file structure matching CDPR conventions

Thanks to ChatGPT for the correct approach:
- Stats via statModifiers were being ignored
- HealOnKill/HealthRegen don't exist as BaseStats
- Nehan heals via GameplayLogicPackage, not stats
- ArmorPenetration is not the right stat name post-2.0
- Cloning existing Iconics preserves all hidden behavior
2026-07-21 22:06:11 +02:00

2.3 KiB

Crystal Blades — Kristallklingen

Two new Iconic weapons for Cyberpunk 2077, cloned from Satori and Nehan.

Weapons

Kristallschneider (Crystal Cleaver) — Katana

  • Base: Satori (Items.Preset_Katana_Saburo_Legendary)
  • Retains: Bleeding on hit, all hidden GameplayLogicPackages
  • New: Custom name and description

Phantom Splitter — Wurfdolch

  • Base: Nehan (Items.Preset_Tanto_Saburo_Retrofix)
  • Retains: Thrown hits apply Bleeding, hemorrhaging on already-bleeding targets, health restoration
  • New: Custom name and description

Requirements

  • TweakXL
  • ArchiveXL (for LocKey resolution)
  • RED4ext

Installation

Copy the following folders to your Cyberpunk 2077 game directory:

r6/tweaks/crystal_blades/crystal_blades.yaml  → r6/tweaks/crystal_blades/
r6/loc/en-us/crystal_blades.json              → r6/loc/en-us/
r6/loc/de-de/crystal_blades.json              → r6/loc/de-de/

Spawn Commands (CET Console)

Game.AddToInventory("Items.Preset_Crystal_Katana", 1)
Game.AddToInventory("Items.Preset_Crystal_Knife", 1)

File Structure

cp2077-crystal-blades/
├── r6/
│   ├── tweaks/
│   │   └── crystal_blades/
│   │       └── crystal_blades.yaml      ← Weapon definitions (clone Satori + Nehan)
│   └── loc/
│       ├── en-us/
│       │   └── crystal_blades.json      ← English names/descriptions
│       └── de-de/
│           └── crystal_blades.json      ← German names/descriptions
├── archive/
│   └── pc/
│       └── mod/                          ← (future: custom meshes/textures)
└── README.md

How It Works

Instead of building weapons from scratch, this mod clones Satori and Nehan:

  1. $base: Items.Preset_Katana_Saburo_Legendary copies the ENTIRE Satori record

    • All hidden GameplayLogicPackages (bleeding, hemorrhaging)
    • All statModifiers from the base weapon
    • All scripts and effectors
  2. Only displayName and localizedDescription are overridden

  3. LocKeys are resolved via r6/loc/ JSON files (not ArchiveXL)

TODO

  • Custom 3D mesh (Blender → WolvenKit)
  • Custom textures (ComfyUI — crystal look)
  • Custom inventory icons
  • ArchiveXL appearance definition (.xl)
  • Virtual Atelier store entry