Commit a57f1b23 authored by keyongyu's avatar keyongyu

codecfg

parent c34dc5fa
......@@ -197,17 +197,15 @@ void CodeEditFormEnter(object sender, EventArgs e)
#endregion
#region tooltip
public void InitTooltip(Dictionary<string,string> tooltipDic
,AutocompleteItem[] funlist
,AutocompleteItem[] conlist)
public void InitTooltip(CodeConfig codeconfig)
{
this.tooltipDic=tooltipDic;
this.tooltipDic = codeconfig.TooltipDic;
List<AutocompleteItem> items=new List<AutocompleteItem>();
items.AddRange(funlist);
items.AddRange(conlist);
items.AddRange(codeconfig.FunList);
items.AddRange(codeconfig.ConList);
popupMenu.Items.SetAutocompleteItems(items);
popupMenu_con.Items.SetAutocompleteItems(conlist);
popupMenu_fun.Items.SetAutocompleteItems(funlist);
popupMenu_con.Items.SetAutocompleteItems(codeconfig.ConList);
popupMenu_fun.Items.SetAutocompleteItems(codeconfig.FunList);
}
string FindTooltip(string word)
......
......@@ -13,31 +13,25 @@
namespace DataEditorX.Config
{
class CodeConfig
public class CodeConfig
{
public CodeConfig(string datapath)
public CodeConfig()
{
funtxt = MyPath.Combine(datapath, "_functions.txt");
conlua = MyPath.Combine(datapath, "constant.lua");
confstring = MyPath.Combine(datapath, "strings.conf");
tooltipDic = new Dictionary<string, string>();
funList = new List<AutocompleteItem>();
conList = new List<AutocompleteItem>();
}
//函数提示
Dictionary<string, string> tooltipDic;
public Dictionary<string, string> TooltipDic
{
get { return tooltipDic; }
}
//自动完成
List<AutocompleteItem> funList;
List<AutocompleteItem> conList;
bool isInit;
public bool IsInit
public Dictionary<string, string> TooltipDic
{
get { return isInit; }
get { return tooltipDic; }
}
public AutocompleteItem[] FunList
{
get { return funList.ToArray(); }
......@@ -46,19 +40,9 @@ public AutocompleteItem[] ConList
{
get { return conList.ToArray(); }
}
public string funtxt, conlua, confstring;
public void Init()
{
isInit = true;
tooltipDic.Clear();
funList.Clear();
conList.Clear();
AddFunction(funtxt);
AddConstant(conlua);
}
#region setnames strings
#region 系列名/指示物
//系列名
public void SetNames(Dictionary<long, string> dic)
{
foreach (long k in dic.Keys)
......@@ -70,11 +54,12 @@ public void SetNames(Dictionary<long, string> dic)
}
}
}
public void AddStrings(string str)
//指示物
public void AddStrings(string file)
{
if (File.Exists(str))
if (File.Exists(file))
{
string[] lines = File.ReadAllLines(str);
string[] lines = File.ReadAllLines(file);
foreach (string line in lines)
{
if (line.StartsWith("!victory")
......@@ -90,49 +75,47 @@ public void AddStrings(string str)
}
}
public void AddStrings()
{
AddStrings(confstring);
}
#endregion
#region function
void AddFunction(string funtxt)
//函数
public void AddFunction(string funtxt)
{
if (File.Exists(funtxt))
if (!File.Exists(funtxt))
return;
string[] lines = File.ReadAllLines(funtxt);
bool isFind = false;
string name = "";
string desc = "";
foreach (string line in lines)
{
string[] lines = File.ReadAllLines(funtxt);
bool isFind = false;
string name = "";
string desc = "";
foreach (string line in lines)
if (string.IsNullOrEmpty(line)
|| line.StartsWith("==")
|| line.StartsWith("#"))
continue;
if (line.StartsWith("●"))
{
if (string.IsNullOrEmpty(line)
|| line.StartsWith("==")
|| line.StartsWith("#"))
continue;
if (line.StartsWith("●"))
{
//add
AddFuncTooltip(name, desc);
int w = line.IndexOf("(");
int t = line.IndexOf(" ");
//add
AddFuncTooltip(name, desc);
int w = line.IndexOf("(");
int t = line.IndexOf(" ");
if (t < w && t > 0)
{
name = line.Substring(t + 1, w - t - 1);
isFind = true;
desc = line;
}
}
else if (isFind)
if (t < w && t > 0)
{
desc += Environment.NewLine + line;
name = line.Substring(t + 1, w - t - 1);
isFind = true;
desc = line;
}
}
AddFuncTooltip(name, desc);
else if (isFind)
{
desc += Environment.NewLine + line;
}
}
AddFuncTooltip(name, desc);
}
//获取不带类名的函数名
string GetFunName(string str)
{
int t = str.IndexOf(".");
......@@ -140,6 +123,7 @@ string GetFunName(string str)
return str.Substring(t + 1);
return str;
}
//添加提示
void AddFuncTooltip(string name, string desc)
{
if (!string.IsNullOrEmpty(name))
......@@ -158,27 +142,7 @@ void AddFuncTooltip(string name, string desc)
#endregion
#region constant
void AddAutoMenuItem(List<AutocompleteItem> list, string key, string desc)
{
bool isExists = false;
foreach (AutocompleteItem ai in list)
{
if (ai.Text == key)
{
isExists = true;
ai.ToolTipText += Environment.NewLine
+ Environment.NewLine + desc;
}
}
if (!isExists)
{
AutocompleteItem aitem = new AutocompleteItem(key);
aitem.ToolTipTitle = key;
aitem.ToolTipText = desc;
list.Add(aitem);
}
}
//常量提示
void AddConToolTip(string key, string desc)
{
AddAutoMenuItem(conList, key, desc);
......@@ -190,9 +154,8 @@ void AddConToolTip(string key, string desc)
tooltipDic.Add(key, desc);
}
}
void AddConstant(string conlua)
//常量
public void AddConstant(string conlua)
{
//conList.Add("con");
if (File.Exists(conlua))
......@@ -221,5 +184,27 @@ void AddConstant(string conlua)
}
#endregion
#region 提示
void AddAutoMenuItem(List<AutocompleteItem> list, string key, string desc)
{
bool isExists = false;
foreach (AutocompleteItem ai in list)
{
if (ai.Text == key)
{
isExists = true;
ai.ToolTipText += Environment.NewLine
+ Environment.NewLine + desc;
}
}
if (!isExists)
{
AutocompleteItem aitem = new AutocompleteItem(key);
aitem.ToolTipTitle = key;
aitem.ToolTipText = desc;
list.Add(aitem);
}
}
#endregion
}
}
......@@ -9,75 +9,54 @@
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Windows.Forms;
namespace DataEditorX.Config
{
/// <summary>
/// Description of DataConfig.
/// </summary>
public class DataConfig
{
public DataConfig()
{
InitMember(System.Windows.Forms.Application.StartupPath);
}
public DataConfig(string datapath)
{
InitMember(datapath);
}
public void InitMember(string datapath)
/// <summary>
/// Description of DataConfig.
/// </summary>
public class DataConfig
{
public DataConfig()
{
this.datapath = datapath;
conf = MyPath.Combine(datapath, MyConfig.FILE_INFO);
dicCardRules=new Dictionary<long, string>();
dicSetnames=new Dictionary<long, string>();
dicCardTypes=new Dictionary<long, string>();
dicCardcategorys=new Dictionary<long, string>();
dicCardAttributes=new Dictionary<long, string>();
dicCardRaces=new Dictionary<long, string>();
dicCardLevels=new Dictionary<long, string>();
string[] lines = File.ReadAllLines(conf, Encoding.UTF8);
foreach (string line in lines)
InitMember(MyPath.Combine(Application.StartupPath, MyConfig.FILE_INFO));
}
public DataConfig(string conf)
{
InitMember(conf);
}
public void InitMember(string conf)
{
//conf = MyPath.Combine(datapath, MyConfig.FILE_INFO);
if(!File.Exists(conf))
{
if (!line.StartsWith("#"))
{
if (line.StartsWith(MyConfig.TAG_ATTRIBUTE))
{
}
}
dicCardRules = new Dictionary<long, string>();
dicSetnames =new Dictionary<long, string>();
dicCardTypes =new Dictionary<long, string>();
dicCardcategorys =new Dictionary<long, string>();
dicCardAttributes =new Dictionary<long, string>();
dicCardRaces =new Dictionary<long, string>();
dicCardLevels =new Dictionary<long, string>();
return;
}
string text = File.ReadAllText(conf);
dicCardRules = DataManager.Read(text, MyConfig.TAG_RULE);
dicSetnames = DataManager.Read(text, MyConfig.TAG_SETNAME);
dicCardTypes = DataManager.Read(text, MyConfig.TAG_TYPE);
dicCardcategorys = DataManager.Read(text, MyConfig.TAG_CATEGORY);
dicCardAttributes = DataManager.Read(text, MyConfig.TAG_ATTRIBUTE);
dicCardRaces = DataManager.Read(text, MyConfig.TAG_RACE);
dicCardLevels = DataManager.Read(text, MyConfig.TAG_LEVEL);
}
Dictionary<long, string> CopyDic(Dictionary<long, string> dic)
{
Dictionary<long, string> ndic=new Dictionary<long, string>();
foreach(long k in dic.Keys)
{
ndic.Add(k, dic[k]);
}
return ndic;
}
public void Init()
{
dicCardRules=DataManager.Read(confrule);
dicSetnames=DataManager.Read(confsetname);
dicCardTypes=DataManager.Read(conftype);
dicCardcategorys=DataManager.Read(confcategory);
dicCardAttributes=DataManager.Read(confattribute);
dicCardRaces=DataManager.Read(confrace);
dicCardLevels=DataManager.Read(conflevel);
}
string datapath;
public string conf;
public Dictionary<long, string> dicCardRules=null;
public Dictionary<long, string> dicCardAttributes=null;
public Dictionary<long, string> dicCardRaces=null;
public Dictionary<long, string> dicCardLevels=null;
public Dictionary<long, string> dicSetnames=null;
public Dictionary<long, string> dicCardTypes=null;
public Dictionary<long, string> dicCardcategorys=null;
}
public Dictionary<long, string> dicCardRules = null;
public Dictionary<long, string> dicCardAttributes = null;
public Dictionary<long, string> dicCardRaces = null;
public Dictionary<long, string> dicCardLevels = null;
public Dictionary<long, string> dicSetnames = null;
public Dictionary<long, string> dicCardTypes = null;
public Dictionary<long, string> dicCardcategorys = null;
}
}
......@@ -8,6 +8,7 @@
using System;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Globalization;
using System.Collections.Generic;
......@@ -15,48 +16,59 @@ namespace DataEditorX.Config
{
public class DataManager
{
public const string TAG_START = "##";
public const string TAG_END = "#";
#region 读取
/// <summary>
///
/// </summary>
/// <param name="strFile"></param>
/// <returns></returns>
public static Dictionary<long, string> Read(string strFile)
public static Dictionary<long, string> Read(string content, string tag)
{
Dictionary<long, string> m_dic=new Dictionary<long, string>();
if(File.Exists(strFile))
Regex reg = new Regex(string.Format("{0}{1}[\\S\\s]*?{2}", TAG_START, tag, TAG_END), RegexOptions.Multiline);
Match mac = reg.Match(content);
if (mac.Success)
{
using(FileStream fstream=new FileStream(
strFile,FileMode.Open, FileAccess.ReadWrite))
{
StreamReader sreader=new StreamReader(fstream, Encoding.UTF8);
string line , strkey, strword;
int l;
long lkey;
while((line = sreader.ReadLine()) !=null )
{
if(line.StartsWith("#"))
continue;
if((l = line.IndexOf(" ")) < 0)
continue;
strkey=line.Substring(0,l).Replace("0x","");
strword=line.Substring(l+1);
int t=strword.IndexOf('\t');
if(t>0)
strword=strword.Substring(0,t);
if(line.StartsWith("0x"))
long.TryParse(strkey, NumberStyles.HexNumber, null, out lkey);
else
long.TryParse(strkey, out lkey);
if(!m_dic.ContainsKey(lkey) && strword !="N/A")
m_dic.Add(lkey, strword);
}
sreader.Close();
fstream.Close();
}
return Read(mac.Groups[0].Value);
}
return new Dictionary<long, string>();
}
public static Dictionary<long, string> Read(string strFile, Encoding encode)
{
return Read(File.ReadAllLines(strFile, encode));
}
public static Dictionary<long, string> Read(string content)
{
string text = content.Replace("\r\n","\n");
text = text.Replace("\r", "\n");
return Read(text.Split('\n'));
}
public static Dictionary<long, string> Read(string[] lines)
{
Dictionary<long, string> tempDic = new Dictionary<long, string>();
string strkey, strword;
int l;
long lkey;
foreach (string line in lines)
{
if (line.StartsWith("#"))
continue;
if ((l = line.IndexOf(" ")) < 0)
continue;
strkey = line.Substring(0, l).Replace("0x", "");
strword = line.Substring(l + 1);
int t = strword.IndexOf('\t');
if (t > 0)
strword = strword.Substring(0, t);
if (line.StartsWith("0x"))
long.TryParse(strkey, NumberStyles.HexNumber, null, out lkey);
else
long.TryParse(strkey, out lkey);
if (!tempDic.ContainsKey(lkey) && strword != "N/A")
tempDic.Add(lkey, strword);
}
return m_dic;
return tempDic;
}
#endregion
#region 查找
......
......@@ -30,15 +30,20 @@ class MyConfig
public const string FILE_TEMP = "open.tmp";
public const string FILE_MESSAGE = "message.txt";
public const string FILE_HISTORY = "history.txt";
public static string FILE_INFO = "card-info.txt";
public static string FILE_SETNAME = "card-setname.txt";
public const string FILE_INFO = "card-info.txt";
public const string FILE_FUNCTION = "_functions.txt";
public const string FILE_CONSTANT = "constant.lua";
public const string FILE_STRINGS = "strings.conf";
public static string TAG_RULE = "rule";
public static string TAG_RACE = "race";
public static string TAG_ATTRIBUTE = "attribute";
public static string TAG_LEVEL = "level";
public static string TAG_CATEGORY = "category";
public static string TAG_TYPE = "type";
public const string TAG_RULE = "rule";
public const string TAG_RACE = "race";
public const string TAG_ATTRIBUTE = "attribute";
public const string TAG_LEVEL = "level";
public const string TAG_CATEGORY = "category";
public const string TAG_TYPE = "type";
public const string TAG_SETNAME = "setname";
public static string readString(string key)
{
......
......@@ -6,6 +6,7 @@
using Microsoft.VisualBasic;
using System.Configuration;
using DataEditorX.Config;
using System.Windows.Forms;
namespace DataEditorX.Core
{
......@@ -15,7 +16,6 @@ static class YGOUtil
static YGOUtil()
{
datacfg = new DataConfig();
datacfg.Init();
}
public static void SetConfig(DataConfig dcfg)
{
......
......@@ -111,8 +111,7 @@ void DataEditFormLoad(object sender, EventArgs e)
if (datacfg == null)
{
datacfg = new DataConfig(datapath);
datacfg.Init();
datacfg = new DataConfig();
}
tasker = new TaskHelper(datapath, bgWorker1,
datacfg.dicCardTypes,
......
......@@ -82,7 +82,7 @@
<Compile Include="Common\User32.cs" />
<Compile Include="Common\ZipStorer.cs" />
<Compile Include="Common\Area.cs" />
<Compile Include="Config\Config.cs" />
<Compile Include="Config\MyConfig.cs" />
<Compile Include="Core\Card.cs" />
<Compile Include="Core\CardAttribute.cs" />
<Compile Include="Core\CardRace.cs" />
......@@ -187,27 +187,6 @@
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
<SubType>Designer</SubType>
</None>
<None Include="chinese\card-attribute.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="chinese\card-category.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="chinese\card-level.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="chinese\card-race.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="chinese\card-rule.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="chinese\card-setname.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="chinese\card-type.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="chinese\constant.lua">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
......
......@@ -35,8 +35,8 @@ public partial class MainForm : Form, IMainForm
//语言配置
string conflang;
string confmsg;
//打开历史
string historyFile;
//函数列表
string funtxt;
//数据库对比
DataEditForm compare1, compare2;
Card[] tCards;
......@@ -56,21 +56,28 @@ public void SetLanguage(string language)
this.datapath = MyPath.Combine(Application.StartupPath, language);
//文件路径
historyFile = MyPath.Combine(datapath, MyConfig.FILE_HISTORY);
string historyFile = MyPath.Combine(datapath, MyConfig.FILE_HISTORY);
conflang = MyPath.Combine(datapath, MyConfig.FILE_LANGUAGE);
confmsg = MyPath.Combine(datapath, MyConfig.FILE_MESSAGE);
//游戏数据
datacfg = new DataConfig(datapath);
datacfg.Init();
datacfg = new DataConfig(MyPath.Combine(datapath, MyConfig.FILE_INFO));
//
YGOUtil.SetConfig(datacfg);
//代码提示
codecfg = new CodeConfig(datapath);
codecfg.Init();
funtxt = MyPath.Combine(datapath, MyConfig.FILE_FUNCTION);
string conlua = MyPath.Combine(datapath, MyConfig.FILE_CONSTANT);
string confstring = MyPath.Combine(datapath, MyConfig.FILE_STRINGS);
codecfg = new CodeConfig();
//添加函数
codecfg.AddFunction(funtxt);
//添加指示物
codecfg.AddStrings(confstring);
//添加常量
codecfg.AddConstant(conlua);
codecfg.SetNames(datacfg.dicSetnames);
codecfg.AddStrings();
//初始化
InitializeComponent();
history = new History(this);
//加载多语言
......@@ -142,7 +149,7 @@ void OpenScript(string file)
LANG.SetFormLabel(cf);
cf.SetCDBList(history.GetcdbHistory());
cf.InitTooltip(codecfg.TooltipDic, codecfg.FunList, codecfg.ConList);
cf.InitTooltip(codecfg);
cf.Open(file);
cf.Show(dockPanel1, DockState.Document);
}
......@@ -459,7 +466,7 @@ void Menuitem_findluafuncClick(object sender, EventArgs e)
fd.Description = "Folder Name: ocgcore";
if (fd.ShowDialog() == DialogResult.OK)
{
LuaFunction.Read(codecfg.funtxt);
LuaFunction.Read(funtxt);
LuaFunction.Find(fd.SelectedPath);
MessageBox.Show("OK");
}
......
0x0 卡片属性
0x1 地
0x2 水
0x4 炎
0x8 风
0x10 光
0x20 暗
0x40 神
\ No newline at end of file
0x1 魔陷破坏
0x2 怪兽破坏
0x4 卡片除外
0x8 送去墓地
0x10 返回手牌
0x20 返回卡组
0x40 手牌破坏
0x80 卡组破坏
0x100 抽卡辅助
0x200 卡组检索
0x400 卡片回收
0x800 表示变更
0x1000 控制权
0x2000 攻守变化
0x4000 贯穿伤害
0x8000 多次攻击
0x10000 攻击限制
0x20000 直接攻击
0x40000 特殊召唤
0x80000 衍生物
0x100000 种族相关
0x200000 属性相关
0x400000 LP伤害
0x800000 LP回复
0x1000000 破坏耐性
0x2000000 效果耐性
0x4000000 指示物
0x8000000 赌博相关
0x10000000 融合相关
0x20000000 同调相关
0x40000000 超量相关
0x80000000 效果无效
\ No newline at end of file
#rule
rule 0x0 卡片规则
rule 0x1 OCG专有
rule 0x2 TCG专有
rule 0x3 OCG&TCG
rule 0x4 Anime/DIY
#attribute
attribute 0x0 卡片属性
attribute 0x1 地
attribute 0x2 水
attribute 0x4 炎
attribute 0x8 风
attribute 0x10 光
attribute 0x20 暗
attribute 0x40 神
#level
level 0x0 卡片等级/阶级
level 0x1 1★
level 0x2 2★
level 0x3 3★
level 0x4 4★
level 0x5 5★
level 0x6 6★
level 0x7 7★
level 0x8 8★
level 0x9 9★
level 0xa 10★
level 0xb 11★
level 0xc 12★
level 0xd 13★
#category
category 0x1 魔陷破坏
category 0x2 怪兽破坏
category 0x4 卡片除外
category 0x8 送去墓地
category 0x10 返回手牌
category 0x20 返回卡组
category 0x40 手牌破坏
category 0x80 卡组破坏
category 0x100 抽卡辅助
category 0x200 卡组检索
category 0x400 卡片回收
category 0x800 表示变更
category 0x1000 控制权
category 0x2000 攻守变化
category 0x4000 贯穿伤害
category 0x8000 多次攻击
category 0x10000 攻击限制
category 0x20000 直接攻击
category 0x40000 特殊召唤
category 0x80000 衍生物
category 0x100000 种族相关
category 0x200000 属性相关
category 0x400000 LP伤害
category 0x800000 LP回复
category 0x1000000 破坏耐性
category 0x2000000 效果耐性
category 0x4000000 指示物
category 0x8000000 赌博相关
category 0x10000000 融合相关
category 0x20000000 同调相关
category 0x40000000 超量相关
category 0x80000000 效果无效
#race
race 0x0 卡片种族
race 0x1 战士族
race 0x2 魔法师族
race 0x4 天使族
race 0x8 恶魔族
race 0x10 不死族
race 0x20 机械族
race 0x40 水族
race 0x80 炎族
race 0x100 岩石族
race 0x200 鸟兽族
race 0x400 植物族
race 0x800 昆虫族
race 0x1000 雷族
race 0x2000 龙族
race 0x4000 兽族
race 0x8000 兽战士族
race 0x10000 恐龙族
race 0x20000 鱼族
race 0x40000 海龙族
race 0x80000 爬虫类族
race 0x100000 念动力族
race 0x200000 幻神兽族
race 0x400000 创造神族
race 0x800000 幻龙族
#type
type 0x1 怪兽
type 0x2 魔法
type 0x4 陷阱
type 0x8 N/A
type 0x10 通常
type 0x20 效果
type 0x40 融合
type 0x80 仪式
type 0x100 N/A
type 0x200 灵魂
type 0x400 同盟
type 0x800 二重
type 0x1000 调整
type 0x2000 同调
type 0x4000 衍生物
type 0x8000 N/A
type 0x10000 速攻
type 0x20000 永续
type 0x40000 装备
type 0x80000 场地
type 0x100000 反击
type 0x200000 反转
type 0x400000 卡通
type 0x800000 超量
type 0x1000000 灵摆
\ No newline at end of file
##rule
0x0 卡片规则
0x1 OCG专有
0x2 TCG专有
0x3 OCG&TCG
0x4 Anime/DIY
##attribute
0x0 卡片属性
0x1 地
0x2 水
0x4 炎
0x8 风
0x10 光
0x20 暗
0x40 神
##level
0x0 卡片等级/阶级
0x1 1★
0x2 2★
0x3 3★
0x4 4★
0x5 5★
0x6 6★
0x7 7★
0x8 8★
0x9 9★
0xa 10★
0xb 11★
0xc 12★
0xd 13★
##category
0x1 魔陷破坏
0x2 怪兽破坏
0x4 卡片除外
0x8 送去墓地
0x10 返回手牌
0x20 返回卡组
0x40 手牌破坏
0x80 卡组破坏
0x100 抽卡辅助
0x200 卡组检索
0x400 卡片回收
0x800 表示变更
0x1000 控制权
0x2000 攻守变化
0x4000 贯穿伤害
0x8000 多次攻击
0x10000 攻击限制
0x20000 直接攻击
0x40000 特殊召唤
0x80000 衍生物
0x100000 种族相关
0x200000 属性相关
0x400000 LP伤害
0x800000 LP回复
0x1000000 破坏耐性
0x2000000 效果耐性
0x4000000 指示物
0x8000000 赌博相关
0x10000000 融合相关
0x20000000 同调相关
0x40000000 超量相关
0x80000000 效果无效
##race
0x0 卡片种族
0x1 战士族
0x2 魔法师族
0x4 天使族
0x8 恶魔族
0x10 不死族
0x20 机械族
0x40 水族
0x80 炎族
0x100 岩石族
0x200 鸟兽族
0x400 植物族
0x800 昆虫族
0x1000 雷族
0x2000 龙族
0x4000 兽族
0x8000 兽战士族
0x10000 恐龙族
0x20000 鱼族
0x40000 海龙族
0x80000 爬虫类族
0x100000 念动力族
0x200000 幻神兽族
0x400000 创造神族
0x800000 幻龙族
##type
0x1 怪兽
0x2 魔法
0x4 陷阱
0x8 N/A
0x10 通常
0x20 效果
0x40 融合
0x80 仪式
0x100 N/A
0x200 灵魂
0x400 同盟
0x800 二重
0x1000 调整
0x2000 同调
0x4000 衍生物
0x8000 N/A
0x10000 速攻
0x20000 永续
0x40000 装备
0x80000 场地
0x100000 反击
0x200000 反转
0x400000 卡通
0x800000 超量
0x1000000 灵摆
##setname
0x0 卡片系列
0x1 A·O·J
0x2 ジェネクス
0x1002 レアル·ジェネクス
0x2002 A·ジェネクス
0x3 N/A
0x4 アマズネス
0x5 アルカナフォース
0x6 暗黑界
0x7 アンティーク・ギア
0x8 HERO
0x3008 E·HERO
0x6008 E-HERO
0xc008 D·HERO
0x5008 V·HERO
0xa008 M·HERO
0x9 ネオス
0xa ヴェルズ
0x100a インヴェルズ
0xb インフェルニティ
0xc エーリアン
0xd セイバー
0x100d X-セイバー
0x300d XX-セイバー
0xe エレキ
0xf オジャマ
0x10 ガスタ
0x11 カラクリ
0x12 ガエル
0x13 機皇
0x3013 機皇帝
0x6013 機皇兵
0x14 N/A
0x15 巨大戦艦
0x16 ロイド
0x17 シンクロン
0x18 雲魔物
0x19 剣闘獣
0x1a 黒蠍
0x1b 幻獣
0x101b 幻獣機
0x1c 幻魔
0x1d コアキメイル
0x1e C(コクーン)
0x1f N(ネオスペーシアン)
0x20 紫炎
0x21 地縛神
0x22 ジュラック
0x23 SIN
0x24 スクラップ
0x25 C(チェーン)
0x26 D(ディフォーマー)
0x27 TG(テックジーナス)
0x28 電池メン
0x29 ドラグニティ
0x2a ナチュル
0x2b 忍者
0x102b 機甲忍者
0x2c フレムベル
0x2d ハーピィ
0x2e 墓守
0x2f 氷結界
0x30 ヴァイロン
0x31 フォーチュンレディ
0x32 ヴォルカニック
0x33 BF(ブラックフェザー)
0x34 宝玉獣
0x35 魔轟神
0x1035 魔轟神獣
0x36 マシンナーズ
0x37 霞の谷
0x38 ライトロード
0x39 ラヴァル
0x3a リチュア
0x3b レッドアイズ
0x3c レプティレス
0x3d 六武衆
0x3e ワーム
0x3f セイヴァ
0x40 封印されし
0x41 LV
0x42 極星
0x3042 極星天
0x6042 極星獣
0xa042 極星霊
0x5042 極星宝
0x43 ジャンク
0x44 代行者
0x45 デーモン
0x46 融合/フュージョン
0x47 ジェム
0x1047 ジェムナイト
0x48 NO
0x1048 CNO
0x49 铳士
0x4a 時械神
0x4b 極神
0x4c 落とし穴
0x4e エヴォル
0x304e エヴォルド
0x604e エヴォルダ
0x504e エヴォルカイザー
0x4f バスター
0x104f /バスター
0x50 ヴェノム
0x51 ガジェット
0x52 ガーディアン
0x53 セイクリッド
0x54 ガガガ
0x55 フォトン
0x56 甲虫装機
0x57 リゾネーター
0x58 ゼンマイ
0x59 ゴゴゴ
0x5a ペンギン
0x5b トマボー
0x5c スフィンクス
0x60 竹光
0x61 忍法
0x62 トゥーン
0x63 リアクター
0x64 ハーピィ
0x65 侵略の
0x66 音響戦士
0x67 アイアン
0x68 ブリキ
0x69 聖刻
0x6a 幻蝶の刺客
0x6b バウンサー
0x6c ライトレイ
0x6d 魔人
0x306d 竜魔人
0x606d 儀式魔人
0x6e 魔導
0x106e 魔導書
0x6f ヒロイック
0x106f H・C
0x206f H-C
0x70 先史遺産
0x71 マドルチェ
0x72 ギアギア
0x1072 ギアギアーノ
0x73 エクシーズ
0x1073 CX
0x74 水精鱗
0x75 アビス
0x76 紋章獣
0x77 海皇
0x78 素早い
0x79 炎星
0x7a Nobel
0x107a NobelKnight
0x207a NobelArms
0x7b ギャラクシー
0x107b ギャラクシーアイズ
0x307b 银河眼时空龙
0x7c 炎舞
0x7d ヘイズ
0x107d 陽炎獣
0x7e ZW
0x7f 希望皇ホープ
0x80 ダストン
0x81 炎王
0x1081 炎王獣
0x82 ドドド
0x83 ギミック・パペット
0x84 BK
0x85 SDロボ
0x86 光天使
0x87 アンブラル
0x88 武神
0x1088 武神器
0x89 ホール
0x8a 蟲惑
0x108a 蟲惑魔
0x8b マリスボラス
0x8c ドルイド
0x8d ゴーストリック
0x8e ヴァンパイア
0x8f ズババ
0x90 森羅
0x91 ネクロバレー
0x92 メダリオン
0x93 サイバー
0x1093 サイバー・ドラゴン
0x94 サイバネティック
0x95 RUM
0x96 フィッシュボーグ
0x97 アーティファクト
0x98 魔术师
0x99 异色眼
0x9a 超重武者
0x9b 幻奏
0x9c テラナイト
0x9d 影依
0x9e 龙星
0x9f EM
0xa0 伝説の騎士
0xa1 伝説の竜
0xa2 ブラック·マジシャン
0xa3 スターダスト
0xa4 ハネクリボー
0xa5 チェンジ
0xa6 スプラウト
0xa7 アルトリウス
0xa8 ランスロット
0xa9 ファーニマル
0xaa クリフォート
0xab ブンボーグ
0xac ゴブリン
0xad デストーイ
0xae 契約書
0xaf DD
0xb0 ガトムズ
0xb1 Burning Abyss
0xb2 U.A.
0xb3 妖仙獣
0xb4 影霊衣
0xb5 霊獣
0x10b5 霊獣使い
0x20b5 精霊獣
0x100 同调士相关同调怪兽
0x101 奇迹同调融合相关怪兽
0x102 暗黑融合限定怪兽
0x103 电子龙限定素材的融合怪兽
#end
\ No newline at end of file
0x0 卡片等级/阶级
0x1 1★
0x2 2★
0x3 3★
0x4 4★
0x5 5★
0x6 6★
0x7 7★
0x8 8★
0x9 9★
0xa 10★
0xb 11★
0xc 12★
0xd 13★
\ No newline at end of file
0x0 卡片种族
0x1 战士族
0x2 魔法师族
0x4 天使族
0x8 恶魔族
0x10 不死族
0x20 机械族
0x40 水族
0x80 炎族
0x100 岩石族
0x200 鸟兽族
0x400 植物族
0x800 昆虫族
0x1000 雷族
0x2000 龙族
0x4000 兽族
0x8000 兽战士族
0x10000 恐龙族
0x20000 鱼族
0x40000 海龙族
0x80000 爬虫类族
0x100000 念动力族
0x200000 幻神兽族
0x400000 创造神族
0x800000 幻龙族
\ No newline at end of file
0x0 卡片规则
0x1 OCG专有
0x2 TCG专有
0x3 OCG&TCG
0x4 Anime/DIY
\ No newline at end of file
0x0 卡片系列
0x1 A·O·J
0x2 ジェネクス
0x1002 レアル·ジェネクス
0x2002 A·ジェネクス
0x3 N/A
0x4 アマズネス
0x5 アルカナフォース
0x6 暗黑界
0x7 アンティーク・ギア
0x8 HERO
0x3008 E·HERO
0x6008 E-HERO
0xc008 D·HERO
0x5008 V·HERO
0xa008 M·HERO
0x9 ネオス
0xa ヴェルズ
0x100a インヴェルズ
0xb インフェルニティ
0xc エーリアン
0xd セイバー
0x100d X-セイバー
0x300d XX-セイバー
0xe エレキ
0xf オジャマ
0x10 ガスタ
0x11 カラクリ
0x12 ガエル
0x13 機皇
0x3013 機皇帝
0x6013 機皇兵
0x14 N/A
0x15 巨大戦艦
0x16 ロイド
0x17 シンクロン
0x18 雲魔物
0x19 剣闘獣
0x1a 黒蠍
0x1b 幻獣
0x101b 幻獣機
0x1c 幻魔
0x1d コアキメイル
0x1e C(コクーン)
0x1f N(ネオスペーシアン)
0x20 紫炎
0x21 地縛神
0x22 ジュラック
0x23 SIN
0x24 スクラップ
0x25 C(チェーン)
0x26 D(ディフォーマー)
0x27 TG(テックジーナス)
0x28 電池メン
0x29 ドラグニティ
0x2a ナチュル
0x2b 忍者
0x102b 機甲忍者
0x2c フレムベル
0x2d ハーピィ
0x2e 墓守
0x2f 氷結界
0x30 ヴァイロン
0x31 フォーチュンレディ
0x32 ヴォルカニック
0x33 BF(ブラックフェザー)
0x34 宝玉獣
0x35 魔轟神
0x1035 魔轟神獣
0x36 マシンナーズ
0x37 霞の谷
0x38 ライトロード
0x39 ラヴァル
0x3a リチュア
0x3b レッドアイズ
0x3c レプティレス
0x3d 六武衆
0x3e ワーム
0x3f セイヴァ
0x40 封印されし
0x41 LV
0x42 極星
0x3042 極星天
0x6042 極星獣
0xa042 極星霊
0x5042 極星宝
0x43 ジャンク
0x44 代行者
0x45 デーモン
0x46 融合/フュージョン
0x47 ジェム
0x1047 ジェムナイト
0x48 NO
0x1048 CNO
0x49 铳士
0x4a 時械神
0x4b 極神
0x4c 落とし穴
0x4e エヴォル
0x304e エヴォルド
0x604e エヴォルダ
0x504e エヴォルカイザー
0x4f バスター
0x104f /バスター
0x50 ヴェノム
0x51 ガジェット
0x52 ガーディアン
0x53 セイクリッド
0x54 ガガガ
0x55 フォトン
0x56 甲虫装機
0x57 リゾネーター
0x58 ゼンマイ
0x59 ゴゴゴ
0x5a ペンギン
0x5b トマボー
0x5c スフィンクス
0x60 竹光
0x61 忍法
0x62 トゥーン
0x63 リアクター
0x64 ハーピィ
0x65 侵略の
0x66 音響戦士
0x67 アイアン
0x68 ブリキ
0x69 聖刻
0x6a 幻蝶の刺客
0x6b バウンサー
0x6c ライトレイ
0x6d 魔人
0x306d 竜魔人
0x606d 儀式魔人
0x6e 魔導
0x106e 魔導書
0x6f ヒロイック
0x106f H・C
0x206f H-C
0x70 先史遺産
0x71 マドルチェ
0x72 ギアギア
0x1072 ギアギアーノ
0x73 エクシーズ
0x1073 CX
0x74 水精鱗
0x75 アビス
0x76 紋章獣
0x77 海皇
0x78 素早い
0x79 炎星
0x7a Nobel
0x107a NobelKnight
0x207a NobelArms
0x7b ギャラクシー
0x107b ギャラクシーアイズ
0x307b 银河眼时空龙
0x7c 炎舞
0x7d ヘイズ
0x107d 陽炎獣
0x7e ZW
0x7f 希望皇ホープ
0x80 ダストン
0x81 炎王
0x1081 炎王獣
0x82 ドドド
0x83 ギミック・パペット
0x84 BK
0x85 SDロボ
0x86 光天使
0x87 アンブラル
0x88 武神
0x1088 武神器
0x89 ホール
0x8a 蟲惑
0x108a 蟲惑魔
0x8b マリスボラス
0x8c ドルイド
0x8d ゴーストリック
0x8e ヴァンパイア
0x8f ズババ
0x90 森羅
0x91 ネクロバレー
0x92 メダリオン
0x93 サイバー
0x1093 サイバー・ドラゴン
0x94 サイバネティック
0x95 RUM
0x96 フィッシュボーグ
0x97 アーティファクト
0x98 魔术师
0x99 异色眼
0x9a 超重武者
0x9b 幻奏
0x9c テラナイト
0x9d 影依
0x9e 龙星
0x9f EM
0xa0 伝説の騎士
0xa1 伝説の竜
0xa2 ブラック·マジシャン
0xa3 スターダスト
0xa4 ハネクリボー
0xa5 チェンジ
0xa6 スプラウト
0xa7 アルトリウス
0xa8 ランスロット
0xa9 ファーニマル
0xaa クリフォート
0xab ブンボーグ
0xac ゴブリン
0xad デストーイ
0xae 契約書
0xaf DD
0xb0 ガトムズ
0xb1 Burning Abyss
0xb2 U.A.
0xb3 妖仙獣
0xb4 影霊衣
0xb5 霊獣
0x10b5 霊獣使い
0x20b5 精霊獣
0x100 同调士相关同调怪兽
0x101 奇迹同调融合相关怪兽
0x102 暗黑融合限定怪兽
0x103 电子龙限定素材的融合怪兽
\ No newline at end of file
0x1 怪兽
0x2 魔法
0x4 陷阱
0x8 N/A
0x10 通常
0x20 效果
0x40 融合
0x80 仪式
0x100 N/A
0x200 灵魂
0x400 同盟
0x800 二重
0x1000 调整
0x2000 同调
0x4000 衍生物
0x8000 N/A
0x10000 速攻
0x20000 永续
0x40000 装备
0x80000 场地
0x100000 反击
0x200000 反转
0x400000 卡通
0x800000 超量
0x1000000 灵摆
\ No newline at end of file
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