Commit 1dcbcb69 authored by wind2009's avatar wind2009

Merge remote-tracking branch 'upstream/master'

parents 9bf4a297 36195fcc
......@@ -6,30 +6,30 @@
class BufferIO {
public:
inline static int ReadInt32(unsigned char*& p) {
static int ReadInt32(unsigned char*& p) {
return buffer_read<int32_t>(p);
}
inline static short ReadInt16(unsigned char*& p) {
static short ReadInt16(unsigned char*& p) {
return buffer_read<int16_t>(p);
}
inline static char ReadInt8(unsigned char*& p) {
static char ReadInt8(unsigned char*& p) {
return buffer_read<char>(p);
}
inline static unsigned char ReadUInt8(unsigned char*& p) {
static unsigned char ReadUInt8(unsigned char*& p) {
return buffer_read<unsigned char>(p);
}
inline static void WriteInt32(unsigned char*& p, int val) {
static void WriteInt32(unsigned char*& p, int val) {
buffer_write<int32_t>(p, val);
}
inline static void WriteInt16(unsigned char*& p, short val) {
static void WriteInt16(unsigned char*& p, short val) {
buffer_write<int16_t>(p, val);
}
inline static void WriteInt8(unsigned char*& p, char val) {
static void WriteInt8(unsigned char*& p, char val) {
buffer_write<char>(p, val);
}
// return: string length
template<typename T1, typename T2>
inline static int CopyWStr(const T1* src, T2* pstr, int bufsize) {
static int CopyWStr(const T1* src, T2* pstr, int bufsize) {
int l = 0;
while(src[l] && l < bufsize - 1) {
pstr[l] = (T2)src[l];
......@@ -39,7 +39,7 @@ public:
return l;
}
template<typename T1, typename T2>
inline static int CopyWStrRef(const T1* src, T2*& pstr, int bufsize) {
static int CopyWStrRef(const T1* src, T2*& pstr, int bufsize) {
int l = 0;
while(src[l] && l < bufsize - 1) {
pstr[l] = (T2)src[l];
......@@ -49,22 +49,117 @@ public:
*pstr = 0;
return l;
}
template<typename T>
static bool CheckUTF8Byte(const T* str, int len) {
for (int i = 1; i < len; ++i) {
if ((str[i] & 0xc0U) != 0x80U)
return false;
}
return true;
}
static unsigned int ConvertUTF8(const char*& p) {
unsigned int cur = 0;
if ((p[0] & 0x80U) == 0) {
cur = p[0] & 0xffU;
p++;
}
else if ((p[0] & 0xe0U) == 0xc0U) {
if (!CheckUTF8Byte(p, 2)) {
p++;
return UINT32_MAX;
}
cur = ((p[0] & 0x1fU) << 6) | (p[1] & 0x3fU);
p += 2;
if(cur < 0x80U)
return UINT32_MAX;
}
else if ((p[0] & 0xf0U) == 0xe0U) {
if (!CheckUTF8Byte(p, 3)) {
p++;
return UINT32_MAX;
}
cur = ((p[0] & 0xfU) << 12) | ((p[1] & 0x3fU) << 6) | (p[2] & 0x3fU);
p += 3;
if (cur < 0x800U)
return UINT32_MAX;
}
else if ((p[0] & 0xf8U) == 0xf0U) {
if (!CheckUTF8Byte(p, 4)) {
p++;
return UINT32_MAX;
}
cur = ((p[0] & 0x7U) << 18) | ((p[1] & 0x3fU) << 12) | ((p[2] & 0x3fU) << 6) | (p[3] & 0x3fU);
p += 4;
if (cur < 0x10000U)
return UINT32_MAX;
}
else {
p++;
return UINT32_MAX;
}
return cur;
}
static bool IsHighSurrogate(unsigned int c) {
return (c >= 0xd800U && c <= 0xdbffU);
}
static bool IsLowSurrogate(unsigned int c) {
return (c >= 0xdc00U && c <= 0xdfffU);
}
static bool IsUnicodeChar(unsigned int c) {
if(IsHighSurrogate(c))
return false;
if (IsLowSurrogate(c))
return false;
if (c > 0x10ffffU)
return false;
return true;
}
// UTF-16/UTF-32 to UTF-8
// return: string length
static int EncodeUTF8String(const wchar_t* wsrc, char* str, int size) {
char* pstr = str;
while (*wsrc != 0) {
unsigned cur = *wsrc;
auto pw = wsrc;
auto pstr = str;
while (*pw != 0) {
unsigned cur = 0;
int codepoint_size = 0;
if (sizeof(wchar_t) == 2) {
if (IsHighSurrogate(pw[0])) {
if (pw[1] == 0)
break;
if (IsLowSurrogate(pw[1])) {
cur = ((pw[0] & 0x3ffU) << 10) | (pw[1] & 0x3ffU);
cur += 0x10000;
pw += 2;
}
else {
pw++;
continue;
}
}
else if (IsLowSurrogate(pw[0])) {
pw++;
continue;
}
else {
cur = *pw;
pw++;
}
}
else {
cur = *pw;
pw++;
}
if (!IsUnicodeChar(cur))
continue;
if (cur < 0x80U)
codepoint_size = 1;
else if (cur < 0x800U)
codepoint_size = 2;
else if (cur < 0x10000U && (cur < 0xd800U || cur > 0xdfffU))
else if (cur < 0x10000U)
codepoint_size = 3;
else
codepoint_size = 4;
if (pstr - str + codepoint_size > size - 1)
if ((int)(pstr - str) + codepoint_size > size - 1)
break;
switch (codepoint_size) {
case 1:
......@@ -80,13 +175,6 @@ public:
pstr[2] = (cur & 0x3f) | 0x80;
break;
case 4:
if (sizeof(wchar_t) == 2) {
cur = 0;
cur |= (*wsrc & 0x3ffU) << 10;
++wsrc;
cur |= *wsrc & 0x3ffU;
cur += 0x10000;
}
pstr[0] = ((cur >> 18) & 0x7) | 0xf0;
pstr[1] = ((cur >> 12) & 0x3f) | 0x80;
pstr[2] = ((cur >> 6) & 0x3f) | 0x80;
......@@ -96,10 +184,9 @@ public:
break;
}
pstr += codepoint_size;
wsrc++;
}
*pstr = 0;
return pstr - str;
return (int)(pstr - str);
}
// UTF-8 to UTF-16/UTF-32
// return: string length
......@@ -107,9 +194,11 @@ public:
const char* p = src;
wchar_t* wp = wstr;
while(*p != 0) {
const unsigned cur = *p & 0xffU;
unsigned int cur = ConvertUTF8(p);
int codepoint_size = 0;
if ((cur & 0xf8) == 0xf0) {
if (!IsUnicodeChar(cur))
continue;
if (cur >= 0x10000) {
if (sizeof(wchar_t) == 2)
codepoint_size = 2;
else
......@@ -117,30 +206,18 @@ public:
}
else
codepoint_size = 1;
if (wp - wstr + codepoint_size > size - 1)
if ((int)(wp - wstr) + codepoint_size > size - 1)
break;
if((cur & 0x80) == 0) {
*wp = *p;
p++;
} else if((cur & 0xe0) == 0xc0) {
*wp = ((p[0] & 0x1fU) << 6) | (p[1] & 0x3fU);
p += 2;
} else if((cur & 0xf0) == 0xe0) {
*wp = ((p[0] & 0xfU) << 12) | ((p[1] & 0x3fU) << 6) | (p[2] & 0x3fU);
p += 3;
} else if((cur & 0xf8) == 0xf0) {
if (sizeof(wchar_t) == 2) {
unsigned unicode = ((p[0] & 0x7U) << 18) | ((p[1] & 0x3fU) << 12) | ((p[2] & 0x3fU) << 6) | (p[3] & 0x3fU);
unicode -= 0x10000;
*wp++ = (unicode >> 10) | 0xd800;
*wp = (unicode & 0x3ff) | 0xdc00;
} else {
*wp = ((p[0] & 0x7U) << 18) | ((p[1] & 0x3fU) << 12) | ((p[2] & 0x3fU) << 6) | (p[3] & 0x3fU);
}
p += 4;
} else
p++;
wp++;
if (codepoint_size == 1) {
wp[0] = cur;
wp++;
}
else {
cur -= 0x10000U;
wp[0] = (cur >> 10) | 0xd800;
wp[1] = (cur & 0x3ff) | 0xdc00;
wp += 2;
}
}
*wp = 0;
return wp - wstr;
......
......@@ -58,6 +58,20 @@ inline int myswprintf(wchar_t(&buf)[N], const wchar_t* fmt, TR... args) {
#include "../ocgcore/ocgapi.h"
#include "../ocgcore/common.h"
inline FILE* myfopen(const char* filename, const char* mode) {
FILE* fp{};
#ifdef _WIN32
wchar_t wname[256]{};
wchar_t wmode[20]{};
BufferIO::DecodeUTF8(filename, wname);
BufferIO::CopyWStr(mode, wmode, sizeof wmode / sizeof wmode[0]);
fp = _wfopen(wname, wmode);
#else
fp = fopen(filename, mode);
#endif
return fp;
}
#include <irrlicht.h>
using namespace irr;
using namespace core;
......
......@@ -1348,6 +1348,7 @@ void DeckBuilder::FilterCards() {
element_t(): type(type_t::all), exclude(false) {}
};
const wchar_t* pstr = mainGame->ebCardName->getText();
int trycode = BufferIO::GetVal(pstr);
std::wstring str = std::wstring(pstr);
std::vector<element_t> query_elements;
if(mainGame->gameConf.search_multiple_keywords) {
......@@ -1492,16 +1493,12 @@ void DeckBuilder::FilterCards() {
match = CardNameContains(text.name.c_str(), elements_iterator->keyword.c_str());
} else if (elements_iterator->type == element_t::type_t::setcode) {
match = data.is_setcodes(elements_iterator->setcodes);
} else if (trycode && (data.code == trycode || data.alias == trycode && data.is_alternative())){
match = true;
} else {
int trycode = BufferIO::GetVal(elements_iterator->keyword.c_str());
bool tryresult = dataManager.GetData(trycode, 0);
if(!tryresult) {
match = CardNameContains(text.name.c_str(), elements_iterator->keyword.c_str())
|| text.text.find(elements_iterator->keyword) != std::wstring::npos
|| data.is_setcodes(elements_iterator->setcodes);
} else {
match = data.code == trycode || data.alias == trycode;
}
match = CardNameContains(text.name.c_str(), elements_iterator->keyword.c_str())
|| text.text.find(elements_iterator->keyword) != std::wstring::npos
|| data.is_setcodes(elements_iterator->setcodes);
}
if(elements_iterator->exclude)
match = !match;
......
......@@ -263,15 +263,9 @@ void DeckManager::GetDeckFile(wchar_t* ret, irr::gui::IGUIComboBox* cbCategory,
}
}
FILE* DeckManager::OpenDeckFile(const wchar_t* file, const char* mode) {
#ifdef WIN32
wchar_t wmode[20]{};
BufferIO::CopyWStr(mode, wmode, sizeof wmode / sizeof wmode[0]);
FILE* fp = _wfopen(file, wmode);
#else
char file2[256];
BufferIO::EncodeUTF8(file, file2);
FILE* fp = fopen(file2, mode);
#endif
char fullname[256]{};
BufferIO::EncodeUTF8(file, fullname);
FILE* fp = myfopen(fullname, mode);
return fp;
}
IReadFile* DeckManager::OpenDeckReader(const wchar_t* file) {
......
......@@ -570,14 +570,9 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
const wchar_t* name = mainGame->lstSinglePlayList->getListItem(sel);
wchar_t fname[256];
myswprintf(fname, L"./single/%ls", name);
FILE *fp;
#ifdef _WIN32
fp = _wfopen(fname, L"rb");
#else
char filename[256];
BufferIO::EncodeUTF8(fname, filename);
fp = fopen(filename, "rb");
#endif
char fullname[256]{};
BufferIO::EncodeUTF8(fname, fullname);
FILE* fp = myfopen(fullname, "rb");
if(!fp) {
mainGame->stSinglePlayInfo->setText(L"");
break;
......
......@@ -28,7 +28,7 @@ void Replay::BeginRecord() {
if(!fp)
return;
#endif
pdata = replay_data;
pwrite = replay_data;
replay_size = 0;
comp_size = 0;
is_replaying = false;
......@@ -47,10 +47,10 @@ void Replay::WriteHeader(ReplayHeader& header) {
void Replay::WriteData(const void* data, int length, bool flush) {
if(!is_recording)
return;
if (length < 0 || (pdata - replay_data) + length > MAX_REPLAY_SIZE)
if (length < 0 || (int)(pwrite - replay_data) + length > MAX_REPLAY_SIZE)
return;
std::memcpy(pdata, data, length);
pdata += length;
std::memcpy(pwrite, data, length);
pwrite += length;
#ifdef _WIN32
DWORD size;
WriteFile(recording_fp, data, length, &size, NULL);
......@@ -61,49 +61,13 @@ void Replay::WriteData(const void* data, int length, bool flush) {
#endif
}
void Replay::WriteInt32(int data, bool flush) {
if(!is_recording)
return;
if ((pdata - replay_data) + 4 > MAX_REPLAY_SIZE)
return;
BufferIO::WriteInt32(pdata, data);
#ifdef _WIN32
DWORD size;
WriteFile(recording_fp, &data, sizeof(int), &size, NULL);
#else
fwrite(&data, sizeof(int), 1, fp);
if(flush)
fflush(fp);
#endif
WriteData(&data, sizeof data, flush);
}
void Replay::WriteInt16(short data, bool flush) {
if(!is_recording)
return;
if ((pdata - replay_data) + 2 > MAX_REPLAY_SIZE)
return;
BufferIO::WriteInt16(pdata, data);
#ifdef _WIN32
DWORD size;
WriteFile(recording_fp, &data, sizeof(short), &size, NULL);
#else
fwrite(&data, sizeof(short), 1, fp);
if(flush)
fflush(fp);
#endif
WriteData(&data, sizeof data, flush);
}
void Replay::WriteInt8(char data, bool flush) {
if(!is_recording)
return;
if ((pdata - replay_data) + 1 > MAX_REPLAY_SIZE)
return;
BufferIO::WriteInt8(pdata, data);
#ifdef _WIN32
DWORD size;
WriteFile(recording_fp, &data, sizeof(char), &size, NULL);
#else
fwrite(&data, sizeof(char), 1, fp);
if(flush)
fflush(fp);
#endif
WriteData(&data, sizeof data, flush);
}
void Replay::Flush() {
if(!is_recording)
......@@ -121,10 +85,7 @@ void Replay::EndRecord() {
#else
fclose(fp);
#endif
if(pdata - replay_data > 0 && pdata - replay_data <= MAX_REPLAY_SIZE)
replay_size = pdata - replay_data;
else
replay_size = 0;
replay_size = pwrite - replay_data;
pheader.datasize = replay_size;
pheader.flag |= REPLAY_COMPRESSED;
size_t propsize = 5;
......@@ -141,39 +102,26 @@ void Replay::SaveReplay(const wchar_t* name) {
return;
wchar_t fname[256];
myswprintf(fname, L"./replay/%ls.yrp", name);
#ifdef WIN32
fp = _wfopen(fname, L"wb");
#else
char fname2[256];
BufferIO::EncodeUTF8(fname, fname2);
fp = fopen(fname2, "wb");
#endif
if(!fp)
char fullname[256]{};
BufferIO::EncodeUTF8(fname, fullname);
FILE* rfp = myfopen(fullname, "wb");
if(!rfp)
return;
fwrite(&pheader, sizeof(pheader), 1, fp);
fwrite(comp_data, comp_size, 1, fp);
fclose(fp);
fwrite(&pheader, sizeof pheader, 1, rfp);
fwrite(comp_data, comp_size, 1, rfp);
fclose(rfp);
}
bool Replay::OpenReplay(const wchar_t* name) {
#ifdef WIN32
fp = _wfopen(name, L"rb");
#else
char name2[256];
BufferIO::EncodeUTF8(name, name2);
fp = fopen(name2, "rb");
#endif
if(!fp) {
char fullname[256]{};
BufferIO::EncodeUTF8(name, fullname);
FILE* rfp = myfopen(fullname, "rb");
if(!rfp) {
wchar_t fname[256];
myswprintf(fname, L"./replay/%ls", name);
#ifdef WIN32
fp = _wfopen(fname, L"rb");
#else
char fname2[256];
BufferIO::EncodeUTF8(fname, fname2);
fp = fopen(fname2, "rb");
#endif
BufferIO::EncodeUTF8(fname, fullname);
rfp = myfopen(fullname, "rb");
}
if(!fp)
if(!rfp)
return false;
pdata = replay_data;
......@@ -181,13 +129,13 @@ bool Replay::OpenReplay(const wchar_t* name) {
is_replaying = false;
replay_size = 0;
comp_size = 0;
if(fread(&pheader, sizeof(pheader), 1, fp) < 1) {
fclose(fp);
if(fread(&pheader, sizeof pheader, 1, rfp) < 1) {
fclose(rfp);
return false;
}
if(pheader.flag & REPLAY_COMPRESSED) {
comp_size = fread(comp_data, 1, MAX_COMP_SIZE, fp);
fclose(fp);
comp_size = fread(comp_data, 1, MAX_COMP_SIZE, rfp);
fclose(rfp);
if ((int)pheader.datasize < 0 && (int)pheader.datasize > MAX_REPLAY_SIZE)
return false;
replay_size = pheader.datasize;
......@@ -198,8 +146,8 @@ bool Replay::OpenReplay(const wchar_t* name) {
return false;
}
} else {
replay_size = fread(replay_data, 1, MAX_REPLAY_SIZE, fp);
fclose(fp);
replay_size = fread(replay_data, 1, MAX_REPLAY_SIZE, rfp);
fclose(rfp);
comp_size = 0;
}
is_replaying = true;
......@@ -208,24 +156,20 @@ bool Replay::OpenReplay(const wchar_t* name) {
bool Replay::CheckReplay(const wchar_t* name) {
wchar_t fname[256];
myswprintf(fname, L"./replay/%ls", name);
#ifdef WIN32
FILE* rfp = _wfopen(fname, L"rb");
#else
char fname2[256];
BufferIO::EncodeUTF8(fname, fname2);
FILE* rfp = fopen(fname2, "rb");
#endif
char fullname[256]{};
BufferIO::EncodeUTF8(fname, fullname);
FILE* rfp = myfopen(fullname, "rb");
if(!rfp)
return false;
ReplayHeader rheader;
size_t count = fread(&rheader, sizeof(ReplayHeader), 1, rfp);
size_t count = fread(&rheader, sizeof rheader, 1, rfp);
fclose(rfp);
return count == 1 && rheader.id == 0x31707279 && rheader.version >= 0x12d0u && (rheader.version < 0x1353u || (rheader.flag & REPLAY_UNIFORM));
}
bool Replay::DeleteReplay(const wchar_t* name) {
wchar_t fname[256];
myswprintf(fname, L"./replay/%ls", name);
#ifdef WIN32
#ifdef _WIN32
BOOL result = DeleteFileW(fname);
return !!result;
#else
......@@ -240,7 +184,7 @@ bool Replay::RenameReplay(const wchar_t* oldname, const wchar_t* newname) {
wchar_t newfname[256];
myswprintf(oldfname, L"./replay/%ls", oldname);
myswprintf(newfname, L"./replay/%ls", newname);
#ifdef WIN32
#ifdef _WIN32
BOOL result = MoveFileW(oldfname, newfname);
return !!result;
#else
......@@ -253,45 +197,53 @@ bool Replay::RenameReplay(const wchar_t* oldname, const wchar_t* newname) {
#endif
}
bool Replay::ReadNextResponse(unsigned char resp[]) {
if(pdata - replay_data >= (int)replay_size)
unsigned char len{};
if (!ReadData(&len, sizeof len))
return false;
if (len > SIZE_RETURN_VALUE) {
is_replaying = false;
return false;
int len = *pdata++;
if(len > SIZE_RETURN_VALUE)
}
if (!ReadData(resp, len))
return false;
std::memcpy(resp, pdata, len);
pdata += len;
return true;
}
void Replay::ReadName(wchar_t* data) {
if(!is_replaying)
uint16_t buffer[20]{};
if (!ReadData(buffer, sizeof buffer)) {
data[0] = 0;
return;
unsigned short buffer[20];
ReadData(buffer, 40);
}
BufferIO::CopyWStr(buffer, data, 20);
}
void Replay::ReadData(void* data, int length) {
bool Replay::ReadData(void* data, int length) {
if(!is_replaying)
return;
return false;
if (length < 0)
return false;
if ((int)(pdata - replay_data) + length > (int)replay_size) {
is_replaying = false;
return false;
}
std::memcpy(data, pdata, length);
pdata += length;
return true;
}
int Replay::ReadInt32() {
if(!is_replaying)
template<typename T>
T Replay::ReadValue() {
T ret{};
if (!ReadData(&ret, sizeof ret))
return -1;
int ret = BufferIO::ReadInt32(pdata);
return ret;
}
int Replay::ReadInt32() {
return ReadValue<int32_t>();
}
short Replay::ReadInt16() {
if(!is_replaying)
return -1;
short ret = BufferIO::ReadInt16(pdata);
return ret;
return ReadValue<int16_t>();
}
char Replay::ReadInt8() {
if(!is_replaying)
return -1;
char ret= BufferIO::ReadInt8(pdata);
return ret;
return ReadValue<char>();
}
void Replay::Rewind() {
pdata = replay_data;
......
......@@ -50,7 +50,9 @@ public:
bool ReadNextResponse(unsigned char resp[]);
void ReadName(wchar_t* data);
//void ReadHeader(ReplayHeader& header);
void ReadData(void* data, int length);
bool ReadData(void* data, int length);
template<typename T>
T ReadValue();
int ReadInt32();
short ReadInt16();
char ReadInt8();
......@@ -62,13 +64,14 @@ public:
#endif
ReplayHeader pheader;
unsigned char* replay_data;
unsigned char* comp_data;
size_t replay_size{};
size_t comp_size{};
private:
unsigned char* pdata{ nullptr };
unsigned char* replay_data;
size_t replay_size{};
unsigned char* pwrite{};
unsigned char* pdata{};
bool is_recording{};
bool is_replaying{};
};
......
#[2024.7][2024.4 TCG][2024.4][2024.1][2023.10][2023.7][2023.4][2023.1][2022.10][2022.7][2022.4][2022.1][2021.10][2021.7][2021.4][2021.1][2020.10][2020.7][2020.4][2020.1][2019.10][2019.7][2019.4][2019.1][2018.10][2018.7][2018.4][2018.1][2017.10][2017.7][2017.4][2017.1][2016.10][2016.7][2016.4][2016.1][2015.10][2015.4][2015.1][2014.10][2014.7][2014.4][2014.2][2013.9][2024.1 TCG][2023.9 TCG][2023.6 TCG][2023.2 TCG][2022.12 TCG][2022.10 TCG][2022.5 TCG][2022.2 TCG][2021.10 TCG][2021.7 TCG][2021.3 TCG][2020.12 TCG][2020.9 TCG][2020.6 TCG][2020.4 TCG][2020.1 TCG][2019.10 TCG][2019.7 TCG][2019.4 TCG][2019.1 TCG][2018.12 TCG][2018.9 TCG][2018.5 TCG][2018.2 TCG][2017.11 TCG][2017.9 TCG][2017.6 TCG][2017.3 TCG][2016.8 TCG][2016.4 TCG][2015.11 TCG][2015.7 TCG][2015.4 TCG][2015.1 TCG][2014.10 TCG][2014.7 TCG][2014.4 TCG][2014.1.1 TCG][2013.10.11 TCG][2013.3.1][2012.9.1][2012.3.1][2011.9.1]
!2024.7
#[2024.10][2024.9 TCG][2024.7][2024.4][2024.1][2023.10][2023.7][2023.4][2023.1][2022.10][2022.7][2022.4][2022.1][2021.10][2021.7][2021.4][2021.1][2020.10][2020.7][2020.4][2020.1][2019.10][2019.7][2019.4][2019.1][2018.10][2018.7][2018.4][2018.1][2017.10][2017.7][2017.4][2017.1][2016.10][2016.7][2016.4][2016.1][2015.10][2015.4][2015.1][2014.10][2014.7][2014.4][2014.2][2013.9][2024.4 TCG][2024.1 TCG][2023.9 TCG][2023.6 TCG][2023.2 TCG][2022.12 TCG][2022.10 TCG][2022.5 TCG][2022.2 TCG][2021.10 TCG][2021.7 TCG][2021.3 TCG][2020.12 TCG][2020.9 TCG][2020.6 TCG][2020.4 TCG][2020.1 TCG][2019.10 TCG][2019.7 TCG][2019.4 TCG][2019.1 TCG][2018.12 TCG][2018.9 TCG][2018.5 TCG][2018.2 TCG][2017.11 TCG][2017.9 TCG][2017.6 TCG][2017.3 TCG][2016.8 TCG][2016.4 TCG][2015.11 TCG][2015.7 TCG][2015.4 TCG][2015.1 TCG][2014.10 TCG][2014.7 TCG][2014.4 TCG][2014.1.1 TCG][2013.10.11 TCG][2013.3.1][2012.9.1][2012.3.1][2011.9.1]
!2024.10
#forbidden
91869203 0 --アマゾネスの射手
20663556 0 --イレカエル
44910027 0 --ヴィクトリー・ドラゴン
27552504 0 --永遠の淑女 ベアトリーチェ
51858306 0 --エクリプス・ワイバーン
62242678 0 --琰魔竜王 レッド・デーモン・カラミティ
34945480 0 --外神アザトート
......@@ -20,17 +21,14 @@
02563463 0 --流離のグリフォンライダー
88071625 0 --The tyrant NEPTUNE
52653092 0 --SNo.0 ホープ・ゼアル
48905153 0 --十二獣ドランシア
85115440 0 --十二獣ブルホーン
59537380 0 --守護竜アガーペイン
86148577 0 --守護竜エルピィ
88581108 0 --真竜皇V.F.D.
21377582 0 --真竜剣皇マスターP
27381364 0 --スプライト・エルフ
16923472 0 --ゼンマイハンター
15341821 0 --ダンディライオン
77679716 0 --超重武者装留ブレイク・アーマー
37818794 0 --超魔導竜騎士-ドラグーン・オブ・レッドアイズ
92731385 0 --ティアラメンツ・キトカロス
69015963 0 --デビル・フランケン
79875176 0 --トゥーン・キャノン・ソルジャー
......@@ -62,7 +60,6 @@
35059553 0 --カイザーコロシアム
74191942 0 --苦渋の選択
42829885 0 --強引な番兵
45986603 0 --強奪
55144522 0 --強欲な壺
23557835 0 --次元融合
31423101 0 --神剣-フェニックスブレード
......@@ -90,39 +87,40 @@
28566710 0 --ラストバトル!
#limit
76794549 1 --アストログラフ・マジシャン
40177746 1 --イーバ
27552504 1 --永遠の淑女 ベアトリーチェ
29301450 1 --SPリトルナイト
07563579 1 --Emヒグルミ
17330916 1 --EMモンキーボード
68304193 1 --クシャトリラ・ユニコーン
12289247 1 --クロノグラフ・マジシャン
72270339 1 --黒魔女ディアベルスター
99937011 1 --剣神官ムドラ
38814750 1 --PSYフレームギア・γ
74586817 1 --PSYフレームロード・Ω
32731036 1 --深淵の獣ルベリオン
36521307 1 --斬機サーキュラー
48905153 1 --十二獣ドランシア
78872731 1 --十二獣モルモラット
06602300 1 --重爆撃禽 ボム・フェネクス
63542003 1 --宿神像ケルドウ
21377582 1 --真竜剣皇マスターP
09674034 1 --スネークアイ・エクセル
81275020 1 --SRベイゴマックス
90241276 1 --蛇眼の炎燐
13533678 1 --スプライト・ジェット
76145933 1 --スプライト・ブルー
82385847 1 --ダイナレスラー・パンクラトプス
90361010 1 --超重武者装留イワトオシ
37818794 1 --超魔導竜騎士-ドラグーン・オブ・レッドアイズ
04928565 1 --ティアラメンツ・クシャトリラ
00572850 1 --ティアラメンツ・シェイレーン
37961969 1 --ティアラメンツ・ハゥフニス
74078255 1 --ティアラメンツ・メイルゥ
73956664 1 --ティアラメンツ・レイノハート
90953320 1 --TG ハイパー・ライブラリアン
91810826 1 --天盃龍チュンドラ
75433814 1 --No.40 ギミック・パペット-ヘブンズ・ストリングス
90448279 1 --天霆號アーゼウス
17266660 1 --朱光の宣告者
06637331 1 --深淵の獣ドルイドヴルム
72656408 1 --深淵の獣バルドレイク
33854624 1 --深淵の獣マグナムート
80453041 1 --ファントム・オブ・ユベル
33396948 1 --封印されしエクゾディア
44519536 1 --封印されし者の左足
07902349 1 --封印されし者の左腕
......@@ -130,18 +128,18 @@
70903634 1 --封印されし者の右腕
94689206 1 --ブロックドラゴン
24094258 1 --ヘビーメタルフォーゼ・エレクトラム
31178212 1 --マジェスペクター・ユニコーン
04423206 1 --M.X-セイバー インヴォーカー
60764609 1 --魔を刻むデモンスミス
33508719 1 --メタモルポット
92746535 1 --竜剣士ラスターP
77103950 1 --壱世壊=ペルレイノ
33782437 1 --一時休戦
01845204 1 --簡易融合
61292243 1 --EMERGENCY
19613556 1 --大嵐
81439173 1 --おろかな埋葬
85106525 1 --篝火
84211599 1 --金満で謙虚な壺
23701465 1 --原初の種
45986603 1 --強奪
80845034 1 --“罪宝狩りの悪魔”
30336082 1 --盃満ちる燦幻荘
83764718 1 --死者蘇生
......@@ -150,17 +148,15 @@
52340444 1 --閃刀機-ホーネットビット
32807846 1 --増援
72892473 1 --手札抹殺
98567237 1 --刻まれし魔の詠聖
73628505 1 --テラ・フォーミング
18144506 1 --ハーピィの羽根帚
21347668 1 --ピュアリィ・スリーピィメモリー
75500286 1 --封印の黄金櫃
52947044 1 --フュージョン・デステニー
07394770 1 --ブリリアント・フュージョン
73468603 1 --盆回し
93600443 1 --マスク・チェンジ・セカンド
65681983 1 --抹殺の指名者
71832012 1 --六世壊=パライゾス
36637374 1 --烙印開幕
44362883 1 --烙印融合
92107604 1 --神碑の泉
27970830 1 --六武の門
......@@ -172,30 +168,32 @@
21076084 1 --トリックスター・リンカーネイション
23002292 1 --レッド・リブート
#semi limit
40177746 2 --イーバ
02526224 2 --炎王神獣 キリン
53804307 2 --焔征竜-ブラスター
90411554 2 --巌征竜-レドックス
78080961 2 --SPYRAL-ジーニア
81275020 2 --SRベイゴマックス
23434538 2 --増殖するG
82385847 2 --ダイナレスラー・パンクラトプ
91800273 2 --ディメンション・アトラクター
09411399 2 --D-HERO ディアボリックガイ
26400609 2 --瀑征竜-タイダル
89399912 2 --嵐征竜-テンペスト
04423206 2 --M.X-セイバー インヴォーカー
92746535 2 --竜剣士ラスターP
65734501 2 --RACEエアホイスター
35726888 2 --おろかな副葬
85106525 2 --篝火
67723438 2 --緊急テレポート
49238328 2 --強欲で金満な壺
35261759 2 --強欲で貪欲な壺
12580477 2 --サンダー・ボルト
48130397 2 --超融合
11110587 2 --隣の芝刈り
93729896 2 --ナイトメア・スローン
24224830 2 --墓穴の指名者
55584558 2 --ピュアリィ・デリシャスメモリー
56700100 2 --ピュアリィ・マイフレンド
14532163 2 --ライトニング・ストーム
75500286 2 --封印の黄金櫃
52947044 2 --フュージョン・デステニー
36637374 2 --烙印開幕
53334471 2 --御前試合
92714517 2 --ビッグウェルカム・ラビュリンス
!2024.4 TCG
!2024.9 TCG
#forbidden
62320425 0 --Agido the Ancient Sentinel
20292186 0 --Artifact Scythe
......@@ -206,7 +204,6 @@
15341821 0 --Dandylion
08903700 0 --Djinn Releaser of Rituals
51858306 0 --Eclipse Wyvern
40177746 0 --Eva
55623480 0 --Fairy Tail - Snow
78706415 0 --Fiber Jar
93369354 0 --Fishborg Blaster
......@@ -219,15 +216,16 @@
36521307 0 --Mathmech Circular
23434538 0 --Maxx "C"
96782886 0 --Mind Master
07563579 0 --Performage Plushfire
23558733 0 --Phoenixian Cluster Amaryllis
01357146 0 --Ronintoadin
91258852 0 --SPYRAL Master Plan
88071625 0 --The Tyrant Neptune
44910027 0 --Victory Dragon
17412721 0 --Elder Entity Norden
46640168 0 --Fiendsmith's Lacrima
43387895 0 --Supreme King Dragon Starving Venom
92731385 0 --Tearlaments Kitkallos
04280258 0 --Apollousa, Bow of the Goddess
50588353 0 --Crystron Halqifibrax
98095162 0 --Curious, the Lightsworn Dominion
59537380 0 --Guardragon Agarpain
......@@ -250,7 +248,9 @@
84815190 0 --Baronne de Fleur
27548199 0 --Borreload Savage Dragon
03040496 0 --Chaos Ruler, the Chaotic Magical Dragon
62242678 0 --Hot Red Dragon Archfiend King Calamity
63101919 0 --Tempest Magician
27552504 0 --Beatrice, Lady of the Eternal
48626373 0 --Kashtira Arise-Heart
34086406 0 --Lavalval Chain
04423206 0 --M-X-Saber Invoker
......@@ -286,7 +286,6 @@
70828912 0 --Premature Burial
63789924 0 --Smoke Grenade of the Thief
54447022 0 --Soul Charge
11110587 0 --That Grass Looks Greener
42829885 0 --The Forceful Sentry
46060017 0 --Zoodiac Barrage
43262273 0 --Appointer of the Red Lotus
......@@ -310,46 +309,40 @@
06728559 1 --Archnemeses Protos
76794549 1 --Astrograph Sorcerer
61901281 1 --Black Dragon Collapserpent
53804307 1 --Blaster, Dragon Ruler of Infernos
33854624 1 --Bystial Magnamhut
34124316 1 --Cyber Jar
43694650 1 --Danger!? Jackalope?
99745551 1 --Danger!? Tsuchinoko?
14536035 1 --Dark Grepher
40177746 1 --Eva
33396948 1 --Exodia the Forbidden One
63542003 1 --Keldo the Sacred Protector
83190280 1 --Lunalight Tiger
31178212 1 --Majespecter Unicorn - Kirin
38572779 1 --Miscellaneousaurus
33508719 1 --Morphing Jar
99937011 1 --Mudora the Sword Oracle
17330916 1 --Performapal Monkeyboard
12958919 1 --Phantom Skyblaster
38814750 1 --PSY-Framegear Gamma
26118970 1 --Red Rose Dragon
90411554 1 --Redox, Dragon Ruler of Boulders
65734501 1 --Rescue-ACE Air Lifter
09674034 1 --Snake-Eye Ash
90241276 1 --Snake-Eyes Poplar
20663556 1 --Substitoad
37961969 1 --Tearlaments Havnis
74078255 1 --Tearlaments Merrli
00572850 1 --Tearlaments Scheiren
89399912 1 --Tempest, Dragon Ruler of Storms
26400609 1 --Tidal, Dragon Ruler of Waterfalls
41165831 1 --Unchained Soul of Sharvara
99234526 1 --White Dragon Wyverburster
78872731 1 --Zoodiac Ratpier
39512984 1 --Gem-Knight Master Diamond
15291624 1 --Thunder Dragon Colossus
73539069 1 --Striker Dragon
93896655 1 --Sunavalon Dryas
65563871 1 --Sunvine Healer
25862681 1 --Ancient Fairy Dragon
65536818 1 --Denglong, First of the Yang Zing
94677445 1 --Ib the World Chalice Justiciar
74586817 1 --PSY-Framelord Omega
90953320 1 --T.G. Hyper Librarian
27552504 1 --Beatrice, Lady of the Eternal
00581014 1 --Daigusto Emeral
75433814 1 --Number 40: Gimmick Puppet of Strings
69170557 1 --Number C40: Gimmick Puppet of Dark Strings
44362883 1 --Branded Fusion
24224830 1 --Called by the Grave
72892473 1 --Card Destruction
59750328 1 --Card of Demise
......@@ -372,29 +365,235 @@
83764718 1 --Monster Reborn
33782437 1 --One Day of Peace
02295440 1 --One for One
80312545 1 --Opening of the Spirit Gates
84211599 1 --Pot of Prosperity
58577036 1 --Reasoning
32807846 1 --Reinforcement of the Army
30336082 1 --Sangen Summoning
24940422 1 --Sekka's Light
73468603 1 --Set Rotation
52340444 1 --Sky Striker Mecha - Hornet Drones
71344451 1 --Slash Draw
45986603 1 --Snatch Steal
73628505 1 --Terraforming
11110587 1 --That Grass Looks Greener
58921041 1 --Anti-Spell Fragrance
53334471 1 --Gozen Match
32723153 1 --Magical Explosion
03734202 1 --Naturia Sacred Tree
90846359 1 --Rivalry of Warlords
82732705 1 --Skill Drain
24207889 1 --There Can Be Only One
35316708 1 --Time Seal
#semi limit
28985331 2 --Armageddon Knight
53804307 2 --Blaster, Dragon Ruler of Infernos
82385847 2 --Dinowrestler Pankratops
83190280 2 --Lunalight Tiger
90411554 2 --Redox, Dragon Ruler of Boulders
89399912 2 --Tempest, Dragon Ruler of Storms
26400609 2 --Tidal, Dragon Ruler of Waterfalls
15291624 2 --Thunder Dragon Colossus
94677445 2 --Ib the World Chalice Justiciar
14532163 2 --Lightning Storm
55584558 2 --Purrely Delicious Memory
21347668 2 --Purrely Sleepy Memory
92107604 2 --Runick Fountain
!2024.7
#forbidden
91869203 0 --アマゾネスの射手
20663556 0 --イレカエル
44910027 0 --ヴィクトリー・ドラゴン
51858306 0 --エクリプス・ワイバーン
62242678 0 --琰魔竜王 レッド・デーモン・カラミティ
34945480 0 --外神アザトート
95727991 0 --カタパルト・タートル
08903700 0 --儀式魔人リリーサー
11384280 0 --キャノン・ソルジャー
17412721 0 --旧神ノーデン
32909498 0 --クシャトリラ・フェンリル
50588353 0 --水晶機巧-ハリファイバー
62320425 0 --古衛兵アギド
25926710 0 --古尖兵ケルベク
03040496 0 --混沌魔龍 カオス・ルーラー
34124316 0 --サイバーポッド
02563463 0 --流離のグリフォンライダー
88071625 0 --The tyrant NEPTUNE
52653092 0 --SNo.0 ホープ・ゼアル
48905153 0 --十二獣ドランシア
85115440 0 --十二獣ブルホーン
59537380 0 --守護竜アガーペイン
86148577 0 --守護竜エルピィ
88581108 0 --真竜皇V.F.D.
21377582 0 --真竜剣皇マスターP
27381364 0 --スプライト・エルフ
16923472 0 --ゼンマイハンター
15341821 0 --ダンディライオン
77679716 0 --超重武者装留ブレイク・アーマー
37818794 0 --超魔導竜騎士-ドラグーン・オブ・レッドアイズ
92731385 0 --ティアラメンツ・キトカロス
69015963 0 --デビル・フランケン
79875176 0 --トゥーン・キャノン・ソルジャー
75732622 0 --トーチ・ゴーレム
22593417 0 --トポロジック・ガンブラー・ドラゴン
39064822 0 --トロイメア・ゴブリン
03679218 0 --トロイメア・マーメイド
54719828 0 --No.16 色の支配者ショック・ルーラー
63504681 0 --No.86 HC ロンゴミアント
58820923 0 --No.95 ギャラクシーアイズ・ダークマター・ドラゴン
78706415 0 --ファイバーポッド
93369354 0 --フィッシュボーグ-ガンナー
23558733 0 --フェニキシアン・クラスター・アマリリス
09929398 0 --BF-朧影のゴウフウ
70369116 0 --捕食植物ヴェルテ・アナコンダ
63101919 0 --マジックテンペスター
34206604 0 --魔導サイエンティスト
14702066 0 --メガキャノン・ソルジャー
96782886 0 --メンタルマスター
90809975 0 --餅カエル
83152482 0 --ユニオン・キャリアー
34086406 0 --ラヴァルバル・チェイン
85243784 0 --リンクロス
73356503 0 --烈風の結界像
57421866 0 --レベル・スティーラー
41482598 0 --悪夢の蜃気楼
44763025 0 --いたずら好きな双子悪魔
17375316 0 --押収
35059553 0 --カイザーコロシアム
74191942 0 --苦渋の選択
42829885 0 --強引な番兵
45986603 0 --強奪
55144522 0 --強欲な壺
23557835 0 --次元融合
31423101 0 --神剣-フェニックスブレード
57953380 0 --生還の宝札
54447022 0 --ソウル・チャージ
60682203 0 --大寒波
69243953 0 --蝶の短剣-エルマ
79571449 0 --天使の施し
63789924 0 --盗人の煙玉
70828912 0 --早すぎた埋葬
42703248 0 --ハリケーン
76375976 0 --魔鍾洞
34906152 0 --マスドライバー
46411259 0 --突然変異
85602018 0 --遺言状
27174286 0 --異次元からの帰還
05851097 0 --虚無空間
93016201 0 --王宮の弾圧
61740673 0 --王宮の勅命
03280747 0 --第六感
64697231 0 --ダスト・シュート
80604091 0 --血の代償
32723153 0 --マジカル・エクスプロージョン
17178486 0 --ライフチェンジャー
28566710 0 --ラストバトル!
#limit
76794549 1 --アストログラフ・マジシャン
40177746 1 --イーバ
27552504 1 --永遠の淑女 ベアトリーチェ
29301450 1 --SPリトルナイト
07563579 1 --Emヒグルミ
17330916 1 --EMモンキーボード
68304193 1 --クシャトリラ・ユニコーン
12289247 1 --クロノグラフ・マジシャン
99937011 1 --剣神官ムドラ
38814750 1 --PSYフレームギア・γ
74586817 1 --PSYフレームロード・Ω
32731036 1 --深淵の獣ルベリオン
36521307 1 --斬機サーキュラー
78872731 1 --十二獣モルモラット
06602300 1 --重爆撃禽 ボム・フェネクス
63542003 1 --宿神像ケルドウ
09674034 1 --スネークアイ・エクセル
81275020 1 --SRベイゴマックス
13533678 1 --スプライト・ジェット
76145933 1 --スプライト・ブルー
82385847 1 --ダイナレスラー・パンクラトプス
90361010 1 --超重武者装留イワトオシ
04928565 1 --ティアラメンツ・クシャトリラ
00572850 1 --ティアラメンツ・シェイレーン
37961969 1 --ティアラメンツ・ハゥフニス
74078255 1 --ティアラメンツ・メイルゥ
73956664 1 --ティアラメンツ・レイノハート
90953320 1 --TG ハイパー・ライブラリアン
75433814 1 --No.40 ギミック・パペット-ヘブンズ・ストリングス
90448279 1 --天霆號アーゼウス
17266660 1 --朱光の宣告者
06637331 1 --深淵の獣ドルイドヴルム
72656408 1 --深淵の獣バルドレイク
33854624 1 --深淵の獣マグナムート
33396948 1 --封印されしエクゾディア
44519536 1 --封印されし者の左足
07902349 1 --封印されし者の左腕
08124921 1 --封印されし者の右足
70903634 1 --封印されし者の右腕
94689206 1 --ブロックドラゴン
24094258 1 --ヘビーメタルフォーゼ・エレクトラム
31178212 1 --マジェスペクター・ユニコーン
04423206 1 --M.X-セイバー インヴォーカー
33508719 1 --メタモルポット
92746535 1 --竜剣士ラスターP
77103950 1 --壱世壊=ペルレイノ
33782437 1 --一時休戦
01845204 1 --簡易融合
61292243 1 --EMERGENCY
19613556 1 --大嵐
81439173 1 --おろかな埋葬
84211599 1 --金満で謙虚な壺
23701465 1 --原初の種
80845034 1 --“罪宝狩りの悪魔”
30336082 1 --盃満ちる燦幻荘
83764718 1 --死者蘇生
46060017 1 --十二獣の会局
15443125 1 --スプライト・スターター
52340444 1 --閃刀機-ホーネットビット
32807846 1 --増援
72892473 1 --手札抹殺
73628505 1 --テラ・フォーミング
18144506 1 --ハーピィの羽根帚
21347668 1 --ピュアリィ・スリーピィメモリー
75500286 1 --封印の黄金櫃
52947044 1 --フュージョン・デステニー
07394770 1 --ブリリアント・フュージョン
73468603 1 --盆回し
93600443 1 --マスク・チェンジ・セカンド
65681983 1 --抹殺の指名者
71832012 1 --六世壊=パライゾス
36637374 1 --烙印開幕
44362883 1 --烙印融合
92107604 1 --神碑の泉
27970830 1 --六武の門
02295440 1 --ワン・フォー・ワン
90846359 1 --群雄割拠
23516703 1 --サモンリミッター
82732705 1 --スキルドレイン
24207889 1 --センサー万別
21076084 1 --トリックスター・リンカーネイション
23002292 1 --レッド・リブート
#semi limit
02526224 2 --炎王神獣 キリン
53804307 2 --焔征竜-ブラスター
90411554 2 --巌征竜-レドックス
78080961 2 --SPYRAL-ジーニアス
91800273 2 --ディメンション・アトラクター
09411399 2 --D-HERO ディアボリックガイ
26400609 2 --瀑征竜-タイダル
89399912 2 --嵐征竜-テンペスト
65734501 2 --RACEエアホイスター
35726888 2 --おろかな副葬
85106525 2 --篝火
67723438 2 --緊急テレポート
49238328 2 --強欲で金満な壺
35261759 2 --強欲で貪欲な壺
12580477 2 --サンダー・ボルト
48130397 2 --超融合
11110587 2 --隣の芝刈り
24224830 2 --墓穴の指名者
55584558 2 --ピュアリィ・デリシャスメモリー
56700100 2 --ピュアリィ・マイフレンド
14532163 2 --ライトニング・ストーム
92714517 2 --ビッグウェルカム・ラビュリンス
!2024.4
#forbidden
91869203 0 --アマゾネスの射手
......@@ -7558,6 +7757,206 @@
53582587 2 --激流葬
29401950 2 --奈落の落とし穴
!2024.4 TCG
#forbidden
62320425 0 --Agido the Ancient Sentinel
20292186 0 --Artifact Scythe
73356503 0 --Barrier Statue of the Stormwinds
09929398 0 --Blackwing - Gofu the Vague Shadow
94689206 0 --Block Dragon
69015963 0 --Cyber-Stein
15341821 0 --Dandylion
08903700 0 --Djinn Releaser of Rituals
51858306 0 --Eclipse Wyvern
40177746 0 --Eva
55623480 0 --Fairy Tail - Snow
78706415 0 --Fiber Jar
93369354 0 --Fishborg Blaster
67441435 0 --Glow-Up Bulb
75732622 0 --Grinder Golem
25926710 0 --Kelbek the Ancient Vanguard
57421866 0 --Level Eater
34206604 0 --Magical Scientist
21377582 0 --Master Peace, the True Dracoslaying King
36521307 0 --Mathmech Circular
23434538 0 --Maxx "C"
96782886 0 --Mind Master
07563579 0 --Performage Plushfire
23558733 0 --Phoenixian Cluster Amaryllis
01357146 0 --Ronintoadin
91258852 0 --SPYRAL Master Plan
88071625 0 --The Tyrant Neptune
44910027 0 --Victory Dragon
17412721 0 --Elder Entity Norden
43387895 0 --Supreme King Dragon Starving Venom
92731385 0 --Tearlaments Kitkallos
50588353 0 --Crystron Halqifibrax
98095162 0 --Curious, the Lightsworn Dominion
59537380 0 --Guardragon Agarpain
86148577 0 --Guardragon Elpy
24094258 0 --Heavymetalfoes Electrumite
59934749 0 --Isolde, Two Tales of the Noble Knights
39064822 0 --Knightmare Goblin
03679218 0 --Knightmare Mermaid
85243784 0 --Linkross
41999284 0 --Linkuriboh
44097050 0 --Mecha Phantom Beast Auroradon
25725326 0 --Prank-Kids Meow-Meow-Mu
70369116 0 --Predaplant Verte Anaconda
72330894 0 --Simorgh, Bird of Sovereignty
27381364 0 --Spright Elf
61665245 0 --Summon Sorceress
33918636 0 --Superheavy Samurai Scarecrow
22593417 0 --Topologic Gumblar Dragon
83152482 0 --Union Carrier
84815190 0 --Baronne de Fleur
27548199 0 --Borreload Savage Dragon
03040496 0 --Chaos Ruler, the Chaotic Magical Dragon
63101919 0 --Tempest Magician
48626373 0 --Kashtira Arise-Heart
34086406 0 --Lavalval Chain
04423206 0 --M-X-Saber Invoker
54719828 0 --Number 16: Shock Master
10389142 0 --Number 42: Galaxy Tomahawk
63504681 0 --Number 86: Heroic Champion - Rhongomyniad
95474755 0 --Number 89: Diablosis the Mind Hacker
58820923 0 --Number 95: Galaxy-Eyes Dark Matter Dragon
52653092 0 --Number S0: Utopic ZEXAL
34945480 0 --Outer Entity Azathot
88581108 0 --True King of All Calamities
81122844 0 --Wind-Up Carrier Zenmaity
85115440 0 --Zoodiac Broadbull
48905153 0 --Zoodiac Drident
07394770 0 --Brilliant Fusion
69243953 0 --Butterfly Dagger - Elma
57953380 0 --Card of Safe Return
60682203 0 --Cold Wave
17375316 0 --Confiscation
44763025 0 --Delinquent Duo
23557835 0 --Dimension Fusion
42703248 0 --Giant Trunade
79571449 0 --Graceful Charity
19613556 0 --Heavy Storm
35059553 0 --Kaiser Colosseum
85602018 0 --Last Will
34906152 0 --Mass Driver
46411259 0 --Metamorphosis
41482598 0 --Mirage of Nightmare
76375976 0 --Mystic Mine
74191942 0 --Painful Choice
55144522 0 --Pot of Greed
70828912 0 --Premature Burial
63789924 0 --Smoke Grenade of the Thief
54447022 0 --Soul Charge
11110587 0 --That Grass Looks Greener
42829885 0 --The Forceful Sentry
46060017 0 --Zoodiac Barrage
43262273 0 --Appointer of the Red Lotus
01041278 0 --Branded Expulsion
61740673 0 --Imperial Order
28566710 0 --Last Turn
23002292 0 --Red Reboot
27174286 0 --Return from the Different Dimension
93016201 0 --Royal Oppression
57585212 0 --Self-Destruct Button
03280747 0 --Sixth Sense
23516703 0 --Summon Limit
64697231 0 --Trap Dustshoot
80604091 0 --Ultimate Offering
05851097 0 --Vanity's Emptiness
#limit
07902349 1 --Left Arm of the Forbidden One
44519536 1 --Left Leg of the Forbidden One
70903634 1 --Right Arm of the Forbidden One
08124921 1 --Right Leg of the Forbidden One
06728559 1 --Archnemeses Protos
76794549 1 --Astrograph Sorcerer
61901281 1 --Black Dragon Collapserpent
53804307 1 --Blaster, Dragon Ruler of Infernos
33854624 1 --Bystial Magnamhut
34124316 1 --Cyber Jar
43694650 1 --Danger!? Jackalope?
99745551 1 --Danger!? Tsuchinoko?
14536035 1 --Dark Grepher
33396948 1 --Exodia the Forbidden One
63542003 1 --Keldo the Sacred Protector
83190280 1 --Lunalight Tiger
31178212 1 --Majespecter Unicorn - Kirin
38572779 1 --Miscellaneousaurus
33508719 1 --Morphing Jar
99937011 1 --Mudora the Sword Oracle
17330916 1 --Performapal Monkeyboard
12958919 1 --Phantom Skyblaster
38814750 1 --PSY-Framegear Gamma
26118970 1 --Red Rose Dragon
90411554 1 --Redox, Dragon Ruler of Boulders
65734501 1 --Rescue-ACE Air Lifter
20663556 1 --Substitoad
37961969 1 --Tearlaments Havnis
74078255 1 --Tearlaments Merrli
00572850 1 --Tearlaments Scheiren
89399912 1 --Tempest, Dragon Ruler of Storms
26400609 1 --Tidal, Dragon Ruler of Waterfalls
41165831 1 --Unchained Soul of Sharvara
99234526 1 --White Dragon Wyverburster
78872731 1 --Zoodiac Ratpier
39512984 1 --Gem-Knight Master Diamond
15291624 1 --Thunder Dragon Colossus
73539069 1 --Striker Dragon
93896655 1 --Sunavalon Dryas
65563871 1 --Sunvine Healer
25862681 1 --Ancient Fairy Dragon
65536818 1 --Denglong, First of the Yang Zing
94677445 1 --Ib the World Chalice Justiciar
74586817 1 --PSY-Framelord Omega
90953320 1 --T.G. Hyper Librarian
27552504 1 --Beatrice, Lady of the Eternal
00581014 1 --Daigusto Emeral
24224830 1 --Called by the Grave
72892473 1 --Card Destruction
59750328 1 --Card of Demise
91623717 1 --Chain Strike
04031928 1 --Change of Heart
99266988 1 --Chaos Space
67616300 1 --Chicken Game
15854426 1 --Divine Wind of Mist Valley
13035077 1 --Dragonic Diagram
95308449 1 --Final Countdown
81439173 1 --Foolish Burial
27970830 1 --Gateway of the Six
75500286 1 --Gold Sarcophagus
18144506 1 --Harpie's Feather Duster
66957584 1 --Infernity Launcher
01845204 1 --Instant Fusion
93946239 1 --Into the Void
71650854 1 --Magical Mid-Breaker Field
43040603 1 --Monster Gate
83764718 1 --Monster Reborn
33782437 1 --One Day of Peace
02295440 1 --One for One
58577036 1 --Reasoning
32807846 1 --Reinforcement of the Army
24940422 1 --Sekka's Light
73468603 1 --Set Rotation
52340444 1 --Sky Striker Mecha - Hornet Drones
71344451 1 --Slash Draw
45986603 1 --Snatch Steal
73628505 1 --Terraforming
58921041 1 --Anti-Spell Fragrance
53334471 1 --Gozen Match
32723153 1 --Magical Explosion
03734202 1 --Naturia Sacred Tree
90846359 1 --Rivalry of Warlords
24207889 1 --There Can Be Only One
35316708 1 --Time Seal
#semi limit
28985331 2 --Armageddon Knight
82385847 2 --Dinowrestler Pankratops
14532163 2 --Lightning Storm
55584558 2 --Purrely Delicious Memory
21347668 2 --Purrely Sleepy Memory
92107604 2 --Runick Fountain
!2024.1 TCG
#forbidden
62320425 0 --Agido the Ancient Sentinel
......
......@@ -10,6 +10,9 @@ project "lua"
filter "not action:vs*"
buildoptions { "-x c++" }
filter "configurations:Debug"
defines { "LUA_USE_APICHECK" }
filter "system:bsd"
defines { "LUA_USE_POSIX" }
......
......@@ -1238,3 +1238,6 @@
!setname 0x1bb 魔瞳 モルガナイト
!setname 0x1bc 蓟花 アザミナ
!setname 0x1bd 祝台
!setname 0x1be 雷火沸动 ライゼオル
!setname 0x1bf 码丽丝 MLICE
!setname 0x1c0 龙华 竜華
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment