commit d02be9df458d8c537fcfbc0d982c26dd8a71e81a Author: arch_agent Date: Tue Jul 21 16:02:57 2026 +0200 Crystal Blades v0.1 — TweakXL stats + localization Two new weapons: - Kristallschneider (Katana): monomolecular crystal blade, ignores armor, 100% bleed - Phantom Splitter (Wurfdolch): monomolecular crystal blade, ignores armor, 100% bleed Includes: - TweakXL YAML with weapon stats and status effects - Localization (EN + DE) - README with installation guide diff --git a/README.md b/README.md new file mode 100644 index 0000000..23fc4eb --- /dev/null +++ b/README.md @@ -0,0 +1,58 @@ +# Crystal Blades — README + +## Waffen + +### Kristallschneider (Katana) +- **Konzept:** Katana mit monomolekularer Kristallklinge +- **Stats:** Hohes Damage, mittlere Angriffsgeschwindigkeit +- **Spezial:** Ignoriert 100% Rüstung, 100% Blutung bei jedem Treffer +- **Qualität:** Legendary + +### Phantom Splitter (Wurfdolch) +- **Konzept:** Wurfdolch mit monomolekularer Kristallklinge +- **Stats:** Schnell, geringer Schaden aber hoher Crit +- **Spezial:** Ignoriert 100% Rüstung, 100% Blutung bei jedem Treffer +- **Qualität:** Legendary + +## Installation + +### Benötigt: +- ArchiveXL +- TweakXL +- Codeware +- red4ext +- redscript + +### Installation: +1. Kopiere den `r6/tweaks/crystal_blades/` Ordner nach `r6/tweaks/crystal_blades/` im Spielordner +2. Kopiere die `localization/crystal_blades.json` nach `r6/config/settings/` (oder ins localization Verzeichnis) +3. Starte das Spiel — TweakXL lädt die Waffen-Definitionen automatisch + +### Waffen erhalten: +Im Spiel die CET-Konsole öffnen und eingeben: +``` +Game.GetTarget():AddMod("Items.Preset_Crystal_Katana") +Game.GetTarget():AddMod("Items.Preset_Crystal_ThrowingKnife") +``` + +Oder über ArchiveXL/Virtual Atelier als Shop-Item hinzufügen. + +## Status + +- [x] TweakXL Stats definiert +- [x] Lokalisierung (EN + DE) +- [x] Status Effects (Bleed + Armor Pierce) +- [ ] 3D Mesh (Blender → WolvenKit) +- [ ] Texturen (ComfyUI) +- [ ] Icon +- [ ] ArchiveXL Item-Definition (.xl) +- [ ] Virtual Atelier Shop-Eintrag + +## Nächste Schritte + +1. **Blender:** Kristall-Katana Mesh erstellen (transparente Klinge, leuchtende Schneide) +2. **Blender:** Wurfdolch Mesh erstellen (kompakt, Kristallklinge) +3. **WolvenKit:** Meshes ins CP2077 .mesh Format konvertieren +4. **ComfyUI:** Texturen generieren (Kristall-Look, leuchtend) +5. **ArchiveXL:** .xl Datei für das Item-Appearance +6. **Testen:** Im Spiel prüfen ob Waffen funktionieren \ No newline at end of file diff --git a/localization/crystal_blades.json b/localization/crystal_blades.json new file mode 100644 index 0000000..7465ed2 --- /dev/null +++ b/localization/crystal_blades.json @@ -0,0 +1,22 @@ +{ + "en-us": { + "crystal_katana_name": "Crystal Cleaver", + "crystal_katana_desc": "A katana with a monomolecular crystal blade edge. Forged in the heart of Night City's deepest black market, this weapon cuts through armor like butter and guarantees bleeding on every strike.", + "crystal_katana_iconic": "Monomolecular Edge", + "crystal_katana_iconic_desc": "Ignores all armor. Every hit causes bleeding.", + "crystal_knife_name": "Phantom Splitter", + "crystal_knife_desc": "A throwing knife with a monomolecular crystal edge. Designed for silent takedowns, it pierces any armor and ensures your target bleeds out.", + "crystal_knife_iconic": "Monomolecular Edge", + "crystal_knife_iconic_desc": "Ignores all armor. Every hit causes bleeding." + }, + "de-de": { + "crystal_katana_name": "Kristallschneider", + "crystal_katana_desc": "Ein Katana mit monomolekularer Kristallklinge. Geschmiedet im Herzen des schwarzen Marktes von Night City, durchtrennt diese Waffe Rüstung wie Butter und garantiert Blutung bei jedem Treffer.", + "crystal_katana_iconic": "Monomolekulare Klinge", + "crystal_katana_iconic_desc": "Ignoriert alle Rüstung. Jeder Treffer verursacht Blutung.", + "crystal_knife_name": "Phantom Splitter", + "crystal_knife_desc": "Ein Wurfdolch mit monomolekularer Kristallklinge. Konstruiert für stille Eliminierungen, durchdringt er jede Rüstung und sorgt dafür, dass dein Ziel verblutet.", + "crystal_knife_iconic": "Monomolekulare Klinge", + "crystal_knife_iconic_desc": "Ignoriert alle Rüstung. Jeder Treffer verursacht Blutung." + } +} \ No newline at end of file diff --git a/r6/tweaks/crystal_blades/crystal_blades.yaml b/r6/tweaks/crystal_blades/crystal_blades.yaml new file mode 100644 index 0000000..47fadb8 --- /dev/null +++ b/r6/tweaks/crystal_blades/crystal_blades.yaml @@ -0,0 +1,141 @@ +# Crystal Blades — Kristallklingen +# TweakXL Definitionen für zwei neue Waffen: +# 1. "Kristallschneider" — Katana mit monomolekularer Klinge +# 2. "Phantom Splitter" — Wurfdolch mit monomolekularer Klinge +# Beide ignorieren Rüstung und verursachen 100% Blutung + +# ============================================================ +# WAFFE 1: Kristallschneider (Katana) +# ============================================================ + +Items.Preset_Crystal_Katana: + $base: Items.Preset_Katana_Default + displayName: LocKey#crystal_katana_name + localizedDescription: LocKey#crystal_katana_desc + quality: Quality.Legendary + appearanceResourceName: crystal_katana_app + + # Stats + dps: 350.0 + damagePerHit: 180.0 + attackSpeed: 1.2 + attacksPerSecond: 1.2 + + # Monomolekular: Ignoriert Rüstung + armorPenetration: 1.0 # 100% Rüstung ignorieren + + # 100% Bleed Chance + statusEffectApplicationChance: 1.0 + + # Damage Type + damageType: DamageType.Physical + + # Iconic Effekte + iconicName: LocKey#crystal_katana_iconic + iconicDescription: LocKey#crystal_katana_iconic_desc + + # Slots + slots: + - Items.IconicWeaponModSlot + + # Werte + mass: 2.5 + sellPrice: 5000 + buyPrice: 25000 + + # Crit + critChance: 25.0 + critDamageMultiplier: 2.0 + +# ============================================================ +# WAFFE 2: Phantom Splitter (Wurfdolch) +# ============================================================ + +Items.Preset_Crystal_ThrowingKnife: + $base: Items.Preset_Knife_Default + displayName: LocKey#crystal_knife_name + localizedDescription: LocKey#crystal_knife_desc + quality: Quality.Legendary + appearanceResourceName: crystal_knife_app + + # Stats — schnell aber weniger Damage pro Hit + dps: 280.0 + damagePerHit: 120.0 + attackSpeed: 2.5 + attacksPerSecond: 2.5 + + # Monomolekular: Ignoriert Rüstung + armorPenetration: 1.0 # 100% Rüstung ignorieren + + # 100% Bleed Chance + statusEffectApplicationChance: 1.0 + + # Damage Type + damageType: DamageType.Physical + + # Iconic Effekte + iconicName: LocKey#crystal_knife_iconic + iconicDescription: LocKey#crystal_knife_iconic_desc + + # Slots + slots: + - Items.IconicWeaponModSlot + + # Werte + mass: 0.5 + sellPrice: 3000 + buyPrice: 15000 + + # Crit — hoher Crit für Wurfdolch + critChance: 40.0 + critDamageMultiplier: 3.0 + +# ============================================================ +# Status Effects — 100% Bleed +# ============================================================ + +# Custom Status Effect: Garantierte Blutung bei jedem Treffer +Attacks.GuaranteedBleedingEffect: + $type: gamedataAttack_Record + attackType: AttackType.Melee + statusEffects: + - Attacks.GuaranteedBleedingEntry + +Attacks.GuaranteedBleedingEntry: + $type: gamedataStatusEffectAttackData_Record + statusEffect: BaseStatusEffect.Bleeding + applicationChance: 1.0 # 100% chance + duration: 10.0 # 10 seconds bleed + maxStacks: 5 # stackable + +# ============================================================ +# Armor Penetration — Rüstung komplett ignorieren +# ============================================================ + +# Custom Effekt: Rüstung ignorieren +Items.Crystal_ArmorPierce_Effect: + $type: gamedataStatusEffect_Record + duration: + $type: gamedataStatModifier_Record + modifierType: Additive + statType: StatusEffectDuration + value: 9999.0 # permanent while equipped + packages: + - Items.Crystal_ArmorPierce_Package + +Items.Crystal_ArmorPierce_Package: + $type: gamedataEffector_Record + effectorType: AddStatusEffect + applicationTarget: Target + statusEffect: Items.Crystal_ArmorPierce_StatEffect + +Items.Crystal_ArmorPierce_StatEffect: + $type: gamedataStatGroup_Record + stats: + - Items.Crystal_ArmorPierce_Stat + +Items.Crystal_ArmorPierce_Stat: + $type: gamedataConstantStatModifier_Record + modifierType: Additive + statType: Armor + value: -9999.0 # Setzt Rüstung auf 0 \ No newline at end of file