Resourcen - AnimeJunkies-TV/ARF-Editor GitHub Wiki

Elemente

  • 0x00: Feuer
  • 0x01: Wasser
  • 0x02: Blitz
  • 0x03: Wind
  • 0x04: Eis
  • 0x05: Pflanze
  • 0x06: Erde
  • 0x07: Gift
  • 0x08: Medizin
  • 0xFF: Keins

Geschlechter

  • 0x00: Männlich
  • 0x01: Weiblich
  • 0x02: Divers
  • 0x03: Unbekannt

Seltenheiten

  • 0x00: Gewöhnlich
  • 0x01: Ungewöhnlich
  • 0x02: Selten
  • 0x03: Episch
  • 0x04: Legendär
  • 0x05: Mystisch

Attacken-Typen

  • 0x00: Angriff
  • 0x01: Verteidigung
  • 0x02: Heilung
  • 0x03: Boost
  • 0x04: Verkleinerung
  • 0x05: Status

Effekt-Typen

  • 1 << 0: Angriff
  • 1 << 1: Verteidigung
  • 1 << 2: Schnelligkeit
  • 1 << 3: LP
  • 1 << 4: Vebrennung
  • 1 << 5: Vergiftung
  • 1 << 6: Paralyse
  • 1 << 7: Verwirrung

Anzeige-Text Format

  • {executor}: Die Karte die die Attacke ausführt
  • {target}: Die Karte auf die die Attacke angewendet werden soll
  • {attack}: Der Name der Attacke

Chartable

Die Charactertabelle zum encodieren/decodieren von Text

Char Encodiert
0 0x21
1 0x22
2 0x23
3 0x24
4 0x25
5 0x26
6 0x27
7 0x28
8 0x29
9 0x2A
A 0x2B
B 0x2C
C 0x2D
D 0x2E
E 0x2F
F 0x30
G 0x31
H 0x32
I 0x33
J 0x34
K 0x35
L 0x36
M 0x37
N 0x38
O 0x39
P 0x3A
Q 0x3B
R 0x3C
S 0x3D
T 0x3E
U 0x3F
V 0x40
W 0x41
X 0x42
Y 0x43
Z 0x44
a 0x45
b 0x46
c 0x47
d 0x48
e 0x49
f 0x4A
g 0x4B
h 0x4C
i 0x4D
j 0x4E
k 0x4F
l 0x50
m 0x51
n 0x52
o 0x53
p 0x54
q 0x55
r 0x56
s 0x57
t 0x58
u 0x59
v 0x5A
w 0x5B
x 0x5C
y 0x5D
z 0x5E
ß 0x5F
ä 0x60
ö 0x61
ü 0x62
Ä 0x63
Ö 0x64
Ü 0x65
\n 0x6A
0x70
, 0x71
. 0x72
{ 0x80
} 0x81
- 0x82
( 0x83
) 0x84

Checksum

Die Checksum wird berrechnet mit allem vom Block außer die letzten 2 bytes (die Checksum selber)

Python Code:

def CRC16_CCITT(data: bytearray, start: int = 0, length: int = None):
    top = 0xFF
    bot = 0xFF

    end = start + (length or len(data))
    for i in range(start, end):
        x = data[i] ^ top
        x ^= (x >> 4)

        top = (bot ^ (x >> 3) ^ (x << 4)) % 256
        bot = (x ^ (x << 5)) % 256

    return (top << 8 | bot)

C# Code:

public static ushort CRC16_CCITT(byte[] data, int start = 0, int? lenght = null)
{
    byte top = 0xFF;
    byte bot = 0xFF;

    int end = start + (lenght != null ? lenght.Value : data.Length);
    for(int i = 0; i < end; i++)
    {
        var x = data[i] ^ top;
        x ^= (x >> 4);

        top = (byte)(bot ^ (x >> 3) ^ (x << 4));
	bot = (byte)(x ^ (x << 5));
    }
    return (ushort)(top << 8 | bot);
}
⚠️ **GitHub.com Fallback** ⚠️