CHR/NPC
Aus FreedsaWiki
Die Schicksalsklinge
CHR/NPC Dateien sind 1754 Bytes lang und besitzen keinen Header an dem die Spiel-Version erkannt werden kann.
| 0x0 | 16 byte Character-Array | Name | Dateistruktur: 1754 bytes |
| 0x10 | 16 byte Character-Array | Name | |
| 0x20 | 1 byte (?) | Anzahl belegter Gegenstandsslots | |
| 0x21 | 1 byte integer (unsigned) | Typus | |
| 0x22 | 1 byte integer (unsigned) | Geschlecht | |
| 0x23 | 1 byte integer (unsigned) | Größe (in cm) | |
| 0x24 | 2 byte integer (unsigned) | Gewicht (in Unzen) | |
| 0x26 | 1 byte integer (unsigned) | Gottheit | |
| 0x27 | 1 byte integer (unsigned) | Stufe | |
| 0x28 | 4 byte integer (?) | Abenteuerpunkte | |
| 0x2C | 4 byte integer (?) | Geld (in Hellern) | |
| 0x30 | 1 byte integer (?) | RS-Bonus1 (RS-Bonus = RS-Bonus1 + RS-Bonus2) | |
| 0x31 | 1 byte integer (?) | RS-Bonus2 (RS-Bonus = RS-Bonus1 + RS-Bonus2) | |
| 0x32 | 1 byte integer (signed) | Unbekannt | |
| 0x33 | 1 byte integer (?) | Verbleibende BP in Kampfrunde | |
| 0x34 | 1 byte integer (signed char) | Mut (normaler Wert) | |
| 0x35 | 1 byte integer (signed char) | Mut (momentaner Wert) | |
| 0x36 | 1 byte integer (signed char) | Mut (Bonus/Malus) | |
| 0x37 | 1 byte integer (signed char) | Klugheit (normaler Wert) | |
| 0x38 | 1 byte integer (signed char) | Klugheit (momentaner Wert) | |
| 0x39 | 1 byte integer (signed char) | Klugheit (Bonus/Malus) | |
| 0x3A | 1 byte integer (signed char) | Charisma (normaler Wert) | |
| 0x3B | 1 byte integer (signed char) | Charisma (momentaner Wert) | |
| 0x3C | 1 byte integer (signed char) | Charisma (Bonus/Malus) | |
| 0x3D | 1 byte integer (signed char) | Fingerfertigkeit (normaler Wert) | |
| 0x3E | 1 byte integer (signed char) | Fingerfertigkeit (momentaner Wert) | |
| 0x3F | 1 byte integer (signed char) | Fingerfertigkeit (Bonus/Malus) | |
| 0x40 | 1 byte integer (signed char) | Gewandtheit (normaler Wert) | |
| 0x41 | 1 byte integer (signed char) | Gewandtheit (momentaner Wert) | |
| 0x42 | 1 byte integer (signed char) | Gewandtheit (Bonus/Malus) | |
| 0x43 | 1 byte integer (signed char) | Intuition (normaler Wert) | |
| 0x44 | 1 byte integer (signed char) | Intuition (momentaner Wert) | |
| 0x45 | 1 byte integer (signed char) | Intuition (Bonus/Malus) | |
| 0x46 | 1 byte integer (signed char) | Körperkraft (normaler Wert) | |
| 0x47 | 1 byte integer (signed char) | Körperkraft (momentaner Wert) | |
| 0x48 | 1 byte integer (signed char) | Körperkraft (Bonus/Malus) | |
| 0x49 | 1 byte integer (signed char) | Aberglaube (normaler Wert) | |
| 0x4A | 1 byte integer (signed char) | Aberglaube (momentaner Wert) | |
| 0x4B | 1 byte integer (signed char) | Aberglaube (Bonus/Malus) | |
| 0x4C | 1 byte integer (signed char) | Höhenangst (normaler Wert) | |
| 0x4D | 1 byte integer (signed char) | Höhenangst (momentaner Wert) | |
| 0x4E | 1 byte integer (signed char) | Höhenangst (Bonus/Malus) | |
| 0x4F | 1 byte integer (signed char) | Raumangst (normaler Wert) | |
| 0x50 | 1 byte integer (signed char) | Raumangst (momentaner Wert) | |
| 0x51 | 1 byte integer (signed char) | Raumangst (Bonus/Malus) | |
| 0x52 | 1 byte integer (signed char) | Goldgier (normaler Wert) | |
| 0x53 | 1 byte integer (signed char) | Goldgier (momentaner Wert) | |
| 0x54 | 1 byte integer (signed char) | Goldgier (Bonus/Malus) | |
| 0x55 | 1 byte integer (signed char) | Totenangst (normaler Wert) | |
| 0x56 | 1 byte integer (signed char) | Totenangst (momentaner Wert) | |
| 0x57 | 1 byte integer (signed char) | Totenangst (Bonus/Malus) | |
| 0x58 | 1 byte integer (signed char) | Neugier (normaler Wert) | |
| 0x59 | 1 byte integer (signed char) | Neugier (momentaner Wert) | |
| 0x5A | 1 byte integer (signed char) | Neugier (Bonus/Malus) | |
| 0x5B | 1 byte integer (signed char) | Jähzorn (normaler Wert) | |
| 0x5C | 1 byte integer (signed char) | Jähzorn (momentaner Wert) | |
| 0x5D | 1 byte integer (signed char) | Jähzorn (Bonus/Malus) | |
| 0x5E | 2 byte integer (?) | Lebensenergie | |
| 0x60 | 2 byte integer (?) | Lebenspunkte | |
| 0x62 | 2 byte integer (?) | Astralenergie | |
| 0x64 | 2 byte integer (?) | Astralspunkte | |
| 0x66 | 1 byte integer (signed) | Magieresistenz | |
| 0x67 | 1 byte integer (?) | Basiswert Atacke/Parade | |
| 0x68 | 7 x 1 byte integer (?) | Attackewerte | |
| 0x6F | 7 x 1 byte integer (?) | Paradewerte | |
| 0x76 | 1 byte integer (signed) | Attacke (Bonus/Malus) der Waffe | |
| 0x77 | 1 byte integer (signed) | Parade (Bonus/Malus) der Waffe | |
| 0x78 | 1 byte integer (signed) | Gattung der aktuellen Waffe | |
| 0x79 | 1 byte integer (signed) | momentaner Attackenmodifikator (0x00 = normal; 0x02 = aggressiv; 0xFE = vorsichtig) | |
| 0x7A | 1 bytes integer (signed) | permanenter LE Verlust | |
| 0x7B | 1 bytes | Unbekannt | |
| 0x7C | 1 bytes | Unbekannt | |
| 0x7D | 1 bytes | Unbekannt | |
| 0x7E | 1 bytes | Unbekannt (Unbenutzt) | |
| 0x7F | 1 byte integer (unsigned) | Hunger (in Prozent) | |
| 0x80 | 1 byte integer (unsigned) | Durst (in Prozent) | |
| 0x81 | 1 bytes | Unbekannt | |
| 0x82 | 1 byte | Blickrichtung | |
| 0x83 | 1 byte | Anzahl verbleibender Aktionen pro Kampfrunde (wird im Kampf geändert) | |
| 0x84 | 1 bytes | Unbekannt | |
| 0x85 | 1 byte integer (signed) | Unbekannt | |
| 0x86 | 1 byte integer (signed) | Unbekannt | |
| 0x87 | 1 byte | Nummer der Heldengruppe | |
| 0x88 | 1 byte integer (?) | Unbekannt | |
| 0x89 | 1 byte integer (?) | Unbekannt | |
| 0x8A | 1 byte integer (unsigned) | Position in der Heldengruppe (0x01 bis 0x06, 0x00 = nicht in der Heldengruppe) | |
| 0x8B | 4 bytes integer (?) | Unbekannt | |
| 0x8F | 4 bytes integer (?) | Unbekannt | |
| 0x93 | 1 byte | Unbekannt | |
| 0x94 | 1 byte | Unbekannt | |
| 0x95 | 1 byte | Unbekannt | |
| 0x96 | 1 byte | Verbleibende Kampfrunden geblendet | |
| 0x97 | 1 byte | Verbleibende Kampfrunden Ecliptifactus | |
| 0x98 | 1 byte | Unbekannt | |
| 0x99 | 1 byte integer (signed) | Schutz vor magischem Feuer (Feuerbann) 0/1 | |
| 0x9A | 1 byte integer | Unsichtbar (Visibili Vanitar) 0 / 1 | |
| 0x9B | 1 byte | Unbekannt | |
| 0x9C | 1 byte | Unbekannt | |
| 0x9D | 1 byte | Unbekannt | |
| 0x9E | 1 byte | Unbekannt | |
| 0x9F | 1 byte | Unbekannt | |
| 0xA0 | 1 byte (bool) | Axxeleratus aktiviert = 1 | |
| 0xA1 | 1 byte (bool) | Betrunken | |
| 0xA2 | 8 bytes | Unbekannt (Unbenutzt) | |
| 0xAA | 1 byte bitfield | Status (Bitflags: Bit0 = tot, Bit1 = schläft, Bit2 = versteinert, Bit4 = Chamaelioni, Bit5 = verflucht, Bit6 = bewusstlos) | |
| 0xAB | 1 byte bitfield | Status (Bitflags: Bit1 = Duplicatus) | |
| 0xAC | 2 bytes | Unbekannt (Unbenutzt) | |
| 0xAE | 8× 5 byte struct | Slots für Krankheiten | |
| 0xD6 | 10× 5 byte struct | Slots für Gifte | |
| 0x108 | 9× 1 byte integer (signed) | Talentwerte Kampf | |
| 0x111 | 10× 1 byte integer (signed) | Talentwerte Körper | |
| 0x11B | 7× 1 byte integer (signed) | Talentwerte Gesellschaft | |
| 0x122 | 6× 1 byte integer (signed) | Talentwerte Natur | |
| 0x128 | 9× 1 byte integer (signed) | Talentwerte Wissen | |
| 0x131 | 9× 1 byte integer (signed) | Talentwerte Handwerk | |
| 0x13A | 2× 1 byte integer (signed) | Talentwerte Intuition | |
| 0x13C | 1 byte integer (signed) | Aufgesparte Talentsteigerungen | |
| 0x13D | 1 byte integer (unsigned) | Zauber[0] | |
| 0x13E | 5× 1 byte integer (signed) | Zauberfertigkeiten Antimagie | |
| 0x143 | 12× 1 byte integer (signed) | Zauberfertigkeiten Beherrschung | |
| 0x14F | 6× 1 byte integer (signed) | Zauberfertigkeiten Dämonologie | |
| 0x155 | 3× 1 byte integer (signed) | Zauberfertigkeiten Elemente | |
| 0x158 | 6× 1 byte integer (signed) | Zauberfertigkeiten Bewegung | |
| 0x15E | 5× 1 byte integer (signed) | Zauberfertigkeiten Heilung | |
| 0x163 | 7× 1 byte integer (signed) | Zauberfertigkeiten Hellsicht | |
| 0x16A | 4× 1 byte integer (signed) | Zauberfertigkeiten Illusion | |
| 0x16E | 9× 1 byte integer (signed) | Zauberfertigkeiten Kampf | |
| 0x177 | 2× 1 byte integer (signed) | Zauberfertigkeiten Verständigung | |
| 0x179 | 16× 1 byte integer (signed) | Zauberfertigkeiten Verwandlung | |
| 0x189 | 10× 1 byte integer (signed) | Zauberfertigkeiten Veränderung | |
| 0x193 | 1 byte integer (signed) | Aufgesparte Zaubersteigerungen | |
| 0x194 | 1 byte integer (unsigned) | Magische Schulung | |
| 0x195 | 1 byte integer (unsigned) | Stabzauber (aktiv beim Zauberstab, Magier) | |
| 0x196 | 14 bytes | Gegenstand Kopf (Helm) | |
| 0x1A4 | 14 bytes | Gegenstand Arm (Armschiene) | |
| 0x1B2 | 14 bytes | Gegenstand Körper (Rüstung) | |
| 0x1C0 | 14 bytes | Gegenstand rechte Hand | |
| 0x1CE | 14 bytes | Gegenstand linke Hand | |
| 0x1DC | 14 bytes | Gegenstand Beine (Hose) | |
| 0x1EA | 14 bytes | Gegenstand Füße (Schuhe) | |
| 0x1F8 | 14 bytes | Gegenstand Rucksack #1 | |
| 0x206 | 14 bytes | Gegenstand Rucksack #2 | |
| 0x214 | 14 bytes | Gegenstand Rucksack #3 | |
| 0x222 | 14 bytes | Gegenstand Rucksack #4 | |
| 0x230 | 14 bytes | Gegenstand Rucksack #5 | |
| 0x23E | 14 bytes | Gegenstand Rucksack #6 | |
| 0x24C | 14 bytes | Gegenstand Rucksack #7 | |
| 0x25A | 14 bytes | Gegenstand Rucksack #8 | |
| 0x268 | 14 bytes | Gegenstand Rucksack #9 | |
| 0x276 | 14 bytes | Gegenstand Rucksack #10 | |
| 0x284 | 14 bytes | Gegenstand Rucksack #11 | |
| 0x292 | 14 bytes | Gegenstand Rucksack #12 | |
| 0x2A0 | 14 bytes | Gegenstand Rucksack #13 | |
| 0x2AE | 14 bytes | Gegenstand Rucksack #14 | |
| 0x2BC | 14 bytes | Gegenstand Rucksack #15 | |
| 0x2CA | 14 bytes | Gegenstand Rucksack #16 | |
| 0x2D8 | 2 byte integer (?) | momentane Last | |
| 0x2DA | 1024 bytes | Charakter Bild (32x32 Pixel, 8 bpp, Palette #1) |
Infos von Kunar (Larian Forum)
Heldenportrait
Die Portraits stehen am Ende der Heldendatei (*.CHR) und umfassen offset 0002D0 0A bis 0006D0 09 (oder anders ausgedrückt ab 2d0 (720) + a (10), also 2da (730)). Es sind 32x32 Pixel, also die letzten 1024 Byte in der Datei.
Auch NSC-Portraits lassen sich so benutzen, indem man die NPC-Dateien aus dem TEMP-Verzeichnis kopiert. Sie entsprechen den CHR-Datei der Helden (erwähnte ich bereits früher in diesem Faden).
Die Portraits benutzen nur die 32 Farben, welche mit den Hexcodes 20-3F beschrieben werden.
Sterenschweif/Schatten über Riva
CHR/NPC Dateien sind 1519 Bytes lang und besitzen einen Header an dem erkannt werden kann welches Spiel in welcher Version die Datei erstellt hat.
CHR Dateien gibt es in Sternenschweif/Schatten über Riva nicht mehr: die Spielercharaktere werden im Unterverzeichnis GAMES in den CHARS*.DAT Dateien gespeichert (Dateigröße/1519 = enthaltene CHRs).
| 12 bytes | Identifier (= "DSA VERSION\0") | Header: 16 bytes |
| 1 byte | Unbekannt | |
| 1 byte | Version Spielnummer (Schweif = 2, Riva = 3) | |
| 1 byte | Version Major | |
| 1 byte | Version Minor | |
| ... | ||

