18708e2d19
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
77 lines
2.3 KiB
Markdown
77 lines
2.3 KiB
Markdown
# 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 |