Commit 9fcb9acf authored by keyongyu's avatar keyongyu

data

parent 2cf4ede4
......@@ -257,10 +257,6 @@ private void InitializeComponent()
this.documentMap1.Text = "documentMap1";
this.documentMap1.Visible = false;
//
// backgroundWorker1
//
this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork);
//
// CodeEditForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
......@@ -301,7 +297,7 @@ private void InitializeComponent()
private System.Windows.Forms.ToolStripMenuItem menuitem_save;
private System.Windows.Forms.ToolStripMenuItem menuitem_open;
private System.Windows.Forms.ToolStripMenuItem menuitem_file;
private System.Windows.Forms.MenuStrip mainMenu;
private System.Windows.Forms.MenuStrip mainMenu;
private System.ComponentModel.BackgroundWorker backgroundWorker1;
......
......@@ -121,9 +121,6 @@
<value>17, 17</value>
</metadata>
<metadata name="backgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>137, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>44</value>
<value>132, 17</value>
</metadata>
</root>
\ No newline at end of file
......@@ -35,7 +35,7 @@ public static string getMultLineValue(string line)
}
public static string getRegex(string word)
{
return word.Replace("\\n", "\n").Replace("\\t", "\t").Replace("\\s", " ");
return word.Replace("\\n", Environment.NewLine).Replace("\\t", "\t").Replace("\\s", " ");
}
public static bool getBooleanValue(string line)
{
......
......@@ -16,7 +16,6 @@ namespace DataEditorX.Config
/// </summary>
public class DataConfig
{
public const string FILE_INFO = "card-info.txt";
public const string TAG_RULE = "rule";
public const string TAG_RACE = "race";
public const string TAG_ATTRIBUTE = "attribute";
......@@ -25,19 +24,16 @@ public class DataConfig
public const string TAG_TYPE = "type";
public const string TAG_SETNAME = "setname";
public MSEConfig msecfg;
public DataConfig()
{
InitMember(MyPath.Combine(Application.StartupPath, FILE_INFO)
, Application.StartupPath);
InitMember(MyPath.Combine(Application.StartupPath, MyConfig.TAG_CARDINFO+".txt"));
}
public DataConfig(string conf, string datapath)
public DataConfig(string conf)
{
InitMember(conf, datapath);
InitMember(conf);
}
public void InitMember(string conf, string datapath)
public void InitMember(string conf)
{
msecfg = new MSEConfig(datapath);
//conf = MyPath.Combine(datapath, MyConfig.FILE_INFO);
if(!File.Exists(conf))
{
......
......@@ -32,31 +32,33 @@ public class MSEConfig
public const string TAG_IMAGE = "imagepath";
public const string TAG_REPALCE = "replace";
public const string TAG_TEXT = "text";
public const string TAG_REP = "%%";
public const string SEP_LINE = " ";
public const string FILE_CONFIG = "mse-config.txt";
//默认的配置
public const string FILE_CONFIG = "mse_chs.txt";
public const string PATH_IMAGE = "Images";
public string configName = FILE_CONFIG;
public MSEConfig(string path)
{
init(path);
}
public void init(string path)
public void SetConfig(string config, string path)
{
Iscn2tw = false;
if (!File.Exists(config))
return;
regx_monster = "(\\s\\S*?)";
regx_pendulum = "(\\s\\S*?)";
//设置文件名
configName = Path.GetFileName(config);
string tmp = MyPath.Combine(path, FILE_CONFIG);
replaces = new Dictionary<string, string>();
typeDic = new Dictionary<long, string>();
raceDic = new Dictionary<long, string>();
//读取配置
if (!File.Exists(tmp))
return;
string[] lines = File.ReadAllLines(tmp, Encoding.UTF8);
string[] lines = File.ReadAllLines(config, Encoding.UTF8);
foreach (string line in lines)
{
if (string.IsNullOrEmpty(line) || line.StartsWith("#"))
......@@ -67,6 +69,8 @@ public void init(string path)
str_spell = ConfHelper.getValue(line);
else if (line.StartsWith(TAG_HEAD))
head = ConfHelper.getMultLineValue(line);
else if (line.StartsWith(TAG_TEXT))
temp_text = ConfHelper.getMultLineValue(line);
else if (line.StartsWith(TAG_TRAP))
str_trap = ConfHelper.getValue(line);
else if (line.StartsWith(TAG_REG_PENDULUM))
......@@ -99,6 +103,21 @@ public void init(string path)
}
}
}
public void init(string path)
{
Iscn2tw = false;
//读取配置
string tmp = MyPath.Combine(path, MyConfig.readString(MyConfig.TAG_MSE));
if (!File.Exists(tmp))
{
tmp = MyPath.Combine(path, FILE_CONFIG);
if(!File.Exists(tmp))
return;//如果默认的也不存在
}
SetConfig(tmp, path);
}
//每个存档最大数
public int maxcount;
......@@ -108,6 +127,8 @@ public void init(string path)
public string str_spell;
//陷阱标志
public string str_trap;
//效果格式
public string temp_text;
//简体转繁体?
public bool Iscn2tw;
//特数字替换
......
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Text;
using System.Xml;
using System.IO;
using DataEditorX.Common;
namespace DataEditorX.Config
......@@ -11,6 +9,8 @@ class MyConfig
public const int WM_OPEN = 0x0401;
public const int MAX_HISTORY = 0x10;
public const string TAG_DATA = "data";
public const string TAG_MSE = "mse";
public const string TAG_CARDINFO = "cardinfo";
public const string TAG_LANGUAGE = "language";
public const string FILE_LANGUAGE = "language.txt";
......@@ -25,7 +25,7 @@ class MyConfig
public static string readString(string key)
{
return ConfigurationManager.AppSettings[key];
return GetAppConfig(key);
}
public static int readInteger(string key, int def)
{
......@@ -76,6 +76,49 @@ public static bool readBoolean(string key)
else
return false;
}
public static void Save(string appKey, string appValue)
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load(System.Windows.Forms.Application.ExecutablePath + ".config");
var xNode = xDoc.SelectSingleNode("//appSettings");
var xElem = (XmlElement)xNode.SelectSingleNode("//add[@key='" + appKey + "']");
if (xElem != null) //存在,则更新
xElem.SetAttribute("value", appValue);
else//不存在,则插入
{
var xNewElem = xDoc.CreateElement("add");
xNewElem.SetAttribute("key", appKey);
xNewElem.SetAttribute("value", appValue);
xNode.AppendChild(xNewElem);
}
xDoc.Save(System.Windows.Forms.Application.ExecutablePath + ".config");
}
public static string GetAppConfig(string appKey)
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load(System.Windows.Forms.Application.ExecutablePath + ".config");
var xNode = xDoc.SelectSingleNode("//appSettings");
var xElem = (XmlElement)xNode.SelectSingleNode("//add[@key='" + appKey + "']");
if (xElem != null)
{
return xElem.Attributes["value"].Value;
}
return string.Empty;
}
public static string GetLanguageFile(string path)
{
return MyPath.Combine(path, MyConfig.TAG_LANGUAGE + "_" + GetAppConfig(TAG_LANGUAGE) + ".txt");
}
public static string GetCardInfoFile(string path)
{
return MyPath.Combine(path, MyConfig.TAG_CARDINFO + "_" + GetAppConfig(TAG_LANGUAGE)+".txt");
}
}
}
......@@ -82,43 +82,8 @@ public override bool Equals(object obj)
else
return false;
}
/// <summary>
/// 字符串化
/// </summary>
public override string ToString()
{
string str = "";
if(IsType(CardType.TYPE_MONSTER))
str = string.Format("{0}[{1}]\n[{2}] {3}/{4}\n{5} {6}/{7}\n {8}",
name, idString,YGOUtil.GetTypeString(type),
YGOUtil.GetRace(race),
YGOUtil.GetAttributeString(attribute),
levelString(),atk,def,redesc());
else
str = string.Format("{0}[{1}]\n[{2}]\n{3}",
name, idString, YGOUtil.GetTypeString(type), redesc());
return str;
}
string levelString()
{
string star="[";
long i=0,j=level&0xff;
for (i = 0; i < j; i++)
{
if ( i>=0 && (i % 4) == 0)
star += " ";
star += "★";
}
return star+"]";
}
string redesc()
{
string str = desc.Replace(Environment.NewLine, "\n");
str = Regex.Replace(str, "([。|?|?])", "$1\n");
str = str.Replace("\n\n", "\n");
return str;
}
public bool EqualsData(Card other)
public bool EqualsData(Card other)
{
bool equalBool = true;
if (this.id != other.id)
......@@ -197,12 +162,7 @@ public override int GetHashCode()
return true;
return false;
}
public string idString
{
get{return id.ToString("00000000");}
}
public bool IsSetCode(long sc)
{
long settype = sc & 0xfff;
......@@ -225,6 +185,47 @@ public bool IsSetCode(long sc)
}
#endregion
}
#region 卡片文字信息
public string idString
{
get { return id.ToString("00000000"); }
}
/// <summary>
/// 字符串化
/// </summary>
public override string ToString()
{
string str = "";
if (IsType(CardType.TYPE_MONSTER)){
str = name + "[" + idString + "]\n["
+ YGOUtil.GetTypeString(type) + "] "
+ YGOUtil.GetRace(race) + "/" + YGOUtil.GetAttributeString(attribute)
+ "\n" + levelString() + " " + atk + "/" + def + "\n" + redesc();
}else
str = name +"[" +idString +"]\n["+YGOUtil.GetTypeString(type)+"]\n"+redesc();
return str;
}
string levelString()
{
string star = "[";
long i = 0, j = level & 0xff;
for (i = 0; i < j; i++)
{
if (i >= 0 && (i % 4) == 0)
star += " ";
star += "★";
}
return star + "]";
}
string redesc()
{
string str = desc.Replace(Environment.NewLine, "\n");
str = Regex.Replace(str, "([。|?|?])", "$1\n");
str = str.Replace("\n\n", "\n");
return str;
}
#endregion
}
}
......@@ -19,29 +19,37 @@
namespace DataEditorX.Core
{
/// <summary>
/// Description of MSE.
/// </summary>
public class MseMaker
{
MSEConfig cfg;
public int MaxNum
{
get{return cfg.maxcount;}
}
public string ImagePath
{
get {return cfg.imagepath;}
}
public MseMaker(MSEConfig mcfg)
{
/// <summary>
/// Description of MSE.
/// </summary>
public class MseMaker
{
MSEConfig cfg;
public int MaxNum
{
get { return cfg.maxcount; }
}
public string ImagePath
{
get { return cfg.imagepath; }
}
public MseMaker(MSEConfig mcfg)
{
SetConfig(mcfg);
}
public void SetConfig(MSEConfig mcfg)
{
cfg = mcfg;
}
}
public MSEConfig GetConfig()
{
return cfg;
}
//特殊字
public string reItalic(string str)
{
......@@ -303,37 +311,37 @@ public string[] GetTypes(Card c)
}
return types;
}
public string[] WriteSet(string file,Card[] cards)
{
List<string> list=new List<string>();
string pic=cfg.imagepath;
using(FileStream fs=new FileStream(file,
FileMode.Create, FileAccess.Write))
{
StreamWriter sw=new StreamWriter(fs, Encoding.UTF8);
sw.WriteLine(cfg.head);
foreach(Card c in cards)
{
public string[] WriteSet(string file, Card[] cards)
{
List<string> list = new List<string>();
string pic = cfg.imagepath;
using (FileStream fs = new FileStream(file,
FileMode.Create, FileAccess.Write))
{
StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
sw.WriteLine(cfg.head);
foreach (Card c in cards)
{
string jpg = GetCardImagePath(pic, c);
if (!string.IsNullOrEmpty(jpg))
{
list.Add(jpg);
jpg = Path.GetFileName(jpg);
}
if(c.IsType(CardType.TYPE_SPELL)||c.IsType(CardType.TYPE_TRAP))
sw.WriteLine(getSpellTrap(c, jpg, c.IsType(CardType.TYPE_SPELL)));
else
sw.WriteLine(getMonster(c, jpg, c.IsType(CardType.TYPE_PENDULUM)));
}
sw.Close();
}
if (c.IsType(CardType.TYPE_SPELL) || c.IsType(CardType.TYPE_TRAP))
sw.WriteLine(getSpellTrap(c, jpg, c.IsType(CardType.TYPE_SPELL)));
else
sw.WriteLine(getMonster(c, jpg, c.IsType(CardType.TYPE_PENDULUM)));
}
sw.Close();
}
return list.ToArray();
}
//pendulum怪兽
string getMonster(Card c,string img,bool isPendulum)
{
StringBuilder sb=new StringBuilder();
return list.ToArray();
}
//pendulum怪兽
string getMonster(Card c, string img, bool isPendulum)
{
StringBuilder sb = new StringBuilder();
string[] types = GetTypes(c);
string race = GetRace(c.race);
sb.AppendLine("card:");
......@@ -342,41 +350,47 @@ string getMonster(Card c,string img,bool isPendulum)
sb.AppendLine(" attribute: " + GetAttribute(c.attribute));
sb.AppendLine(" level: " + GetStar(c.level));
sb.AppendLine(" image: " + img);
sb.AppendLine(" type 1: %" + cn2tw(race));
sb.AppendLine(" type 1: " + cn2tw(race));
sb.AppendLine(" type 2: " + cn2tw(types[1]));
sb.AppendLine(" type 3: " + cn2tw(types[2]));
sb.AppendLine(" type 4: " + cn2tw(types[3]));
if(isPendulum){
if (isPendulum)
{
string text = GetDesc(c.desc, cfg.regx_monster);
if(string.IsNullOrEmpty(text))
text=c.desc;
sb.AppendLine(" rule text: " + ReDesc(text));
if (string.IsNullOrEmpty(text))
text = c.desc;
sb.AppendLine(" rule text: ");
sb.AppendLine(" " + ReDesc(text));
sb.AppendLine(" pendulum scale 1: " + ((c.level >> 0x18) & 0xff).ToString());
sb.AppendLine(" pendulum scale 2:" + ((c.level >> 0x10) & 0xff).ToString());
sb.AppendLine(" pendulum text: " + ReDesc(
GetDesc(c.desc, cfg.regx_pendulum)));
}
else
sb.AppendLine(" rule text: " + ReDesc(c.desc));
sb.AppendLine(" attack: "+((c.atk < 0) ? "?" : c.atk.ToString()));
sb.AppendLine(" defense: "+((c.def < 0) ? "?" : c.def.ToString()));
sb.AppendLine(" pendulum text: ");
sb.AppendLine(" " + ReDesc(GetDesc(c.desc, cfg.regx_pendulum)));
}
else
{
sb.AppendLine(" rule text: ");
sb.AppendLine(" " + ReDesc(c.desc));
}
sb.AppendLine(" attack: " + ((c.atk < 0) ? "?" : c.atk.ToString()));
sb.AppendLine(" defense: " + ((c.def < 0) ? "?" : c.def.ToString()));
sb.AppendLine(" gamecode: "+c.idString);
return sb.ToString();
}
sb.AppendLine(" gamecode: " + c.idString);
return sb.ToString();
}
//魔法陷阱
string getSpellTrap(Card c,string img,bool isSpell)
{
StringBuilder sb=new StringBuilder();
string getSpellTrap(Card c, string img, bool isSpell)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("card:");
sb.AppendLine(" card type: " + (isSpell ? "spell card" : "trap card"));
sb.AppendLine(" name: " + reItalic(c.name));
sb.AppendLine(" attribute: " + (isSpell ? "spell" : "trap"));
sb.AppendLine(" level: " + GetST(c, isSpell));
sb.AppendLine(" image: " + img);
sb.AppendLine(" rule text: " + ReDesc(c.desc));
sb.AppendLine(" rule text: ");
sb.AppendLine(" " + ReDesc(c.desc));
sb.AppendLine(" gamecode: " + c.idString);
return sb.ToString();
}
}
return sb.ToString();
}
}
}
......@@ -52,6 +52,10 @@ public TaskHelper(string datapath, BackgroundWorker worker, MSEConfig mcfg)
mseHelper = new MseMaker(mcfg);
imgSet.Init();
}
public MseMaker MseHelper
{
get { return mseHelper; }
}
public bool IsRuning()
{
return isRun;
......
......@@ -21,6 +21,8 @@ public static void SetConfig(DataConfig dcfg)
{
datacfg = dcfg;
}
#region 判断文件类型
public static bool isScript(string file)
{
if (file != null && file.EndsWith(".lua", StringComparison.OrdinalIgnoreCase))
......@@ -33,9 +35,9 @@ public static bool isDataBase(string file)
return true;
return false;
}
#endregion
#region 获取属性,种族
public static string GetAttributeString(int attr)
{
return DataManager.GetValue(datacfg.dicCardAttributes, attr);
......@@ -46,7 +48,9 @@ public static string GetRace(long race)
{
return DataManager.GetValue(datacfg.dicCardRaces, race);
}
#endregion
#region 获取卡片类型
public static string GetCardType(Card c)
{
string str = "???";
......@@ -128,12 +132,23 @@ public static string GetTypeString(long type)
str = "???";
return str;
}
public static string GetSetNameString(long type)
{
return "";
}
#endregion
#region 系列名
public static string GetSetNameString(long setcode)
{
long sc1 = setcode & 0xffff;
long sc2 = (setcode >> 0x10) & 0xffff;
long sc3 = (setcode >> 0x20) & 0xffff;
long sc4 = (setcode >> 0x30) & 0xffff;
string setname = DataManager.GetValue(datacfg.dicSetnames, sc1)
+ " " + DataManager.GetValue(datacfg.dicSetnames, sc2)
+ " " + DataManager.GetValue(datacfg.dicSetnames, sc3)
+ " " + DataManager.GetValue(datacfg.dicSetnames, sc4);
return setname;
}
#endregion
#region 根据文件读取数据库
/// <summary>
......
......@@ -52,6 +52,7 @@ private void InitializeComponent()
this.menuitem_compdb = new System.Windows.Forms.ToolStripMenuItem();
this.menuitem_exportdata = new System.Windows.Forms.ToolStripMenuItem();
this.tsep5 = new System.Windows.Forms.ToolStripSeparator();
this.menuitem_mseconfig = new System.Windows.Forms.ToolStripMenuItem();
this.menuitem_saveasmse_select = new System.Windows.Forms.ToolStripMenuItem();
this.menuitem_saveasmse = new System.Windows.Forms.ToolStripMenuItem();
this.tsep3 = new System.Windows.Forms.ToolStripSeparator();
......@@ -207,6 +208,7 @@ private void InitializeComponent()
this.menuitem_compdb,
this.menuitem_exportdata,
this.tsep5,
this.menuitem_mseconfig,
this.menuitem_saveasmse_select,
this.menuitem_saveasmse,
this.tsep3,
......@@ -252,6 +254,12 @@ private void InitializeComponent()
this.tsep5.Name = "tsep5";
this.tsep5.Size = new System.Drawing.Size(209, 6);
//
// menuitem_mseconfig
//
this.menuitem_mseconfig.Name = "menuitem_mseconfig";
this.menuitem_mseconfig.Size = new System.Drawing.Size(212, 22);
this.menuitem_mseconfig.Text = "MSE config";
//
// menuitem_saveasmse_select
//
this.menuitem_saveasmse_select.Name = "menuitem_saveasmse_select";
......@@ -1052,5 +1060,6 @@ private void InitializeComponent()
private System.Windows.Forms.ToolStripMenuItem menuitem_readydk;
private System.Windows.Forms.ToolStripMenuItem menuitem_copyto;
private System.Windows.Forms.MenuStrip mainMenu;
private System.Windows.Forms.ToolStripMenuItem menuitem_mseconfig;
}
}
......@@ -46,6 +46,8 @@ public partial class DataEditForm : DockContent, IEditForm
Image m_cover;
DataConfig datacfg;
MSEConfig msecfg;
string datapath, confcover;
public DataEditForm(string datapath, string cdbfile)
......@@ -62,7 +64,7 @@ public DataEditForm(string datapath)
}
public DataEditForm()
{
string dir = MyConfig.readString(MyConfig.TAG_LANGUAGE);
string dir = MyConfig.readString(MyConfig.TAG_DATA);
if (string.IsNullOrEmpty(dir))
{
Application.Exit();
......@@ -81,6 +83,8 @@ void Initialize()
}
#endregion
#region 接口
public void SetActived()
{
this.Activate();
......@@ -101,6 +105,8 @@ public bool Save()
{
return true;
}
#endregion
#region 窗体
//窗体第一次加载
void DataEditFormLoad(object sender, EventArgs e)
......@@ -113,13 +119,16 @@ void DataEditFormLoad(object sender, EventArgs e)
{
datacfg = new DataConfig();
}
tasker = new TaskHelper(datapath, bgWorker1, datacfg.msecfg);
msecfg = new MSEConfig(datapath);
tasker = new TaskHelper(datapath, bgWorker1, msecfg);
//设置空白卡片
oldCard = new Card(0);
SetCard(oldCard);
if (nowCdbFile != null && File.Exists(nowCdbFile))
Open(nowCdbFile);
//获取MSE配菜单
AddMenuItemFormMSE();
// CheckUpdate(false);//检查更新
}
//窗体关闭
......@@ -1582,5 +1591,44 @@ public void CompareCards(string cdbfile, bool checktext)
}
#endregion
#region MSE配置菜单
void AddMenuItemFormMSE()
{
if(!Directory.Exists(datapath))
return;
if (datacfg == null)
return;
menuitem_mseconfig.DropDownItems.Clear();
string[] files = Directory.GetFiles(datapath);
foreach (string file in files)
{
string name = Path.GetFileName(file);
if (!name.StartsWith("mse"))
continue;
ToolStripMenuItem tsmi = new ToolStripMenuItem(name);
if (msecfg.configName.Equals(name, StringComparison.OrdinalIgnoreCase))
tsmi.Checked = true;
tsmi.Click += SetMseConfig_Click;
tsmi.ToolTipText = file;
menuitem_mseconfig.DropDownItems.Add(tsmi);
}
}
void SetMseConfig_Click(object sender, EventArgs e)
{
if (isRun())//正在执行任务
return;
if (sender is ToolStripMenuItem)
{
ToolStripMenuItem tsmi = (ToolStripMenuItem)sender;
if (datacfg == null)
return;
msecfg.SetConfig(tsmi.ToolTipText, datapath);
//刷新菜单
AddMenuItemFormMSE();
//保存配置
MyConfig.Save(MyConfig.TAG_MSE, tsmi.Text);
}
}
#endregion
}
}
......@@ -118,12 +118,9 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="mainMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>124, 17</value>
<value>135, 17</value>
</metadata>
<metadata name="bgWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>25</value>
</metadata>
</root>
\ No newline at end of file
......@@ -118,171 +118,34 @@
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="CodeEditForm.resx">
<DependentUpon>CodeEditForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="DataEditForm.resx">
<DependentUpon>DataEditForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="japan\card-attribute.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\card-category.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\card-level.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\card-race.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\card-rule.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\card-setname.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\card-type.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\cover.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\language-codeeditor.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\language-dataeditor.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\language-mainform.txt">
<Content Include="data\mse_cht.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\message.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\mse-config.txt">
</Content>
<None Include="data\constant.lua">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\mse-head.txt">
<None Include="data\strings.conf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\mse-monster.txt">
<Content Include="data\language_english.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\mse-pendulum.txt">
</Content>
<Content Include="data\mse_en.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\mse-spelltrap.txt">
</Content>
<Content Include="data\cardinfo_english.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\_functions.txt">
</Content>
<Content Include="data\mse_jp.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</Content>
</ItemGroup>
<ItemGroup>
<None Include="app.config">
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
<SubType>Designer</SubType>
</None>
<None Include="chinese\constant.lua">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="chinese\cover.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="chinese\language.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="chinese\mse-config.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="single.lua">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="chinese\strings.conf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="chinese\_functions.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\card-attribute.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\card-category.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\card-level.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\card-race.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\card-rule.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\card-setname.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\card-type.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\constant.lua">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\cover.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\language-codeeditor.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\language-dataeditor.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\language-mainform.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\message.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\mse-config.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\mse-head.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\mse-monster.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\mse-pendulum.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\mse-spelltrap.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\single.lua">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\strings.conf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="english\_functions.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\constant.lua">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\single.lua">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="japan\strings.conf">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="lua function tmp.zip">
<None Include="data\single.lua">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="Magic Set Editor 2\download.bat">
......@@ -305,9 +168,40 @@
</None>
</ItemGroup>
<ItemGroup>
<None Include="chinese\card-info.txt">
<EmbeddedResource Include="CodeEditForm.resx">
<DependentUpon>CodeEditForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="DataEditForm.resx">
<DependentUpon>DataEditForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="data\_functions.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="data\cardinfo_chinese.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<None Include="data\cover.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="data\language_chinese.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="data\mse_chs.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
......@@ -50,7 +50,6 @@ private void InitializeComponent()
WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient3 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient6 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient7 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.dockPanel1 = new WeifenLuo.WinFormsUI.Docking.DockPanel();
this.mainMenu = new System.Windows.Forms.MenuStrip();
this.menuitem_file = new System.Windows.Forms.ToolStripMenuItem();
......@@ -346,7 +345,6 @@ private void InitializeComponent()
this.ClientSize = new System.Drawing.Size(868, 597);
this.Controls.Add(this.dockPanel1);
this.Controls.Add(this.mainMenu);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.IsMdiContainer = true;
this.MainMenuStrip = this.mainMenu;
this.Name = "MainForm";
......
......@@ -41,20 +41,19 @@ public partial class MainForm : Form, IMainForm
#endregion
#region 设置界面,消息语言
public void SetLanguage(string language)
public void SetDataPath(string datapath)
{
//判断是否合法
if (string.IsNullOrEmpty(language))
if (string.IsNullOrEmpty(datapath))
return;
tCards = null;
//数据目录
this.datapath = MyPath.Combine(Application.StartupPath, language);
this.datapath = datapath;
//文件路径
conflang = MyPath.Combine(datapath, MyConfig.FILE_LANGUAGE);
//游戏数据
datacfg = new DataConfig(MyPath.Combine(datapath, DataConfig.FILE_INFO)
, datapath);
conflang = MyConfig.GetLanguageFile(datapath);
//游戏数据,MSE数据
datacfg = new DataConfig(MyConfig.GetCardInfoFile(datapath));
//初始化YGOUtil的数据
YGOUtil.SetConfig(datacfg);
......
......@@ -123,464 +123,4 @@
<metadata name="bgWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>25</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAMAEBAAAAEAIABoBAAANgAAACAgAAABACAAqBAAAJ4EAABISAAAAQAgAIhUAABGFQAAKAAAABAA
AAAgAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZJPInDgGD/uHlc/69yVf+vcVT/r3FU/69w
U/+vcFP/r3BT/69wU/+vcFP/r3BT/65wU/+tb1L/uHZX/7h3Wf90UkOfsHFV+TooIFYYDwskGhALKBoQ
DCgaEAwoGhAMKBoQDCgaEAwpGhAMKRoQDCkaEAwpGA8KJVU4KoG3dVb/d1ZGo5ZgSOgAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPCgcXrG9R/3dWR6KaZUvpAQAAAgAA
AAAFGgRaCSgGhQUjAoEUNBKFFDUScQgoBW8EFQM7AAAAAAAAAAAAAAAAFw4LIq1vU/96WEiim2VM6QEA
AAMAAAAAAgwCIAk8BcYkjhz/S3NHrw0ZDCkFHQRNEFEL3xJUDLACCQETAAAAABcPDCKwclb/e1lKop1o
T+kBAAADAAAAAAAAAAADIQGYLZIm/zlPN20AAAAAAAAAAAIOAVQbfxP/J2ciugAAAAAXDgsgs3hc/31b
TaKibVPpAQAAAwAAAAAAAAAABCQCnSuQJP86Uzh1AAAAAAAAAAAAAAAbDFYH9jiWMf8YJRsvEgYHFLd8
YP+AXU6iqHJa6QEAAAMAAAAAAAAAAAQkAp0rkCT/OlM4dQAAAAAAAAAAAAAAEAtNBekzlyv/LD8uUhAE
BRC7f2P/g2FRoq14XukBAAADAAAAAAAAAAAEJAKdK5Ak/zpTOHUAAAAAAAAAAAAAABgJTgTzPZw2/yw3
LkAQBQUSv4Jm/4ViU6Kxe2TpAQEAAwAAAAAAAAAABCMCmyuQJP86Uzh1AAAAAAAAAAAAAQBHD2sI/1ua
V+kLCwsLFQwJHMGFaf+HZFaitYFo6QEBAAMAAAAAAAAAAAMlAKsrliT/OVM4dgAAAAAAAAAgEkQQ3VSe
T/IzPDNHAAAAABoSDiPDh2r/iGdZoriFb+kBAQEBAAAAAAceBWkcVxjJNH4v1DNgLqAPMg15GkIYpDhg
NZcgJCAnAAAAAAAAAAAaEg4ixols/4lpW6O4iG/nAAAAAAAAAAAABQAMAgICAgAAAAAABQEIAgoDEgAA
AAAAAAAAAAAAAAAAAAAAAAAAEQsIGMiKbv+IaVqf0pyD8yEZFigAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAgEBAgIBAAICAQECAAAAAEY1LlbXl3r/gmZZmPq8oP/Unob/vYt25cCPeOnAjnfpv4x26b+M
dem8i3PpvIhx6byIcOm7h2/puoZt6LeEaubXnID/56SG/yIbGSiBZFaVhmdYnoppWqKJaVmiiWhZoohn
WaKIZ1mih2RWooVkVKKFZFSihWJUooRiUqKEYU+igV5NnW1QQoYAAAAAAAAAAD/8AAAQHAAAEAQAABjE
AAAYwAAAGMAAABjAAAAYwAAAGIQAABAMAAAyfAAAH8QAAAAAAAAAAAAAKAAAACAAAABAAAAAAQAgAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAACohHDWYbVjPu39i/651Wf+tdFn/rnRZ/691Wv+udFn/rXRZ/610
Wf+udFj/rXJW/6xyVv+sclf/rHJX/6xyVv+sclb/rHJW/6xyVv+rcVb/q3FW/6txVv+sclb/rHJW/6tx
Vv+rcVb/rHJW/6txVv+sclb/rHJW/7R4XP9gQTOLj2xdt7t7Xf+lZkj/pmtP/6xuUv+xcVX/sHBS/69u
UP+vb1H/r29R/69vUf+vb1D/r29Q/69wUv+vb1H/r29Q/69vUP+vb1D/r29Q/69vUP+ublH/rm5Q/69v
UP+vb1D/rm5Q/65uUP+vb1D/r29Q/6dpTP+maEv/p2hM/7J2W/+GY1WuuHpd/6NlSf+yd13/i2BK0XdR
QLJ0TTi0dEk2tHRJNrR0STa0dEk2tHRJNrR0STa0dEk2tHRJNrR0STa0dEk2tHRJNrR0STa0dEk2tHRJ
NrR0STa0dEk2tHRJNrR0STa0dEk2tHRIN7N2Sja3oWlQ+KpuUv+mak3/p2pO/4VkVa24el7/pGdJ/4lf
S80cFBApAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaPzSDo2xQ8alrTv+na0//hmZYrbp8
X/+lZ0r/KxsUQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7VkSj0I9y/8WIbf+Wd2it46uR/82X
fP8uIho7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH1VRKTSk3b/xopu/5Z3
aK3iq5L/0pp+/2ZOQ3sDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoIyEtpnZj0M6P
c//Gi2//mHdqrOGskv/QmH7/2KWO/2VMQns3KCFFOSokRjkqJEc5KiRHOSokRzkqIkc6KiJHOSsiRzoq
Ikc6KiJHOSoiRzkqIkc5KiJHOSkiRzkoIkc5KSJHOCkgRzgoIEc5KSFHOCggRzgoIEc3JyBGOikhSa+K
etLXnoT/yIpw/8aKcP+ggHO557GX/9Gcgv/TnIL/1J2E/9Kcgv/Rm4L/0puC/9Kbgv/Sm4L/0ZuB/9KZ
gP/Smn//0pl//9GZfv/QmX//0Jd+/9CXff/QlXz/z5V7/9CWe//PlXn/zpR4/86Uef/Nknf/zJJ1/8uR
dv/OknX/yo1w/8qPc//KjnP/0pR5/2dWTnrVpJD46LCV/+OqkP/krZP/5a2T/+Wskv/lrJL/5ayS/+Wt
kf/mrJL/5KmS/+Ookf/jqJH/4aiP/+OokP/hpoz/4aSL/+Gliv/gp4r/4KaJ/+Ckif/gpIn/3qKH/96i
hv/doYP/3aCD/9yggv/ZnID/2Jp//9qdf/+ugGjYAAAAAGhSSXeffGy1lHNirZVzYq2Vc2KtlXNirZVz
Yq2Vc2KtlHJirZRyYq2UcWKtlHJirZRyYq2UcmKtlHFgrZJvX62Rb16tkW9erZFuXq2Qbl2tjmxcrY5r
XK2QbFutjmtarY5qWq2MalmtjGhYrY5oV62OaFeuj2pZryMaFisAAAAAAAAAAAAAAAAH///wD///+A//
//gP///4DgAH+A4AAfgPwcD4D8HweA+B8DgPgfA4D4H4GA+B+BgPgfgYD4H4GA+B+BgPgfAYD4HwOA+B
8DgPweB4D4GA+A4AA/gOAA/4D///+A////gH///wAAAAAAAAAAAAAAAAgAAAACgAAABIAAAAkAAAAAEA
IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwICBVtFO3mXcWLGkGlUx4VZRb6FW0a/hVtIv4Vb
Rr+FW0a/hVtGv4VbRr+FW0a/hVtGv4VbRr+EW0a/glpGv4JaRr+CWka/glpGv4JaRr+CWka/hFpGv4VY
Rb+CWEW/gVdDv4FXQ7+BV0O/gVdDv4FXQ7+BV0O/gVdDv4FXQ7+BV0O/gVdDv4FXQ7+BV0O/gVdDv4FX
Q7+BV0O/gVdDv4FXQ7+BV0O/f1VDv39VQ7+BV0O/gVdDv4FXQ7+BV0O/gVdDv4FXQ7+BV0O/gVdDv4FX
Q7+BV0O/gVdDv39VQ79/VUO/gVdDv4FXQ7+BV0O/f1VDv39VQ7+BV0O/gVdDv39VQ79/VUO/hltHxI1j
TM1XPS99AwEBBQAAAAALCQcOIRgVK4hmVLjFknv/v4dt/7V5Xf+1el7/tHxg/7N8YP+ze1//s3tf/7N8
YP+0e2D/tHtf/7R7X/+yel//sXle/7F5Xv+xeV7/sXle/7F5Xv+xeV7/s3le/7N4Xf+xd1z/r3Vb/691
W/+vdVv/r3Vb/692W/+vdlv/r3Vb/691W/+vdVv/r3Vb/691W/+vdVv/r3Vb/691W/+vdVv/r3Vb/691
W/+vdVv/rnVa/651Wv+vdVv/r3Vb/691W/+vdVv/r3Vb/691W/+vdVv/r3Vb/691W/+vdVv/r3Vb/650
Wv+udFr/r3Vb/691W/+vdVv/rnVa/651Wv+vdVv/r3Vb/651Wv+udVr/s3le/76DZf+CW0W+HBQPKgkG
BA1xVkmQjmhauqFuVumtcVX/rXJV/6twU/+qblL/qW5S/6luUv+obVH/qG1R/6luUv+qblL/qm9T/6tv
U/+qblP/qW1S/6ltUv+pb1L/qW9S/6lvUv+pb1L/qm5S/6luUf+pbVH/qW1R/6ltUf+pbVH/qW1R/6lu
Uv+pblL/qW1S/6ltUf+pbVH/qW1R/6ltUf+obVH/qG1R/6htUf+obVH/qG1R/6htUf+obVH/qG1R/6ht
Uf+nbFH/p2xR/6ltUf+pbVH/qG1R/6htUf+obVH/qW1R/6ltUf+nbFH/p2xR/6hsUf+obFH/qW1R/6lt
Uf+obVH/qG1Q/6htUP+pbVH/qW1R/6htUf+oblD/qW1R/6xvU/+dZ1DsgVdGvVo+MoO1i3fnz5qC/61v
U/+fXj7/o2ZH/6VqTv+kaEz/o2ZK/6NmSv+iZEn/omRJ/6NlSf+kZkn/pWdL/6VoTP+lZ0z/pGZL/6Rm
S/+kaEv/pGhL/6RpS/+kaUv/pGhL/6RnS/+kZ0v/pGhK/6RoSv+kaEr/pGhK/6RpTf+kaU3/pGhN/6Ro
Sv+kaEr/pGhK/6RoSv+laEr/pWhK/6VoSv+laEr/pWhK/6VoSv+laEr/pWhL/6VoS/+jZkv/o2ZL/6Rn
Sv+kaEr/pWhK/6VoSv+laEr/pGhK/6RoSv+jZkr/o2ZK/6NnS/+jZ0v/pGhK/6RoSv+kaEv/pWhM/6Vo
S/+kaEv/pGhL/6VoS/+laUr/o2ZJ/6JiR/+pbVP/u4Fn/5BlUNOsgW7cyZR8/61xVf+iYkT/pWhK/6dq
Tf+mak7/pmxR/6dsUv+nbFH/p2xS/6luU/+qb1T/qG1Q/6ZrTf+mak3/pmlN/6ZpTf+ma07/pmtO/6Zq
Tv+mak7/pmtO/6ZqTv+maU7/pmpN/6ZqTf+mak3/pmpN/6ZrTv+ma07/pmpO/6ZqTf+mak3/pmpN/6Zq
Tf+mak3/pmpN/6ZqTf+mak3/pmpN/6ZqTf+mak3/p2pN/6dqTf+maU7/pmlO/6ZpTf+mak3/pmpN/6Zq
Tf+mak3/pmpN/6ZqTf+maU3/pmlN/6VpTf+laU3/pmlN/6ZqTf+nak3/p2lN/6VpTP+kZ0z/o2dM/6Vo
TP+laUz/pGhL/6RmSv+nbFD/sHZb/4RbRcmgd2XPw453/65zV/+kZUj/pmhL/6ZoTP+obFH/qnNZ/6t0
Wv+udlr/rXVb/611XP+rdVz/p3BU/6RqTf+lak3/pmpO/6ZqTv+mak7/pmpO/6ZoTv+maE7/pmpP/6Zq
T/+mak//pmpO/6ZqTv+mak7/pmpO/6ZqTv+mak7/pmpN/6ZqTv+mak7/pmpO/6ZqTv+laU7/pWlO/6Vp
Tv+laU7/pWlO/6VpTv+laU7/pmpO/6ZqTv+mak//pmpP/6ZqTv+mak7/pWlO/6VpTv+laU7/pmpO/6Zq
Tv+mak7/pmpO/6VpTv+laU7/pmlP/6ZqTv+maU3/qGpN/6dqTf+kZ0z/o2dM/6RoTf+laE3/pWlN/6Vp
Tf+na03/p2pO/3dNN7yhd2fSw452/61yVv+kZEf/pWdK/6VnTP+nbVT/r3df/6RxV/SDWUXDeVBAtHVP
PbBzTzytckw5rnFHNa9xRzWvckc1r3JHNa9yRzWvckc1r3FHNa9xRzWvckc1r3JHNa9yRzWvckc1r3JH
Na9yRzWvckc1r3JHNa9yRzWvckc1r3JHNa9yRzWvckc1r3JHNa9xRzWvcUc1r3FHNa9xRzWvcUc1r3FH
Na9xRzWvckc1r3JHNa9yRzWvckc1r3JHNa9yRzWvcUc1r3FHNa9xRzWvckc1r3JHNa9yRzWvckc1r3FH
Na9xRzWvcUg1rnFHNK1yRzOxdEk1tIFUPMihalD5qW9U/6VqT/+kZ0z/pWlN/6VpTf+mak3/qGpN/3tO
Ob+heGjSw494/6xyV/+iZEj/pGdK/6RoS/+pcVb/t4Fn/5RnU9omGhQ5EQsJGRIMCRsRCwkaEQsJGhEL
CRsRCwgbEQsIGxELCBsRCwgbEQsIGxELCBsRCwgbEQsIGxELCBsRCwgbEQsIGxELCBsRCwgbEQsIGxEL
CBsRCwgbEQsIGxELCBsRCwgbEQsIGxELCBsRCwgbEQsIGxELCBsRCwgbEQsIGxELCBsRCwgbEQsIGxEL
CBsRCwgbEQsIGxELCBsRCwgbEQsIGxELCBsRCwgbEQsIGxELCBsRCwgbEQsIGxELCBsRCwgbEQoIGhEK
CBoRCggbDwkGFzAhGkigbljqtX5l/6lvVf+jZ0v/pGlM/6VqTv+mak7/qWxQ/3xPOr+heGjSw494/6xy
V/+iZEj/pGdK/6RoS/+ga1H1nG5Z5HJQQacKBwYPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQO
DB5+V0i3nW1Z5aJrUfekaEv/pWlM/6VqTv+mak7/qWxQ/3xPOr+lfGrSxpJ7/69yV/+jZEf/pmhL/6dp
Tf94TTq6LyEbRRYPDB8BAQECAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCAgUXEA4iNiYeUIRW
P8qoa07/p2tP/6ZrT/+ma0//qWxQ/3xPOr+lfWzSxpR8/69zV/+jZEf/pmlM/6ZpTf9oQTCgBwUECgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwoIF3hNN7WpbE//p2xP/6Zr
T/+ma0//qWxQ/3xPOr+lfGzSxpR9/61zV/+iZEb/pmlN/6RpTf5lPi2dCQYFDgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAgGE2lEMaOkaU77qW1Q/6VqT/+na0//qmxQ/3xP
Or+lfGzSxpR9/6xzV/+hZEb/p2lN/6NpTv5iPi6aCgYFDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAACQYED18+LpShaUz1qm5R/6VqTv+nbE//qmxQ/3xPOr+lfGzSxpR8/65z
WP+iZEj/p2lN/6RqTv5kQC+bCgYFDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAACgcED2JAL5WhaUv2qm1Q/6VqTv+nbE//qm1Q/3xPOr+lfGrSxpR7/690Wv+kZUr/p2pO/6Rr
Tf5lQS6cCgcFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwgFEWVB
L5miaU34qmxQ/6ZpTv+obE//q25R/35ROr+lfGrSxpV8/7B2XP+mZ0z/qGtO/6RrTf5lQS6cCgcFEAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
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
a//Eh2z/xolt/5FkT7+1kX3S366X/9Kdg//NlHn/zpV6/8iSef57WkmcDQkIEAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQkHEXRQP5i8gmj3xohs/8KFav/Eh2z/xolt/5Fk
T7+4kn/S4a+Y/9Kegv/NlHj/zpd8/8iVfP57XEycDQkIEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAADQkHEXRQQJm9gWf4xohs/8KGa//Eh2z/xolt/5FkT7+3kn/S4K+Z/9Oe
hf/Nlnv/zpd9/8eUe/56W0qbDQkIDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAADAgGEHNPPpa8gWf3x4lu/8SJbv/FiW7/xolt/5FkT7+1kn/S37CZ/9Sfh//OmH7/zph+/8aS
ev54WEiaDAkHDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAgGD29N
PZS6gGX2yItw/8WLcP/Gim//xolt/5FkT7+1kX/S37CY/9Sgh//PmYD/z5qA/8qVe/56WkmbCwgHDgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgoHEXhSQ56+g2v6yItx/8WK
b//Gim//x4pu/5FmUb+1kX/S37CZ/9WhiP/QmoH/0ZuB/9Cbff+AYU2fCQcGCgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEg0KFYleS7LHiXD/x4ty/8SJbv/Gim//yIxx/5Nn
Ur+1kX/S37CZ/9WhiP/QmoH/0ZqA/9Kcff+RbVizLCMfNA8MCxIBAQECAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAMDAwMSDw4UNismP5ttV8XJi3D/xopw/8SKb//Gim//yIxx/5NnUr+4koHS4bGc/9Wh
if/PmoD/0Jh+/9CVe//FkH3vsIt81X5kWZgLCQkOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcU
ExuPeG+nt5iJ18KOefLGiGz/x4pv/8eMcv/Hi3D/yIxw/5NnUr+4koHS4bGc/9Wiiv/Pm4H/0Jl+/9CT
e//UnYj/4bGc/7SNfdgnHRouDAgIDg4KCBEMCQgPDAkIDw0KCBANCggQDQoIEA0KCBANCggQDQoIEA0K
CBANCggQDQoIEA0KCBANCggQDQkIEA0JCBANCggQDQoIEA0JCBANCQgQDQkIEA0JCBANCQgQDQkIEA0J
CBANCQgQDQkIEA0JCBANCQgQDQkIEA0JCBANCQgQDQkIEA0JCBANCQgQDQkIEA0JBxANCQcQDQkHEA0J
BxANCQcQDQkHEA0JBxANCgcQDQoHEA0JBxANCQcQDAkHDwwJBxANCQcRCgcGDTUsKD7GpZjp4ryp/86Z
gf/Gh2v/x4tw/8eMcv/Hi3D/yIxx/5NnVL+4koDS4rGb/9aji//RnYP/0ZuC/9GZf//SnIT/16SL/8eV
f/GQa1mygWBQoYBdTZ58W0uafFxOmn9eT5x9XU6cfV1OnH1dTpx9XU6cfV1OnH1dT5x9XU+cfV1MnH1d
S5x/XUycf1xMnH9cTJx9XkycfV5MnH9dS5x/XEucf1xMnH9cTJx9XEycfVxLnH1cS5x9XEycfVxMnH1c
TJx9XEycfVtMnH1aS5x9WkucfVpJnH1aSZx9WkucfVpJnHxZSJx8WUicfFlInHxZSJx9WkicfVpInH1a
SJx7V0ece1dHnHtXR5x7WEibelZGmXlVRZp9V0afgFpJoZJoVrnHlH730Z6E/8uTeP/KjXP/yIxy/8WL
cP/GinD/yYxy/5RnVL+2j37P4rCb/9mkjP/ToIX/052E/9Kcg//RnIH/0JqA/9Gagf/Tm4H/0puB/8+a
gf/NmYD9zpmA/c+YgP7OmH/+zph//s6Yf/7OmH/+zph//s6YgP7OmID+zZh//s2YfP7Nl33+z5Z+/s+W
fv7OmX3+zpl9/s+XfP7Plnz+z5Z9/s+Wff7Oln3+zZZ7/syWfP7Mlnz+zJZ9/syWfP7Mlnz+zJR8/syS
e/7Mknr+y5J5/suSef7Mk3r+zJN5/sqRd/7KkXb+ypF2/sqRdv7Lknb+y5F3/suSd/7JjnT+yY50/siP
df7Jj3X+yI9z/ciOc/3Lj3T/zZB1/8uOcf/FiGr/xYhs/8qPdP/Mk3j/yI50/8SJb//Gi3D/yYtx/5Nm
U7y/m4re47ai/9iljv/Un4b/056F/9Odhf/TnYP/0pyC/9Ocg//TnYX/056F/9Sfhv/UnoX/1J2D/9Sd
hP/UnYT/1J2E/9SdhP/UnYT/1J2E/9SdhP/UnYT/1J2D/9Sdgv/TnIL/05qC/9Oagv/Tm4H/05uB/9Oa
gf/TmoH/0pqA/9Kaf//SmoH/0pqB/9Kagf/RmH//0Zh//9GYf//RmH//0Zh+/9GWff/Rl33/0Jh9/9CY
ff/RmH3/0Zh8/9CWfP/Qlnv/0JZ7/9CXe//Qlnr/z5V6/8+Vev/Ok3j/zpN4/82UeP/Nk3b/zZN2/86T
eP/Nk3f/zJF1/8yRdP/IjXD/x4xx/8qPdP/LkXb/yI50/8eMcf/Jj3T/z5V7/5twW8e/n5Di3rek/9Sj
jf/TnIT/1J+G/9Sghv/UnoX/1J2E/9SdhP/ToIf/06CH/9Ofhf/TnIP/05yD/9OdhP/TnYT/052E/9Od
hP/TnYT/052E/9Sdg//UnYP/1J2E/9SdhP/Tm4T/0pmD/9KZg//Sl4L/0peC/9KZgv/SmYL/z5mA/8+Z
fv/QmYH/0ZmF/9GYgv/QlX7/0JV8/9CVfv/QlX7/0JZ9/9CVfP/Qlnz/z5p9/8+aff/Ql3z/0Jd8/9CW
ff/Rln3/0ZZ9/9GWff/OlXv/zJR6/8yTef/Nk3n/zZN5/8yTd//Mk3X/zJJ1/8ySdv/Mk3b/zZR3/8yT
d//KkHX/ypB1/8qPdP/KjnP/yY5y/8mOcv/NlHn/2aGH/6l9aNR2Y1mLmn5xt7+UgeTYooz/2aWN/9il
iv/Xoon/16GJ/9ehif/XpIv/16SL/9ejiv/Xoon/16KJ/9ehif/XoYn/16GJ/9ehif/XoYn/16GJ/9ii
iP/Yooj/16KJ/9ehif/Xn4j/1Z6I/9WeiP/VnYj/1Z2I/9WeiP/Vnoj/1J6G/9SehP/Unob/1Z2I/9Wd
h//TmoL/05qB/9Oagv/TmoL/05qB/9Oagf/Tm4H/0p6B/9Kegf/Tm4D/05uA/9Oagf/SmYH/0pmB/9KZ
gf/RmID/0Jh+/9CXff/QmH7/0Jh+/8+Xe//Pl3r/z5Z6/8+Wev/Plnr/zpZ6/86Wev/Nk3j/zZN4/8yS
eP/Mknf/zZN3/82Td/+5hm7poXdiynZWSZQNCwkPJx8dLZ57brblsp//47Ga/92rkf/dqpL/3quT/96r
k//eq5P/3quT/96rk//eq5P/3quT/96rk//eq5P/3quT/96rk//eq5P/3quT/92pkv/dqZL/3amS/92p
kv/dqZL/3aiS/92okv/dqJL/3aiS/92okv/dqJL/3aiS/92okv/dqJH/3KeP/9ynj//ZpIz/2aSM/9mk
jP/ZpIz/2aSM/9mkjP/ZpIz/2aSM/9mljP/Xoon/16KJ/9ahiP/VoIj/1aCI/9WfiP/Wn4j/2KCH/9eg
h//Un4X/1J+F/9Wehf/VnoX/1J2E/9Odg//TnYP/052D/9Odg//UmoH/1JqB/9KagP/Rmn7/1p6D/9ae
g/+LZlaqJBsWLhINCxYAAAAABwUFB3ZdU4e/lojavZSC2rOKdNGzinfStIt30rSLd9K0i3fStIt30rSL
d9K0i3fStIt30rSLd9K0i3fStIt30rSLd9K0i3fStIt30rOKd9KzinfSs4p30rOKd9KzinfSs4p30rOK
d9KzinfSs4p30rOKd9KzinfSs4p30rSKd9KzinfSs4l10rOJddKwhXLSsIVy0rCFctKwhXLSsIVy0rCF
ctKwhXLSsIVy0rCFctKvhG/Sr4Rv0q2Eb9Ktg2/SrYNv0q2Bb9Kug2/Sr4Nu0q+EbtKtgW3SrYFt0q2B
bdKtgW3Sq4Bs0quAatKrgGrSq4Bq0quAatKtfWnSrX1p0qp9aNKnfWbRsoNv26+CbtdgRzx0AAAAAAAA
AACAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////////AAAAAAAP////////AAA
AAAA/////////wAAAAAA/////////wAAAAAA/////////wAAAAAA/////////wAAAAAA/////////wAA
AAAA/////////wAAAAAA/wAAAH///wAAAAAA/wAAAAf//wAAAAAA/wAAAAH//wAAAAAA/wAAAAB//wAA
AAAA/wAAAAAf/wAAAAAA//gAP4AP/wAAAAAA//gAf+AD/wAAAAAA//gAf+AB/wAAAAAA//gAf/AA/wAA
AAAA//gAf/gAfwAAAAAA//gAf/gAfwAAAAAA//gAf/gAPwAAAAAA//gAf/wAPwAAAAAA//gAf/wAPwAA
AAAA//gAf/wAHwAAAAAA//gAf/wAHwAAAAAA//gAf/wAHwAAAAAA//gAf/4AHwAAAAAA//gAf/4AHwAA
AAAA//gAf/4AHwAAAAAA//gAf/4AHwAAAAAA//gAf/4AHwAAAAAA//gAf/4AHwAAAAAA//gAf/wAHwAA
AAAA//gAf/wAHwAAAAAA//gAf/wAHwAAAAAA//gAf/wAHwAAAAAA//gAf/wAPwAAAAAA//gAf/gAPwAA
AAAA//gAf/gAPwAAAAAA//gAf/AAfwAAAAAA//gAf/AA/wAAAAAA//gAf+AB/wAAAAAA//gAf8AD/wAA
AAAA//gAf4AH/wAAAAAA/+AAfAAP/wAAAAAA/wAAAAAf/wAAAAAA/wAAAAB//wAAAAAA/wAAAAH//wAA
AAAA/wAAAA///wAAAAAA/////////wAAAAAA/////////wAAAAAA/////////wAAAAAA/////////wAA
AAAA/////////wAAAAAA/////////wAAAAAAP////////AAAAAAAP////////AAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAACAAAAAAAAAAAMAAAA=
</value>
</data>
</root>
\ No newline at end of file
......@@ -28,8 +28,8 @@ private static void Main(string[] args)
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
MainForm mainForm = new MainForm();
//加载语言
mainForm.SetLanguage(MyConfig.readString(MyConfig.TAG_LANGUAGE));
//数据目录
mainForm.SetDataPath(MyPath.Combine(Application.StartupPath, MyConfig.TAG_DATA));
mainForm.Open(file);
Application.Run(mainForm);
......
......@@ -10,8 +10,10 @@
<!-- access these values via the property:
System.Configuration.ConfigurationManager.AppSettings[key]
-->
<!-- language directory -->
<add key="language" value="chinese" />
<!-- MSE language -->
<add key="mse" value="mse_chs.txt" />
<!-- Language -->
<add key="language" value="english" />
<!-- DataEditorX source code -->
<add key="sourceURL" value="https://github.com/247321453/DataEditorX" />
<!-- DataEditorX update url-->
......
##rule
0x0 Rule
0x1 OCG
0x2 TCG
0x3 OCG&TCG
0x4 Anime/DIY
##attribute
0x0 Atribute
0x1 Earth
0x2 Water
0x4 Fire
0x8 Wind
0x10 Light
0x20 Dark
0x40 Divine
##level
0x0 Level/Rank
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 S/T Destroy
0x2 Destroy Monster
0x4 Banish
0x8 Graveyard
0x10 Back to Hand
0x20 Back to Deck
0x40 Destroy Hand
0x80 Destroy Deck
0x100 Draw
0x200 Search
0x400 Recovery
0x800 Position
0x1000 Control
0x2000 Change ATK/DEF
0x4000 Piercing
0x8000 Repeat Attack
0x10000 Limit Attack
0x20000 Direct Attack
0x40000 Special Summon
0x80000 Token
0x100000 Type-Related
0x200000 Property-Related
0x400000 Damage LP
0x800000 Recover LP
0x1000000 Destroy
0x2000000 Select
0x4000000 Counter
0x8000000 Gamble
0x10000000 Fusion-Related
0x20000000 Tuner-Related
0x40000000 Xyz-Related
0x80000000 Negate Effect
##race
0x0 Race
0x1 Warrior
0x2 Spellcaster
0x4 Fairy
0x8 Fiend
0x10 Zombie
0x20 Machine
0x40 Aqua
0x80 Pyro
0x100 Rock
0x200 Winged Beast
0x400 Plant
0x800 Insect
0x1000 Thunder
0x2000 Dragon
0x4000 Beast
0x8000 Beast-Warrior
0x10000 Dinosaur
0x20000 Fish
0x40000 Sea Serpent
0x80000 Reptile
0x100000 Psychic
0x200000 Divine-Beast
0x400000 Creator God
0x800000 Wyrm
##type
0x1 Monster
0x2 Spell
0x4 Trap
0x8 N/A
0x10 Normal
0x20 Effect
0x40 Fusion
0x80 Ritual
0x100 T-Monster
0x200 Spirit
0x400 Union
0x800 Gemini
0x1000 Tuner
0x2000 Synchro
0x4000 Token
0x8000 N/A
0x10000 Quick-Play
0x20000 Continuous
0x40000 Equip
0x80000 Field
0x100000 Counter
0x200000 Flip
0x400000 Toon
0x800000 Xyz
0x1000000 Pendulum
##setname
0x0 SetName
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
......@@ -4,7 +4,7 @@ CodeEditForm.mainMenu.menuitem_open 打开
CodeEditForm.mainMenu.menuitem_save 保存
CodeEditForm.mainMenu.menuitem_saveas 另存为
CodeEditForm.mainMenu.menuitem_quit 退出
CodeEditForm.mainMenu.menuitem_setting 工具(&S)
CodeEditForm.mainMenu.menuitem_setting 选项(&S)
CodeEditForm.mainMenu.menuitem_showmap 显示/隐藏结构图
CodeEditForm.mainMenu.menuitem_showinput 显示/隐藏输入框
CodeEditForm.mainMenu.menuitem_find 查找
......@@ -43,7 +43,8 @@ DataEditForm.mainMenu.menu_tools 工具(&T)
DataEditForm.mainMenu.menuitem_readydk 从卡组文件读取卡片(&Y)
DataEditForm.mainMenu.menuitem_readimages 从卡图文件夹读取卡片(&I)
DataEditForm.mainMenu.menuitem_compdb 压缩数据库
DataEditForm.mainMenu.menuitem_exportdata 导出为zip
DataEditForm.mainMenu.menuitem_exportdata 导出数据库和图片脚本为zip
DataEditForm.mainMenu.menuitem_mseconfig 设置MSE的配置文件
DataEditForm.mainMenu.menuitem_saveasmse_select 把选中导为MSE存档
DataEditForm.mainMenu.menuitem_saveasmse 把结果导为MSE存档
DataEditForm.mainMenu.menuitem_cutimages 批量裁剪卡图
......
0x0 Info
#
CodeEditForm.mainMenu.menuitem_file File(&F)
CodeEditForm.mainMenu.menuitem_open Open
CodeEditForm.mainMenu.menuitem_save Save
CodeEditForm.mainMenu.menuitem_saveas Save As
CodeEditForm.mainMenu.menuitem_quit Quit
CodeEditForm.mainMenu.menuitem_setting Tools(&S)
CodeEditForm.mainMenu.menuitem_showmap Show/Hide Document Maps
CodeEditForm.mainMenu.menuitem_showinput Show/Hide TextBox
CodeEditForm.mainMenu.menuitem_find Find String
CodeEditForm.mainMenu.menuitem_replace Replace
CodeEditForm.mainMenu.menuitem_setcard Set DataBase
CodeEditForm.mainMenu.menuitem_help Help(&H)
CodeEditForm.mainMenu.menuitem_about About
#
DataEditForm.btn_img Import Image
DataEditForm.lb_types Card type
DataEditForm.lb_tiptexts Script texts
DataEditForm.lb_categorys Category
DataEditForm.lb_cardcode Code
DataEditForm.lb_cardalias Alias
DataEditForm.lb_atkdef ATK/DEF
DataEditForm.lb_pleft_right Pscale
DataEditForm.btn_reset Reset
DataEditForm.btn_lua Script
DataEditForm.btn_serach Search
DataEditForm.btn_del Delete
DataEditForm.btn_undo Undo
DataEditForm.btn_mod Modify
DataEditForm.btn_add Add
DataEditForm.btn_PageDown Page Up
DataEditForm.btn_PageUp Page Down
DataEditForm.lv_cardlist.0 Card Code
DataEditForm.lv_cardlist.1 Card Name
DataEditForm.mainMenu.menuitem_file Fil(&F)
DataEditForm.mainMenu.menuitem_open Open(&O)
DataEditForm.mainMenu.menuitem_new New(&N)
DataEditForm.mainMenu.menuitem_copyselectto 把选中复制到...
DataEditForm.mainMenu.menuitem_copyto 把结果复制到...
DataEditForm.mainMenu.menuitem_openLastDataBase 打开最后的数据库
DataEditForm.mainMenu.menuitem_quit Quit
DataEditForm.mainMenu.menu_tools Tool(&T)
DataEditForm.mainMenu.menuitem_readydk 从卡组文件读取卡片(&Y)
DataEditForm.mainMenu.menuitem_readimages 从卡图文件夹读取卡片(&I)
DataEditForm.mainMenu.menuitem_compdb Compress DataBase
DataEditForm.mainMenu.menuitem_exportdata Export Data As zip
DataEditForm.mainMenu.menuitem_mseconfig Set MSE Config
DataEditForm.mainMenu.menuitem_saveasmse_select Save Selected As MSE-set
DataEditForm.mainMenu.menuitem_saveasmse Save All As MSE-set
DataEditForm.mainMenu.menuitem_cutimages 批量裁剪卡图
DataEditForm.mainMenu.menuitem_convertimage 批量导入卡图
DataEditForm.mainMenu.menuitem_importmseimg 设置为MSE图片库
DataEditForm.mainMenu.menuitem_cancelTask Cancel Task
DataEditForm.mainMenu.menuitem_help Help(&H)
DataEditForm.mainMenu.menuitem_about About
DataEditForm.mainMenu.menuitem_checkupdate Check Update
DataEditForm.mainMenu.menuitem_github GitHub
#
MainForm.mainMenu.menuitem_file File(&F)
MainForm.mainMenu.menuitem_open Open
MainForm.mainMenu.menuitem_new New
MainForm.mainMenu.menuitem_save Save
MainForm.mainMenu.menuitem_findluafunc Find Lua Functions By C++
MainForm.mainMenu.menuitem_copyselect Copy Selected
MainForm.mainMenu.menuitem_copyall Copy All Search
MainForm.mainMenu.menuitem_pastecards Paste Cards
MainForm.mainMenu.menuitem_comp1 Set Compare Database 1
MainForm.mainMenu.menuitem_comp2 Set Compare Database 2
MainForm.mainMenu.menuitem_history DataBase Histroy
MainForm.mainMenu.menuitem_shistory Script History
MainForm.mainMenu.menuitem_quit Quit
MainForm.mainMenu.menuitem_windows Windows(&W)
MainForm.mainMenu.menuitem_dataeditor DataEditor
MainForm.mainMenu.menuitem_codeeditor CodeEditor
MainForm.mainMenu.menuitem_close Close
MainForm.mainMenu.menuitem_closeother Close Other
MainForm.mainMenu.menuitem_closeall Close All
#
0x0 Info
0x1 Error
0x2 Warning
0x3 Question
......
......@@ -3,7 +3,7 @@
#
# \t = Tab \n = Enter \s = Space
########################### Chs 2 Cht
cn2tw = true
cn2tw = false
########################### Setting
maxcount = 0
imagepath = ./Images
......@@ -14,8 +14,10 @@ imagepath = ./Images
spell = [魔法卡%%]
trap = [陷阱卡%%]
############################ language,style,other setting
head = mse version: 0.3.8\ngame: yugioh\nstylesheet: standard\nset info:\n\tlanguage: TW\n\tedition: \n\tST mark is text: no\n\tpendulum image is small: yes\n
head = mse version: 0.3.8\ngame: yugioh\nstylesheet: standard\nset info:\n\tlanguage: CN\n\tedition: \n\tST mark is text: no\n\tpendulum image is small: yes
############################ Text
text =【摇摆效果】\n%ptext%\n【怪兽效果】\n%text%\n
############################
# chs jp
pendulum-text = 】[\s\S]*?\n([\S\s]*?)\n【
# cht pendulum-text = ([\S\s]*?)\n【
......
###########################
# Magic Set Editor 2
#
# \t = Tab \n = Enter \s = Space
########################### Chs 2 Cht
cn2tw = false
########################### Setting
maxcount = 0
imagepath = ./Images
########################### Spell/Trap
#jp setting
# spell = %%
# trap = %%
spell = [魔法卡%%]
trap = [陷阱卡%%]
############################ language,style,other setting
head = mse version: 0.3.8\ngame: yugioh\nstylesheet: standard\nset info:\n\tlanguage: TW\n\tedition: \n\tST mark is text: no\n\tpendulum image is small: yes
############################ Text
text =【摇摆效果】\n%ptext%\n【怪獸效果】\n%text%\n
############################
# chs jp
pendulum-text = 】[\s\S]*?\n([\S\s]*?)\n【
# cht pendulum-text = ([\S\s]*?)\n【
# en pendulum-text = Text:\n([\S\s]*?)\n[\S\s]*?Text:
# chs jp cht
monster-text = [果|介|述|報]】\n([\S\s]*)
# en monster-text = Text:[\s\S]*?Text:\n([\S\s]*)
########################### Replace
replace = ([鮟|鱇|・|·]) <i>$1</i>
#replace = \s <sym-auto>^</sym-auto>
#replace = ([A-Z]) <i>$1</i>
###########################
##race
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
###########################
# Magic Set Editor 2
#
# \t = Tab \n = Enter \s = Space
########################### Chs 2 Cht
cn2tw = false
########################### Setting
maxcount = 200
imagepath = ./Images
########################### Spell/Trap
spell = [Sepll Card%%]
trap = [Trap Card%%]
############################ language,style,other setting
head = mse version: 0.3.8\ngame: yugioh\nstylesheet: standard\nset info:\n\tlanguage: EN\n\tedition: \n\tST mark is text: no\n\tpendulum image is small: yes
############################ Text
text = Pendulum Text :\n%ptext%\nMonster Text :\n%text%\n
############################
pendulum-text = Pendulum Text :\n([\S\s]*?)\n\n
monster-text = Monster Text :\n([\S\s]*)
########################### Replace
#replace = \s <sym-auto>^</sym-auto>
#replace = ([A-Z]) <i>$1</i>
###########################
##race
race 0x1 Warrior
race 0x2 Spellcaster
race 0x4 Fairy
race 0x8 Fiend
race 0x10 Zombie
race 0x20 Machine
race 0x40 Aqua
race 0x80 Pyro
race 0x100 Rock
race 0x200 Winged Beast
race 0x400 Plant
race 0x800 Insect
race 0x1000 Thunder
race 0x2000 Dragon
race 0x4000 Beast
race 0x8000 Beast-Warrior
race 0x10000 Dinosaur
race 0x20000 Fish
race 0x40000 Sea Serpent
race 0x80000 Reptile
race 0x100000 Psychic
race 0x200000 Divine-Beast
race 0x400000 Creator God
race 0x800000 Wyrm
###########################
##type
type 0x1 Monster
type 0x2 Spell
type 0x4 Trap
type 0x8 N/A
type 0x10 Normal
type 0x20 Effect
type 0x40 Fusion
type 0x80 Ritual
type 0x100 T-Monster
type 0x200 Spirit
type 0x400 Union
type 0x800 Gemini
type 0x1000 Tuner
type 0x2000 Synchro
type 0x4000 Token
type 0x8000 N/A
type 0x10000 Quick-Play
type 0x20000 Continuous
type 0x40000 Equip
type 0x80000 Field
type 0x100000 Counter
type 0x200000 Flip
type 0x400000 Toon
type 0x800000 Xyz
type 0x1000000 Pendulum
##########################
\ No newline at end of file
###########################
# Magic Set Editor 2
#
# \t = Tab \n = Enter \s = Space
########################### Chs 2 Cht
cn2tw = false
########################### Setting
maxcount = 0
imagepath = ./Images
########################### Spell/Trap
#jp setting
spell = %%
trap = %%
############################ language,style,other setting
head = mse version: 0.3.8\ngame: yugioh\nstylesheet: standard\nset info:\n\tlanguage: JP\n\tedition: \n\tST mark is text: no\n\tpendulum image is small: yes
############################ Text
text =【摇摆效果】\n%ptext%\n【怪兽效果】\n%text%\n
############################
# chs jp
pendulum-text = Pendulum Text :\n([\S\s]*?)\n\n
# cht pendulum-text = ([\S\s]*?)\n【
# en pendulum-text = Text:\n([\S\s]*?)\n[\S\s]*?Text:
# chs jp cht
monster-text = Monster Text :\n([\S\s]*)
# en monster-text = Text:[\s\S]*?Text:\n([\S\s]*)
########################### Replace
replace = ([·]) ・
#replace = ([鮟|鱇|・|·]) <i>$1</i>
#replace = \s <sym-auto>^</sym-auto>
#replace = ([A-Z]) <i>$1</i>
###########################
##race
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
###############################################
# 脚本中用到的数据类型为以下几类:
# integer: 整数类型
# boolean: 布尔类型(true 或者 false)
# string: 字符串
# function: 函数
# Card: 卡片类
# Effect: 效果类
# Group: 卡片组类
# any: 任意类型
# 为方便说明,采用类似c的函数表示方法说明
# []表示有默认值可省略的参数
#
# 注:关于过滤条件函数
# 过滤条件函数是指第一个参数是Card类型,并且返回值是boolean的函数。此函数用于在一些获取满足条件的卡片组的过滤函数中重复调用。过滤条件函数可以有不定的参数,第二个开始的参数从过滤函数的额外参数获得。举例:
# function sample_filter(c, atk, def)
# return c:GetAttack()>=atk and c:GetDefence()>=def
# end
# 此函数对于一张卡c,如果攻击力>=atk并且守备力>=def则返回true,否则返回false
# g=Duel.GetFieldGroup(0,LOCATION_HAND,0) --获取玩家1的手卡
# fg=g:Filter(sample_filter, nil, 1000,500) --从g中筛选攻击力>=1000并且守备>=500的卡
# Group.Filter只需要3个参数,第4个参数开始为额外参数,额外的参数会传给sample_filter
################################
#
# [uncheck] is need modifty.
#
##############################################
●void initial_effect(Card c)
注册卡片效果
●int aux.Stringid(int code,int id)
返回字符串在texts表的index
●void aux.BeginPuzzle()
开始残局
================ bit ====================
●integer bit.band(integer a, integer b)
a与b的位与
●integer bit.bls(integer a, integer b)
a左移b
●integer bit.bor(integer a, integer b)
a与b的位或
●integer bit.brs(integer a, integer b)
a右移b
●integer bit.bxor(integer a, integer b)
a与b的位异或
================ Card ====================
●void Card.AddCounter(Card c, int countertype, int count)
为c放置count个countertype类型的指示物
●void Card.AddTrapMonsterAttribute(Card c, int extra_type,int attribute,int race,int level,int atk,int def)
【新】为c添加陷阱怪物属性。
extra_type 额外卡片类型
void Card.AddTrapMonsterAttribute(Card c, bool is_effect)
【旧】为c添加陷阱怪物属性。is_effect=true表示视作效果怪物,否则视为通常怪物
注:陷阱怪物属性指的是同时作为怪物和陷阱,
并且额外使一个魔法陷阱的格子不能使用。
●void Card.AssumeProperty(Card c,int assume_type, int assume_value)
●void Card.CancelCardTarget(Card pcard, Card rcard)
●void Card.CancelToGrave(Card c [,bool cancel])
取消送墓确定状态。
注:送墓确定状态指的是在场上发动的不留场的魔法和陷阱后,这些卡片的状态。
送墓确定状态中的卡无法返回手牌和卡组,并且连锁结束时送去墓地。
此函数的作用是取消此状态使其留场。用于光之护封剑和废铁稻草人等卡。
●int Card.CheckActivateEffect(Card c, bool neglect_con, bool neglect_cost, bool copy_info)
●bool Card.CheckEquipTarget(Card c1, Card c2)
检查c2是否是c1的正确的装备对象
●bool Card.CheckFusionMaterial(Card c, Group g[, Card cg, int chkf=PLAYER_NONE])
检查g是否包含了c需要的一组融合素材
●bool Card.CheckRemoveOverlayCard(Card c,int playerid,int count,int reason)
●bool Card.CheckUniqueOnField(Card c,int check_player)
●void Card.ClearEffectRelation(Card c)
●void Card.CompleteProcedure(Card c)
使c完成正规的召唤手续。此函数也可通过Card.SetStatus实现。
●int Card.CopyEffect(Card c, int code, int reset_flag,int reset_count)
为c添加代号是code的卡的可复制的效果,并且添加额外的reset条件。
返回值是表示复制效果的代号id。
●void Card.CreateEffectRelation(Card c, Effect e)
●void Card.CreateRelation(Card c1, Card c2, int reset_flag)
为c1建立于c2的联系。此联系仅会由于RESET_EVENT的事件reset。
●void Card.EnableCounterPermit(Card c, int countertype)
允许c放置那个需要“可以放置”才能放置的指示物countertype
●void Card.EnableDualState(Card c)
把c设置成再召唤状态。
●void Card.EnableReviveLimit(Card c)
为c添加苏生限制。此函数也可通过Card.SetStatus实现。
●Effect Card.GetActivateEffect(Card c)
返回c的“卡片发动”的效果。仅对魔法和陷阱有效。
●int Card.GetAttack(Card c)
返回c的当前攻击力,返回值是负数表示是"?"
●bool Card.GetAttackableTarget(Card c)
●int Card.GetAttackAnnouncedCount(Card c)
返回c本回合攻击宣言的次数
注:攻击被无效不会被计入攻击过的次数,但是会计入攻击宣言的次数。
●int Card.GetAttackedCount(Card c)
返回c本回合攻击过的次数
注:如果此值与上一个函数的返回值不同,那么说明此卡本回合进行过直接攻击
●Group Card.GetAttackedGroup(Card c)
●int Card.GetAttackedGroupCount(Card c)
返回c本回合攻击过的卡片数量
●Group Card.GetAttackGroup(Card c)
返回c本回合攻击过的卡片组
●int Card.GetAttribute(Card c)
返回c的当前属性。注:对某些多属性怪物如光与暗之龙,
此函数的返回值可能是几个属性的组合值。
●int Card.GetBaseAttack(Card c)
返回c的原本攻击力
●int Card.GetBaseDefence(Card c)
返回c的原本守备力
●Group Card.GetBattledGroup(Card c)
返回与c本回合进行过战斗的卡片组
进行过战斗指发生过伤害的计算。用于剑斗兽等卡的判定。
●int Card.GetBattledGroupCount(Card c)
返回与c本回合进行过战斗的的卡片数量
●int Card.GetBattlePosition(Card c)
返回c在本次战斗发生之前的表示形式
●Card Card.GetBattleTarget(Card c)
●Group Card.GetCardTarget(Card c)
返回c当前所有的永续对象
●int Card.GetCardTargetCount(Card c)
返回c当前的永续对象的数量
●int Card.GetCode(Card c)
返回c的当前代号(可能因为效果改变)
●int Card.GetControler(Card c)
返回c的当前控制者
●int Card.GetCounter(Card c, int countertype)
返回c上的countertype类型的指示物的数量
●any Card.GetCustomValue(Card c, string tag)
返回c的以tag作为标签的自定义值
●int Card.GetDefence(Card c)
返回c的当前守备力,返回值是负数表示是"?"
●int Card.GetDestination(Card c)
返回c位置变化的目的地。此函数仅在处理位置转移代替效果时有效。
●int Card.GetEffectCount(Card c, int code)
返回c受到影响的种类是code的效果的数量
●int Card.GetEquipCount(Card c)
返回c当前装备着的卡片数量
●Group Card.GetEquipGroup(Card c)
返回c当前装备着的卡片组
●Card Card.GetEquipTarget(Card c)
返回c当前的装备对象
●int Card.GetFieldID(Card c)
返回c转移到当前位置的时间标识。此数值唯一,越小表示c是越早出现在那个位置。
●Card Card.GetFirstCardTarget(Card c)
●int Card.GetFlagEffect(Card c, int code)
返回c的种类是code的标识效果的数量。
●int Card.GetFlagEffectLabel(Card c)
nil
●int Card.GetLevel(Card c)
返回c的当前等级
●int Card.GetLocation(Card c)
返回c当前的所在位置
●Group Card.GetMaterial(Card c)
返回c出场使用的素材
●int Card.GetMaterialCount(Card c)
返回c出场使用的素材数量
●int Card.GetOriginalAttribute(Card c)
返回c的卡片记载的属性
●int Card.GetOriginalCode(Card c)
返回c的卡片记载的代号
●int Card.GetOriginalLevel(Card c)
返回c的卡片记载的等级
●int Card.GetOriginalRace(Card c)
返回c的卡片记载的种族
●int Card.GetOriginalRank(Card c)
●int Card.GetOriginalType(Card c)
返回c的卡片记载的类型。
●int Card.GetOverlayCount(Card c)
返回c当前叠放着的卡片数量
●Group Card.GetOverlayGroup(Card c)
返回c当前叠放着的卡片组
●Card Card.GetOverlayTarget(Card c)
●int Card.GetOwner(Card c)
返回c的持有者
●Group Card.GetOwnerTarget(Card c)
返回取c作为永续对象的所有卡
●int Card.GetOwnerTargetCount(Card c)
返回取c作为永续对象的卡的数量
●int Card.GetPosition(Card c)
返回c当前的表示形式
●int Card.GetPreviousAttackOnField(Card c)
●int Card.GetPreviousAttributeOnField(Card c)
●int Card.GetPreviousCodeOnField(Card c)
●int Card.GetPreviousControler(Card c)
返回c的位置变化之前的控制者
●int Card.GetPreviousDefenceOnField(Card c)
●Card Card.GetPreviousEquipTarget(Card)
●int Card.GetPreviousLevelOnField(Card c)
●int Card.GetPreviousLocation(Card c)
返回c位置变化前的所在的位置
●int Card.GetPreviousPosition(Card c)
返回c位置变化前的表示形式
●int Card.GetPreviousRaceOnField(Card c)
●int Card.GetPreviousRankOnField(Card c)
●int Card.GetPreviousSequence(Card c)
返回c位置变化前的序号
●int Card.GetPreviousTypeOnField(Card c)
●int Card.GetRace(Card c)
返回c的当前种族。注:对某些多种族怪物如动画效果的魔术猿,
此函数的返回值可能是几个种族的组合值。
●int Card.GetRank(Card c)
●int Card.GetRealFieldID(Card c)
●int Card.GetReason(Card c)
返回c的位置变化原因
●Card Card.GetReasonCard(Card c)
返回导致c的位置变化的卡。此函数仅在某卡被战斗破坏时,
因为上级召唤被解放,或者成为特殊召唤使用的素材时有效。
●Effect Card.GetReasonEffect(Card c)
返回导致c的位置变化的效果。
●int Card.GetReasonPlayer(Card c)
●int Card.GetRightScale(Card c)
●int Card.GetRitualLevel(Card c)
返回c的仪式解放等级。此函数除了某些特定卡如仪式供物,
返回值与Card.GetLevel(c)相同
●int Card.GetSequence(Card c)
返回c在当前位置的序号
在场上时,序号代表所在的格子,从左往右分别是0-4,场地魔法格的序号为5
在其它地方时,序号表示的是第几张卡。最底下的卡的序号为0
●int Card.GetSummonPlayer(Card c)
返回召唤,特殊召唤c上场的玩家
●int Card.GetSummonType(Card c)
返回c上场的方式。
●int Card.GetSynchroLevel(Card c)
返回c的同调用等级。此函数除了某些特定卡如调节支援士,
返回值与Card.GetLevel(c)相同
●int Card.GetTextAttack(Card c)
返回c的卡片记载的攻击力
●int Card.GetTextDefence(Card c)
返回c的卡片记载的守备力
●int,int Card.GetTributeRequirement(Card c)
返回通常召唤c所需要的祭品的最小和最大数量
●int Card.GetTurnCounter(Card c)
返回c的回合计数器
●int Card.GetTurnID(Card c)
返回c转移到当前位置的回合
●int Card.GetType(Card c)
返回c的当前类型。
●int Card.GetUnionCount(Card c)
返回c当前装备的同盟卡数量
●bool Card.IsAbleToChangeControler(Card c)
检查c是否可以改变控制权
注:仅当卡收到了“不能改变控制权”的效果的影响时,此函数返回false
●bool Card.IsAbleToDeck(Card c)
检查c是否可以送去卡组。
●bool Card.IsAbleToDeckAsCost(Card c)
检查c是否可以作为cost送去卡组。
●bool Card.IsAbleToExtra(Card c)
检查c是否可以送去额外卡组。
对于非融合,同调,超量卡此函数均返回false。
●bool Card.IsAbleToExtraAsCost(Card c)
检查c是否可以作为cost送去额外卡组。
●bool Card.IsAbleToGrave(Card c)
检查c是否可以送去墓地。
●bool Card.IsAbleToGraveAsCost(Card c)
检查c是否可以作为cost送去墓地。
●bool Card.IsAbleToHand(Card c)
检查c是否可以送去手牌。
注:仅当卡片或者玩家受到“不能加入手牌”的效果的影响时(如雷王)此函数才返回false。
以下几个函数类似。
●bool Card.IsAbleToHandAsCost(Card c)
检查c是否可以作为cost送去手牌。
注:此函数会在Card.IsAbleToHand的基础上追加检测c的实际目的地。
当c送往手牌会被送去其它地方时(如缩退回路适用中,或者c是融合,同调和超量怪的一种),
此函数返回false。以下几个函数类似。
●bool Card.IsAbleToRemove(Card c)
检查c是否可以除外。
●bool Card.IsAbleToRemoveAsCost(Card c)
检查c是否可以作为cost除外。
●bool Card.IsAttack(Card c)
检查c是否是攻击表示
●bool Card.IsAttackable(Card c)
检查c是否可以攻击
●bool Card.IsAttackAbove(Card c,int atk)
●bool Card.IsAttackBelow(Card c,int atk)
●bool Card.IsAttackPos(Card c)
●bool Card.IsAttribute(Card c, int attribute)
检查c是否属于属性attribute。
●bool Card.IsCanAddCounter(Card c, int countertype, int count)
检查c是否可以放置count个countertype类型的指示物
●bool Card.IsCanBeBattleTarget(Card c1, Card c2)
检查c1是否可以成为c2的攻击目标
●bool Card.IsCanBeEffectTarget(Card c, Effect e)
检查c是否可以成为效果e的对象
●bool Card.IsCanBeExceedMaterial(Card c)
检查c是否可以成为超量素材
●bool Card.IsCanBeFusionMaterial(Card c)
检查c是否可以成为融合素材
●bool Card.IsCanBeSpecialSummoned(Card c, Effect e, int sumtype, int sumplayer, bool nocheck, bool nolimit, [int sumpos=POS_FACEUP, int target_player=sumplayer])
检查c是否可以被玩家sumplayer
用效果e以sumtype方式和sumpos表示形式特殊召唤到target_player场上。
如果nocheck是true则不检查c的召唤条件,如果nolimit是true则不检查c的苏生限制。
●bool Card.IsCanBeSynchroMaterial(Card c[,Card scard,Card tuner])
检查c是否可以成为同调素材
●bool Card.IsCanBeXyzMaterial(Card c,Card scard)
●bool Card.IsCanRemoveCounter(Card c, int player, int countertype, int count, int reason)
检查玩家player是否可以以原因reason移除c上的count个countertype类型的指示物
●bool Card.IsCanTurnSet(Card c)
检查c是否可以转成里侧表示。
●bool Card.IsChainAttackable(Card c)
检查c是否可以连续攻击
注:当c因为闪光之双剑等效果进行过多次攻击之后此函数返回false。
●bool Card.IsCode(Card c, int code)
检查c的代号是否是code。
●bool Card.IsControler(Card c, int con)
检查c的当前控制着是否是con
●bool Card.IsControlerCanBeChanged(Card c)
检查c的控制权是否可以改变
注:此函数会在上一个函数的基础上追加检测场上的空格位
●bool Card.IsDefence(Card c)
检查c是否是守备表示
●bool Card.IsDefenceAbove(Card c,int def)
●bool Card.IsDefenceBelow(Card c,int def)
●bool Card.IsDefencePos(Card c)
●bool Card.IsDestructable(Card c[,Effect e])
检查c是否是可破坏的。
注:不可破坏指的是类似场地护罩,宫廷的规矩等“破壊できない”的效果
●bool Card.IsDirectAttacked(Card c)
●bool Card.IsDisabled(Card c)
检查c是否处于无效状态
●bool Card.IsDiscardable(Card c)
检查c是否可以丢弃
注:此函数仅用于检测,
以REASON_DISCARD作为原因把一张手卡送墓并不会导致那张卡不能丢弃。
●bool Card.IsDualState(Card c)
检查c属否处于再召唤状态。
●bool Card.IsFacedown(Card c)
检查c是否是里侧测表示
●bool Card.IsFaceup(Card c)
检查c是否是表侧表示
●bool Card.IsForbidden(Card c)
检查c是否处于被宣言禁止状态
●bool Card.IsHasCardTarget(Card c1, Card c2)
检查c1是否取c2为永续对象
●bool Card.IsHasEffect(Card c, int code)
检查c是否受到效果种类是code的效果的影响
●bool Card.IsImmuneToEffect(Card c, Effect e)
检查c是否免疫效果e(即不受效果e的影响)
●bool Card.IsLevelAbove(Card c,int level)
●bool Card.IsLevelBelow(Card c,int level)
●bool Card.IsLocation(Card c, int loc)
检查c当前位置是否是loc。
注:当怪物召唤,反转召唤,特殊召唤时召唤成功之前,
并且loc=LOCATION_MZONE时,此函数返回false
●bool Card.IsMSetable(Card c)
检查c是否可进行通常召唤的set
●bool Card.IsNotTuner(Card c)
检查c是否可以当成非调整来使用。
●bool Card.IsOnField(Card c)
检查c是否在场。
注:当怪物召唤,反转召唤,特殊召唤时召唤成功之前,此函数返回false
●bool Card.IsPosition(Card c.int pos)
●bool Card.IsPreviousLocation(Card c,int location)
●bool Card.IsPreviousPosition(Card c,int pos)
●bool Card.IsPublic(Card c)
检查c是否处于公开状态
●bool Card.IsRace(Card c, int race)
检查c是否属于种族race。
●bool Card.IsRankAbove(Card c,int rank)
●bool Card.IsRankBelow(Card c,int rank)
●bool Card.IsReason(Card c, int reason)
检查c是否包含原因reason。
●bool Card.IsRelateToBattle(Card c)
检查c是否和本次战斗关联。
注:此效果通常用于伤害计算后伤害阶段结束前,用于检查战斗的卡是否离场过。
●bool Card.IsRelateToCard(Card c1, Card c2)
检查c1是否和c2有联系。
●bool Card.IsRelateToEffect(Card c, Effect e)
检查c是否和效果e有联系。
注:每次发动进入连锁的效果时,发动效果的卡,以及发动效果时指定的对象
(用Duel.SetTargetCard或者Duel.SelectTarget指定的,包括取对象和不取对象)
会自动与那个效果建立联系。一旦离场,联系会重置。
●bool Card.IsReleasable(Card c)
●bool Card.IsReleasableByEffect(Card c)
●bool Card.IsReleaseable(Card c)
检查c是否可以解放(非上级召唤用)
●bool Card.IsSetCard(Card c, int setname)
检查c是否是名字含有setname的卡
●bool Card.IsSpecialSummonable(Card c)
检查是否可以对c进行特殊召唤手续。
●bool Card.IsSSetable(Card c)
检查c是否可以set到魔法陷阱区
●bool Card.IsStatus(Card c, int status)
检查c是否包含某个状态码。
●bool Card.IsSummonable(Card c)
检查c是否可进行通常召唤(不包含通常召唤的set)
●bool Card.IsSummonableCard(Card c[,bool ignore,Effect e])
检查c是否是可通常召唤的卡。
●bool Card.IsSynchroSummonable(Card c [,Card tuner=nil,Group mg])
检查是否可以以tuner作为调整对c进行同调召唤手续。
如果tuner是nil,此函数与上一个函数作用相同。
●bool Card.IsType(Card c, int type)
检查c是否属于类型type。
●bool Card.IsXyzLevel(Card c,Card xyzcard,int level)
●bool Card.IsXyzSummonable(Card c [,Group mg])
●int Card.RegisterEffect(Card c, Effect e, [bool forced=false])
把效果e注册给c,返回效果的全局id。
默认情况下注册时如果c带有免疫e的效果那么注册会失败。
如果forced为true则不会检查c对e的免疫效果。
●Effect Card.RegisterFlagEffect(Card c, int code, int reset_flag, int property, int reset_count [,int label,int desc])
为c注册一个标识用效果。
注:注册给卡的标识用效果不会用于系统,
即使code与内置效果code重合也不会影响,
并且类型总是EFFECT_TYPE_SINGLE。reset方法,property和一般的效果相同,
并且不会无效化,不受卡的免疫效果影响。
●void Card.ReleaseEffectRelation(Card c,Effect e)
●void Card.ReleaseRelation(Card c1, Card c2)
手动释放c1对于c2的联系
●void Card.RemoveCounter(Card c, int player, int countertype,int count, int reason)
让玩家player以原因reason移除c上的count个countertype类型的指示物
●int Card.RemoveOverlayCard(Card c,int player, int min, int max, int reason)
以reason为原因,让玩家player移除c叠放的min-max张卡
●void Card.ResetEffect(Card,int code,int type)
●void Card.ResetFlagEffect(Card c, int code)
手动清除c的种类是code的标识效果。
●void Card.ResetNegateEffect(Card c [,int i,...])
●void Card.ReverseInDeck(Card c)
●void Card.SetCardTarget(Card c1, Card c2)
把c2作为c1的永续对象。
c1和c2的联系会在c1活c2任意一卡离场或变成里侧表示时reset。
●void Card.SetCounterLimit(Card c, int countertype, int count)
设定c放置countertype类型指示物的上限
●void Card.SetCustomValue(Card c, string tag, any object)
以tag作为标签为c设置一个自定义值object
●bool Card.SetFlagEffectLabel(Card c,int code,int label)
●void Card.SetHint(Card c,int type,int value)
●void Card.SetMaterial(Card c, Group g)
把g中的所有卡作为c的素材(上级召唤,特殊召唤)
●void Card.SetStatus(Card c, int state, bool enable)
给c设置或者取消状态码。除非妳清楚的了解每个状态码的含意,否则不要轻易使用此函数。
●void Card.SetTurnCounter(Card c, int counter)
设置c的回合计数器(光之护封剑等)
●void Card.SetUniqueOnField(Card c,int pos1,int pos2,int code)
●void Card.TrapMonsterBlock(Card c)
============ Debug =====================
●void Debug.AddCard(int code,int owner,int playerid,int location,int sequence,int position [,bool proc = false])
添加卡片
code 密码
owner,playerid 所有者,当前玩家,下方 0,上方1
location 加载区域,LOCATION_
sequence 区域位置, 怪兽:0-4,魔法:4-0,5-场地,6-P右,7-P左
position 显示方式 POSITION_
proc 是否解除苏生限制
●void Debug.Message(any msg)
显示消息
●void Debug.PreAddCounter(Card pcard,int ctype,int ccount)
添加指示物
pcard 需要添加指示物的卡片
ctype 指示物代码 (参考strings.conf)
ccount 指示物数量
●void Debug.PreEquip(Card equip_card, Card target)
预装备
equip_card 装备魔法卡,target 被装备怪兽
●void Debug.PreSetTarget(Card t_card, Card target)
预选目标
t_card 需要目标的卡片,target 目标卡片
●void Debug.ReloadFieldBegin(interger flag)
重载场地布局开始
flag 残局:DUEL_ATTACK_FIRST_TURN+DUEL_SIMPLE_AI
●void Debug.ReloadFieldEnd()
重载场地布局结束
●void Debug.SetAIName(string name)
设置AI的名字
●void Debug.SetPlayerInfo(int playerid,int lp,int startcount,int drawcount)
设置玩家信息
playerid 下方 0,上方 1
●void Debug.ShowHint(string msg)
显示消息提示框
============== Duel ===================
●integer Duel.AdjustInstantly(Card c)
●integer Duel.AnnounceAttribute(integer player, integer count, integer available)
让玩家player从可选的属性中宣言count个属性。available是所有可选属性的组合值。
●integer Duel.AnnounceCard(integer player)
让玩家player宣言一个卡片代号。
●integer Duel.AnnounceCoin(integer player)
让玩家player宣言硬币的正反面。
●integer Duel.AnnounceLevel(int playerid)
●integer Duel.AnnounceNumber(integer player, ...)
让玩家player宣言一个数字。从第二个参数开始,每一个参数代表一个可宣言的数字。
返回选择的选项的序号。
●integer Duel.AnnounceRace(integer player, integer count, integer available)
让玩家player从可选的种族中宣言count个种族。available是所有可选种族的组合值。
●integer Duel.AnnounceType(integer player)
让玩家player宣言一个卡片类型。
●void Duel.BreakEffect()
中断当前效果,使之后的效果处理视为不同时处理。此函数会造成错时点。
●void Duel.CalculateDamage(Card attacker,Card attack_target,bool skip_timing)
●void Duel.ChainAttack()
使攻击卡再进行一次连续攻击(开辟,破灭的女王)
●void Duel.ChaingeAttacker(Card c)
把当前的攻击卡替换成c进行攻击
●void Duel.ChaingeAttackTarget(Card c)
把当前的攻击目标替换成c。如果c=nil则变成直接攻击。
●void Duel.ChangeBattleDamage(integer player, integer value)
把玩家player在本次战斗中收到的伤害变成value
●void Duel.ChangeChainOperation(integer chainc, function f)
把连锁chainc的效果的处理函数换成f。用于实现“把效果变成”等的效果
●integer Duel.ChangePosition(Card|Group targets,integer au,[integer ad=au, integer du=au, integer dd=au, boolean noflip=false])
改变targets的表示形式。表侧攻击表示的变成au,里侧攻击表示的变成ad,
表侧守备表示变成du,里侧守备表示变成dd
如果noflip=true则不触发翻转效果(但会触发翻转时的诱发效果)
●void Duel.ChangeTargetCard(integer chainc, Group g)
Duel.ChangeTarget
把连锁chainc的对象换成g
●void Duel.ChangeTargetParam(integer chainc, integer param)
把连锁chainc的对象参数换成param
●void Duel.ChangeTargetPlayer(integer chainc, integer player)
把连锁chainc的对象玩家换成player
●boolean Duel.CheckAttackActivity(integer player)
检查玩家player本回合有没有进行过攻击。
●boolean Duel.CheckChainTarget(integer chainc, Card c)
检查c是否是连锁chainc的正确的对象
●boolean Duel.CheckChainUniqueness()
检查当前连锁中是否存在同名卡的发动。true表示无同名卡。
●boolean|Group,integer,integer,Effect,integer,integer Duel.CheckEvent(integer event)
检查当前是否是event时点
●boolean Duel.CheckFlipSummonActivity(integer player)
检查玩家player本回合有没有进行过特殊召唤的行为。
特殊召唤的行为包括:
进行了入连锁和不入连锁的特殊召唤;
发动了确定要特殊召唤的效果但是效果被无效
不包括:发动了确定要特殊召唤的效果但是发动被无效
●boolean Duel.CheckLocation(integer playerid,integer location,integer sequence)
●boolean Duel.CheckLPCost(integer player, integer cost)
检查玩家player是否能支付cost点lp
●boolean Duel.CheckNormalSummonActivity(integer player)
检查玩家player本回合有没有进行过通常召唤的行为。包括召唤和set
●boolean Duel.CheckPhaseActivity()
●boolean Duel.CheckReleaseGroup(integer playerid[,integer use_con,integer fcount,integer pexception)
●boolean Duel.CheckReleaseGroupEx(int playerid,int use_con,int fcount, int pexception)
●boolean Duel.CheckRemoveOverlayCard(int playerid, int s,int o,int count,int reason)
●boolean Duel.CheckSpecialSummonActivity(integer player)
-Duel.CheckSummonActivity
检查玩家player本回合有没有进行过召唤的行为。
召唤被无效视作进行过召唤行为。
●boolean Duel.CheckSummonActivity(integer player)
-Duel.CheckSpecialSummonActivity
检查玩家player本回合有没有进行过召唤的行为。
召唤被无效视作进行过召唤行为。
●boolean Duel.CheckSummonedCount()
Duel.CheckSummonCount
检查回合玩家本回合的通常召唤限制计数。
●boolean Duel.CheckSynchroMaterial(Card c, function f1, function f2, integer min,integer max,Card smat,Group mg)
检查是否存在一组满足条件的卡作为同调召唤c的素材。f1,f2,min同上。
●boolean Duel.CheckTiming(integer time)
●boolean Duel.ChecktReleaseGroup(integer player, function f, integer count, Card ex, ...)
可能过时。
过滤函数,检查玩家player是否存在至少count张不等于ex的满足条件f的可解放的卡
●boolean Duel.CheckTunerMaterial(Card c, Card tuner, function f1, function f2, integer min,integer max,Card smat,Group mg)
检查以tuner作为调整是否存在一组满足条件的卡作为同调召唤c的素材。f1,f2,min同上。
●boolean Duel.CheckXyzMaterial(Card c,function f,int minc,int maxc,Group mg)
●void Duel.ClearTargetCard(int playerid,Card c|Group g)
●void Duel.ConfirmCards(integer player, Card|Group targets)
给玩家player确认targets
●void Duel.ConfirmDeckTop(integer player, integer count)
确认玩家player卡组最上方的count张卡。双方均可确认。
●Card|false Duel.CreateToken(integer player, integer code[, integer setcode,integer attack, integer defence, integer level, integer race, integer attribute])
以传入的参数数值新建一个Token
●integer Duel.Damage(integer player, integer value, integer reason)
以reason原因给与玩家player造成value的伤害。返回实际收到的伤害值。
如果受到伤害变成回复等效果的影响时,返回值为0.
●void Duel.DebugMessage(any msg)
Debug用函数,用于显示信息
●integer Duel.Destroy(Card|Group targets, integer reason,integer dest)
以reason原因破坏targets。返回值是实际被破坏的数量。
如果reason包含REASON_RULE,则破坏事件将不会检查卡片是否免疫效果,
不会触发代破效果并且无视“不能破坏”。
●void Duel.DisableAttack()
使本次攻击无效
●void Duel.DisableShuffleCheck()
使下一个操作不检查是否需要洗卡组或者洗手卡。
注:如果不调用此函数,
除了调用Duel.DiscardDeck和Duel.Draw之外从卡组中取出卡或者把卡加入手卡
或者把卡加入卡组(非最上端或最底端)时,系统会自动在效果处理结束时洗卡组或手卡。
如果不希望如此,比如从卡组顶端除外一张卡等操作,那么需要调用此函数。
此函数仅保证紧接着的一次操作不会进行洗卡检测。
●integer Duel.DiscardDeck(integer player, integer count, integer reason)
以原因reason把玩家player的卡组最上端count张卡送去墓地.返回实际转移的数量。
●integer Duel.DiscardHand(integer player, function f,integer min, integer max, integer reason, Card ex, ...)
过滤函数。让玩家player选择并丢弃满足筛选条件f兵不等于ex的min-max张手卡。
第7个参数开始为额外参数。
●integer Duel.Draw(integer player, integer count, integer reason)
让玩家player以原因reason抽count张卡。返回实际抽的卡的数量。
如果reason含有REASON_RULE则此次抽卡不受“不能抽卡”的效果的影响。
●void Duel.EnableGlobalFlag(int flag)
●boolean Duel.Equip(integer player, Card c1, Card c2)
把c1作为玩家player的装备卡装备给c2。返回值表示是否成功。
●void Duel.EquipComplete()
●Group Duel.FlipSummonedCardsThisTurn(int playerid)
●Card Duel.GetAttacker()
返回此次战斗攻击的卡
●Card Duel.GetAttackTarget()
返回此次战斗被攻击的卡。如果返回nil表示是直接攻击。
●integer Duel.GetBattleDamage(integer player)
返回玩家player在本次战斗中收到的伤害
●... Duel.GetChainInfo(integer chainc, ...)
返回连锁chainc的信息。如果chainc=0,则返回当前正在处理的连锁的信息。
此函数根据传入的参数个数按顺序返回相应数量的返回值。参数可以是:
CHAININFO_CHAIN_COUNT 连锁序号
CHAININFO_TRIGGERING_EFFECT 连锁的效果
CHAININFO_TRIGGERING_PLAYER 连锁的玩家
CHAININFO_TRIGGERING_CONTROLER 连锁发生位置所属玩家
CHAININFO_TRIGGERING_LOCATION 连锁发生位置
CHAININFO_TRIGGERING_SEQUENCE 连锁发生的位置的序号
CHAININFO_TARGET_CARDS 连锁的对象卡片组
CHAININFO_TARGET_PLAYER 连锁的对象玩家
CHAININFO_TARGET_PARAM 连锁的对象参数
CHAININFO_DISABLE_REASON 连锁被无效的原因效果
CHAININFO_DISABLE_PLAYER 连锁被无效的原因玩家
CHAININFO_CHAIN_ID 连锁的唯一标识
举例:
Duel.GetChainInfo(0,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TARGET_CARDS)
将会返回当前连锁发生的位置和对象卡。
●Effect Duel.GetChainMaterial(integer player)
返回玩家player受到的连锁素材的效果。此函数仅用于融合类卡的效果。
●integer Duel.GetCoinResult()
●boolean Duel.GetControl(Card c,integer player,int reset_phase,int reset_count)
让玩家player得到c的控制权。返回值表示是否成功。
●integer Duel.GetCounter(integer player, integer s, integer o,integer countertype)
返回场上存在的countertype类型的指示物的数量。s和o参数作用同上。
●integer Duel.GetCurrentChain()
返回当前正在处理的连锁序号
●integer Duel.GetCurrentPhase()
返回当前的阶段
●Group Duel.GetDecktopGroup(integer player, integer count)
返回玩家player的卡组最上方的count张卡
●Ginteger Duel.GetDiceResult()
●integer Duel.GetDrawCount(integer player)
返回玩家player每回合的规则抽卡数量
●integer,integer Duel.GetEnvironment()
返回code,player
●Group Duel.GetExceedMaterial(Card c)
返回c的超量素材
●integer,integer Duel.GetEnvironment()
返回两个值,表示当前场地代号,以及当前场地效果的来源玩家。
场地代号指当前生效的场地卡的代号,或者海神的巫女把场地变化效果的值。
来源玩家指当前生效的场地卡的控制者,或者海神的巫女等卡的控制者。
●Card Duel.GetFieldCard(integer controler, integer location, integer sequence)
返回指定玩家指定地点指定序号的卡
●Group Duel.GetFieldGroup(integer player, integer s, integer o)
返回指定位置的卡。s指对玩家player来说的己方的位置,
o指对玩家player来说的对方的位置。下面提到的指定位置均为此意。
比如Duel.GetFieldGroup(0,LOCATION_GRAVE,LOCATION_MZONE)
返回玩家1墓地和玩家2的怪兽区的所有卡
●integer Duel.GetFieldGroupCount(integer player, integer s, integer o)
同上,返回值变成卡的数量
●Card Duel.GetFirstMatchingCard(function f, integer player, integer s, integer o, Card ex, ...)
过滤函数,返回指定位置满足过滤条件f并且不等于ex的第一张卡。
第6个参数开始为额外参数。
●Card Duel.GetFirstTarget()
●integer Duel.GetFlagEffect(integer player, integer code)
返回玩家player的特定的标识效果的数量
●integer Duel.GetLocationCount(integer player, integer location[,int uplayer,int reason)
返回玩家player的指定场地location剩余的空格数。
location只能是LOCATION_MZONE或者LOCATION_SZONE。
●integer Duel.GetLP(integer player)
返回玩家player的当前LP
●Group Duel.GetMatchingGroup(function f, integer player, integer s, integer o, Card ex, ...)
过滤函数,返回指定位置满足过滤条件f并且不等于ex的卡。
第6个参数开始为额外参数。
●integer Duel.GetMatchingGroupCount(function f, integer player, integer s, integer o, Card ex, ...)
同上,返回值变成符合的卡的数量。
●Group Duel.GetOperatedGroup()
此函数返回之前一次卡片操作实际操作的卡片组。包括
Duel.Destroy, Duel.Remove, Duel.SendtoGrave,
Duel.SendtoHand, Duel.SendtoDeck, Duel.Release,
Duel.ChangePosition, Duel.SpecialSummon
●integer Duel.GetOperationCount(integer chainc)
返回连锁chainc包含的操作分类的数量
●... Duel.GetOperationInfo(integer chainc, integer category)
返回连锁chainc的category分类的操作信息。返回值为5个,
第一个返回值是false的话表示不存在该分类。后4个返回值对应上一个函数的后4个参数。
●Integer Duel.GetOverlayCount(integer player, integer s, integer o)
返回指定位置的所有叠放的卡的数量
●Group Duel.GetOverlayGroup(integer player, integer s, integer o)
返回指定位置的所有叠放的卡
●Group Duel.GetReleaseGroup(integer player)
返回玩家player可解放(非上级召唤用)的卡片组
●integer Duel.GetReleaseGroupCount(integer player [,bool hand])
返回玩家player可解放(非上级召唤用)的卡片数量
●Group Duel.GetRitualMaterial(integer player)
返回玩家player可用的用于仪式召唤素材的卡片组。
包含手上,场上可解放的以及墓地的仪式魔人等卡。
●integer Duel.GetTargetCount(function f, integer player, integer s, integer o, Card ex, ...)
基本同Duel.GetMatchingGroupCount,
不同之处在于需要追加判定卡片是否能成为当前正在处理的效果的对象。
●integer Duel.GetTributeCount(Card c)
返回用于通常召唤c的祭品数量。
此数量不一定等于上一个函数的返回值中的卡片数量。
因为某些卡可以作为两个祭品来使用。
●Group Duel.GetTributeGroup(Card c)
返回用于通常召唤c可解放(上级召唤用)的卡片组
●integer Duel.GetTurnCount()
返回当前的回合数
●integer Duel.GetTurnPlayer()
返回当前的回合玩家
●void Duel.Hint(integer player, integer desc)
给玩家发送内置消息提示
●void Duel.HintSelection(Group g)
●void Duel.IncreaseSummonCount()
本回合的通常召唤限制计数+1
●void Duel.IncreaseSummonedCount(Card c)
●boolean Duel.IsCanRemoveCounter(integer player, integer s,integer o, integer countertype, integer count, integer reason)
检查玩家player是否能移除场上的countertype类型的count个指示物。
s和o参数作用同上。
●boolean Duel.IsChainDisablable(integer chainc)
检查连锁chainc的效果是否可以被无效化
●boolean Duel.IsChainInactivatable(integer chainc)
检查连锁chainc的发动是否可以被无效化
●boolean Duel.IsChainNegatable(int32 chaincount)
●boolean Duel.IsDamageCalculated()
用于在伤害阶段检查是否已经计算了战斗伤害。
●boolean Duel.IsEnvironment(int code,int playerid)
●boolean Duel.IsExistingMatchingCard(function f, integer player, integer s, integer o, integer count, Card ex, ...)
过滤函数,检查指定位置是否存在至少count张满足过滤条件f并且不等于ex的卡。
第7个参数开始为额外参数。
●boolean Duel.IsExistingTarget(function f, integer player, integer s, integer o, integer count, Card ex, ...)
过滤函数,检查指定
位置是否存在至少count张满足过滤条件f并且不等于ex
并且可以成为当前正在处理的效果的对象的卡。
第7个参数开始为额外参数。
●boolean Duel.IsPlayerAffectByEffect(integer player, integer code)
检查玩家player是否受特性效果的影响
●boolean Duel.IsPlayerAffectedByEffect(int playerid,int code)
●boolean Duel.IsPlayerCanDiscardDeck(integer player,int count)
检查玩家player是否可以把卡组顶端的卡送去墓地
●boolean Duel.IsPlayerCanDiscardDeckAdCost(integer player, int count)
检查玩家player是否可以把卡组顶端的卡送去墓地作为cost。
当卡组没有足够数量的卡,
或者当卡组中的卡受到送墓转移效果的影响时(如大宇宙,次元裂缝,即使不是全部)
此函数会返回false
●boolean Duel.IsPlayerCanDraw(integer player)
检查玩家player是否可以效果抽卡
●boolean Duel.IsPlayerCanFlipSummon(integer player, Card c)
检查玩家player是否可以反转召唤c。
●boolean Duel.IsPlayerCanFlipSummonCount(int playerid,int count)
●boolean Duel.IsPlayerCanRelease(integer player, Card c)
检查玩家是否能解放c
●boolean Duel.IsPlayerCanRemove(integer player, Card c)
检查玩家是否能除外c
●boolean Duel.IsPlayerCanSendtoDeck(integer player, Card c)
检查玩家是否能把c送去卡组
●boolean Duel.IsPlayerCanSendtoGrave(integer player, Card c)
检查玩家是否能把c送去墓地
●boolean Duel.IsPlayerCanSendtoHand(integer player, Card c)
检查玩家是否能把c送去手牌
●boolean Duel.IsPlayerCanSpecialSummon(int playerid,int sumtype.int sumpos,int toplayer,card c)
●boolean Duel.IsPlayerCanSpecialSummonCount(int playerid,int count)
●boolean Duel.IsPlayerCanSpecialSummonMonster(integer player, integet code, integer setcode, integer attack, integer defence integer level, integer race, integer attribute, [integer pos=POS_FACEUP, integer target_player=player])
检查玩家player是否可以以pos的表示形式特殊召唤特定属性值的怪物到target_player场上。
此函数通常用于判定是否可以特招token和陷阱怪物。
●boolean Duel.IsPlayerCanSummon(integer player, integer sumtype, Card c)
检查玩家player是否可以以sumtype方式通常召唤c。
仅当玩家收到“不能上级召唤”等效果的影响时返回false。
●boolean Duel.IsPlayerCanSummonCount(int playerid,int count)
●void Duel.MajesticCopy(Card c1,Card c2)
●void Duel.MoveSequence(Card c, integer seq)
移动c的序号。通常用于在场上换格子或者在卡组中移动到最上方或者最下方。
●void Duel.MoveToField(Card c, integer move_player, integer target_player,integer dest, integer pos, boolean enabled)
让玩家move_player把c移动的target_player的场上。
dest只能是LOCATION_MZONE或者LOCATION_SZONE。pos表示可选表示形式。
enable表示是否立刻适用c的效果。
●void Duel.MSet(integer player, Card c, boolean ignore_count, Effect e)
让玩家以效果e对c进行通常召唤的Set。
如果e=nil,那么就按照一般的通常召唤规则进行通常召唤。
如果ignore_count=true,则忽略每回合的通常召唤次数限制。
●void Duel.NegateActivation(integer chainc)
使连锁chainc的发动无效
●void Duel.NegateAttack()
●void Duel.NegateEffect(integer chainc)
使连锁chainc的效果无效
●void Duel.NegateRelatedChain(Card c,int reset)
●void Duel.NegateSummon(Card c)
使正在召唤,反转召唤,特殊召唤的c的召唤无效
●Group Duel.NormalSummonedCardsThisTurn(int playerid)
●void Duel.Overlay(Card c, Card|Group ocard)
把ocard作为c的叠放卡叠放
●void Duel.PayLPCost(integer player, integer cost)
让玩家player支付cost点lp
●void Duel.RaiseEvent(Group eg,integer code, Effect reason_effect,integer reason,integer reason_player,integer event_player,integer event param)
触发一个事件。
●void Duel.RaiseSingleEvent(Card ec,integer code, Effect reason_effect,integer reason,integer reason_player,integer event_player, integer event param)
触发一个单体事件。
●void Duel.Readjust()
刷新场上的卡的信息。非特定情况或者不清楚原理请勿使用此函数以免形成死循环。
●integer Duel.Recover(integer player, integer value, integer reason)
以reason原因使玩家player回复value的LP。返回实际的回复值。
如果受到回复变成伤害等效果的影响时,返回值为0.
●void Duel.RegisterEffect(Effect e, integer player)
把效果作为玩家player的效果注册给全局环境。
●Effect Duel.RegisterFlagEffect(integer player, integer code, integer reset_flag, integer property, integer reset_count)
此函数为玩家player注册全局环境下的标识效果。
此效果总是影响玩家的(EFFECT_FLAG_PLAYER_TARGET)并且不会被无效化。
其余部分与Card.RegisterFlagEffect相同
●integer Duel.Release(Card|Group targets, integer reason)
以reason原因解放targets。返回值是实际解放的数量。
如果reason含有REASON_COST,则不会检查卡片是否不受效果影响
●void Duel.ReleaseRitualMaterial(Group g)
解放仪式用的素材g。如果是墓地的仪式魔人等卡则除外。
●integer Duel.Remove(Card|Group targets, integer pos, integer reason)
以reason原因,pos表示形式除外targets。
返回值是实际被操作的数量。
如果reason包含REASON_TEMPORARY,
那么视为是暂时除外,可以通过Duel.ReturnToField返回到场上
●void Duel.RemoveCounter(integer player, integer s, integer o,integer countertype, integer count, integer reason)
让玩家player移除场上存在的countertype类型的count个指示物。
s表示对player来说的己方的可移除指示物的位置,
o表示对player来说的对方的可移除指示物的位置
●void Duel.RemoveOverlayCard(integer player, integer s, integer o, integer min, integer max, integer reason)
以reason原因移除指定位置的min-max张叠放卡
●void Duel.ReplaceAttacker(Card c)
用c代替当前攻击的卡进行伤害阶段
●void Duel.ReplaceAttackTarget(Card c)
(预留)
●void Duel.ResetFlagEffect(integer player, integer code)
手动reset玩家player的特定的标识效果
●void Duel.ReturnToField(Card c)
把c返回到场上。c必须是以REASON_TEMPORARY原因离场,并且离场后没有离开过那个位置。
●integer Duel.SelectDisableField(integer player, integer count, integer s, integer o, integer filter)
让玩家player选择指定位置的count个位置不能使用。
●boolean Duel.SelectEffectYesNo(integer player, integer code)
让玩家选择是否发动卡的效果
●Group Duel.SelectFusionMaterial(integer player, Card c, Group g)
让玩家player从g中选择一组满足c的融合素材的卡
●Group Duel.SelectMatchingCard(integer sel_player, function f, integer player,integer s, integer o, integer min, integer max, Card ex, ...)
过滤函数,让玩家sel_player选择指定位置满足过滤条件f并且不等于ex的min-max张卡。
第9个参数开始为额外参数。
●integer Duel.SelectOption(integer player, ...)
让玩家选择选项。从第二个参数开始,每一个参数代表一条选项。
返回选择的选项的序号。
●void Duel.SelectPosition(int playerid,Card c,int pos)
●Group Duel.SelectReleaseGroup(integer player, function f, integer min, integer max, Card ex, ...)
过滤函数,让玩家player选择min-max张不等于ex的满足条件f的可解放的卡并返回
●Group Duel.SelectReleaseGroupEx(integer player, function f, integer min, integer max, Card ex, ...)
过滤函数,让玩家player选择min-max张不等于ex的满足条件f的可解放的卡并返回
●void Duel.SelectSequence()
(预留)
●Group Duel.SelectSynchroMaterial(integer player, Card c, function f1, function f2, integer min)
让玩家选择用于同调c需要的满足条件的数量至少是min的一组素材。
f1是调整需要满足的过滤条件。f2是调整以外的部分需要满足的过滤条件。
●Group Duel.SelectTarget(integer sel_player, function f, integer player, integer s, integer o, integer min, integer max,Card ex, ...)
过滤函数,让玩家sel_player选择指定
位置满足过滤条件f并且不等于ex
并且可以成为当前正在处理的效果的对象的min-max张卡。
第9个参数开始为额外参数。
此函数会同时酱当前正在处理的连锁的对象设置成选择的卡
●Group Duel.SelectTribute(integer player, Card c, integer min, integer max)
让玩家player选择用于通常召唤c的min-max个祭品。
●Group Duel.SelectTunerMaterial(integer player, Card c, Card tuner, function f1, function f2, integer min)
让玩家选择用于同调c需要的满足条件的以tuner作为调整的数量至少是min的一组素材。
f1是调整需要满足的过滤条件。f2是调整以外的部分需要满足的过滤条件。
●void Duel.SelectXyzMaterial(int playerid,Card c,int min,int max)
●boolean Duel.SelectYesNo(integer player, integer desc)
让玩家选择是或否
●integer Duel.SendtoDeck(Card|Group targets, integer player | nil, integer seq, integer reason)
以reason原因把targets送去玩家player的卡组。
返回值是实际被操作的数量。
如果player是nil则返回卡的持有者的卡组。
如果seq=0,则是返回卡组最顶端;seq=1则是返回卡组最低端;
其余情况则是返回最顶端并且标记需要洗卡组。
●integer Duel.SendtoGrave(Card|Group targets, integer reason)
以reason原因把targets送去墓地。返回值是实际被操作的数量。
●integer Duel.SendtoHand(Card|Group targets,integer player | nil, integer reason)
以reason原因把targets送去玩家player的手牌。
返回值是实际被操作的数量。
如果player是nil则返回卡的持有者的手牌。
●void Duel.SetChainLimit(function f)
设定连锁条件。f是接受一个Effect类型作为参数并且返回boolean值的函数。
在cost或者target处理中调用此函数可以限制可以连锁的效果的种类(如超融合)
。如果f返回false表示不能连锁。一旦设置连锁条件后发生了新的连锁那么连锁条件将会解除。
●void Duel.SetChainLimitTillChainEnd(function f)
功能同上,但是此函数设定的连锁条件直到连锁结束才会解除。
●void Duel.SetCoinResult( ... )
强行修改投硬币的结果。此函数用于永续的EVENT_TOSS_COIN事件中
●void Duel.SetDiceResult( ... )
强行修改投骰子的结果。此函数用于永续的EVENT_TOSS_DICE事件中
●void Duel.SetFusionMaterial(Group g)
设置g为需要使用的融合素材
●void Duel.SetLP(integer player, integer lp)
设置玩家player的当前LP为lp
●void Duel.SetOperationInfo(integer chainc, integer category, Card|Group targets, integer count, integer target_player, integer target_param)
设置当前处理的连锁的操作信息。此操作信息包含了效果处理中确定要处理的效果分类。
比如潜行狙击手需要设置CATEGORY_DICE,但是不能设置CATEGORY_DESTROY,因为不确定。
对于破坏效果,targets需要设置成发动时可能成为连锁的影响对象的卡,
并设置count为发动时确定的要处理的卡的数量。
比如黑洞发动时,targets需要设定为场上的所有怪物,count设置成场上的怪的数量。
对于CATEGORY_SPECIAL_SUMMON,CATEGORY_TOHAND,CATEGORY_TODECK等分类,
如果取对象则设置targets为对象,count为对象的数量;
如果不取对象则设置targets为nil,count为预计要处理的卡的数量,
并设置target_param为预计要处理的卡的位置。
例如增援:SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK)。
操作信息用于很多效果的发动的检测,例如星尘龙,王家沉眠之谷等。
●void Duel.SetSynchroMaterial(Group g)
设置g为需要使用的同调素材
●void Duel.SetTargetCard(Group g)
把当前正在处理的连锁的对象设置成g。
注,这里的对象指的的广义的对象,包括不取对象的效果可能要处理的对象。
●void Duel.SetTargetParam(integer param)
把当前正在处理的连锁的对象参数设置成param。
●void Duel.SetTargetPlayer(integer player)
把当前正在处理的连锁的对象玩家设置成player。
●void Duel.ShuffleDeck(integer player)
手动洗玩家player的卡组
●void Duel.ShuffleHand(integer player)
手动洗玩家player的手卡
注:以上两个操作会重置洗卡检测的状态。
●void Duel.ShuffleSetCard(Group g)
●void Duel.SkipPhase(integer player, integer phase, integer reset_flag, integer reset_count)
跳过玩家player的phase阶段,并在特定的阶段后reset。reset参数和效果相同。
●void Duel.SortDecktop(integer sort_player, integer target_player, integer count)
让玩家sort_player对玩家target_player的卡组最上方count张卡进行排序
●integer Duel.SpecialSummon(Card|Group targets, integer sumtype, integer sumplayer, integer target_player, boolean nocheck, boolean nolimit,integer pos)
让玩家player以sumtype方式,pos表示形式把targets特殊召唤到target_player场上。
如果nocheck为true则无视卡的召唤条件。如果nolimit为true则无视卡的苏生限制。
返回值是特殊召唤成功的卡的数量。
●integer Duel.SpecialSummonComplete()
此函数在确定复数个上一个函数调用完毕之后调用。用于触发事件。
●integer Duel.SpecialSummonedCardsThisTurn()
●void Duel.SpecialSummonRule(integer player, Card c)
让玩家player对c进行特殊召唤手续。
●boolean Duel.SpecialSummonStep(Card c, integer sumtype, integer sumplayer,integer target_player, boolean nocheck, boolean nolimit, integer pos)
此函数是上一个函数的分解过程,只特殊召唤一张卡c。
此函数用于一个效果需要双方同时特殊召唤时。此函数必须和下面的函数一起使用。
返回值表示是否特殊召唤成功。
●void Duel.SSet(integer player, Card c)
让玩家player把c放置到魔法陷阱区
●void Duel.Summon(integer player, Card c, boolean ignore_count, Effect e)
让玩家以效果e对c进行通常召唤(非set)。
如果e=nil,那么就按照一般的通常召唤规则进行通常召唤。
如果ignore_count=true,则忽略每回合的通常召唤次数限制。
●void Duel.SummonedCardsThisTurn(int playerid)
●boolean Duel.SwapControler(Card c1, Card c2)
交换c1和c2的控制权。返回值表示是否成功。
●boolean Duel.SwapDeckAndGrave(integer player)
现世与冥界的逆转专用。把玩家player的卡组和墓地交换
●void Duel.SynchroSummon(integer player, Card c, Card tuner)
让玩家player以tuner作为调整对c进行特殊召唤手续。
●... Duel.TossCoin(integer player, integer count)
让玩家player投count次硬币。返回值为count个结果。结果是0或者1.
●... Duel.TossDice(integer player, integer count)
让玩家player投count次骰子。返回值为count个结果。结果是1-6.
●boolean Duel.VenomSwampCheck(int playerid,Card c)
●void Duel.Win(function f, Effect e, integer player)
在当前效果处理完之后调用f进行胜负检测。e和player作为f的两个参数传递给f。
f返回值的低16位表示胜负判定玩家,
0表示玩家1胜利,1表示玩家2胜利,2表示平局,
此外是无胜负兵继续进行。高16位表示胜负的原因。
●void Duel.XyzSummon(int playerid, Card c, Group g)
============== Effect ==================
●Effect Effect.Clone(Effect e)
新建一个效果e的副本
●Effect Effect.CreateEffect(Card c)
新建一个空效果,并且效果的拥有者为c
●int Effect.GetActivateLocation(Effect e)
返回活动区域
●int Effect.GetActiveType(Effect e)
返回当前的效果类型
●int Effect.GetCategory(Effect e)
返回Category属性
●int Effect.GetCode(Effect e)
返回code属性
●function Effect.GetCondition(Effect e)
返回condition属性
●function Effect.GetCost(Effect e)
返回cost属性
●int Effect.GetDescription(Effect e)
返回效果描述
●int Effect.GetFieldID(Effect e)
获取效果e的id
●Card Effect.GetHandler(Effect e)
返回效果在哪一张卡上生效(通常是注册该效果的卡)
●int Effect.GetHandlerPlayer(Effect e)
返回当前者
●int Effect.GetLabel(Effect e)
返回Label属性
●Card|Group|Effect Effect.GetLabelObject(Effect e)
返回Label属性
●function Effect.GetOperation(Effect e)
返回operation属性
●Card Effect.GetOwner(Effect e)
返回效果拥有者
●int Effect.GetOwnerPlayer(Effect e)
返回所有者
●int Effect.GetProperty(Effect e)
返回Property属性
●function Effect.GetTarget(Effect e)
返回target属性
●int Effect.GetType(Effect e)
返回Type属性
●function|int Effect.GetValue(Effect e)
返回value属性
●Effect Effect.GlobalEffect()
新建一个全局效果
●bool Effect.IsActivatable(Effect e,int playerid)
检查当前的效果活动区域
●int Effect.IsActiveType(Effect e, int type)
检查当前的效果类是否等于type
●bool Effect.IsHasCategory(Effect e, int cate)
检查效果是否含有效果分类cate
●bool Effect.IsHasProperty(Effect e, int prop)
检查效果是否含有标志prop
●bool Effect.IsHasType(Effect e, int type)
检查效果是否属于类型type
●void Effect.Reset(Effect e)
把效果e重置。重置之后不可以再使用此效果
●void Effect.SetAbsoluteRange(Effect e, int playerid,int s_range, int o_range)
设置target range属性并设置EFFECT_FLAG_ABSOLUTE_RANGE标志
playerid != 0 s_range和o_range反转
●void Effect.SetCategory(Effect e, int cate)
设置Category属性
●void Effect.SetCode(Effect e, int code)
为效果e设置Code属性
●void Effect.SetCondition(Effect e, function con_func)
设置Condition属性
●void Effect.SetCost(Effect e, function cost_func)
设置Cost属性
●void Effect.SetCountLimit(Effect e, int count [,int code = 0])
设置一回合可以发动的次数count(仅触发型效果有效)
●void Effect.SetDescription(Effect e, int desc)
为效果e设置效果描述
●void Effect.SetHintTiming(Effect e, int s_time, [int o_time=s_time])
设置提示时间
●void Effect.SetLabel(Effect e, int label)
设置Label属性
●void Effect.SetLabelObject(Effect e, Card|Group|Effect label)
设置Label属性
●void Effect.SetOperation(Effect e, function op_func)
设置Operation属性
●void Effect.SetOwnerPlayer(Effect e, int player)
设置Owner player属性
●void Effect.SetProperty(Effect e, int prop)
设置Property属性
●void Effect.SetRange(Effect e, int range)
为效果e设置Range属性
●void Effect.SetReset(Effect e, int reset_flag, [int reset_count = 1])
设置reset参数
●void Effect.SetTarget(Effect e, function targ_func)
设置Target属性
●void Effect.SetTargetRange(Effect e, int s_range, int o_range)
为效果e设置Target Range属性
s_range指影响的我方区域。
o_range值影响的对方区域。
如果property属性中指定了EFFECT_FLAG_ABSOLUTE_RANGE标志,
那么s_range指玩家1收到影响的区域,o_range指玩家2受到影响的区域。
如果这是一个特殊召唤手续(EFFECT_SPSUMMON_PROC)的效果,
并且property指定了EFFECT_FLAG_SPSUM_PARAM标志,
那么s_range表示特殊召唤到的哪个玩家的场地,
o_range表示可选择的表示形式。
●void Effect.SetType(Effect e, int type)
为效果e设置Type属性
●void Effect.SetValue(Effect e, int|function val)
设置Value属性
============== Group ==================
●void Group.AddCard(Group g, Card c)
往g中增加c
●bool Group.CheckWithSumEqual(Group g, function f, int sum, int min)
子集求和判定函数。
f为返回一个interger值的函数(通常用于同调判定)。
检查g中是否存在一个数量至少为min的子集满足以f对子集的每一个元素求值的和等于sum。
比如:g:CheckWithSumEqual(Card.GetSynchroLevel,7,2)
检查g中是否存在一个子集满足子集的同调用等级之和等于7
●bool Group.CheckWithSumGreater(Group g, function f, int sum)
子集求和判定函数之二。
f为返回一个interger值的函数(通常用于仪式判定)。
检查g中是否存在一个子集满足以f对子集的每一个元素求值的和刚好大于或者等于sum。
比如:g:CheckWithSumGreater(Card.GetRitualLevel,8)
检查g中是否存在一个子集满足子集的仪式用等级之和大于等于8
注:判定必须是“刚好”大于或者等于。
以等级为例,要使等级合计大于等于8,可以选择LV1+LV7而不可以选择LV1+LV4+LV4
●void Group.Clear(Group g)
清空卡片组
●Group Group.Clone(Group g)
新建卡片组g的副本
●Group Group.CreateGroup()
新建一个空的卡片组
●void Group.DeleteGroup(Group g)
删除卡片组g
●bool Group.Equal(Group g1, Group g2)
判断g1和g2是否相同
●Group Group.Filter(Group g, function f, Card ex [, ...])
过滤函数。从g中筛选满足筛选条件f并且不等于ex的卡。
从第4个参数开始为额外参数。
●int Group.FilterCount(Group g, function f, Card ex [, ...])
过滤函数。和上一个函数基本相同。不同指出在于此函数只返回满足条件的卡的数量。
●Group Group.FilterSelect(Group g, int player, function f,int min, int max, Card ex, ...)
过滤函数。让玩家player从g中选择min-max张满足筛选条件f并且不等于ex的卡。
从第7个参数开始为额外参数。
●void Group.ForEach(Group g, function f)
以g中的每一张卡作为参数调用一次f
●Group Group.FromCards(Card c [, ...])
不定参数,把传入的所有卡组合成一个卡片组并返回
●int Group.GetClassCount(Group g, function f)
计算g中所有卡的种类数量。f为分类的依据,返回相同的值视为同一种类。
●int Group.GetCount(Group g)
返回g中卡的数量
●Card Group.GetFirst(Group g)
返回g中第一张卡,并重置当前指针到g中第一张卡。
如果g中不存在卡则返回nil
●Group Group.GetMaxGroup(Group g, function f)
f为返回一个interger值的函数。从g中筛选出具有最大的f的值的卡。用于地碎等卡。
●Group Group.GetMinGroup(Group g, function f)
f为返回一个interger值的函数。从g中筛选出具有最小的f的值的卡。用于地裂等卡。
●Card Group.GetNext(Group g)
返回并使指针指向下一张卡。如果g中不存在卡则返回nil
●int Group.GetSortCount(Group g, function f)
【旧】计算g中所有卡的种类数量。
【新】GetClassCount(Group g, function f)
f为分类的依据,返回相同的值视为同一种类。
●int Group.GetSum(Group g, function f)
计算g中所有卡的取值的总和。f为为每张卡的取值函数。
●bool Group.IsContains(Group g, Card c)
检查g中是否存在卡片c
●bool Group.IsExists(Group g, function f, int count, Card ex, ...)
过滤函数。检查g中是否存在至少count张满足筛选条件f并且不等于ex的卡。
从第5个参数开始为额外参数。
●Group Group.KeepAlive(Group g)
让卡片组持续
●Group Group.Merge(Group g1, Group g2)
把g2中的所有卡合并到g1。
注:g2本身不会发生变化。
●Group Group.RandomSelect(Group g, int player, int count)
让玩家player从g中随机选择count张卡。
因为是随机算则,所以参数player基本无用,由系统随机选取。
●Group Group.Remove(Group g, function f, ...)
过滤函数。从g中移除满足筛选条件f的所有卡。第三个参数开始是额外参数。
●void Group.RemoveCard(Group g, Card c)
把c从g中移除
●Card Group.SearchCard(Group g, function f, ...)
过滤函数。返回g中满足筛选条件f的第一张卡。第三个参数为额外参数。
●Group Group.Select(Group g, int player, int min, int max, Card ex)
让玩家player从g中选择min-max张不等于ex的卡。
●Group Group.SelectWithSumEqual(Group g, int player, function f, int sum, int min)
让玩家player从g中选取一个数量至少是min的子集使子集的特定函数的和等于sum
●Group Group.SelectWithSumGreater(Group g, int player, function f, int sum)
让玩家player从g中选取一个子集使子集的特定函数的和大于等于sum
●Group Group.Sub(Group g1, Group g2)
把g2中的所有卡合并到g1。
注:g2本身不会发生变化。
0x0 Atribute
0x1 Earth
0x2 Water
0x4 Fire
0x8 Wind
0x10 Light
0x20 Dark
0x40 Divine
\ No newline at end of file
0x1 S/T Destroy
0x2 Destroy Monster
0x4 Banish
0x8 Graveyard
0x10 Back to Hand
0x20 Back to Deck
0x40 Destroy Hand
0x80 Destroy Deck
0x100 Draw
0x200 Search
0x400 Recovery
0x800 Position
0x1000 Control
0x2000 Change ATK/DEF
0x4000 Piercing
0x8000 Repeat Attack
0x10000 Limit Attack
0x20000 Direct Attack
0x40000 Special Summon
0x80000 Token
0x100000 Type-Related
0x200000 Property-Related
0x400000 Damage LP
0x800000 Recover LP
0x1000000 Destroy
0x2000000 Select
0x4000000 Counter
0x8000000 Gamble
0x10000000 Fusion-Related
0x20000000 Tuner-Related
0x40000000 Xyz-Related
0x80000000 Negate Effect
0x0 Level/Rank
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 Race
0x1 Warrior
0x2 Spellcaster
0x4 Fairy
0x8 Fiend
0x10 Zombie
0x20 Machine
0x40 Aqua
0x80 Pyro
0x100 Rock
0x200 Winged Beast
0x400 Plant
0x800 Insect
0x1000 Thunder
0x2000 Dragon
0x4000 Beast
0x8000 Beast-Warrior
0x10000 Dinosaur
0x20000 Fish
0x40000 Sea Serpent
0x80000 Reptile
0x100000 Psychic
0x200000 Divine-Beast
0x400000 Creator God
0x800000 Wyrm
0x0 Rule
0x1 OCG
0x2 TCG
0x3 OCG&TCG
0x4 Anime/DIY
\ No newline at end of file
0x0 SetName
0x1 A·O·J
0x2 ジェネクス
0x1002 レアル·ジェネクス
0x2002 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 ------
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 「龙星」
0x100 同调士相关同调怪兽
0x101 奇迹同调融合相关怪兽
0x102 暗黑融合限定怪兽
0x103 电子龙限定素材的融合怪兽
\ No newline at end of file
0x1 Monster
0x2 Spell
0x4 Trap
0x8 N/A
0x10 Normal
0x20 Effect
0x40 Fusion
0x80 Ritual
0x100 T-Monster
0x200 Spirit
0x400 Union
0x800 Gemini
0x1000 Tuner
0x2000 Synchro
0x4000 Token
0x8000 N/A
0x10000 Quick-Play
0x20000 Continuous
0x40000 Equip
0x80000 Field
0x100000 Counter
0x200000 Flip
0x400000 Toon
0x800000 Xyz
0x1000000 Pendulum
--Locations 区域
LOCATION_DECK =0x01 --卡组
LOCATION_HAND =0x02 --手牌
LOCATION_MZONE =0x04 --怪兽区
LOCATION_SZONE =0x08 --魔陷区
LOCATION_GRAVE =0x10 --墓地
LOCATION_REMOVED =0x20 --除外区
LOCATION_EXTRA =0x40 --额外
LOCATION_OVERLAY =0x80 --超量素材
LOCATION_ONFIELD =0x0c --场上(怪兽+魔陷)
LOCATION_DECKBOT =0x10001 --卡组底部
LOCATION_DECKSHF =0x20001 --卡组顶部
--Locations (for SetRange)
LOCATION_FZONE =0x100 --场地区
LOCATION_PZONE =0x200 --摇摆区
--Positions 表示形式
POS_FACEUP_ATTACK =0x1 --表侧攻击
POS_FACEDOWN_ATTACK =0x2 --里侧攻击
POS_FACEUP_DEFENCE =0x4 --表侧守备
POS_FACEDOWN_DEFENCE =0x8 --里侧守备
POS_FACEUP =0x5 --正面表示
POS_FACEDOWN =0xa --背面表示
POS_ATTACK =0x3 --攻击表示
POS_DEFENCE =0xc --守备表示
NO_FLIP_EFFECT =0x10000--不发动反转效果
--Types 卡片类型
TYPE_MONSTER =0x1 --怪兽卡
TYPE_SPELL =0x2 --魔法卡
TYPE_TRAP =0x4 --陷阱卡
TYPE_NORMAL =0x10 --通常
TYPE_EFFECT =0x20 --效果
TYPE_FUSION =0x40 --融合
TYPE_RITUAL =0x80 --仪式
TYPE_TRAPMONSTER =0x100 --陷阱怪兽
TYPE_SPIRIT =0x200 --灵魂
TYPE_UNION =0x400 --同盟
TYPE_DUAL =0x800 --二重
TYPE_TUNER =0x1000 --调整
TYPE_SYNCHRO =0x2000 --同调
TYPE_TOKEN =0x4000 --衍生物
TYPE_QUICKPLAY =0x10000 --速攻
TYPE_CONTINUOUS =0x20000 --永续
TYPE_EQUIP =0x40000 --装备
TYPE_FIELD =0x80000 --场地
TYPE_COUNTER =0x100000 --反击
TYPE_FLIP =0x200000 --翻转
TYPE_TOON =0x400000 --卡通
TYPE_XYZ =0x800000 --超量
TYPE_PENDULUM =0x1000000 --摇摆
--Attributes 属性
ATTRIBUTE_EARTH =0x01 --地
ATTRIBUTE_WATER =0x02 --水
ATTRIBUTE_FIRE =0x04 --炎
ATTRIBUTE_WIND =0x08 --风
ATTRIBUTE_LIGHT =0x10 --光
ATTRIBUTE_DARK =0x20 --暗
ATTRIBUTE_DEVINE =0x40 --神
--Races 种族
RACE_ALL =0xffffff --全种族
RACE_WARRIOR =0x1 --战士
RACE_SPELLCASTER =0x2 --魔法师
RACE_FAIRY =0x4 --天使
RACE_FIEND =0x8 --恶魔
RACE_ZOMBIE =0x10 --不死
RACE_MACHINE =0x20 --机械
RACE_AQUA =0x40 --水
RACE_PYRO =0x80 --炎
RACE_ROCK =0x100 --岩石
RACE_WINDBEAST =0x200 --鸟兽
RACE_PLANT =0x400 --植物
RACE_INSECT =0x800 --昆虫
RACE_THUNDER =0x1000 --雷
RACE_DRAGON =0x2000 --龙
RACE_BEAST =0x4000 --兽
RACE_BEASTWARRIOR =0x8000 --兽战士
RACE_DINOSAUR =0x10000 --恐龙
RACE_FISH =0x20000 --鱼
RACE_SEASERPENT =0x40000 --海龙
RACE_REPTILE =0x80000 --爬虫
RACE_PSYCHO =0x100000 --念动力
RACE_DEVINE =0x200000 --幻神兽
RACE_CREATORGOD =0x400000 --创造神
RACE_WYRM =0x800000 --幻龙
--Reason 卡片到当前位置的原因
REASON_DESTROY =0x1 --破坏
REASON_RELEASE =0x2 --解放
REASON_TEMPORARY =0x4 --暂时
REASON_MATERIAL =0x8 --作为融合/同调/超量等的素材
REASON_SUMMON =0x10 --召唤
REASON_BATTLE =0x20 --战斗破坏
REASON_EFFECT =0x40 --效果
REASON_COST =0x80 --COST
REASON_ADJUST =0x100 --调整(御前试合)
REASON_LOST_TARGET =0x200 --失去效果对象
REASON_RULE =0x400 --规则
REASON_SPSUMMON =0x800 --特殊召唤
REASON_DISSUMMON =0x1000 --召唤失败
REASON_FLIP =0x2000 --翻转
REASON_DISCARD =0x4000 --丢弃
REASON_RDAMAGE =0x8000 --基本分伤害
REASON_RRECOVER =0x10000 --基本分恢复
REASON_RETURN =0x20000 --回收
REASON_FUSION =0x40000 --融合
REASON_SYNCHRO =0x80000 --同调
REASON_RITUAL =0x100000 --仪式
REASON_XYZ =0x200000 --超量
REASON_REPLACE =0x1000000 --代替
REASON_DRAW =0x2000000 --抽卡
REASON_REDIRECT =0x4000000 --改变去向(大宇宙,带菌等)
REASON_REVEAL =0x8000000 --翻开卡组(森罗)
--Summon Type --召唤类型
SUMMON_TYPE_NORMAL =0x10000000 --通常召唤
SUMMON_TYPE_ADVANCE =0x11000000 --上级(祭品)召唤
SUMMON_TYPE_DUAL =0x12000000 --再度召唤(二重)
SUMMON_TYPE_FLIP =0x20000000 --翻转召唤
SUMMON_TYPE_SPECIAL =0x40000000 --特殊召唤
SUMMON_TYPE_FUSION =0x43000000 --融合召唤
SUMMON_TYPE_RITUAL =0x45000000 --仪式召唤
SUMMON_TYPE_SYNCHRO =0x46000000 --同调召唤
SUMMON_TYPE_XYZ =0x49000000 --超量召唤
SUMMON_TYPE_PENDULUM =0x4a000000 --摇摆召唤
--Status --卡片当前状态
STATUS_DISABLED =0x0001 --效果被无效
STATUS_TO_ENABLE =0x0002 --将变成有效
STATUS_TO_DISABLE =0x0004 --将变成无效
STATUS_PROC_COMPLETE =0x0008 --完成正规召唤(解除苏生限制)
STATUS_SET_TURN =0x0010 --覆盖
STATUS_FLIP_SUMMONED =0x0020 --翻转
STATUS_REVIVE_LIMIT =0x0040 --未解除苏生限制
STATUS_ATTACKED =0x0080 --攻击过
STATUS_FORM_CHANGED =0x0100 --改变过表示形式
STATUS_SUMMONING =0x0200 --召唤中
STATUS_EFFECT_ENABLED =0x0400 --效果有效
STATUS_SUMMON_TURN =0x0800 --在本回合召唤
STATUS_DESTROY_CONFIRMED =0x1000 --破坏确定
STATUS_LEAVE_CONFIRMED =0x2000 --离开确定
STATUS_BATTLE_DESTROYED =0x4000 --战斗破坏确定
STATUS_COPYING_EFFECT =0x8000 --复制效果
STATUS_CHAINING =0x10000 --进入连锁
STATUS_SUMMON_DISABLED =0x20000 --召唤无效
STATUS_ACTIVATE_DISABLED =0x40000 --发动无效
STATUS_UNSUMMONABLE_CARD =0x80000 --不能通常召唤
STATUS_UNION =0x100000 --同盟
STATUS_ATTACK_CANCELED =0x200000 --攻击取消(卷回?)
STATUS_INITIALIZING =0x400000 --初始化..
STATUS_ACTIVATED =0x800000 --效果已发动
STATUS_JUST_POS =0x1000000 --
STATUS_CONTINUOUS_POS =0x2000000 --连续变更表示形式?
STATUS_IS_PUBLIC =0x4000000 --公开展示
STATUS_ACT_FROM_HAND =0x8000000 --在手牌发动
--Assume
ASSUME_CODE =1
ASSUME_TYPE =2
ASSUME_LEVEL =3
ASSUME_RANK =4
ASSUME_ATTRIBUTE =5
ASSUME_RACE =6
ASSUME_ATTACK =7
ASSUME_DEFENCE =8
--Counter --指示物
COUNTER_NEED_PERMIT =0x1000 --某指示物数量上限
COUNTER_NEED_ENABLE =0x2000 --可以放置某指示物
--Phase --阶段
PHASE_DRAW =0x01 --抽卡阶段
PHASE_STANDBY =0x02 --准备阶段
PHASE_MAIN1 =0x04 --主要阶段1
PHASE_BATTLE =0x08 --战斗阶段
PHASE_DAMAGE =0x10 --伤害计算前
PHASE_DAMAGE_CAL =0x20 --伤害计算时
PHASE_MAIN2 =0x40 --主要阶段2
PHASE_END =0x80 --结束阶段
--Player --玩家
PLAYER_NONE =2 --2个玩家都不是
PLAYER_ALL =3 --2个玩家都是
--Chain info --连锁信息
CHAININFO_CHAIN_COUNT =0x01 --连锁数
CHAININFO_TRIGGERING_EFFECT =0x02 --连锁的效果
CHAININFO_TRIGGERING_PLAYER =0x04 --连锁的玩家
CHAININFO_TRIGGERING_CONTROLER =0x08 --连锁的卡的控制者
CHAININFO_TRIGGERING_LOCATION =0x10 --连锁的位置
CHAININFO_TRIGGERING_SEQUENCE =0x20 --连锁的位置的编号(指怪兽和魔陷区的格子)
CHAININFO_TARGET_CARDS =0x40 --连锁的效果的对象(以下3个需要在target函数里设置)
CHAININFO_TARGET_PLAYER =0x80 --连锁的效果的对象(玩家)
CHAININFO_TARGET_PARAM =0x100 --连锁的效果的参数值
CHAININFO_DISABLE_REASON =0x200 --无效的原因
CHAININFO_DISABLE_PLAYER =0x400 --无效的玩家
CHAININFO_CHAIN_ID =0x800 --连锁ID
CHAININFO_TYPE =0x1000 --连锁类型
CHAININFO_EXTTYPE =0x2000 --连锁额外类型
--========== Reset ========== --重置条件(注意:重置条件可以多个相加,例如0x000c0000=0x00040000+0x00080000=RESET_TOGRAVE+RESET_REMOVE)
RESET_DRAW =PHASE_DRAW --抽卡阶段重置
RESET_STANDBY =PHASE_STANDBY --准备阶段重置
RESET_MAIN1 =PHASE_MAIN1 --主要阶段1重置
RESET_BATTLE =PHASE_BATTLE --战斗阶段重置
RESET_DAMAGE =PHASE_DAMAGE --伤害计算前重置
RESET_DAMAGE_CAL =PHASE_DAMAGE_CAL --伤害计算时重置
RESET_MAIN2 =PHASE_MAIN2 --主要阶段2重置
RESET_END =PHASE_END --结束阶段重置
RESET_SELF_TURN =0x0100 --自己回合结束重置
RESET_OPPO_TURN =0x0200 --对方回合结束重置
RESET_PHASE =0x0400 --阶段结束重置(一般和上面那些阶段配合使用
RESET_CHAIN =0x0800 --连锁结束重置
RESET_EVENT =0x1000 --不明(一般和下面这些事件配合使用
RESET_CARD =0x2000
RESET_CODE =0x4000 --卡名改变重置
RESET_COPY =0x8000 --复制效果重置
RESET_DISABLE =0x00010000 --效果无效重置
RESET_TURN_SET =0x00020000 --变里侧重置
RESET_TOGRAVE =0x00040000 --去墓地重置
RESET_REMOVE =0x00080000 --除外重置
RESET_TEMP_REMOVE =0x00100000 --暂时除外重置
RESET_TOHAND =0x00200000 --回手牌或加入手牌重置
RESET_TODECK =0x00400000 --回卡组重置
RESET_LEAVE =0x00800000 --从场上离开重置
RESET_TOFIELD =0x01000000 --到场上重置
RESET_CONTROL =0x02000000 --控制器变更重置
RESET_OVERLAY =0x04000000 --超量叠放重置
--========== Types ========== --效果类型(定义效果触发类型,和codes一起使用)
EFFECT_TYPE_SINGLE =0x0001 --自己状态变化时触发
EFFECT_TYPE_FIELD =0x0002 --场上所有卡状态变化时触发
EFFECT_TYPE_EQUIP =0x0004 --装备效果
EFFECT_TYPE_ACTIONS =0x0008 --怪兽效果发动(对峙的G)
EFFECT_TYPE_ACTIVATE =0x0010 --魔陷发动
EFFECT_TYPE_FLIP =0x0020 --翻转效果
EFFECT_TYPE_IGNITION =0x0040 --起动效果
EFFECT_TYPE_TRIGGER_O =0x0080 --诱发选发效果
EFFECT_TYPE_QUICK_O =0x0100 --诱发即时效果
EFFECT_TYPE_TRIGGER_F =0x0200 --诱发必发效果
EFFECT_TYPE_QUICK_F =0x0400 --诱发即时必发效果(熊猫龙等)
EFFECT_TYPE_CONTINUOUS =0x0800 --不入连锁的诱发效果
--========== Flags ========== --效果的特殊性质
EFFECT_FLAG_INITIAL =0x0001 --可以发动的
EFFECT_FLAG_FUNC_VALUE =0x0002 --
EFFECT_FLAG_COUNT_LIMIT =0x0004 --
EFFECT_FLAG_FIELD_ONLY =0x0008 --场上只有1只
EFFECT_FLAG_CARD_TARGET =0x0010 --取对象效果
EFFECT_FLAG_IGNORE_RANGE =0x0020 --使用限制?(禁止令 大宇宙 王宫的铁壁)
EFFECT_FLAG_ABSOLUTE_TARGET =0x0040 --
EFFECT_FLAG_IGNORE_IMMUNE =0x0080 --无视效果免疫
EFFECT_FLAG_SET_AVAILABLE =0x0100 --不能发动?
EFFECT_FLAG_MULTIACT_HAND =0x0200 --手牌有多张可以同时诱发(蔷薇妖精等)
EFFECT_FLAG_CANNOT_DISABLE =0x0400 --不会被无效
EFFECT_FLAG_PLAYER_TARGET =0x0800 --以玩家为对象
EFFECT_FLAG_BOTH_SIDE =0x1000 --双方都能使用(部分场地,弹压)
EFFECT_FLAG_COPY_INHERIT =0x2000 --残留?持续?效果
EFFECT_FLAG_DAMAGE_STEP =0x4000 --可以在伤害步骤发动
EFFECT_FLAG_DAMAGE_CAL =0x8000 --可以在伤害计算时发动
EFFECT_FLAG_DELAY =0x10000 --场合(不会被卡时点
EFFECT_FLAG_SINGLE_RANGE =0x20000 --只对自己有效
EFFECT_FLAG_UNCOPYABLE =0x40000 --不能复制(规则效果
EFFECT_FLAG_OATH =0x80000 --誓约效果
EFFECT_FLAG_SPSUM_PARAM =0x100000 --规则特殊召唤(熔岩魔神 光子杀戮者)
EFFECT_FLAG_REPEAT =0x200000 --发动被无效后可以再次发动
EFFECT_FLAG_NO_TURN_RESET =0x400000 --发条等“这张卡在场上只能发动一次”的效果
EFFECT_FLAG_EVENT_PLAYER =0x800000 --视为对方玩家的效果(动作?)
EFFECT_FLAG_OWNER_RELATE =0x1000000 --和效果持有者相关
EFFECT_FLAG_AVAILABLE_BD =0x2000000 --战斗伤害操作(纳祭之魔 地狱战士)
EFFECT_FLAG_CLIENT_HINT =0x4000000 --获得效果?
EFFECT_FLAG_CHAIN_UNIQUE =0x8000000 --同一组连锁只能发动一次
EFFECT_FLAG_NAGA =0x10000000 --神卡纳迦!
EFFECT_FLAG_COF =0x20000000 --邪恶的仪式
EFFECT_FLAG_CVAL_CHECK =0x40000000 --以卡为COST的诱发效果需要使用
--========== Codes ========== --对永续性效果表示效果类型 EFFECT开头,对诱发型效果表示触发效果的事件/时点 EVENT开头
EFFECT_IMMUNE_EFFECT =1 --效果免疫
EFFECT_DISABLE =2 --效果无效(一时无效?)
EFFECT_CANNOT_DISABLE =3 --效果不能无效
EFFECT_SET_CONTROL =4 --改变控制器
EFFECT_CANNOT_CHANGE_CONTROL =5 --不能改变控制权
EFFECT_CANNOT_ACTIVATE =6 --不能发动(魔法·陷阱)卡
EFFECT_CANNOT_TRIGGER =7 --不能发动效果
EFFECT_DISABLE_EFFECT =8 --效果无效
EFFECT_DISABLE_CHAIN =9 --不能连锁
EFFECT_DISABLE_TRAPMONSTER =10 --陷阱怪兽无效
EFFECT_CANNOT_INACTIVATE =12 --不能发动
EFFECT_CANNOT_DISEFFECT =13 --效果不能被无效(魔法·陷阱)
EFFECT_CANNOT_CHANGE_POSITION =14 --不能改变表示形式
EFFECT_TRAP_ACT_IN_HAND =15 --陷阱可以从手牌发动
EFFECT_TRAP_ACT_IN_SET_TURN =16 --陷阱可以在盖放的回合发动
EFFECT_REMAIN_FIELD =17 --X回合内留在场上(光之护封剑等)
EFFECT_MONSTER_SSET =18 --怪兽可以在魔陷区放置
EFFECT_CANNOT_SUMMON =20 --不能召唤怪兽
EFFECT_CANNOT_FLIP_SUMMON =21 --不能翻转召唤怪兽
EFFECT_CANNOT_SPECIAL_SUMMON =22 --不能特殊召唤怪兽
EFFECT_CANNOT_MSET =23 --不能覆盖怪兽
EFFECT_CANNOT_SSET =24 --不能覆盖魔陷
EFFECT_CANNOT_DRAW =25 --不能抽卡
EFFECT_CANNOT_DISABLE_SUMMON =26 --召唤不会无效
EFFECT_CANNOT_DISABLE_SPSUMMON =27 --特殊召唤不会无效
EFFECT_SET_SUMMON_COUNT_LIMIT =28 --限制每回合放置怪兽次数
EFFECT_EXTRA_SUMMON_COUNT =29 --增加召唤(通常召唤)次数
EFFECT_SPSUMMON_CONDITION =30 --特殊召唤条件
EFFECT_REVIVE_LIMIT =31 --苏生限制
EFFECT_SUMMON_PROC =32 --召唤规则
EFFECT_LIMIT_SUMMON_PROC =33 --召唤规则限制
EFFECT_SPSUMMON_PROC =34 --特殊召唤规则
EFFECT_EXTRA_SET_COUNT =35 --增加盖放(通常召唤)次数
EFFECT_SET_PROC =36 --放置(通常召唤)规则
EFFECT_LIMIT_SET_PROC =37 --放置(通常召唤)规则限制
EFFECT_DEVINE_LIGHT =38 --???(神圣光辉 魔术礼帽)
EFFECT_CANNOT_DISABLE_FLIP_SUMMON =39 --翻转召唤不会无效
EFFECT_INDESTRUCTABLE =40 --不会被破坏
EFFECT_INDESTRUCTABLE_EFFECT =41 --不会被效果破坏
EFFECT_INDESTRUCTABLE_BATTLE =42 --不会被战斗破坏
EFFECT_UNRELEASABLE_SUM =43 --不能做上级召唤的祭品
EFFECT_UNRELEASABLE_NONSUM =44 --不能做上级召唤以外的祭品
EFFECT_DESTROY_SUBSTITUTE =45 --代替破坏(别人破坏时牺牲自己
EFFECT_CANNOT_RELEASE =46 --不能进行解放行为
EFFECT_INDESTRUCTABLE_COUNT =47 --一回合几次不会被破坏
EFFECT_UNRELEASABLE_EFFECT =48 --不能被解放
EFFECT_DESTROY_REPLACE =50 --代替破坏(自己破坏时牺牲别人
EFFECT_RELEASE_REPLACE =51 --代替解放
EFFECT_SEND_REPLACE =52 --可以不送去XX而送去OO(宝玉 甜点城堡等)
EFFECT_CANNOT_DISCARD_HAND =55 --不能丢弃手牌
EFFECT_CANNOT_DISCARD_DECK =56 --不能把卡组上方的卡送去墓地
EFFECT_CANNOT_USE_AS_COST =57 --不能作为COST使用
EFFECT_CANNOT_PLACE_COUNTER =58 --不能使用的位置
EFFECT_LEAVE_FIELD_REDIRECT =60 --离场时重新指定去向
EFFECT_TO_HAND_REDIRECT =61 --回手牌时重新指定去向
EFFECT_TO_DECK_REDIRECT =62 --回卡组时重新指定去向
EFFECT_TO_GRAVE_REDIRECT =63 --去墓地时重新指定去向
EFFECT_REMOVE_REDIRECT =64 --除外时重新指定去向
EFFECT_CANNOT_TO_HAND =65 --不能加入手牌
EFFECT_CANNOT_TO_DECK =66 --不能回卡组
EFFECT_CANNOT_REMOVE =67 --不能除外
EFFECT_CANNOT_TO_GRAVE =68 --不能去墓地
EFFECT_CANNOT_TURN_SET =69 --不能变里侧
EFFECT_CANNOT_BE_BATTLE_TARGET =70 --不能成为攻击对象
EFFECT_CANNOT_BE_EFFECT_TARGET =71 --不能成为效果对象
EFFECT_IGNORE_BATTLE_TARGET =72 --不能成为攻击对象-鶸型(传说的渔人)
EFFECT_CANNOT_DIRECT_ATTACK =73 --不能直接攻击
EFFECT_DIRECT_ATTACK =74 --可以直接攻击
EFFECT_DUAL_STATUS =75 --二重状态
EFFECT_EQUIP_LIMIT =76 --装备对象限制
EFFECT_DUAL_SUMMONABLE =77 --可以再度召唤
EFFECT_REVERSE_DAMAGE =80 --伤害变回复
EFFECT_REVERSE_RECOVER =81 --回复变伤害
EFFECT_CHANGE_DAMAGE =82 --改变伤害数值
EFFECT_REFLECT_DAMAGE =83 --反射伤害
EFFECT_CANNOT_ATTACK =85 --不能攻击
EFFECT_CANNOT_ATTACK_ANNOUNCE =86 --不能攻击宣言
EFFECT_CANNOT_CHANGE_POS_E =87 --不会被卡的效果变成守备表示(攻击性云魔物)
EFFECT_ACTIVATE_COST =90 --发动代价(魔力之枷)
EFFECT_SUMMON_COST =91 --召唤代价
EFFECT_SPSUMMON_COST =92 --特殊召唤代价(暴君龙)
EFFECT_FLIPSUMMON_COST =93 --翻转召唤代价
EFFECT_MSET_COST =94 --怪兽放置代价
EFFECT_SSET_COST =95 --魔陷放置代价
EFFECT_ATTACK_COST =96 --攻击代价(霞之谷猎鹰)
EFFECT_UPDATE_ATTACK =100 --改变攻击力(攻击力增加/减少)
EFFECT_SET_ATTACK =101 --设置攻击力(攻击变成)
EFFECT_SET_ATTACK_FINAL =102 --设置最终攻击力(神之化身)
EFFECT_SET_BASE_ATTACK =103 --设置原本攻击力
EFFECT_UPDATE_DEFENCE =104 --改变防御力(参考攻击力,下同)
EFFECT_SET_DEFENCE =105 --设置防御力
EFFECT_SET_DEFENCE_FINAL =106 --设置最终攻击力
EFFECT_SET_BASE_DEFENCE =107 --设置原本攻击力
EFFECT_REVERSE_UPDATE =108 --倒置改变攻击力、防御力(天邪鬼)
EFFECT_SWAP_AD =109 --交换攻防
EFFECT_SWAP_BASE_AD =110 --交换原本攻防
EFFECT_ADD_CODE =113 --增加卡名
EFFECT_CHANGE_CODE =114 --改名卡名
EFFECT_ADD_TYPE =115 --增加卡片种类(types)
EFFECT_REMOVE_TYPE =116 --删除卡片种类
EFFECT_CHANGE_TYPE =117 --改变卡片种类
EFFECT_ADD_RACE =120 --增加种族
EFFECT_REMOVE_RACE =121 --删除种族
EFFECT_CHANGE_RACE =122 --改变种族
EFFECT_ADD_ATTRIBUTE =125 --增加属性
EFFECT_REMOVE_ATTRIBUTE =126 --删除属性
EFFECT_CHANGE_ATTRIBUTE =127 --改变属性
EFFECT_UPDATE_LEVEL =130 --改变等级
EFFECT_CHANGE_LEVEL =131 --设置等级
EFFECT_UPDATE_RANK =132 --改变阶级
EFFECT_CHANGE_RANK =133 --设置阶级
EFFECT_UPDATE_LSCALE =134 --改变左刻度
EFFECT_CHANGE_LSCALE =135 --设置左刻度
EFFECT_UPDATE_RSCALE =136 --改变右刻度
EFFECT_CHANGE_RSCALE =137 --设置右刻度
EFFECT_SET_POSITION =140 --改变表示形式
EFFECT_SELF_DESTROY =141 --自灭(罪系列等)
EFFECT_DOUBLE_TRIBUTE =150 --可以作为2个祭品
EFFECT_DECREASE_TRIBUTE =151 --减少祭品
EFFECT_DECREASE_TRIBUTE_SET =152 --减少放置怪兽的祭品
EFFECT_EXTRA_RELEASE =153 --代替解放(灵魂交错)
EFFECT_TRIBUTE_LIMIT =154 --祭品限制
EFFECT_EXTRA_RELEASE_SUM =155 --代替召唤解放(帝王的烈旋)
EFFECT_PUBLIC =160 --公开手牌
EFFECT_COUNTER_PERMIT =0x10000--允许放置指示物类型
EFFECT_COUNTER_LIMIT =0x20000--允许放置指示物数量
EFFECT_RCOUNTER_REPLACE =0x30000--代替取除(指示物?)
EFFECT_LPCOST_CHANGE =170 --改变生命值代价
EFFECT_LPCOST_REPLACE =171 --代替生命值代价
EFFECT_SKIP_DP =180 --跳过抽卡阶段
EFFECT_SKIP_SP =181 --跳过准备阶段
EFFECT_SKIP_M1 =182 --跳过主要阶段1
EFFECT_SKIP_BP =183 --跳过战斗阶段
EFFECT_SKIP_M2 =184 --跳过主要阶段2
EFFECT_CANNOT_BP =185 --不能进入战斗阶段
EFFECT_CANNOT_M2 =186 --不能进入主要阶段2
EFFECT_CANNOT_EP =187 --不能进入结束阶段
EFFECT_SKIP_TURN =188 --跳过整个回合
EFFECT_DEFENCE_ATTACK =190 --可以守备表示攻击
EFFECT_MUST_ATTACK =191 --必须攻击
EFFECT_FIRST_ATTACK =192 --必须第一个攻击
EFFECT_ATTACK_ALL =193 --可以攻击所有怪兽
EFFECT_EXTRA_ATTACK =194 --增加攻击次数
EFFECT_MUST_BE_ATTACKED =195 --必须攻击(那只怪兽)
EFFECT_AUTO_BE_ATTACKED =196 --只能攻击(那只怪兽)
EFFECT_ATTACK_DISABLED =197 --不能攻击
EFFECT_NO_BATTLE_DAMAGE =200 --不会给对方造成战斗伤害
EFFECT_AVOID_BATTLE_DAMAGE =201 --不会对自己造成战斗伤害
EFFECT_REFLECT_BATTLE_DAMAGE =202 --反弹战斗伤害
EFFECT_PIERCE =203 --贯穿伤害
EFFECT_BATTLE_DESTROY_REDIRECT =204 --战斗破坏时重新指定去向
EFFECT_BATTLE_DAMAGE_TO_EFFECT =205 --战斗伤害视为效果伤害
EFFECT_TOSS_COIN_REPLACE =220 --重新抛硬币
EFFECT_TOSS_DICE_REPLACE =221 --重新掷骰子
EFFECT_FUSION_MATERIAL =230 --可以当作仪式素材
EFFECT_CHAIN_MATERIAL =231 --可以当作融合素材
EFFECT_SYNCHRO_MATERIAL =232 --可以当作同调素材
EFFECT_XYZ_MATERIAL =233 --可以当作超量素材
EFFECT_FUSION_SUBSTITUTE =234 --代替融合素材
EFFECT_CANNOT_BE_FUSION_MATERIAL =235--不能做融合素材
EFFECT_CANNOT_BE_SYNCHRO_MATERIAL =236--不能做同调素材
EFFECT_SYNCHRO_MATERIAL_CUSTOM =237--同调素材限制
EFFECT_CANNOT_BE_XYZ_MATERIAL =238--不能做超量素材
EFFECT_SYNCHRO_LEVEL =240--做同调素材时的等级
EFFECT_RITUAL_LEVEL =241--做仪式祭品时的等级
EFFECT_XYZ_LEVEL =242--做超量素材时的等级
EFFECT_EXTRA_RITUAL_MATERIAL =243--在墓地当做仪式祭品
EFFECT_NONTUNER =244--同时当作调整以外的怪兽(幻影王 幽骑)
EFFECT_OVERLAY_REMOVE_REPLACE =245--代替去除超量素材
EFFECT_SCRAP_CHIMERA =246--废铁奇美拉
EFFECT_XMAT_COUNT_LIMIT =247--超量素材限制(光天使 天座)
EFFECT_SPSUM_EFFECT_ACTIVATED =250 --发动特殊召唤的效果(冥府的使者 格斯)
EFFECT_MATERIAL_CHECK =251 --检查素材
EFFECT_DISABLE_FIELD =260 --无效区域(扰乱王等)
EFFECT_USE_EXTRA_MZONE =261 --怪兽区域封锁
EFFECT_USE_EXTRA_SZONE =262 --魔法区域封锁
EFFECT_MAX_MZONE =263 --宇宙收缩
EFFECT_MAX_SZONE =264 --宇宙收缩
EFFECT_HAND_LIMIT =270 --手牌数量限制
EFFECT_DRAW_COUNT =271 --抽卡阶段的抽卡数
EFFECT_SPIRIT_DONOT_RETURN =280 --灵魂怪兽不返会手牌
EFFECT_SPIRIT_MAYNOT_RETURN =281 --灵魂怪兽可以不返回手牌
EFFECT_CHANGE_ENVIRONMENT =290 --改变场地
EFFECT_NECRO_VALLEY =291 --王家长眠之谷
EFFECT_FORBIDDEN =292 --禁止令
EFFECT_NECRO_VALLEY_IM =293 --不受「王家长眠之谷」的影响
EFFECT_REVERSE_DECK =294 --翻转卡组
EFFECT_REMOVE_BRAINWASHING =295 --洗脑解除
EFFECT_BP_TWICE =296 --2次战斗阶段
EFFECT_UNIQUE_CHECK =297 --
EFFECT_MATCH_KILL =300 --胜利龙
EFFECT_SYNCHRO_CHECK =310 --基因组斗士
EFFECT_QP_ACT_IN_NTPHAND =311 --对方回合从自己手卡发动(失乐的圣女)
EFFECT_MUST_BE_SMATERIAL =312 --同调素材必须
EFFECT_SPSUMMON_PROC_G =320 --P召唤规则
EFFECT_SUMMON_COUNT_LIMIT =330 --召唤次数限制
EFFECT_SPSUMMON_COUNT_LIMIT =331 --特殊召唤次数限制
EFFECT_FLIP_SUMMON_COUNT_LIMIT =332 --反转召唤次数限制
--下面是诱发效果的诱发事件、时点 (如果是TYPE_SINGLE则自己发生以下事件后触发,如果TYPE_FIELD则场上任何卡发生以下事件都触发)
EVENT_STARTUP =1000 --游戏开始时
EVENT_FLIP =1001 --翻转时
EVENT_FREE_CHAIN =1002 --自由时点(强脱等,还有昴星团等诱发即时效果)
EVENT_DESTROY =1010 --破坏时
EVENT_REMOVE =1011 --除外时
EVENT_TO_HAND =1012 --加入手牌时
EVENT_TO_DECK =1013 --回卡组时
EVENT_TO_GRAVE =1014 --进墓地时
EVENT_LEAVE_FIELD =1015 --离场时
EVENT_CHANGE_POS =1016 --表示形式变更时
EVENT_RELEASE =1017 --解放时
EVENT_DISCARD =1018 --丢弃手牌时
EVENT_LEAVE_FIELD_P =1019 --永久离场时
EVENT_CHAIN_SOLVING =1020 --连锁处理时
EVENT_CHAIN_ACTIVATING =1021 --连锁发动时
EVENT_CHAIN_SOLVED =1022 --连锁处理结束时
EVENT_CHAIN_ACTIVATED =1023 --连锁发动完时
EVENT_CHAIN_NEGATED =1024 --连锁被无效时(发动无效)
EVENT_CHAIN_DISABLED =1025 --连锁被无效时(效果无效)
EVENT_CHAIN_END =1026 --连锁结束时
EVENT_CHAINING =1027 --正在连锁
EVENT_BECOME_TARGET =1028 --成为效果对象时
EVENT_DESTROYED =1029 --破坏确定时
EVENT_ADJUST =1040 --调整(御前试合)
EVENT_SUMMON_SUCCESS =1100 --通常召唤成功时
EVENT_FLIP_SUMMON_SUCCESS =1101 --翻转召唤成功时
EVENT_SPSUMMON_SUCCESS =1102 --特殊召唤成功时
EVENT_SUMMON =1103 --召唤时(怪兽还没上场、神宣等时点)
EVENT_FLIP_SUMMON =1104 --翻转召唤时
EVENT_SPSUMMON =1105 --特殊召唤时
EVENT_MSET =1106 --放置怪兽时
EVENT_SSET =1107 --放置魔陷时
EVENT_BE_MATERIAL =1108 --作为融合/仪式同调/超量素材时
EVENT_BE_PRE_MATERIAL =1109 --将要作为融合/仪式同调/超量素材时
EVENT_DRAW =1110 --抽卡
EVENT_DAMAGE =1111 --造成战斗/效果伤害时
EVENT_RECOVER =1112 --回复生命值时
EVENT_PREDRAW =1113 --抽卡前
EVENT_CONTROL_CHANGED =1120 --控制权变更
EVENT_EQUIP =1121 --装备卡装备时
EVENT_ATTACK_ANNOUNCE =1130 --攻击宣言时
EVENT_BE_BATTLE_TARGET =1131 --被选为攻击对象时
EVENT_BATTLE_START =1132 --战斗阶段开始时
EVENT_BATTLE_CONFIRM =1133 --选完攻击对象时
EVENT_PRE_DAMAGE_CALCULATE =1134 --伤害计算前
EVENT_DAMAGE_CALCULATING =1135 --伤害计算时
EVENT_PRE_BATTLE_DAMAGE =1136 --即将产生战斗伤害
EVENT_BATTLE_END =1137 --战斗结束(开辟)
EVENT_BATTLED =1138 --伤害计算后(异女、同反转效果时点)
EVENT_BATTLE_DESTROYING =1139 --战斗破坏送去墓地时(BF-苍炎之修罗)
EVENT_BATTLE_DESTROYED =1140 --战斗破坏送去墓地时(杀人番茄等)
EVENT_DAMAGE_STEP_END =1141 --伤害步骤结束时
EVENT_ATTACK_DISABLED =1142 --攻击无效时(翻倍机会)
EVENT_BATTLE_DAMAGE =1143 --造成战斗伤害时
EVENT_TOSS_DICE =1150 --掷骰子时
EVENT_TOSS_COIN =1151 --抛硬币时
EVENT_TOSS_COIN_NEGATE =1152 --抛硬币被无效时
EVENT_TOSS_DICE_NEGATE =1153 --掷骰子被无效时
EVENT_LEVEL_UP =1200 --等级上升时
EVENT_PAY_LPCOST =1201 --支付生命值时
EVENT_DETACH_MATERIAL =1202 --去除超量素材时
EVENT_CONFIRM_DECKTOP =1203 --确认卡组最上方时
EVENT_CONFIRM_CARDS =1204 --确认卡时
EVENT_TURN_END =1210 --回合结束时
EVENT_PHASE =0x1000 --阶段结束时
EVENT_PHASE_START =0x2000 --阶段开始时
EVENT_ADD_COUNTER =0x10000--增加指示物时
EVENT_REMOVE_COUNTER =0x20000--去除指示物时
--Categorys 效果分类(表示这个效果将要发生什么事,OperationInfo设置了效果分类才能触发针对这一类型发动的卡,如破坏->星尘龙
CATEGORY_DESTROY =0x1 --破坏效果
CATEGORY_RELEASE =0x2 --解放效果
CATEGORY_REMOVE =0x4 --除外效果
CATEGORY_TOHAND =0x8 --加入手牌效果
CATEGORY_TODECK =0x10 --回卡组效果
CATEGORY_TOGRAVE =0x20 --送去墓地效果
CATEGORY_DECKDES =0x40 --卡组破坏效果
CATEGORY_HANDES =0x80 --手牌破坏效果
CATEGORY_SUMMON =0x100 --含召唤的效果
CATEGORY_SPECIAL_SUMMON =0x200 --含特殊召唤的效果
CATEGORY_TOKEN =0x400 --含衍生物效果
CATEGORY_FLIP =0x800 --含翻转效果
CATEGORY_POSITION =0x1000 --改变表示形式效果
CATEGORY_CONTROL =0x2000 --改变控制权效果
CATEGORY_DISABLE =0x4000 --使效果无效效果
CATEGORY_DISABLE_SUMMON =0x8000 --无效召唤效果
CATEGORY_DRAW =0x10000 --抽卡效果
CATEGORY_SEARCH =0x20000 --检索卡组效果
CATEGORY_EQUIP =0x40000 --装备效果
CATEGORY_DAMAGE =0x80000 --伤害效果
CATEGORY_RECOVER =0x100000 --回复效果
CATEGORY_ATKCHANGE =0x200000 --改变攻击效果
CATEGORY_DEFCHANGE =0x400000 --改变防御效果
CATEGORY_COUNTER =0x800000 --指示物效果
CATEGORY_COIN =0x1000000 --硬币效果
CATEGORY_DICE =0x2000000 --骰子效果
CATEGORY_LEAVE_GRAVE =0x4000000 --离开墓地效果
CATEGORY_LVCHANGE =0x8000000 --改变等级效果
CATEGORY_NEGATE =0x10000000 --使发动无效效果
--Hint
HINT_EVENT =1
HINT_MESSAGE =2
HINT_SELECTMSG =3
HINT_OPSELECTED =4
HINT_EFFECT =5
HINT_RACE =6
HINT_ATTRIB =7
HINT_CODE =8
HINT_NUMBER =9
HINT_CARD =10
--Card Hint
CHINT_TURN =1
CHINT_CARD =2
CHINT_RACE =3
CHINT_ATTRIBUTE =4
CHINT_NUMBER =5
CHINT_DESC =6
--Hint Message --提示消息,显示在窗口的上面
HINTMSG_RELEASE =500 --请选择要解放的卡
HINTMSG_DISCARD =501 --请选择要丢弃的手牌
HINTMSG_DESTROY =502 --请选择要破坏的卡
HINTMSG_REMOVE =503 --请选择要除外的卡
HINTMSG_TOGRAVE =504 --请选择要送去墓地的卡
HINTMSG_RTOHAND =505 --请选择要返回手牌的卡
HINTMSG_ATOHAND =506 --请选择要加入手牌的卡
HINTMSG_TODECK =507 --请选择要返回卡组的卡
HINTMSG_SUMMON =508 --请选择要召唤的卡
HINTMSG_SPSUMMON =509 --请选择要特殊召唤的卡
HINTMSG_SET =510 --请选择要盖放的卡
HINTMSG_FMATERIAL =511 --请选择融合召唤的素材
HINTMSG_SMATERIAL =512 --请选择同调召唤的素材
HINTMSG_XMATERIAL =513 --请选择超量召唤的素材
HINTMSG_FACEUP =514 --请选择表侧表示的卡
HINTMSG_FACEDOWN =515 --请选择里侧表示的卡
HINTMSG_ATTACK =516 --请选择攻击表示的怪兽
HINTMSG_DEFENCE =517 --请选择守备表示的怪兽
HINTMSG_EQUIP =518 --请选择要装备的卡
HINTMSG_REMOVEXYZ =519 --请选择要取除的超量素材
HINTMSG_CONTROL =520 --请选择要改变控制权的怪兽
HINTMSG_DESREPLACE =521 --请选择要代替破坏的卡
HINTMSG_FACEUPATTACK =522 --请选择表侧攻击表示的怪兽
HINTMSG_FACEUPDEFENCE =523 --请选择表侧守备表示的怪兽
HINTMSG_FACEDOWNATTACK =524 --请选择里侧攻击表示的怪兽
HINTMSG_FACEDOWNDEFENCE =525 --请选择里侧守备表示的怪兽
HINTMSG_CONFIRM =526 --请选择给对方确认的卡
HINTMSG_TOFIELD =527 --请选择要放置到场上的卡
HINTMSG_POSCHANGE =528 --请选择要改变表示形式的怪兽
HINTMSG_SELF =529 --请选择自己的卡
HINTMSG_OPPO =530 --请选择对方的卡
HINTMSG_EFFECT =550 --请选择要发动的效果
HINTMSG_TARGET =551 --请选择效果的对象
HINTMSG_COIN =552 --请选择硬币的正反面
HINTMSG_DICE =553 --请选择骰子的结果
HINTMSG_CARDTYPE =554 --请选择一个种类
--Timing --提示时点,可以给freechain卡片增加自动提示时点
TIMING_DRAW_PHASE =0x1 --抽卡阶段时点
TIMING_STANDBY_PHASE =0x2 --准备阶段时点
TIMING_MAIN_END =0x4 --主要阶段结束时点
TIMING_BATTLE_START =0x8 --战斗阶段开始时点
TIMING_BATTLE_END =0x10 --战斗阶段结束时点
TIMING_END_PHASE =0x20 --结束阶段时点
TIMING_SUMMON =0x40 --召唤时点
TIMING_SPSUMMON =0x80 --特殊召唤时点
TIMING_FLIPSUMMON =0x100 --翻转召唤时点
TIMING_MSET =0x200 --放置怪兽时点
TIMING_SSET =0x400 --放置魔陷时点
TIMING_POS_CHANGE =0x800 --表示形式变更时点
TIMING_ATTACK =0x1000 --攻击宣言时点
TIMING_DAMAGE_STEP =0x2000 --伤害步骤时点
TIMING_DAMAGE_CAL =0x4000 --伤害计算时点
TIMING_CHAIN_END =0x8000 --连锁结束时点
TIMING_DRAW =0x10000 --抽卡时点(不是抽卡阶段
TIMING_DAMAGE =0x20000 --造成伤害时点
TIMING_RECOVER =0x40000 --回复时点
TIMING_DESTROY =0x80000 --破坏时点
TIMING_REMOVE =0x100000 --除外时点
TIMING_TOHAND =0x200000 --加入手牌时点(检索、回收等)
TIMING_TODECK =0x400000 --回卡组时点
TIMING_TOGRAVE =0x800000 --进墓地时点
TIMING_BATTLE_PHASE =0x1000000 --战斗阶段时点
TIMING_EQUIP =0x2000000 --装备时点
--Global flag --特殊标记
GLOBALFLAG_DECK_REVERSE_CHECK =0x1 --卡组翻转标记
GLOBALFLAG_BRAINWASHING_CHECK =0x2 --洗脑解除标记
GLOBALFLAG_SCRAP_CHIMERA =0x4 --废铁奇美拉标记
GLOBALFLAG_DELAYED_QUICKEFFECT =0x8 --小丑和锁鸟标记
GLOBALFLAG_DETACH_EVENT =0x10 --超量素材被取除标记
GLOBALFLAG_MUST_BE_SMATERIAL =0x20 --必须作为同调素材(波动龙 声子龙)
GLOBALFLAG_SPSUMMON_COUNT =0x40 --特殊召唤次数标记
GLOBALFLAG_XMAT_COUNT_LIMIT =0x80 --超量素材数量限制标记(光天使 天座)
--
EFFECT_COUNT_CODE_OATH =0x10000000 --誓约使用次数
EFFECT_COUNT_CODE_DUEL =0x20000000 --决斗中使用次数
EFFECT_COUNT_CODE_SINGLE =0x1 --多个效果公共使用次数
--特殊选项
DUEL_TEST_MODE =0x01 --测试模式?坑了?
DUEL_ATTACK_FIRST_TURN =0x02 --第一回合可以攻击(用于残局
DUEL_NO_CHAIN_HINT =0x04 --不提示连锁
DUEL_ENABLE_PRIORITY =0x08 --启动优先权
DUEL_PSEUDO_SHUFFLE =0x10 --不洗牌
DUEL_TAG_MODE =0x20 --双打
DUEL_SIMPLE_AI =0x40 --AI
CodeEditForm->CodeEditForm CodeEditor
CodeEditForm->menuitem_file File(&F)
CodeEditForm->menuitem_open Open
CodeEditForm->menuitem_save Save
CodeEditForm->menuitem_saveas Save As
CodeEditForm->menuitem_quit Quit
CodeEditForm->menuitem_setting Tools(&S)
CodeEditForm->menuitem_showmap Show/Hide Map
CodeEditForm->menuitem_showinput Show/Hide TextBox
CodeEditForm->menuitem_setcard Set Cards
CodeEditForm->menuitem_find Find
CodeEditForm->menuitem_replace Replace
CodeEditForm->menuitem_help Help(&H)
CodeEditForm->menuitem_about About
\ No newline at end of file
DataEditForm->btn_add Add
DataEditForm->btn_del Delte
DataEditForm->btn_lua Lua
DataEditForm->btn_img Image
DataEditForm->btn_mod Modify
DataEditForm->btn_undo Undo
DataEditForm->btn_PageDown >>
DataEditForm->btn_PageUp <<
DataEditForm->btn_reset Rest
DataEditForm->btn_serach Search
DataEditForm->DataEditForm DataEditorX
DataEditForm->lb_atkdef ATK/DEF
DataEditForm->lb_cardalias Alias
DataEditForm->lb_cardcode Card Code
DataEditForm->lb_categorys Category
DataEditForm->lb_pleft_right PScale
DataEditForm->lb_scripttext
DataEditForm->lb_tiptexts TipText
DataEditForm->lb_types Card Type
DataEditForm->lb2 /
DataEditForm->lb4 /
DataEditForm->lb5 /
DataEditForm->lv_cardlist0 Card Code
DataEditForm->lv_cardlist1 Card Name
DataEditForm->menu_tools Tools
DataEditForm->menuitem_exportdata Export Data
DataEditForm->menuitem_cancelTask Cancel Task
DataEditForm->menuitem_compdb Compression DataBase
DataEditForm->menuitem_importmseimg Drop Image to MSE
DataEditForm->menuitem_convertimage Import Images
DataEditForm->menuitem_openLastDataBase Open Last DataBase
DataEditForm->menuitem_cutimages Cut Images For Game
DataEditForm->menuitem_saveasmse_select Select Cards Save As MSE
DataEditForm->menuitem_saveasmse All Cards Save As MSE
DataEditForm->menuitem_about About
DataEditForm->menuitem_checkupdate Check Update
DataEditForm->menuitem_copyselectto Slect Cards Copy To...
DataEditForm->menuitem_copyto Now All Cards Copy To...
DataEditForm->menuitem_file File
DataEditForm->menuitem_github Github
DataEditForm->menuitem_help Help
DataEditForm->menuitem_new New
DataEditForm->menuitem_open Open
DataEditForm->menuitem_quit Quit
DataEditForm->menuitem_readimages Read for Image Folder
DataEditForm->menuitem_readydk Read for ydk file
\ No newline at end of file
MainForm->menuitem_file File
MainForm->menuitem_new New
MainForm->menuitem_open Open
MainForm->menuitem_save Save
MainForm->menuitem_copyselect Copy Select Cards
MainForm->menuitem_copyall Copy All Cards
MainForm->menuitem_findluafunc Find Lua Functions
MainForm->menuitem_pastecards Paste Cards
MainForm->menuitem_comp1 Compare-Cards 1
MainForm->menuitem_comp2 Compare-Cards 2
MainForm->menuitem_history History(&H)
MainForm->menuitem_shistory Script History
MainForm->menuitem_quit Quit(&Q)
MainForm->menuitem_windows Windwos(&W)
MainForm->menuitem_dataeditor New DataEditor
MainForm->menuitem_codeeditor New CodeEditor
MainForm->menuitem_closeall Close All
MainForm->menuitem_closeother Close Other
MainForm->menuitem_close Close
\ No newline at end of file
###########################
# Magic Set Editor 2
########################### Chs 2 Cht
cn2tw = true
########################### Setting
maxcount = 200
imagepath = ./Images
########################### Spell/Trap
spell = [Sepll Card%%]
trap = [Trap Card%%]
############################ Text
pendulum-text = Pendulum Text :\n([\S\s]*?)\n\n
monster-text = Monster Text :\n([\S\s]*)
########################### Replace
# replace = ([A-Z]) <i>$1</i>
\ No newline at end of file
mse version: 0.3.8
game: yugioh
stylesheet: standard
set info:
language: EN
edition: MSE Editrion
ST mark is text: yes
pendulum image is small: yes
\ No newline at end of file
card:
card type: %type%
name: %name%
attribute: %attribute%
level: %level%
image: %image%
type 1: %race%
type 2: %type1%
type 3: %type2%
type 4: %type3%
rule text:
%desc%
attack: %atk%
defense: %def%
gamecode: %code%
\ No newline at end of file
card:
card type: %type%
name: %name%
attribute: %attribute%
level: %level%
image: %image%
type 1: %race%
type 2: %type1%
type 3: %type2%
type 4: %type3%
rule text:
%desc%
attack: %atk%
defense: %def%
pendulum: medium
pendulum scale 1: %pl%
pendulum scale 2: %pr%
pendulum text:
%pdesc%
gamecode: %code%
\ No newline at end of file
card:
card type: %type%
name: %name%
attribute: %attribute%
level: %level%
image: %image%
rule text:
%desc%
gamecode: %code%
\ No newline at end of file
#The first line is used for comment
#line doesn't start with '!' is also neglected
#system
!system 1 通常召唤
!system 2 特殊召唤
!system 3 翻转召唤
!system 4 通常召唤成功
!system 5 特殊召唤成功
!system 6 翻转召唤成功
!system 7 发动
!system 10 移除指示物
!system 11 支付LP
!system 12 移除本身的素材
!system 20 抽卡阶段中
!system 21 准备阶段中
!system 22 主要阶段中
!system 23 即将结束主要阶段
!system 24 战斗阶段中
!system 25 战斗结束阶段中
!system 26 结束阶段中
!system 27 抽卡前
!system 28 战斗阶段开始
!system 30 战斗回卷,是否继续攻击?
!system 31 是否直接攻击?
!system 40 伤害阶段中
!system 41 即将计算战斗伤害
!system 42 即将结束伤害阶段
!system 43 即将产生战斗伤害
!system 60 正面
!system 61 反面
!system 62 表效果适用中
!system 63 里效果适用中
!system 64 二重状态
!system 70 怪物卡
!system 71 魔法卡
!system 72 陷阱卡
!system 80 进入战斗阶段
!system 81 进入结束阶段
!system 90 是否不解放怪物通常召唤?
!system 91 是否使用额外的召唤机会?
!system 92 是否要解放对方怪兽进行上级招呼?
!system 93 是否要继续选择素材?
!system 100 先攻
!system 101 后攻
!system 200 是否在[%ls]发动[%ls]的效果?
!system 201 此时没有可以发动的效果
!system 202 是否要确认场上的情况?
!system 203 是否要进行连锁?
!system 204 请移除%d个[%ls]
!system 205 请选择排列顺序
!system 206 请选择连锁顺序
!system 207 翻开卡组上方%d张卡:
!system 208 确认%d张卡:
!system 209 当前所选的卡已满足选择条件
!system 210 是否要继续选择?
!system 211 回合计数:
!system 212 已选择卡:
!system 213 已选择种族:
!system 214 已选择属性:
!system 215 已选择数字:
!system 500 请选择要解放的卡
!system 501 请选择要丢弃的手牌
!system 502 请选择要破坏的卡
!system 503 请选择要除外的卡
!system 504 请选择要送去墓地的卡
!system 505 请选择要返回手牌的卡
!system 506 请选择要加入手牌的卡
!system 507 请选择要返回卡组的卡
!system 508 请选择要召唤的卡
!system 509 请选择要特殊召唤的卡
!system 510 请选择要盖放的卡
!system 511 请选择融合召唤的素材
!system 512 请选择同调召唤的素材
!system 513 请选择超量召唤的素材
!system 514 请选择表侧表示的卡
!system 515 请选择里侧表示的卡
!system 516 请选择攻击表示的怪兽
!system 517 请选择守备表示的怪兽
!system 518 请选择要装备的卡
!system 519 请选择要取除的超量素材
!system 520 请选择要改变控制权的怪兽
!system 521 请选择要代替破坏的卡
!system 522 请选择表侧攻击表示的怪兽
!system 523 请选择表侧守备表示的怪兽
!system 524 请选择里侧攻击表示的怪兽
!system 525 请选择里侧守备表示的怪兽
!system 526 请选择给对方确认的卡
!system 527 请选择要放置到场上的卡
!system 528 请选择要改变表示形式的怪兽
!system 529 请选择自己的卡
!system 530 请选择对方的卡
!system 531 请选择上级召唤用需要解放的怪兽:
!system 550 请选择要发动的效果
!system 551 请选择效果的对象
!system 552 请选择硬币的正反面
!system 553 请选择骰子的结果
!system 554 请选择一个种类
!system 555 请选择一个选项
!system 560 请选择
!system 561 请选择表示形式
!system 562 请选择要宣言的属性
!system 563 请选择要宣言的种族
!system 564 请宣言一个卡名
!system 565 请选择一个数字
!system 566 请选择要发动效果的卡
!system 567 请宣言一个等级
!system 1000 卡组
!system 1001 手牌
!system 1002 怪兽区
!system 1003 魔法陷阱区
!system 1004 墓地
!system 1005 除外
!system 1006 额外
!system 1007 叠放
!system 1008 场地魔法区
!system 1009 摇摆区
!system 1010
!system 1011
!system 1012
!system 1013
!system 1014
!system 1015
!system 1016
!system 1020 战士
!system 1021 魔法使
!system 1022 天使
!system 1023 恶魔
!system 1024 不死
!system 1025 机械
!system 1026
!system 1027
!system 1028 岩石
!system 1029 鸟兽
!system 1030 植物
!system 1031 昆虫
!system 1032
!system 1033
!system 1034
!system 1035 兽战士
!system 1036 恐龙
!system 1037
!system 1038 海龙
!system 1039 爬虫
!system 1040 念动力
!system 1041 幻神兽
!system 1042 创造神
!system 1043 幻龙
!system 1050 怪兽
!system 1051 魔法
!system 1052 陷阱
!system 1053 ???
!system 1054 通常
!system 1055 效果
!system 1056 融合
!system 1057 仪式
!system 1058 陷阱怪兽
!system 1059 灵魂
!system 1060 同盟
!system 1061 二重
!system 1062 调整
!system 1063 同调
!system 1064 衍生物
!system 1065 ???
!system 1066 速攻
!system 1067 永续
!system 1068 装备
!system 1069 场地
!system 1070 反击
!system 1071 反转
!system 1072 卡通
!system 1073 超量
!system 1074 摇摆
!system 1080 (N/A)
#GUI
!system 1100 魔陷破坏
!system 1101 怪兽破坏
!system 1102 卡片除外
!system 1103 送去墓地
!system 1104 返回手牌
!system 1105 返回卡组
!system 1106 手牌破坏
!system 1107 卡组破坏
!system 1108 抽卡辅助
!system 1109 卡组检索
!system 1110 卡片回收
!system 1111 表示形式
!system 1112 控制权
!system 1113 攻守变化
!system 1114 穿刺伤害
!system 1115 多次攻击
!system 1116 攻击限制
!system 1117 直接攻击
!system 1118 特殊召唤
!system 1119 衍生物
!system 1120 种族相关
!system 1121 属性相关
!system 1122 LP伤害
!system 1123 LP回复
!system 1124 破坏耐性
!system 1125 效果耐性
!system 1126 指示物
!system 1127 幸运
!system 1128 融合相关
!system 1129 同调相关
!system 1130 超量相关
!system 1131 效果无效
#actions
!system 1150 发动
!system 1151 召唤
!system 1152 特殊召唤
!system 1153 放置
!system 1154 反转召唤
!system 1155 守备表示
!system 1156 攻击表示
!system 1157 攻击
!system 1158 查看列表
!system 1159 当魔法卡放置
#menu
!system 1200 联机模式
!system 1201 残局模式
!system 1202 观看录像
!system 1203 N/A
!system 1204 编辑卡组
!system 1210 退出
!system 1211 确定
!system 1212 取消
!system 1213
!system 1214
!system 1215 开始
!system 1216 消息
!system 1217 刷新
!system 1220 昵称:
!system 1221 主机信息:
!system 1222 主机密码:
!system 1223 加入游戏
!system 1224 建立主机
!system 1225 卡片允许:
!system 1226 禁限卡表:
!system 1227 决斗模式:
!system 1228 ↓额外选项(无特殊要求请勿修改)
!system 1229 不检查卡组
!system 1230 不洗切卡组
!system 1231 初始LP
!system 1232 初始手牌数:
!system 1233 每回合抽卡:
!system 1234 主机名称:
!system 1235 主机密码:
!system 1236 允许启动效果优先权
!system 1237 每回合时间:
!system 1240 OCG
!system 1241 TCG
!system 1242 OCG&TCG
!system 1243 专有卡禁止
!system 1244 单局模式
!system 1245 比赛模式
!system 1246 TAG
!system 1250 决斗准备
!system 1251 →决斗者
!system 1252 →观战
!system 1253 当前观战人数:
!system 1254 卡组选择:
!system 1255 准备完毕!
!system 1270 卡片信息
!system 1271 消息记录
!system 1272 清除记录
!system 1273 系统设定
!system 1274 自动选择卡片位置
!system 1275 ↑随机选择位置
!system 1276 自动排列连锁顺序
!system 1277 没有可连锁的卡时延迟回应
!system 1280 标准对战
!system 1281 自定义
!system 1290 忽略对方发言
!system 1291 忽略观战者发言
!system 1300 禁限卡表:
!system 1301 卡组列表:
!system 1302 保存
!system 1303 另存
!system 1304 清空
!system 1305 排序
!system 1306 退出编辑
!system 1307 打乱
!system 1310 (无)
!system 1311 种类:
!system 1312 怪兽
!system 1313 魔法
!system 1314 陷阱
!system 1315 禁限:
!system 1316 禁止
!system 1317 限制
!system 1318 准限制
!system 1319 属性:
!system 1321 种族:
!system 1322 攻击:
!system 1323 守备:
!system 1324 星数:
!system 1325 关键字:
!system 1326 效果
!system 1327 重新搜索
!system 1328 结果中搜索
!system 1330 主卡组:
!system 1331 额外卡组:
!system 1332 副卡组:
!system 1333 搜索结果:
!system 1334 副卡组更换完成
!system 1335 保存成功
!system 1340 是否保存录像?
!system 1341 保存
!system 1342 录像文件:
!system 1343 播放
!system 1344 暂停
!system 1345 下一步
!system 1346 切换视角
!system 1347 退出
!system 1348 载入录像
!system 1349 录像信息:
!system 1350 离开
!system 1351 投降
!system 1352 主要信息:
!system 1353 播放起始于回合:
!system 1390 等待行动中...
!system 1391 等待行动中....
!system 1392 等待行动中.....
!system 1400 无法连接到主机。
!system 1401 连接已断开。
!system 1402 网络传输发生错误。
!system 1403 无法加入主机。
!system 1404 密码错误。
!system 1405 主机拒绝了连接。
!system 1406 无效卡组。
!system 1407 「%ls」的数量不符合当前设定。
!system 1408 更换副卡组失败。
!system 1409 等待更换副卡组中...
!system 1410 卡组数量与先前不符合。
!system 1411 版本不匹配(%X.0%X.%X)。
!system 1500 决斗结束。
!system 1501 录像结束。
!system 1502 连接已断开。
!system 1510 对方选择了:[%ls]
!system 1511 对方宣言了:[%ls]
!system 1512 对方选择了:[%d]
!system 1600 卡片改变了表示形式
!system 1601 放置了卡片
!system 1602 卡的控制权改变了
!system 1603 [%ls]召唤中...
!system 1604 怪兽召唤成功
!system 1605 [%ls]特殊召唤中...
!system 1606 怪兽特殊召唤成功
!system 1607 [%ls]反转召唤中...
!system 1608 怪兽反转召唤成功
!system 1609 [%ls]的效果发动
!system 1610 [%ls](%ls,%d)成为对象
!system 1611 我方抽了%d张卡
!system 1612 对手抽了%d张卡
!system 1613 我方受到%d伤害
!system 1614 对方受到%d伤害
!system 1615 我方回复%dLP
!system 1616 对方回复%dLP
!system 1617 [%ls]放置了%d个[%ls]
!system 1618 [%ls]移除了%d个[%ls]
!system 1619 [%ls]攻击[%ls]
!system 1620 [%ls]直接攻击
!system 1621 攻击被无效
!system 1622 [%ls]错过时点
!system 1623 投掷硬币结果:
!system 1624 投掷骰子结果:
#vistory reason
!victory 0x0 投降
!victory 0x1 LP变成0
!victory 0x2 没有卡可抽
!victory 0x3 超时
!victory 0x4 失去连接
!victory 0x10 「被封印的艾克佐迪亚」效果胜利
!victory 0x11 「终焉的倒计时」效果胜利
!victory 0x12 「毒蛇神 维诺米纳迦」效果胜利
!victory 0x13 「光之创造神 哈拉克提」效果胜利
!victory 0x14 「究极封印神 艾克佐迪奥斯」效果胜利
!victory 0x15 「通灵盘」效果胜利
!victory 0x16 「最终一战!」效果胜利
!victory 0x17No.88 机关傀儡-命运狮子」效果胜利
!victory 0x18 「混沌No.88 机关傀儡-灾厄狮子」效果胜利
!victory 0x19 「头奖壶7」效果胜利
!victory 0x1a 「魂之接力」效果胜利
!victory 0x1b 「鬼计惰天使」效果胜利
!victory 0x20 由于「%ls」的效果获得比赛胜利
#counters
!counter 0x3001 魔力指示物
!counter 0x2 楔指示物
!counter 0x3003 武士道指示物
!counter 0x3004 念力指示物
!counter 0x5 光指示物
!counter 0x6 宝玉指示物
!counter 0x7 指示物(剑斗兽之槛)
!counter 0x8 D指示物
!counter 0x9 毒指示物
!counter 0xa 次世代指示物
!counter 0x300b 指示物(古代的机械城)
!counter 0xc 雷指示物
!counter 0xd 强欲指示物
!counter 0xe A指示物
!counter 0xf 虫指示物
!counter 0x10 黑羽指示物
!counter 0x11 超毒指示物
!counter 0x12 机巧指示物
!counter 0x13 混沌指示物
!counter 0x14 指示物(奇迹之侏罗纪蛋)
!counter 0x15 冰指示物
!counter 0x16 魔石指示物
!counter 0x17 橡子指示物
!counter 0x18 花指示物
!counter 0x19 雾指示物
!counter 0x1a 倍倍指示物
!counter 0x1b 时计指示物
!counter 0x1c D指示物
!counter 0x1d 废品指示物
!counter 0x1e 门指示物
!counter 0x1f 指示物(巨大战舰)
!counter 0x20 植物指示物
!counter 0x21 守卫指示物
!counter 0x22 龙神指示物
!counter 0x23 海洋指示物
!counter 0x24 弦指示物
!counter 0x25 年代记指示物
!counter 0x26 指示物(金属射手)
!counter 0x27 指示物(死亡蚊)
!counter 0x3028 指示物(暗黑投射手)
!counter 0x29 指示物(气球蜥蜴)
!counter 0x2a 指示物(魔法防护器)
!counter 0x302b 命运指示物
!counter 0x2c 遵命指示物
!counter 0x2d 指示物(踢火)
!counter 0x2e 鲨指示物
!counter 0x2f 南瓜指示物
!counter 0x30 毅飞冲天指示物
!counter 0x31 希望剑指示物
!counter 0x32 气球指示物
###############################################
# 脚本中用到的数据类型为以下几类:
# integer: 整数类型
# boolean: 布尔类型(true 或者 false)
# string: 字符串
# function: 函数
# Card: 卡片类
# Effect: 效果类
# Group: 卡片组类
# any: 任意类型
# 为方便说明,采用类似c的函数表示方法说明
# []表示有默认值可省略的参数
#
# 注:关于过滤条件函数
# 过滤条件函数是指第一个参数是Card类型,并且返回值是boolean的函数。此函数用于在一些获取满足条件的卡片组的过滤函数中重复调用。过滤条件函数可以有不定的参数,第二个开始的参数从过滤函数的额外参数获得。举例:
# function sample_filter(c, atk, def)
# return c:GetAttack()>=atk and c:GetDefence()>=def
# end
# 此函数对于一张卡c,如果攻击力>=atk并且守备力>=def则返回true,否则返回false
# g=Duel.GetFieldGroup(0,LOCATION_HAND,0) --获取玩家1的手卡
# fg=g:Filter(sample_filter, nil, 1000,500) --从g中筛选攻击力>=1000并且守备>=500的卡
# Group.Filter只需要3个参数,第4个参数开始为额外参数,额外的参数会传给sample_filter
################################
#
# [uncheck] is need modifty.
#
##############################################
●void initial_effect(Card c)
注册卡片效果
●int aux.Stringid(int code,int id)
返回字符串在texts表的index
●void aux.BeginPuzzle()
开始残局
================ bit ====================
●integer bit.band(integer a, integer b)
a与b的位与
●integer bit.bls(integer a, integer b)
a左移b
●integer bit.bor(integer a, integer b)
a与b的位或
●integer bit.brs(integer a, integer b)
a右移b
●integer bit.bxor(integer a, integer b)
a与b的位异或
================ Card ====================
●void Card.AddCounter(Card c, int countertype, int count)
为c放置count个countertype类型的指示物
●void Card.AddTrapMonsterAttribute(Card c, int extra_type,int attribute,int race,int level,int atk,int def)
【新】为c添加陷阱怪物属性。
extra_type 额外卡片类型
●void Card.AddTrapMonsterAttribute(Card c, bool is_effect)
【旧】为c添加陷阱怪物属性。is_effect=true表示视作效果怪物,否则视为通常怪物
注:陷阱怪物属性指的是同时作为怪物和陷阱,
并且额外使一个魔法陷阱的格子不能使用。
●void Card.AssumeProperty(Card c,int assume_type, int assume_value)
●void Card.CancelCardTarget(Card pcard, Card rcard)
●void Card.CancelToGrave(Card c [,bool cancel])
取消送墓确定状态。
注:送墓确定状态指的是在场上发动的不留场的魔法和陷阱后,这些卡片的状态。
送墓确定状态中的卡无法返回手牌和卡组,并且连锁结束时送去墓地。
此函数的作用是取消此状态使其留场。用于光之护封剑和废铁稻草人等卡。
●int Card.CheckActivateEffect(Card c, bool neglect_con, bool neglect_cost, bool copy_info)
●bool Card.CheckEquipTarget(Card c1, Card c2)
检查c2是否是c1的正确的装备对象
●bool Card.CheckFusionMaterial(Card c, Group g[, Card cg, int chkf=PLAYER_NONE])
检查g是否包含了c需要的一组融合素材
●bool Card.CheckRemoveOverlayCard(Card c,int playerid,int count,int reason)
●bool Card.CheckUniqueOnField(Card c,int check_player)
●void Card.ClearEffectRelation(Card c)
●void Card.CompleteProcedure(Card c)
使c完成正规的召唤手续。此函数也可通过Card.SetStatus实现。
●int Card.CopyEffect(Card c, int code, int reset_flag,int reset_count)
为c添加代号是code的卡的可复制的效果,并且添加额外的reset条件。
返回值是表示复制效果的代号id。
●void Card.CreateEffectRelation(Card c, Effect e)
●void Card.CreateRelation(Card c1, Card c2, int reset_flag)
为c1建立于c2的联系。此联系仅会由于RESET_EVENT的事件reset。
●void Card.EnableCounterPermit(Card c, int countertype)
允许c放置那个需要“可以放置”才能放置的指示物countertype
●void Card.EnableDualState(Card c)
把c设置成再召唤状态。
●void Card.EnableReviveLimit(Card c)
为c添加苏生限制。此函数也可通过Card.SetStatus实现。
●Effect Card.GetActivateEffect(Card c)
返回c的“卡片发动”的效果。仅对魔法和陷阱有效。
●int Card.GetAttack(Card c)
返回c的当前攻击力,返回值是负数表示是"?"
●bool Card.GetAttackableTarget(Card c)
●int Card.GetAttackAnnouncedCount(Card c)
返回c本回合攻击宣言的次数
注:攻击被无效不会被计入攻击过的次数,但是会计入攻击宣言的次数。
●int Card.GetAttackedCount(Card c)
返回c本回合攻击过的次数
注:如果此值与上一个函数的返回值不同,那么说明此卡本回合进行过直接攻击
●Group Card.GetAttackedGroup(Card c)
●int Card.GetAttackedGroupCount(Card c)
返回c本回合攻击过的卡片数量
●Group Card.GetAttackGroup(Card c)
返回c本回合攻击过的卡片组
●int Card.GetAttribute(Card c)
返回c的当前属性。注:对某些多属性怪物如光与暗之龙,
此函数的返回值可能是几个属性的组合值。
●int Card.GetBaseAttack(Card c)
返回c的原本攻击力
●int Card.GetBaseDefence(Card c)
返回c的原本守备力
●Group Card.GetBattledGroup(Card c)
返回与c本回合进行过战斗的卡片组
进行过战斗指发生过伤害的计算。用于剑斗兽等卡的判定。
●int Card.GetBattledGroupCount(Card c)
返回与c本回合进行过战斗的的卡片数量
●int Card.GetBattlePosition(Card c)
返回c在本次战斗发生之前的表示形式
●Card Card.GetBattleTarget(Card c)
●Group Card.GetCardTarget(Card c)
返回c当前所有的永续对象
●int Card.GetCardTargetCount(Card c)
返回c当前的永续对象的数量
●int Card.GetCode(Card c)
返回c的当前代号(可能因为效果改变)
●int Card.GetControler(Card c)
返回c的当前控制者
●int Card.GetCounter(Card c, int countertype)
返回c上的countertype类型的指示物的数量
●any Card.GetCustomValue(Card c, string tag)
返回c的以tag作为标签的自定义值
●int Card.GetDefence(Card c)
返回c的当前守备力,返回值是负数表示是"?"
●int Card.GetDestination(Card c)
返回c位置变化的目的地。此函数仅在处理位置转移代替效果时有效。
●int Card.GetEffectCount(Card c, int code)
返回c受到影响的种类是code的效果的数量
●int Card.GetEquipCount(Card c)
返回c当前装备着的卡片数量
●Group Card.GetEquipGroup(Card c)
返回c当前装备着的卡片组
●Card Card.GetEquipTarget(Card c)
返回c当前的装备对象
●int Card.GetFieldID(Card c)
返回c转移到当前位置的时间标识。此数值唯一,越小表示c是越早出现在那个位置。
●Card Card.GetFirstCardTarget(Card c)
●int Card.GetFlagEffect(Card c, int code)
返回c的种类是code的标识效果的数量。
●int Card.GetFlagEffectLabel(Card c)
nil
●int Card.GetLevel(Card c)
返回c的当前等级
●int Card.GetLocation(Card c)
返回c当前的所在位置
●Group Card.GetMaterial(Card c)
返回c出场使用的素材
●int Card.GetMaterialCount(Card c)
返回c出场使用的素材数量
●int Card.GetOriginalAttribute(Card c)
返回c的卡片记载的属性
●int Card.GetOriginalCode(Card c)
返回c的卡片记载的代号
●int Card.GetOriginalLevel(Card c)
返回c的卡片记载的等级
●int Card.GetOriginalRace(Card c)
返回c的卡片记载的种族
●int Card.GetOriginalRank(Card c)
●int Card.GetOriginalType(Card c)
返回c的卡片记载的类型。
●int Card.GetOverlayCount(Card c)
返回c当前叠放着的卡片数量
●Group Card.GetOverlayGroup(Card c)
返回c当前叠放着的卡片组
●Card Card.GetOverlayTarget(Card c)
●int Card.GetOwner(Card c)
返回c的持有者
●Group Card.GetOwnerTarget(Card c)
返回取c作为永续对象的所有卡
●int Card.GetOwnerTargetCount(Card c)
返回取c作为永续对象的卡的数量
●int Card.GetPosition(Card c)
返回c当前的表示形式
●int Card.GetPreviousAttackOnField(Card c)
●int Card.GetPreviousAttributeOnField(Card c)
●int Card.GetPreviousCodeOnField(Card c)
●int Card.GetPreviousControler(Card c)
返回c的位置变化之前的控制者
●int Card.GetPreviousDefenceOnField(Card c)
●Card Card.GetPreviousEquipTarget(Card)
●int Card.GetPreviousLevelOnField(Card c)
●int Card.GetPreviousLocation(Card c)
返回c位置变化前的所在的位置
●int Card.GetPreviousPosition(Card c)
返回c位置变化前的表示形式
●int Card.GetPreviousRaceOnField(Card c)
●int Card.GetPreviousRankOnField(Card c)
●int Card.GetPreviousSequence(Card c)
返回c位置变化前的序号
●int Card.GetPreviousTypeOnField(Card c)
●int Card.GetRace(Card c)
返回c的当前种族。注:对某些多种族怪物如动画效果的魔术猿,
此函数的返回值可能是几个种族的组合值。
●int Card.GetRank(Card c)
●int Card.GetRealFieldID(Card c)
●int Card.GetReason(Card c)
返回c的位置变化原因
●Card Card.GetReasonCard(Card c)
返回导致c的位置变化的卡。此函数仅在某卡被战斗破坏时,
因为上级召唤被解放,或者成为特殊召唤使用的素材时有效。
●Effect Card.GetReasonEffect(Card c)
返回导致c的位置变化的效果。
●int Card.GetReasonPlayer(Card c)
●int Card.GetRightScale(Card c)
●int Card.GetRitualLevel(Card c)
返回c的仪式解放等级。此函数除了某些特定卡如仪式供物,
返回值与Card.GetLevel(c)相同
●int Card.GetSequence(Card c)
返回c在当前位置的序号
在场上时,序号代表所在的格子,从左往右分别是0-4,场地魔法格的序号为5
在其它地方时,序号表示的是第几张卡。最底下的卡的序号为0
●int Card.GetSummonPlayer(Card c)
返回召唤,特殊召唤c上场的玩家
●int Card.GetSummonType(Card c)
返回c上场的方式。
●int Card.GetSynchroLevel(Card c)
返回c的同调用等级。此函数除了某些特定卡如调节支援士,
返回值与Card.GetLevel(c)相同
●int Card.GetTextAttack(Card c)
返回c的卡片记载的攻击力
●int Card.GetTextDefence(Card c)
返回c的卡片记载的守备力
●int,int Card.GetTributeRequirement(Card c)
返回通常召唤c所需要的祭品的最小和最大数量
●int Card.GetTurnCounter(Card c)
返回c的回合计数器
●int Card.GetTurnID(Card c)
返回c转移到当前位置的回合
●int Card.GetType(Card c)
返回c的当前类型。
●int Card.GetUnionCount(Card c)
返回c当前装备的同盟卡数量
●bool Card.IsAbleToChangeControler(Card c)
检查c是否可以改变控制权
注:仅当卡收到了“不能改变控制权”的效果的影响时,此函数返回false
●bool Card.IsAbleToDeck(Card c)
检查c是否可以送去卡组。
●bool Card.IsAbleToDeckAsCost(Card c)
检查c是否可以作为cost送去卡组。
●bool Card.IsAbleToExtra(Card c)
检查c是否可以送去额外卡组。
对于非融合,同调,超量卡此函数均返回false。
●bool Card.IsAbleToExtraAsCost(Card c)
检查c是否可以作为cost送去额外卡组。
●bool Card.IsAbleToGrave(Card c)
检查c是否可以送去墓地。
●bool Card.IsAbleToGraveAsCost(Card c)
检查c是否可以作为cost送去墓地。
●bool Card.IsAbleToHand(Card c)
检查c是否可以送去手牌。
注:仅当卡片或者玩家受到“不能加入手牌”的效果的影响时(如雷王)此函数才返回false。
以下几个函数类似。
●bool Card.IsAbleToHandAsCost(Card c)
检查c是否可以作为cost送去手牌。
注:此函数会在Card.IsAbleToHand的基础上追加检测c的实际目的地。
当c送往手牌会被送去其它地方时(如缩退回路适用中,或者c是融合,同调和超量怪的一种),
此函数返回false。以下几个函数类似。
●bool Card.IsAbleToRemove(Card c)
检查c是否可以除外。
●bool Card.IsAbleToRemoveAsCost(Card c)
检查c是否可以作为cost除外。
●bool Card.IsAttack(Card c)
检查c是否是攻击表示
●bool Card.IsAttackable(Card c)
检查c是否可以攻击
●bool Card.IsAttackAbove(Card c,int atk)
●bool Card.IsAttackBelow(Card c,int atk)
●bool Card.IsAttackPos(Card c)
●bool Card.IsAttribute(Card c, int attribute)
检查c是否属于属性attribute。
●bool Card.IsCanAddCounter(Card c, int countertype, int count)
检查c是否可以放置count个countertype类型的指示物
●bool Card.IsCanBeBattleTarget(Card c1, Card c2)
检查c1是否可以成为c2的攻击目标
●bool Card.IsCanBeEffectTarget(Card c, Effect e)
检查c是否可以成为效果e的对象
●bool Card.IsCanBeExceedMaterial(Card c)
检查c是否可以成为超量素材
●bool Card.IsCanBeFusionMaterial(Card c)
检查c是否可以成为融合素材
●bool Card.IsCanBeSpecialSummoned(Card c, Effect e, int sumtype, int sumplayer, bool nocheck, bool nolimit, [int sumpos=POS_FACEUP, int target_player=sumplayer])
检查c是否可以被玩家sumplayer
用效果e以sumtype方式和sumpos表示形式特殊召唤到target_player场上。
如果nocheck是true则不检查c的召唤条件,如果nolimit是true则不检查c的苏生限制。
●bool Card.IsCanBeSynchroMaterial(Card c[,Card scard,Card tuner])
检查c是否可以成为同调素材
●bool Card.IsCanBeXyzMaterial(Card c,Card scard)
●bool Card.IsCanRemoveCounter(Card c, int player, int countertype, int count, int reason)
检查玩家player是否可以以原因reason移除c上的count个countertype类型的指示物
●bool Card.IsCanTurnSet(Card c)
检查c是否可以转成里侧表示。
●bool Card.IsChainAttackable(Card c)
检查c是否可以连续攻击
注:当c因为闪光之双剑等效果进行过多次攻击之后此函数返回false。
●bool Card.IsCode(Card c, int code)
检查c的代号是否是code。
●bool Card.IsControler(Card c, int con)
检查c的当前控制着是否是con
●bool Card.IsControlerCanBeChanged(Card c)
检查c的控制权是否可以改变
注:此函数会在上一个函数的基础上追加检测场上的空格位
●bool Card.IsDefence(Card c)
检查c是否是守备表示
●bool Card.IsDefenceAbove(Card c,int def)
●bool Card.IsDefenceBelow(Card c,int def)
●bool Card.IsDefencePos(Card c)
●bool Card.IsDestructable(Card c[,Effect e])
检查c是否是可破坏的。
注:不可破坏指的是类似场地护罩,宫廷的规矩等“破壊できない”的效果
●bool Card.IsDirectAttacked(Card c)
●bool Card.IsDisabled(Card c)
检查c是否处于无效状态
●bool Card.IsDiscardable(Card c)
检查c是否可以丢弃
注:此函数仅用于检测,
以REASON_DISCARD作为原因把一张手卡送墓并不会导致那张卡不能丢弃。
●bool Card.IsDualState(Card c)
检查c属否处于再召唤状态。
●bool Card.IsFacedown(Card c)
检查c是否是里侧测表示
●bool Card.IsFaceup(Card c)
检查c是否是表侧表示
●bool Card.IsForbidden(Card c)
检查c是否处于被宣言禁止状态
●bool Card.IsHasCardTarget(Card c1, Card c2)
检查c1是否取c2为永续对象
●bool Card.IsHasEffect(Card c, int code)
检查c是否受到效果种类是code的效果的影响
●bool Card.IsImmuneToEffect(Card c, Effect e)
检查c是否免疫效果e(即不受效果e的影响)
●bool Card.IsLevelAbove(Card c,int level)
●bool Card.IsLevelBelow(Card c,int level)
●bool Card.IsLocation(Card c, int loc)
检查c当前位置是否是loc。
注:当怪物召唤,反转召唤,特殊召唤时召唤成功之前,
并且loc=LOCATION_MZONE时,此函数返回false
●bool Card.IsMSetable(Card c)
检查c是否可进行通常召唤的set
●bool Card.IsNotTuner(Card c)
检查c是否可以当成非调整来使用。
●bool Card.IsOnField(Card c)
检查c是否在场。
注:当怪物召唤,反转召唤,特殊召唤时召唤成功之前,此函数返回false
●bool Card.IsPosition(Card c.int pos)
●bool Card.IsPreviousLocation(Card c,int location)
●bool Card.IsPreviousPosition(Card c,int pos)
●bool Card.IsPublic(Card c)
检查c是否处于公开状态
●bool Card.IsRace(Card c, int race)
检查c是否属于种族race。
●bool Card.IsRankAbove(Card c,int rank)
●bool Card.IsRankBelow(Card c,int rank)
●bool Card.IsReason(Card c, int reason)
检查c是否包含原因reason。
●bool Card.IsRelateToBattle(Card c)
检查c是否和本次战斗关联。
注:此效果通常用于伤害计算后伤害阶段结束前,用于检查战斗的卡是否离场过。
●bool Card.IsRelateToCard(Card c1, Card c2)
检查c1是否和c2有联系。
●bool Card.IsRelateToEffect(Card c, Effect e)
检查c是否和效果e有联系。
注:每次发动进入连锁的效果时,发动效果的卡,以及发动效果时指定的对象
(用Duel.SetTargetCard或者Duel.SelectTarget指定的,包括取对象和不取对象)
会自动与那个效果建立联系。一旦离场,联系会重置。
●bool Card.IsReleasable(Card c)
●bool Card.IsReleasableByEffect(Card c)
●bool Card.IsReleaseable(Card c)
检查c是否可以解放(非上级召唤用)
●bool Card.IsSetCard(Card c, int setname)
检查c是否是名字含有setname的卡
●bool Card.IsSpecialSummonable(Card c)
检查是否可以对c进行特殊召唤手续。
●bool Card.IsSSetable(Card c)
检查c是否可以set到魔法陷阱区
●bool Card.IsStatus(Card c, int status)
检查c是否包含某个状态码。
●bool Card.IsSummonable(Card c)
检查c是否可进行通常召唤(不包含通常召唤的set)
●bool Card.IsSummonableCard(Card c[,bool ignore,Effect e])
检查c是否是可通常召唤的卡。
●bool Card.IsSynchroSummonable(Card c [,Card tuner=nil,Group mg])
检查是否可以以tuner作为调整对c进行同调召唤手续。
如果tuner是nil,此函数与上一个函数作用相同。
●bool Card.IsType(Card c, int type)
检查c是否属于类型type。
●bool Card.IsXyzLevel(Card c,Card xyzcard,int level)
●bool Card.IsXyzSummonable(Card c [,Group mg])
●int Card.RegisterEffect(Card c, Effect e, [bool forced=false])
把效果e注册给c,返回效果的全局id。
默认情况下注册时如果c带有免疫e的效果那么注册会失败。
如果forced为true则不会检查c对e的免疫效果。
●Effect Card.RegisterFlagEffect(Card c, int code, int reset_flag, int property, int reset_count [,int label,int desc])
为c注册一个标识用效果。
注:注册给卡的标识用效果不会用于系统,
即使code与内置效果code重合也不会影响,
并且类型总是EFFECT_TYPE_SINGLE。reset方法,property和一般的效果相同,
并且不会无效化,不受卡的免疫效果影响。
●void Card.ReleaseEffectRelation(Card c,Effect e)
●void Card.ReleaseRelation(Card c1, Card c2)
手动释放c1对于c2的联系
●void Card.RemoveCounter(Card c, int player, int countertype,int count, int reason)
让玩家player以原因reason移除c上的count个countertype类型的指示物
●int Card.RemoveOverlayCard(Card c,int player, int min, int max, int reason)
以reason为原因,让玩家player移除c叠放的min-max张卡
●void Card.ResetEffect(Card,int code,int type)
●void Card.ResetFlagEffect(Card c, int code)
手动清除c的种类是code的标识效果。
●void Card.ResetNegateEffect(Card c [,int i,...])
●void Card.ReverseInDeck(Card c)
●void Card.SetCardTarget(Card c1, Card c2)
把c2作为c1的永续对象。
c1和c2的联系会在c1活c2任意一卡离场或变成里侧表示时reset。
●void Card.SetCounterLimit(Card c, int countertype, int count)
设定c放置countertype类型指示物的上限
●void Card.SetCustomValue(Card c, string tag, any object)
以tag作为标签为c设置一个自定义值object
●bool Card.SetFlagEffectLabel(Card c,int code,int label)
●void Card.SetHint(Card c,int type,int value)
●void Card.SetMaterial(Card c, Group g)
把g中的所有卡作为c的素材(上级召唤,特殊召唤)
●void Card.SetStatus(Card c, int state, bool enable)
给c设置或者取消状态码。除非妳清楚的了解每个状态码的含意,否则不要轻易使用此函数。
●void Card.SetTurnCounter(Card c, int counter)
设置c的回合计数器(光之护封剑等)
●void Card.SetUniqueOnField(Card c,int pos1,int pos2,int code)
●void Card.TrapMonsterBlock(Card c)
============ Debug =====================
●void Debug.AddCard(int code,int owner,int playerid,int location,int sequence,int position [,bool proc = false])
添加卡片
code 密码
owner,playerid 所有者,当前玩家,下方 0,上方1
location 加载区域,LOCATION_
sequence 区域位置, 怪兽:0-4,魔法:4-0,5-场地,6-P右,7-P左
position 显示方式 POSITION_
proc 是否解除苏生限制
●void Debug.Message(any msg)
显示消息
●void Debug.PreAddCounter(Card pcard,int ctype,int ccount)
添加指示物
pcard 需要添加指示物的卡片
ctype 指示物代码 (参考strings.conf)
ccount 指示物数量
●void Debug.PreEquip(Card equip_card, Card target)
预装备
equip_card 装备魔法卡,target 被装备怪兽
●void Debug.PreSetTarget(Card t_card, Card target)
预选目标
t_card 需要目标的卡片,target 目标卡片
●void Debug.ReloadFieldBegin(interger flag)
重载场地布局开始
flag 残局:DUEL_ATTACK_FIRST_TURN+DUEL_SIMPLE_AI
●void Debug.ReloadFieldEnd()
重载场地布局结束
●void Debug.SetAIName(string name)
设置AI的名字
●void Debug.SetPlayerInfo(int playerid,int lp,int startcount,int drawcount)
设置玩家信息
playerid 下方 0,上方 1
●void Debug.ShowHint(string msg)
显示消息提示框
============== Duel ===================
●integer Duel.AdjustInstantly(Card c)
●integer Duel.AnnounceAttribute(integer player, integer count, integer available)
让玩家player从可选的属性中宣言count个属性。available是所有可选属性的组合值。
●integer Duel.AnnounceCard(integer player)
让玩家player宣言一个卡片代号。
●integer Duel.AnnounceCoin(integer player)
让玩家player宣言硬币的正反面。
●integer Duel.AnnounceLevel(int playerid)
●integer Duel.AnnounceNumber(integer player, ...)
让玩家player宣言一个数字。从第二个参数开始,每一个参数代表一个可宣言的数字。
返回选择的选项的序号。
●integer Duel.AnnounceRace(integer player, integer count, integer available)
让玩家player从可选的种族中宣言count个种族。available是所有可选种族的组合值。
●integer Duel.AnnounceType(integer player)
让玩家player宣言一个卡片类型。
●void Duel.BreakEffect()
中断当前效果,使之后的效果处理视为不同时处理。此函数会造成错时点。
●void Duel.CalculateDamage(Card attacker,Card attack_target,bool skip_timing)
●void Duel.ChainAttack()
使攻击卡再进行一次连续攻击(开辟,破灭的女王)
●void Duel.ChaingeAttacker(Card c)
把当前的攻击卡替换成c进行攻击
●void Duel.ChaingeAttackTarget(Card c)
把当前的攻击目标替换成c。如果c=nil则变成直接攻击。
●void Duel.ChangeBattleDamage(integer player, integer value)
把玩家player在本次战斗中收到的伤害变成value
●void Duel.ChangeChainOperation(integer chainc, function f)
把连锁chainc的效果的处理函数换成f。用于实现“把效果变成”等的效果
●integer Duel.ChangePosition(Card|Group targets,integer au,[integer ad=au, integer du=au, integer dd=au, boolean noflip=false])
改变targets的表示形式。表侧攻击表示的变成au,里侧攻击表示的变成ad,
表侧守备表示变成du,里侧守备表示变成dd
如果noflip=true则不触发翻转效果(但会触发翻转时的诱发效果)
●void Duel.ChangeTargetCard(integer chainc, Group g)
Duel.ChangeTarget
把连锁chainc的对象换成g
●void Duel.ChangeTargetParam(integer chainc, integer param)
把连锁chainc的对象参数换成param
●void Duel.ChangeTargetPlayer(integer chainc, integer player)
把连锁chainc的对象玩家换成player
●boolean Duel.CheckAttackActivity(integer player)
检查玩家player本回合有没有进行过攻击。
●boolean Duel.CheckChainTarget(integer chainc, Card c)
检查c是否是连锁chainc的正确的对象
●boolean Duel.CheckChainUniqueness()
检查当前连锁中是否存在同名卡的发动。true表示无同名卡。
●boolean|Group,integer,integer,Effect,integer,integer Duel.CheckEvent(integer event)
检查当前是否是event时点
●boolean Duel.CheckFlipSummonActivity(integer player)
检查玩家player本回合有没有进行过特殊召唤的行为。
特殊召唤的行为包括:
进行了入连锁和不入连锁的特殊召唤;
发动了确定要特殊召唤的效果但是效果被无效
不包括:发动了确定要特殊召唤的效果但是发动被无效
●boolean Duel.CheckLocation(integer playerid,integer location,integer sequence)
●boolean Duel.CheckLPCost(integer player, integer cost)
检查玩家player是否能支付cost点lp
●boolean Duel.CheckNormalSummonActivity(integer player)
检查玩家player本回合有没有进行过通常召唤的行为。包括召唤和set
●boolean Duel.CheckPhaseActivity()
●boolean Duel.CheckReleaseGroup(integer playerid[,integer use_con,integer fcount,integer pexception)
●boolean Duel.CheckReleaseGroupEx(int playerid,int use_con,int fcount, int pexception)
●boolean Duel.CheckRemoveOverlayCard(int playerid, int s,int o,int count,int reason)
●boolean Duel.CheckSpecialSummonActivity(integer player)
-Duel.CheckSummonActivity
检查玩家player本回合有没有进行过召唤的行为。
召唤被无效视作进行过召唤行为。
●boolean Duel.CheckSummonActivity(integer player)
-Duel.CheckSpecialSummonActivity
检查玩家player本回合有没有进行过召唤的行为。
召唤被无效视作进行过召唤行为。
●boolean Duel.CheckSummonedCount()
Duel.CheckSummonCount
检查回合玩家本回合的通常召唤限制计数。
●boolean Duel.CheckSynchroMaterial(Card c, function f1, function f2, integer min,integer max,Card smat,Group mg)
检查是否存在一组满足条件的卡作为同调召唤c的素材。f1,f2,min同上。
●boolean Duel.CheckTiming(integer time)
●boolean Duel.ChecktReleaseGroup(integer player, function f, integer count, Card ex, ...)
可能过时。
过滤函数,检查玩家player是否存在至少count张不等于ex的满足条件f的可解放的卡
●boolean Duel.CheckTunerMaterial(Card c, Card tuner, function f1, function f2, integer min,integer max,Card smat,Group mg)
检查以tuner作为调整是否存在一组满足条件的卡作为同调召唤c的素材。f1,f2,min同上。
●boolean Duel.CheckXyzMaterial(Card c,function f,int minc,int maxc,Group mg)
●void Duel.ClearTargetCard(int playerid,Card c|Group g)
●void Duel.ConfirmCards(integer player, Card|Group targets)
给玩家player确认targets
●void Duel.ConfirmDeckTop(integer player, integer count)
确认玩家player卡组最上方的count张卡。双方均可确认。
●Card|false Duel.CreateToken(integer player, integer code[, integer setcode,integer attack, integer defence, integer level, integer race, integer attribute])
以传入的参数数值新建一个Token
●integer Duel.Damage(integer player, integer value, integer reason)
以reason原因给与玩家player造成value的伤害。返回实际收到的伤害值。
如果受到伤害变成回复等效果的影响时,返回值为0.
●void Duel.DebugMessage(any msg)
Debug用函数,用于显示信息
●integer Duel.Destroy(Card|Group targets, integer reason,integer dest)
以reason原因破坏targets。返回值是实际被破坏的数量。
如果reason包含REASON_RULE,则破坏事件将不会检查卡片是否免疫效果,
不会触发代破效果并且无视“不能破坏”。
●void Duel.DisableAttack()
使本次攻击无效
●void Duel.DisableShuffleCheck()
使下一个操作不检查是否需要洗卡组或者洗手卡。
注:如果不调用此函数,
除了调用Duel.DiscardDeck和Duel.Draw之外从卡组中取出卡或者把卡加入手卡
或者把卡加入卡组(非最上端或最底端)时,系统会自动在效果处理结束时洗卡组或手卡。
如果不希望如此,比如从卡组顶端除外一张卡等操作,那么需要调用此函数。
此函数仅保证紧接着的一次操作不会进行洗卡检测。
●integer Duel.DiscardDeck(integer player, integer count, integer reason)
以原因reason把玩家player的卡组最上端count张卡送去墓地.返回实际转移的数量。
●integer Duel.DiscardHand(integer player, function f,integer min, integer max, integer reason, Card ex, ...)
过滤函数。让玩家player选择并丢弃满足筛选条件f兵不等于ex的min-max张手卡。
第7个参数开始为额外参数。
●integer Duel.Draw(integer player, integer count, integer reason)
让玩家player以原因reason抽count张卡。返回实际抽的卡的数量。
如果reason含有REASON_RULE则此次抽卡不受“不能抽卡”的效果的影响。
●void Duel.EnableGlobalFlag(int flag)
●boolean Duel.Equip(integer player, Card c1, Card c2)
把c1作为玩家player的装备卡装备给c2。返回值表示是否成功。
●void Duel.EquipComplete()
●Group Duel.FlipSummonedCardsThisTurn(int playerid)
●Card Duel.GetAttacker()
返回此次战斗攻击的卡
●Card Duel.GetAttackTarget()
返回此次战斗被攻击的卡。如果返回nil表示是直接攻击。
●integer Duel.GetBattleDamage(integer player)
返回玩家player在本次战斗中收到的伤害
●... Duel.GetChainInfo(integer chainc, ...)
返回连锁chainc的信息。如果chainc=0,则返回当前正在处理的连锁的信息。
此函数根据传入的参数个数按顺序返回相应数量的返回值。参数可以是:
CHAININFO_CHAIN_COUNT 连锁序号
CHAININFO_TRIGGERING_EFFECT 连锁的效果
CHAININFO_TRIGGERING_PLAYER 连锁的玩家
CHAININFO_TRIGGERING_CONTROLER 连锁发生位置所属玩家
CHAININFO_TRIGGERING_LOCATION 连锁发生位置
CHAININFO_TRIGGERING_SEQUENCE 连锁发生的位置的序号
CHAININFO_TARGET_CARDS 连锁的对象卡片组
CHAININFO_TARGET_PLAYER 连锁的对象玩家
CHAININFO_TARGET_PARAM 连锁的对象参数
CHAININFO_DISABLE_REASON 连锁被无效的原因效果
CHAININFO_DISABLE_PLAYER 连锁被无效的原因玩家
CHAININFO_CHAIN_ID 连锁的唯一标识
举例:
Duel.GetChainInfo(0,CHAININFO_TRIGGERING_LOCATION,CHAININFO_TARGET_CARDS)
将会返回当前连锁发生的位置和对象卡。
●Effect Duel.GetChainMaterial(integer player)
返回玩家player受到的连锁素材的效果。此函数仅用于融合类卡的效果。
●integer Duel.GetCoinResult()
●boolean Duel.GetControl(Card c,integer player,int reset_phase,int reset_count)
让玩家player得到c的控制权。返回值表示是否成功。
●integer Duel.GetCounter(integer player, integer s, integer o,integer countertype)
返回场上存在的countertype类型的指示物的数量。s和o参数作用同上。
●integer Duel.GetCurrentChain()
返回当前正在处理的连锁序号
●integer Duel.GetCurrentPhase()
返回当前的阶段
●Group Duel.GetDecktopGroup(integer player, integer count)
返回玩家player的卡组最上方的count张卡
●Ginteger Duel.GetDiceResult()
●integer Duel.GetDrawCount(integer player)
返回玩家player每回合的规则抽卡数量
●integer,integer Duel.GetEnvironment()
返回code,player
●Group Duel.GetExceedMaterial(Card c)
返回c的超量素材
●integer,integer Duel.GetEnvironment()
返回两个值,表示当前场地代号,以及当前场地效果的来源玩家。
场地代号指当前生效的场地卡的代号,或者海神的巫女把场地变化效果的值。
来源玩家指当前生效的场地卡的控制者,或者海神的巫女等卡的控制者。
●Card Duel.GetFieldCard(integer controler, integer location, integer sequence)
返回指定玩家指定地点指定序号的卡
●Group Duel.GetFieldGroup(integer player, integer s, integer o)
返回指定位置的卡。s指对玩家player来说的己方的位置,
o指对玩家player来说的对方的位置。下面提到的指定位置均为此意。
比如Duel.GetFieldGroup(0,LOCATION_GRAVE,LOCATION_MZONE)
返回玩家1墓地和玩家2的怪兽区的所有卡
●integer Duel.GetFieldGroupCount(integer player, integer s, integer o)
同上,返回值变成卡的数量
●Card Duel.GetFirstMatchingCard(function f, integer player, integer s, integer o, Card ex, ...)
过滤函数,返回指定位置满足过滤条件f并且不等于ex的第一张卡。
第6个参数开始为额外参数。
●Card Duel.GetFirstTarget()
●integer Duel.GetFlagEffect(integer player, integer code)
返回玩家player的特定的标识效果的数量
●integer Duel.GetLocationCount(integer player, integer location[,int uplayer,int reason)
返回玩家player的指定场地location剩余的空格数。
location只能是LOCATION_MZONE或者LOCATION_SZONE。
●integer Duel.GetLP(integer player)
返回玩家player的当前LP
●Group Duel.GetMatchingGroup(function f, integer player, integer s, integer o, Card ex, ...)
过滤函数,返回指定位置满足过滤条件f并且不等于ex的卡。
第6个参数开始为额外参数。
●integer Duel.GetMatchingGroupCount(function f, integer player, integer s, integer o, Card ex, ...)
同上,返回值变成符合的卡的数量。
●Group Duel.GetOperatedGroup()
此函数返回之前一次卡片操作实际操作的卡片组。包括
Duel.Destroy, Duel.Remove, Duel.SendtoGrave,
Duel.SendtoHand, Duel.SendtoDeck, Duel.Release,
Duel.ChangePosition, Duel.SpecialSummon
●integer Duel.GetOperationCount(integer chainc)
返回连锁chainc包含的操作分类的数量
●... Duel.GetOperationInfo(integer chainc, integer category)
返回连锁chainc的category分类的操作信息。返回值为5个,
第一个返回值是false的话表示不存在该分类。后4个返回值对应上一个函数的后4个参数。
●Integer Duel.GetOverlayCount(integer player, integer s, integer o)
返回指定位置的所有叠放的卡的数量
●Group Duel.GetOverlayGroup(integer player, integer s, integer o)
返回指定位置的所有叠放的卡
●Group Duel.GetReleaseGroup(integer player)
返回玩家player可解放(非上级召唤用)的卡片组
●integer Duel.GetReleaseGroupCount(integer player [,bool hand])
返回玩家player可解放(非上级召唤用)的卡片数量
●Group Duel.GetRitualMaterial(integer player)
返回玩家player可用的用于仪式召唤素材的卡片组。
包含手上,场上可解放的以及墓地的仪式魔人等卡。
●integer Duel.GetTargetCount(function f, integer player, integer s, integer o, Card ex, ...)
基本同Duel.GetMatchingGroupCount,
不同之处在于需要追加判定卡片是否能成为当前正在处理的效果的对象。
●integer Duel.GetTributeCount(Card c)
返回用于通常召唤c的祭品数量。
此数量不一定等于上一个函数的返回值中的卡片数量。
因为某些卡可以作为两个祭品来使用。
●Group Duel.GetTributeGroup(Card c)
返回用于通常召唤c可解放(上级召唤用)的卡片组
●integer Duel.GetTurnCount()
返回当前的回合数
●integer Duel.GetTurnPlayer()
返回当前的回合玩家
●void Duel.Hint(integer player, integer desc)
给玩家发送内置消息提示
●void Duel.HintSelection(Group g)
●void Duel.IncreaseSummonCount()
本回合的通常召唤限制计数+1
●void Duel.IncreaseSummonedCount(Card c)
●boolean Duel.IsCanRemoveCounter(integer player, integer s,integer o, integer countertype, integer count, integer reason)
检查玩家player是否能移除场上的countertype类型的count个指示物。
s和o参数作用同上。
●boolean Duel.IsChainDisablable(integer chainc)
检查连锁chainc的效果是否可以被无效化
●boolean Duel.IsChainInactivatable(integer chainc)
检查连锁chainc的发动是否可以被无效化
●boolean Duel.IsChainNegatable(int32 chaincount)
●boolean Duel.IsDamageCalculated()
用于在伤害阶段检查是否已经计算了战斗伤害。
●boolean Duel.IsEnvironment(int code,int playerid)
●boolean Duel.IsExistingMatchingCard(function f, integer player, integer s, integer o, integer count, Card ex, ...)
过滤函数,检查指定位置是否存在至少count张满足过滤条件f并且不等于ex的卡。
第7个参数开始为额外参数。
●boolean Duel.IsExistingTarget(function f, integer player, integer s, integer o, integer count, Card ex, ...)
过滤函数,检查指定
位置是否存在至少count张满足过滤条件f并且不等于ex
并且可以成为当前正在处理的效果的对象的卡。
第7个参数开始为额外参数。
●boolean Duel.IsPlayerAffectByEffect(integer player, integer code)
检查玩家player是否受特性效果的影响
●boolean Duel.IsPlayerAffectedByEffect(int playerid,int code)
●boolean Duel.IsPlayerCanDiscardDeck(integer player,int count)
检查玩家player是否可以把卡组顶端的卡送去墓地
●boolean Duel.IsPlayerCanDiscardDeckAdCost(integer player, int count)
检查玩家player是否可以把卡组顶端的卡送去墓地作为cost。
当卡组没有足够数量的卡,
或者当卡组中的卡受到送墓转移效果的影响时(如大宇宙,次元裂缝,即使不是全部)
此函数会返回false
●boolean Duel.IsPlayerCanDraw(integer player)
检查玩家player是否可以效果抽卡
●boolean Duel.IsPlayerCanFlipSummon(integer player, Card c)
检查玩家player是否可以反转召唤c。
●boolean Duel.IsPlayerCanFlipSummonCount(int playerid,int count)
●boolean Duel.IsPlayerCanRelease(integer player, Card c)
检查玩家是否能解放c
●boolean Duel.IsPlayerCanRemove(integer player, Card c)
检查玩家是否能除外c
●boolean Duel.IsPlayerCanSendtoDeck(integer player, Card c)
检查玩家是否能把c送去卡组
●boolean Duel.IsPlayerCanSendtoGrave(integer player, Card c)
检查玩家是否能把c送去墓地
●boolean Duel.IsPlayerCanSendtoHand(integer player, Card c)
检查玩家是否能把c送去手牌
●boolean Duel.IsPlayerCanSpecialSummon(int playerid,int sumtype.int sumpos,int toplayer,card c)
●boolean Duel.IsPlayerCanSpecialSummonCount(int playerid,int count)
●boolean Duel.IsPlayerCanSpecialSummonMonster(integer player, integet code, integer setcode, integer attack, integer defence integer level, integer race, integer attribute, [integer pos=POS_FACEUP, integer target_player=player])
检查玩家player是否可以以pos的表示形式特殊召唤特定属性值的怪物到target_player场上。
此函数通常用于判定是否可以特招token和陷阱怪物。
●boolean Duel.IsPlayerCanSummon(integer player, integer sumtype, Card c)
检查玩家player是否可以以sumtype方式通常召唤c。
仅当玩家收到“不能上级召唤”等效果的影响时返回false。
●boolean Duel.IsPlayerCanSummonCount(int playerid,int count)
●void Duel.MajesticCopy(Card c1,Card c2)
●void Duel.MoveSequence(Card c, integer seq)
移动c的序号。通常用于在场上换格子或者在卡组中移动到最上方或者最下方。
●void Duel.MoveToField(Card c, integer move_player, integer target_player,integer dest, integer pos, boolean enabled)
让玩家move_player把c移动的target_player的场上。
dest只能是LOCATION_MZONE或者LOCATION_SZONE。pos表示可选表示形式。
enable表示是否立刻适用c的效果。
●void Duel.MSet(integer player, Card c, boolean ignore_count, Effect e)
让玩家以效果e对c进行通常召唤的Set。
如果e=nil,那么就按照一般的通常召唤规则进行通常召唤。
如果ignore_count=true,则忽略每回合的通常召唤次数限制。
●void Duel.NegateActivation(integer chainc)
使连锁chainc的发动无效
●void Duel.NegateAttack()
●void Duel.NegateEffect(integer chainc)
使连锁chainc的效果无效
●void Duel.NegateRelatedChain(Card c,int reset)
●void Duel.NegateSummon(Card c)
使正在召唤,反转召唤,特殊召唤的c的召唤无效
●Group Duel.NormalSummonedCardsThisTurn(int playerid)
●void Duel.Overlay(Card c, Card|Group ocard)
把ocard作为c的叠放卡叠放
●void Duel.PayLPCost(integer player, integer cost)
让玩家player支付cost点lp
●void Duel.RaiseEvent(Group eg,integer code, Effect reason_effect,integer reason,integer reason_player,integer event_player,integer event param)
触发一个事件。
●void Duel.RaiseSingleEvent(Card ec,integer code, Effect reason_effect,integer reason,integer reason_player,integer event_player, integer event param)
触发一个单体事件。
●void Duel.Readjust()
刷新场上的卡的信息。非特定情况或者不清楚原理请勿使用此函数以免形成死循环。
●integer Duel.Recover(integer player, integer value, integer reason)
以reason原因使玩家player回复value的LP。返回实际的回复值。
如果受到回复变成伤害等效果的影响时,返回值为0.
●void Duel.RegisterEffect(Effect e, integer player)
把效果作为玩家player的效果注册给全局环境。
●Effect Duel.RegisterFlagEffect(integer player, integer code, integer reset_flag, integer property, integer reset_count)
此函数为玩家player注册全局环境下的标识效果。
此效果总是影响玩家的(EFFECT_FLAG_PLAYER_TARGET)并且不会被无效化。
其余部分与Card.RegisterFlagEffect相同
●integer Duel.Release(Card|Group targets, integer reason)
以reason原因解放targets。返回值是实际解放的数量。
如果reason含有REASON_COST,则不会检查卡片是否不受效果影响
●void Duel.ReleaseRitualMaterial(Group g)
解放仪式用的素材g。如果是墓地的仪式魔人等卡则除外。
●integer Duel.Remove(Card|Group targets, integer pos, integer reason)
以reason原因,pos表示形式除外targets。
返回值是实际被操作的数量。
如果reason包含REASON_TEMPORARY,
那么视为是暂时除外,可以通过Duel.ReturnToField返回到场上
●void Duel.RemoveCounter(integer player, integer s, integer o,integer countertype, integer count, integer reason)
让玩家player移除场上存在的countertype类型的count个指示物。
s表示对player来说的己方的可移除指示物的位置,
o表示对player来说的对方的可移除指示物的位置
●void Duel.RemoveOverlayCard(integer player, integer s, integer o, integer min, integer max, integer reason)
以reason原因移除指定位置的min-max张叠放卡
●void Duel.ReplaceAttacker(Card c)
用c代替当前攻击的卡进行伤害阶段
●void Duel.ReplaceAttackTarget(Card c)
(预留)
●void Duel.ResetFlagEffect(integer player, integer code)
手动reset玩家player的特定的标识效果
●void Duel.ReturnToField(Card c)
把c返回到场上。c必须是以REASON_TEMPORARY原因离场,并且离场后没有离开过那个位置。
●integer Duel.SelectDisableField(integer player, integer count, integer s, integer o, integer filter)
让玩家player选择指定位置的count个位置不能使用。
●boolean Duel.SelectEffectYesNo(integer player, integer code)
让玩家选择是否发动卡的效果
●Group Duel.SelectFusionMaterial(integer player, Card c, Group g)
让玩家player从g中选择一组满足c的融合素材的卡
●Group Duel.SelectMatchingCard(integer sel_player, function f, integer player,integer s, integer o, integer min, integer max, Card ex, ...)
过滤函数,让玩家sel_player选择指定位置满足过滤条件f并且不等于ex的min-max张卡。
第9个参数开始为额外参数。
●integer Duel.SelectOption(integer player, ...)
让玩家选择选项。从第二个参数开始,每一个参数代表一条选项。
返回选择的选项的序号。
●void Duel.SelectPosition(int playerid,Card c,int pos)
●Group Duel.SelectReleaseGroup(integer player, function f, integer min, integer max, Card ex, ...)
过滤函数,让玩家player选择min-max张不等于ex的满足条件f的可解放的卡并返回
●Group Duel.SelectReleaseGroupEx(integer player, function f, integer min, integer max, Card ex, ...)
过滤函数,让玩家player选择min-max张不等于ex的满足条件f的可解放的卡并返回
●void Duel.SelectSequence()
(预留)
●Group Duel.SelectSynchroMaterial(integer player, Card c, function f1, function f2, integer min)
让玩家选择用于同调c需要的满足条件的数量至少是min的一组素材。
f1是调整需要满足的过滤条件。f2是调整以外的部分需要满足的过滤条件。
●Group Duel.SelectTarget(integer sel_player, function f, integer player, integer s, integer o, integer min, integer max,Card ex, ...)
过滤函数,让玩家sel_player选择指定
位置满足过滤条件f并且不等于ex
并且可以成为当前正在处理的效果的对象的min-max张卡。
第9个参数开始为额外参数。
此函数会同时酱当前正在处理的连锁的对象设置成选择的卡
●Group Duel.SelectTribute(integer player, Card c, integer min, integer max)
让玩家player选择用于通常召唤c的min-max个祭品。
●Group Duel.SelectTunerMaterial(integer player, Card c, Card tuner, function f1, function f2, integer min)
让玩家选择用于同调c需要的满足条件的以tuner作为调整的数量至少是min的一组素材。
f1是调整需要满足的过滤条件。f2是调整以外的部分需要满足的过滤条件。
●void Duel.SelectXyzMaterial(int playerid,Card c,int min,int max)
●boolean Duel.SelectYesNo(integer player, integer desc)
让玩家选择是或否
●integer Duel.SendtoDeck(Card|Group targets, integer player | nil, integer seq, integer reason)
以reason原因把targets送去玩家player的卡组。
返回值是实际被操作的数量。
如果player是nil则返回卡的持有者的卡组。
如果seq=0,则是返回卡组最顶端;seq=1则是返回卡组最低端;
其余情况则是返回最顶端并且标记需要洗卡组。
●integer Duel.SendtoGrave(Card|Group targets, integer reason)
以reason原因把targets送去墓地。返回值是实际被操作的数量。
●integer Duel.SendtoHand(Card|Group targets,integer player | nil, integer reason)
以reason原因把targets送去玩家player的手牌。
返回值是实际被操作的数量。
如果player是nil则返回卡的持有者的手牌。
●void Duel.SetChainLimit(function f)
设定连锁条件。f是接受一个Effect类型作为参数并且返回boolean值的函数。
在cost或者target处理中调用此函数可以限制可以连锁的效果的种类(如超融合)
。如果f返回false表示不能连锁。一旦设置连锁条件后发生了新的连锁那么连锁条件将会解除。
●void Duel.SetChainLimitTillChainEnd(function f)
功能同上,但是此函数设定的连锁条件直到连锁结束才会解除。
●void Duel.SetCoinResult( ... )
强行修改投硬币的结果。此函数用于永续的EVENT_TOSS_COIN事件中
●void Duel.SetDiceResult( ... )
强行修改投骰子的结果。此函数用于永续的EVENT_TOSS_DICE事件中
●void Duel.SetFusionMaterial(Group g)
设置g为需要使用的融合素材
●void Duel.SetLP(integer player, integer lp)
设置玩家player的当前LP为lp
●void Duel.SetOperationInfo(integer chainc, integer category, Card|Group targets, integer count, integer target_player, integer target_param)
设置当前处理的连锁的操作信息。此操作信息包含了效果处理中确定要处理的效果分类。
比如潜行狙击手需要设置CATEGORY_DICE,但是不能设置CATEGORY_DESTROY,因为不确定。
对于破坏效果,targets需要设置成发动时可能成为连锁的影响对象的卡,
并设置count为发动时确定的要处理的卡的数量。
比如黑洞发动时,targets需要设定为场上的所有怪物,count设置成场上的怪的数量。
对于CATEGORY_SPECIAL_SUMMON,CATEGORY_TOHAND,CATEGORY_TODECK等分类,
如果取对象则设置targets为对象,count为对象的数量;
如果不取对象则设置targets为nil,count为预计要处理的卡的数量,
并设置target_param为预计要处理的卡的位置。
例如增援:SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,LOCATION_DECK)。
操作信息用于很多效果的发动的检测,例如星尘龙,王家沉眠之谷等。
●void Duel.SetSynchroMaterial(Group g)
设置g为需要使用的同调素材
●void Duel.SetTargetCard(Group g)
把当前正在处理的连锁的对象设置成g。
注,这里的对象指的的广义的对象,包括不取对象的效果可能要处理的对象。
●void Duel.SetTargetParam(integer param)
把当前正在处理的连锁的对象参数设置成param。
●void Duel.SetTargetPlayer(integer player)
把当前正在处理的连锁的对象玩家设置成player。
●void Duel.ShuffleDeck(integer player)
手动洗玩家player的卡组
●void Duel.ShuffleHand(integer player)
手动洗玩家player的手卡
注:以上两个操作会重置洗卡检测的状态。
●void Duel.ShuffleSetCard(Group g)
●void Duel.SkipPhase(integer player, integer phase, integer reset_flag, integer reset_count)
跳过玩家player的phase阶段,并在特定的阶段后reset。reset参数和效果相同。
●void Duel.SortDecktop(integer sort_player, integer target_player, integer count)
让玩家sort_player对玩家target_player的卡组最上方count张卡进行排序
●integer Duel.SpecialSummon(Card|Group targets, integer sumtype, integer sumplayer, integer target_player, boolean nocheck, boolean nolimit,integer pos)
让玩家player以sumtype方式,pos表示形式把targets特殊召唤到target_player场上。
如果nocheck为true则无视卡的召唤条件。如果nolimit为true则无视卡的苏生限制。
返回值是特殊召唤成功的卡的数量。
●integer Duel.SpecialSummonComplete()
此函数在确定复数个上一个函数调用完毕之后调用。用于触发事件。
●integer Duel.SpecialSummonedCardsThisTurn()
●void Duel.SpecialSummonRule(integer player, Card c)
让玩家player对c进行特殊召唤手续。
●boolean Duel.SpecialSummonStep(Card c, integer sumtype, integer sumplayer,integer target_player, boolean nocheck, boolean nolimit, integer pos)
此函数是上一个函数的分解过程,只特殊召唤一张卡c。
此函数用于一个效果需要双方同时特殊召唤时。此函数必须和下面的函数一起使用。
返回值表示是否特殊召唤成功。
●void Duel.SSet(integer player, Card c)
让玩家player把c放置到魔法陷阱区
●void Duel.Summon(integer player, Card c, boolean ignore_count, Effect e)
让玩家以效果e对c进行通常召唤(非set)。
如果e=nil,那么就按照一般的通常召唤规则进行通常召唤。
如果ignore_count=true,则忽略每回合的通常召唤次数限制。
●void Duel.SummonedCardsThisTurn(int playerid)
●boolean Duel.SwapControler(Card c1, Card c2)
交换c1和c2的控制权。返回值表示是否成功。
●boolean Duel.SwapDeckAndGrave(integer player)
现世与冥界的逆转专用。把玩家player的卡组和墓地交换
●void Duel.SynchroSummon(integer player, Card c, Card tuner)
让玩家player以tuner作为调整对c进行特殊召唤手续。
●... Duel.TossCoin(integer player, integer count)
让玩家player投count次硬币。返回值为count个结果。结果是0或者1.
●... Duel.TossDice(integer player, integer count)
让玩家player投count次骰子。返回值为count个结果。结果是1-6.
●boolean Duel.VenomSwampCheck(int playerid,Card c)
●void Duel.Win(function f, Effect e, integer player)
在当前效果处理完之后调用f进行胜负检测。e和player作为f的两个参数传递给f。
f返回值的低16位表示胜负判定玩家,
0表示玩家1胜利,1表示玩家2胜利,2表示平局,
此外是无胜负兵继续进行。高16位表示胜负的原因。
●void Duel.XyzSummon(int playerid, Card c, Group g)
============== Effect ==================
●Effect Effect.Clone(Effect e)
新建一个效果e的副本
●Effect Effect.CreateEffect(Card c)
新建一个空效果,并且效果的拥有者为c
●int Effect.GetActivateLocation(Effect e)
返回活动区域
●int Effect.GetActiveType(Effect e)
返回当前的效果类型
●int Effect.GetCategory(Effect e)
返回Category属性
●int Effect.GetCode(Effect e)
返回code属性
●function Effect.GetCondition(Effect e)
返回condition属性
●function Effect.GetCost(Effect e)
返回cost属性
●int Effect.GetDescription(Effect e)
返回效果描述
●int Effect.GetFieldID(Effect e)
获取效果e的id
●Card Effect.GetHandler(Effect e)
返回效果在哪一张卡上生效(通常是注册该效果的卡)
●int Effect.GetHandlerPlayer(Effect e)
返回当前者
●int Effect.GetLabel(Effect e)
返回Label属性
●Card|Group|Effect Effect.GetLabelObject(Effect e)
返回Label属性
●function Effect.GetOperation(Effect e)
返回operation属性
●Card Effect.GetOwner(Effect e)
返回效果拥有者
●int Effect.GetOwnerPlayer(Effect e)
返回所有者
●int Effect.GetProperty(Effect e)
返回Property属性
●function Effect.GetTarget(Effect e)
返回target属性
●int Effect.GetType(Effect e)
返回Type属性
●function|int Effect.GetValue(Effect e)
返回value属性
●Effect Effect.GlobalEffect()
新建一个全局效果
●bool Effect.IsActivatable(Effect e,int playerid)
检查当前的效果活动区域
●int Effect.IsActiveType(Effect e, int type)
检查当前的效果类是否等于type
●bool Effect.IsHasCategory(Effect e, int cate)
检查效果是否含有效果分类cate
●bool Effect.IsHasProperty(Effect e, int prop)
检查效果是否含有标志prop
●bool Effect.IsHasType(Effect e, int type)
检查效果是否属于类型type
●void Effect.Reset(Effect e)
把效果e重置。重置之后不可以再使用此效果
●void Effect.SetAbsoluteRange(Effect e, int playerid,int s_range, int o_range)
设置target range属性并设置EFFECT_FLAG_ABSOLUTE_RANGE标志
playerid != 0 s_range和o_range反转
●void Effect.SetCategory(Effect e, int cate)
设置Category属性
●void Effect.SetCode(Effect e, int code)
为效果e设置Code属性
●void Effect.SetCondition(Effect e, function con_func)
设置Condition属性
●void Effect.SetCost(Effect e, function cost_func)
设置Cost属性
●void Effect.SetCountLimit(Effect e, int count [,int code = 0])
设置一回合可以发动的次数count(仅触发型效果有效)
●void Effect.SetDescription(Effect e, int desc)
为效果e设置效果描述
●void Effect.SetHintTiming(Effect e, int s_time, [int o_time=s_time])
设置提示时间
●void Effect.SetLabel(Effect e, int label)
设置Label属性
●void Effect.SetLabelObject(Effect e, Card|Group|Effect label)
设置Label属性
●void Effect.SetOperation(Effect e, function op_func)
设置Operation属性
●void Effect.SetOwnerPlayer(Effect e, int player)
设置Owner player属性
●void Effect.SetProperty(Effect e, int prop)
设置Property属性
●void Effect.SetRange(Effect e, int range)
为效果e设置Range属性
●void Effect.SetReset(Effect e, int reset_flag, [int reset_count = 1])
设置reset参数
●void Effect.SetTarget(Effect e, function targ_func)
设置Target属性
●void Effect.SetTargetRange(Effect e, int s_range, int o_range)
为效果e设置Target Range属性
s_range指影响的我方区域。
o_range值影响的对方区域。
如果property属性中指定了EFFECT_FLAG_ABSOLUTE_RANGE标志,
那么s_range指玩家1收到影响的区域,o_range指玩家2受到影响的区域。
如果这是一个特殊召唤手续(EFFECT_SPSUMMON_PROC)的效果,
并且property指定了EFFECT_FLAG_SPSUM_PARAM标志,
那么s_range表示特殊召唤到的哪个玩家的场地,
o_range表示可选择的表示形式。
●void Effect.SetType(Effect e, int type)
为效果e设置Type属性
●void Effect.SetValue(Effect e, int|function val)
设置Value属性
============== Group ==================
●void Group.AddCard(Group g, Card c)
往g中增加c
●bool Group.CheckWithSumEqual(Group g, function f, int sum, int min)
子集求和判定函数。
f为返回一个interger值的函数(通常用于同调判定)。
检查g中是否存在一个数量至少为min的子集满足以f对子集的每一个元素求值的和等于sum。
比如:g:CheckWithSumEqual(Card.GetSynchroLevel,7,2)
检查g中是否存在一个子集满足子集的同调用等级之和等于7
●bool Group.CheckWithSumGreater(Group g, function f, int sum)
子集求和判定函数之二。
f为返回一个interger值的函数(通常用于仪式判定)。
检查g中是否存在一个子集满足以f对子集的每一个元素求值的和刚好大于或者等于sum。
比如:g:CheckWithSumGreater(Card.GetRitualLevel,8)
检查g中是否存在一个子集满足子集的仪式用等级之和大于等于8
注:判定必须是“刚好”大于或者等于。
以等级为例,要使等级合计大于等于8,可以选择LV1+LV7而不可以选择LV1+LV4+LV4
●void Group.Clear(Group g)
清空卡片组
●Group Group.Clone(Group g)
新建卡片组g的副本
●Group Group.CreateGroup()
新建一个空的卡片组
●void Group.DeleteGroup(Group g)
删除卡片组g
●bool Group.Equal(Group g1, Group g2)
判断g1和g2是否相同
●Group Group.Filter(Group g, function f, Card ex [, ...])
过滤函数。从g中筛选满足筛选条件f并且不等于ex的卡。
从第4个参数开始为额外参数。
●int Group.FilterCount(Group g, function f, Card ex [, ...])
过滤函数。和上一个函数基本相同。不同指出在于此函数只返回满足条件的卡的数量。
●Group Group.FilterSelect(Group g, int player, function f,int min, int max, Card ex, ...)
过滤函数。让玩家player从g中选择min-max张满足筛选条件f并且不等于ex的卡。
从第7个参数开始为额外参数。
●void Group.ForEach(Group g, function f)
以g中的每一张卡作为参数调用一次f
●Group Group.FromCards(Card c [, ...])
不定参数,把传入的所有卡组合成一个卡片组并返回
●int Group.GetClassCount(Group g, function f)
计算g中所有卡的种类数量。f为分类的依据,返回相同的值视为同一种类。
●int Group.GetCount(Group g)
返回g中卡的数量
●Card Group.GetFirst(Group g)
返回g中第一张卡,并重置当前指针到g中第一张卡。
如果g中不存在卡则返回nil
●Group Group.GetMaxGroup(Group g, function f)
f为返回一个interger值的函数。从g中筛选出具有最大的f的值的卡。用于地碎等卡。
●Group Group.GetMinGroup(Group g, function f)
f为返回一个interger值的函数。从g中筛选出具有最小的f的值的卡。用于地裂等卡。
●Card Group.GetNext(Group g)
返回并使指针指向下一张卡。如果g中不存在卡则返回nil
●int Group.GetSortCount(Group g, function f)
【旧】计算g中所有卡的种类数量。
【新】GetClassCount(Group g, function f)
f为分类的依据,返回相同的值视为同一种类。
●int Group.GetSum(Group g, function f)
计算g中所有卡的取值的总和。f为为每张卡的取值函数。
●bool Group.IsContains(Group g, Card c)
检查g中是否存在卡片c
●bool Group.IsExists(Group g, function f, int count, Card ex, ...)
过滤函数。检查g中是否存在至少count张满足筛选条件f并且不等于ex的卡。
从第5个参数开始为额外参数。
●Group Group.KeepAlive(Group g)
让卡片组持续
●Group Group.Merge(Group g1, Group g2)
把g2中的所有卡合并到g1。
注:g2本身不会发生变化。
●Group Group.RandomSelect(Group g, int player, int count)
让玩家player从g中随机选择count张卡。
因为是随机算则,所以参数player基本无用,由系统随机选取。
●Group Group.Remove(Group g, function f, ...)
过滤函数。从g中移除满足筛选条件f的所有卡。第三个参数开始是额外参数。
●void Group.RemoveCard(Group g, Card c)
把c从g中移除
●Card Group.SearchCard(Group g, function f, ...)
过滤函数。返回g中满足筛选条件f的第一张卡。第三个参数为额外参数。
●Group Group.Select(Group g, int player, int min, int max, Card ex)
让玩家player从g中选择min-max张不等于ex的卡。
●Group Group.SelectWithSumEqual(Group g, int player, function f, int sum, int min)
让玩家player从g中选取一个数量至少是min的子集使子集的特定函数的和等于sum
●Group Group.SelectWithSumGreater(Group g, int player, function f, int sum)
让玩家player从g中选取一个子集使子集的特定函数的和大于等于sum
●Group Group.Sub(Group g1, Group g2)
把g2中的所有卡合并到g1。
注:g2本身不会发生变化。
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
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
--Locations 区域
LOCATION_DECK =0x01 --卡组
LOCATION_HAND =0x02 --手牌
LOCATION_MZONE =0x04 --怪兽区
LOCATION_SZONE =0x08 --魔陷区
LOCATION_GRAVE =0x10 --墓地
LOCATION_REMOVED =0x20 --除外区
LOCATION_EXTRA =0x40 --额外
LOCATION_OVERLAY =0x80 --超量素材
LOCATION_ONFIELD =0x0c --场上(怪兽+魔陷)
LOCATION_DECKBOT =0x10001 --卡组底部
LOCATION_DECKSHF =0x20001 --卡组顶部
--Locations (for SetRange)
LOCATION_FZONE =0x100 --场地区
LOCATION_PZONE =0x200 --摇摆区
--Positions 表示形式
POS_FACEUP_ATTACK =0x1 --表侧攻击
POS_FACEDOWN_ATTACK =0x2 --里侧攻击
POS_FACEUP_DEFENCE =0x4 --表侧守备
POS_FACEDOWN_DEFENCE =0x8 --里侧守备
POS_FACEUP =0x5 --正面表示
POS_FACEDOWN =0xa --背面表示
POS_ATTACK =0x3 --攻击表示
POS_DEFENCE =0xc --守备表示
NO_FLIP_EFFECT =0x10000--不发动反转效果
--Types 卡片类型
TYPE_MONSTER =0x1 --怪兽卡
TYPE_SPELL =0x2 --魔法卡
TYPE_TRAP =0x4 --陷阱卡
TYPE_NORMAL =0x10 --通常
TYPE_EFFECT =0x20 --效果
TYPE_FUSION =0x40 --融合
TYPE_RITUAL =0x80 --仪式
TYPE_TRAPMONSTER =0x100 --陷阱怪兽
TYPE_SPIRIT =0x200 --灵魂
TYPE_UNION =0x400 --同盟
TYPE_DUAL =0x800 --二重
TYPE_TUNER =0x1000 --调整
TYPE_SYNCHRO =0x2000 --同调
TYPE_TOKEN =0x4000 --衍生物
TYPE_QUICKPLAY =0x10000 --速攻
TYPE_CONTINUOUS =0x20000 --永续
TYPE_EQUIP =0x40000 --装备
TYPE_FIELD =0x80000 --场地
TYPE_COUNTER =0x100000 --反击
TYPE_FLIP =0x200000 --翻转
TYPE_TOON =0x400000 --卡通
TYPE_XYZ =0x800000 --超量
TYPE_PENDULUM =0x1000000 --摇摆
--Attributes 属性
ATTRIBUTE_EARTH =0x01 --地
ATTRIBUTE_WATER =0x02 --水
ATTRIBUTE_FIRE =0x04 --炎
ATTRIBUTE_WIND =0x08 --风
ATTRIBUTE_LIGHT =0x10 --光
ATTRIBUTE_DARK =0x20 --暗
ATTRIBUTE_DEVINE =0x40 --神
--Races 种族
RACE_ALL =0xffffff --全种族
RACE_WARRIOR =0x1 --战士
RACE_SPELLCASTER =0x2 --魔法师
RACE_FAIRY =0x4 --天使
RACE_FIEND =0x8 --恶魔
RACE_ZOMBIE =0x10 --不死
RACE_MACHINE =0x20 --机械
RACE_AQUA =0x40 --水
RACE_PYRO =0x80 --炎
RACE_ROCK =0x100 --岩石
RACE_WINDBEAST =0x200 --鸟兽
RACE_PLANT =0x400 --植物
RACE_INSECT =0x800 --昆虫
RACE_THUNDER =0x1000 --雷
RACE_DRAGON =0x2000 --龙
RACE_BEAST =0x4000 --兽
RACE_BEASTWARRIOR =0x8000 --兽战士
RACE_DINOSAUR =0x10000 --恐龙
RACE_FISH =0x20000 --鱼
RACE_SEASERPENT =0x40000 --海龙
RACE_REPTILE =0x80000 --爬虫
RACE_PSYCHO =0x100000 --念动力
RACE_DEVINE =0x200000 --幻神兽
RACE_CREATORGOD =0x400000 --创造神
RACE_WYRM =0x800000 --幻龙
--Reason 卡片到当前位置的原因
REASON_DESTROY =0x1 --破坏
REASON_RELEASE =0x2 --解放
REASON_TEMPORARY =0x4 --暂时
REASON_MATERIAL =0x8 --作为融合/同调/超量等的素材
REASON_SUMMON =0x10 --召唤
REASON_BATTLE =0x20 --战斗破坏
REASON_EFFECT =0x40 --效果
REASON_COST =0x80 --COST
REASON_ADJUST =0x100 --调整(御前试合)
REASON_LOST_TARGET =0x200 --失去效果对象
REASON_RULE =0x400 --规则
REASON_SPSUMMON =0x800 --特殊召唤
REASON_DISSUMMON =0x1000 --召唤失败
REASON_FLIP =0x2000 --翻转
REASON_DISCARD =0x4000 --丢弃
REASON_RDAMAGE =0x8000 --基本分伤害
REASON_RRECOVER =0x10000 --基本分恢复
REASON_RETURN =0x20000 --回收
REASON_FUSION =0x40000 --融合
REASON_SYNCHRO =0x80000 --同调
REASON_RITUAL =0x100000 --仪式
REASON_XYZ =0x200000 --超量
REASON_REPLACE =0x1000000 --代替
REASON_DRAW =0x2000000 --抽卡
REASON_REDIRECT =0x4000000 --改变去向(大宇宙,带菌等)
REASON_REVEAL =0x8000000 --翻开卡组(森罗)
--Summon Type --召唤类型
SUMMON_TYPE_NORMAL =0x10000000 --通常召唤
SUMMON_TYPE_ADVANCE =0x11000000 --上级(祭品)召唤
SUMMON_TYPE_DUAL =0x12000000 --再度召唤(二重)
SUMMON_TYPE_FLIP =0x20000000 --翻转召唤
SUMMON_TYPE_SPECIAL =0x40000000 --特殊召唤
SUMMON_TYPE_FUSION =0x43000000 --融合召唤
SUMMON_TYPE_RITUAL =0x45000000 --仪式召唤
SUMMON_TYPE_SYNCHRO =0x46000000 --同调召唤
SUMMON_TYPE_XYZ =0x49000000 --超量召唤
SUMMON_TYPE_PENDULUM =0x4a000000 --摇摆召唤
--Status --卡片当前状态
STATUS_DISABLED =0x0001 --效果被无效
STATUS_TO_ENABLE =0x0002 --将变成有效
STATUS_TO_DISABLE =0x0004 --将变成无效
STATUS_PROC_COMPLETE =0x0008 --完成正规召唤(解除苏生限制)
STATUS_SET_TURN =0x0010 --覆盖
STATUS_FLIP_SUMMONED =0x0020 --翻转
STATUS_REVIVE_LIMIT =0x0040 --未解除苏生限制
STATUS_ATTACKED =0x0080 --攻击过
STATUS_FORM_CHANGED =0x0100 --改变过表示形式
STATUS_SUMMONING =0x0200 --召唤中
STATUS_EFFECT_ENABLED =0x0400 --效果有效
STATUS_SUMMON_TURN =0x0800 --在本回合召唤
STATUS_DESTROY_CONFIRMED =0x1000 --破坏确定
STATUS_LEAVE_CONFIRMED =0x2000 --离开确定
STATUS_BATTLE_DESTROYED =0x4000 --战斗破坏确定
STATUS_COPYING_EFFECT =0x8000 --复制效果
STATUS_CHAINING =0x10000 --进入连锁
STATUS_SUMMON_DISABLED =0x20000 --召唤无效
STATUS_ACTIVATE_DISABLED =0x40000 --发动无效
STATUS_UNSUMMONABLE_CARD =0x80000 --不能通常召唤
STATUS_UNION =0x100000 --同盟
STATUS_ATTACK_CANCELED =0x200000 --攻击取消(卷回?)
STATUS_INITIALIZING =0x400000 --初始化..
STATUS_ACTIVATED =0x800000 --效果已发动
STATUS_JUST_POS =0x1000000 --
STATUS_CONTINUOUS_POS =0x2000000 --连续变更表示形式?
STATUS_IS_PUBLIC =0x4000000 --公开展示
STATUS_ACT_FROM_HAND =0x8000000 --在手牌发动
--Assume
ASSUME_CODE =1
ASSUME_TYPE =2
ASSUME_LEVEL =3
ASSUME_RANK =4
ASSUME_ATTRIBUTE =5
ASSUME_RACE =6
ASSUME_ATTACK =7
ASSUME_DEFENCE =8
--Counter --指示物
COUNTER_NEED_PERMIT =0x1000 --某指示物数量上限
COUNTER_NEED_ENABLE =0x2000 --可以放置某指示物
--Phase --阶段
PHASE_DRAW =0x01 --抽卡阶段
PHASE_STANDBY =0x02 --准备阶段
PHASE_MAIN1 =0x04 --主要阶段1
PHASE_BATTLE =0x08 --战斗阶段
PHASE_DAMAGE =0x10 --伤害计算前
PHASE_DAMAGE_CAL =0x20 --伤害计算时
PHASE_MAIN2 =0x40 --主要阶段2
PHASE_END =0x80 --结束阶段
--Player --玩家
PLAYER_NONE =2 --2个玩家都不是
PLAYER_ALL =3 --2个玩家都是
--Chain info --连锁信息
CHAININFO_CHAIN_COUNT =0x01 --连锁数
CHAININFO_TRIGGERING_EFFECT =0x02 --连锁的效果
CHAININFO_TRIGGERING_PLAYER =0x04 --连锁的玩家
CHAININFO_TRIGGERING_CONTROLER =0x08 --连锁的卡的控制者
CHAININFO_TRIGGERING_LOCATION =0x10 --连锁的位置
CHAININFO_TRIGGERING_SEQUENCE =0x20 --连锁的位置的编号(指怪兽和魔陷区的格子)
CHAININFO_TARGET_CARDS =0x40 --连锁的效果的对象(以下3个需要在target函数里设置)
CHAININFO_TARGET_PLAYER =0x80 --连锁的效果的对象(玩家)
CHAININFO_TARGET_PARAM =0x100 --连锁的效果的参数值
CHAININFO_DISABLE_REASON =0x200 --无效的原因
CHAININFO_DISABLE_PLAYER =0x400 --无效的玩家
CHAININFO_CHAIN_ID =0x800 --连锁ID
CHAININFO_TYPE =0x1000 --连锁类型
CHAININFO_EXTTYPE =0x2000 --连锁额外类型
--========== Reset ========== --重置条件(注意:重置条件可以多个相加,例如0x000c0000=0x00040000+0x00080000=RESET_TOGRAVE+RESET_REMOVE)
RESET_DRAW =PHASE_DRAW --抽卡阶段重置
RESET_STANDBY =PHASE_STANDBY --准备阶段重置
RESET_MAIN1 =PHASE_MAIN1 --主要阶段1重置
RESET_BATTLE =PHASE_BATTLE --战斗阶段重置
RESET_DAMAGE =PHASE_DAMAGE --伤害计算前重置
RESET_DAMAGE_CAL =PHASE_DAMAGE_CAL --伤害计算时重置
RESET_MAIN2 =PHASE_MAIN2 --主要阶段2重置
RESET_END =PHASE_END --结束阶段重置
RESET_SELF_TURN =0x0100 --自己回合结束重置
RESET_OPPO_TURN =0x0200 --对方回合结束重置
RESET_PHASE =0x0400 --阶段结束重置(一般和上面那些阶段配合使用
RESET_CHAIN =0x0800 --连锁结束重置
RESET_EVENT =0x1000 --不明(一般和下面这些事件配合使用
RESET_CARD =0x2000
RESET_CODE =0x4000 --卡名改变重置
RESET_COPY =0x8000 --复制效果重置
RESET_DISABLE =0x00010000 --效果无效重置
RESET_TURN_SET =0x00020000 --变里侧重置
RESET_TOGRAVE =0x00040000 --去墓地重置
RESET_REMOVE =0x00080000 --除外重置
RESET_TEMP_REMOVE =0x00100000 --暂时除外重置
RESET_TOHAND =0x00200000 --回手牌或加入手牌重置
RESET_TODECK =0x00400000 --回卡组重置
RESET_LEAVE =0x00800000 --从场上离开重置
RESET_TOFIELD =0x01000000 --到场上重置
RESET_CONTROL =0x02000000 --控制器变更重置
RESET_OVERLAY =0x04000000 --超量叠放重置
--========== Types ========== --效果类型(定义效果触发类型,和codes一起使用)
EFFECT_TYPE_SINGLE =0x0001 --自己状态变化时触发
EFFECT_TYPE_FIELD =0x0002 --场上所有卡状态变化时触发
EFFECT_TYPE_EQUIP =0x0004 --装备效果
EFFECT_TYPE_ACTIONS =0x0008 --怪兽效果发动(对峙的G)
EFFECT_TYPE_ACTIVATE =0x0010 --魔陷发动
EFFECT_TYPE_FLIP =0x0020 --翻转效果
EFFECT_TYPE_IGNITION =0x0040 --起动效果
EFFECT_TYPE_TRIGGER_O =0x0080 --诱发选发效果
EFFECT_TYPE_QUICK_O =0x0100 --诱发即时效果
EFFECT_TYPE_TRIGGER_F =0x0200 --诱发必发效果
EFFECT_TYPE_QUICK_F =0x0400 --诱发即时必发效果(熊猫龙等)
EFFECT_TYPE_CONTINUOUS =0x0800 --不入连锁的诱发效果
--========== Flags ========== --效果的特殊性质
EFFECT_FLAG_INITIAL =0x0001 --可以发动的
EFFECT_FLAG_FUNC_VALUE =0x0002 --
EFFECT_FLAG_COUNT_LIMIT =0x0004 --
EFFECT_FLAG_FIELD_ONLY =0x0008 --场上只有1只
EFFECT_FLAG_CARD_TARGET =0x0010 --取对象效果
EFFECT_FLAG_IGNORE_RANGE =0x0020 --使用限制?(禁止令 大宇宙 王宫的铁壁)
EFFECT_FLAG_ABSOLUTE_TARGET =0x0040 --
EFFECT_FLAG_IGNORE_IMMUNE =0x0080 --无视效果免疫
EFFECT_FLAG_SET_AVAILABLE =0x0100 --不能发动?
EFFECT_FLAG_MULTIACT_HAND =0x0200 --手牌有多张可以同时诱发(蔷薇妖精等)
EFFECT_FLAG_CANNOT_DISABLE =0x0400 --不会被无效
EFFECT_FLAG_PLAYER_TARGET =0x0800 --以玩家为对象
EFFECT_FLAG_BOTH_SIDE =0x1000 --双方都能使用(部分场地,弹压)
EFFECT_FLAG_COPY_INHERIT =0x2000 --残留?持续?效果
EFFECT_FLAG_DAMAGE_STEP =0x4000 --可以在伤害步骤发动
EFFECT_FLAG_DAMAGE_CAL =0x8000 --可以在伤害计算时发动
EFFECT_FLAG_DELAY =0x10000 --场合(不会被卡时点
EFFECT_FLAG_SINGLE_RANGE =0x20000 --只对自己有效
EFFECT_FLAG_UNCOPYABLE =0x40000 --不能复制(规则效果
EFFECT_FLAG_OATH =0x80000 --誓约效果
EFFECT_FLAG_SPSUM_PARAM =0x100000 --规则特殊召唤(熔岩魔神 光子杀戮者)
EFFECT_FLAG_REPEAT =0x200000 --发动被无效后可以再次发动
EFFECT_FLAG_NO_TURN_RESET =0x400000 --发条等“这张卡在场上只能发动一次”的效果
EFFECT_FLAG_EVENT_PLAYER =0x800000 --视为对方玩家的效果(动作?)
EFFECT_FLAG_OWNER_RELATE =0x1000000 --和效果持有者相关
EFFECT_FLAG_AVAILABLE_BD =0x2000000 --战斗伤害操作(纳祭之魔 地狱战士)
EFFECT_FLAG_CLIENT_HINT =0x4000000 --获得效果?
EFFECT_FLAG_CHAIN_UNIQUE =0x8000000 --同一组连锁只能发动一次
EFFECT_FLAG_NAGA =0x10000000 --神卡纳迦!
EFFECT_FLAG_COF =0x20000000 --邪恶的仪式
EFFECT_FLAG_CVAL_CHECK =0x40000000 --以卡为COST的诱发效果需要使用
--========== Codes ========== --对永续性效果表示效果类型 EFFECT开头,对诱发型效果表示触发效果的事件/时点 EVENT开头
EFFECT_IMMUNE_EFFECT =1 --效果免疫
EFFECT_DISABLE =2 --效果无效(一时无效?)
EFFECT_CANNOT_DISABLE =3 --效果不能无效
EFFECT_SET_CONTROL =4 --改变控制器
EFFECT_CANNOT_CHANGE_CONTROL =5 --不能改变控制权
EFFECT_CANNOT_ACTIVATE =6 --不能发动(魔法·陷阱)卡
EFFECT_CANNOT_TRIGGER =7 --不能发动效果
EFFECT_DISABLE_EFFECT =8 --效果无效
EFFECT_DISABLE_CHAIN =9 --不能连锁
EFFECT_DISABLE_TRAPMONSTER =10 --陷阱怪兽无效
EFFECT_CANNOT_INACTIVATE =12 --不能发动
EFFECT_CANNOT_DISEFFECT =13 --效果不能被无效(魔法·陷阱)
EFFECT_CANNOT_CHANGE_POSITION =14 --不能改变表示形式
EFFECT_TRAP_ACT_IN_HAND =15 --陷阱可以从手牌发动
EFFECT_TRAP_ACT_IN_SET_TURN =16 --陷阱可以在盖放的回合发动
EFFECT_REMAIN_FIELD =17 --X回合内留在场上(光之护封剑等)
EFFECT_MONSTER_SSET =18 --怪兽可以在魔陷区放置
EFFECT_CANNOT_SUMMON =20 --不能召唤怪兽
EFFECT_CANNOT_FLIP_SUMMON =21 --不能翻转召唤怪兽
EFFECT_CANNOT_SPECIAL_SUMMON =22 --不能特殊召唤怪兽
EFFECT_CANNOT_MSET =23 --不能覆盖怪兽
EFFECT_CANNOT_SSET =24 --不能覆盖魔陷
EFFECT_CANNOT_DRAW =25 --不能抽卡
EFFECT_CANNOT_DISABLE_SUMMON =26 --召唤不会无效
EFFECT_CANNOT_DISABLE_SPSUMMON =27 --特殊召唤不会无效
EFFECT_SET_SUMMON_COUNT_LIMIT =28 --限制每回合放置怪兽次数
EFFECT_EXTRA_SUMMON_COUNT =29 --增加召唤(通常召唤)次数
EFFECT_SPSUMMON_CONDITION =30 --特殊召唤条件
EFFECT_REVIVE_LIMIT =31 --苏生限制
EFFECT_SUMMON_PROC =32 --召唤规则
EFFECT_LIMIT_SUMMON_PROC =33 --召唤规则限制
EFFECT_SPSUMMON_PROC =34 --特殊召唤规则
EFFECT_EXTRA_SET_COUNT =35 --增加盖放(通常召唤)次数
EFFECT_SET_PROC =36 --放置(通常召唤)规则
EFFECT_LIMIT_SET_PROC =37 --放置(通常召唤)规则限制
EFFECT_DEVINE_LIGHT =38 --???(神圣光辉 魔术礼帽)
EFFECT_CANNOT_DISABLE_FLIP_SUMMON =39 --翻转召唤不会无效
EFFECT_INDESTRUCTABLE =40 --不会被破坏
EFFECT_INDESTRUCTABLE_EFFECT =41 --不会被效果破坏
EFFECT_INDESTRUCTABLE_BATTLE =42 --不会被战斗破坏
EFFECT_UNRELEASABLE_SUM =43 --不能做上级召唤的祭品
EFFECT_UNRELEASABLE_NONSUM =44 --不能做上级召唤以外的祭品
EFFECT_DESTROY_SUBSTITUTE =45 --代替破坏(别人破坏时牺牲自己
EFFECT_CANNOT_RELEASE =46 --不能进行解放行为
EFFECT_INDESTRUCTABLE_COUNT =47 --一回合几次不会被破坏
EFFECT_UNRELEASABLE_EFFECT =48 --不能被解放
EFFECT_DESTROY_REPLACE =50 --代替破坏(自己破坏时牺牲别人
EFFECT_RELEASE_REPLACE =51 --代替解放
EFFECT_SEND_REPLACE =52 --可以不送去XX而送去OO(宝玉 甜点城堡等)
EFFECT_CANNOT_DISCARD_HAND =55 --不能丢弃手牌
EFFECT_CANNOT_DISCARD_DECK =56 --不能把卡组上方的卡送去墓地
EFFECT_CANNOT_USE_AS_COST =57 --不能作为COST使用
EFFECT_CANNOT_PLACE_COUNTER =58 --不能使用的位置
EFFECT_LEAVE_FIELD_REDIRECT =60 --离场时重新指定去向
EFFECT_TO_HAND_REDIRECT =61 --回手牌时重新指定去向
EFFECT_TO_DECK_REDIRECT =62 --回卡组时重新指定去向
EFFECT_TO_GRAVE_REDIRECT =63 --去墓地时重新指定去向
EFFECT_REMOVE_REDIRECT =64 --除外时重新指定去向
EFFECT_CANNOT_TO_HAND =65 --不能加入手牌
EFFECT_CANNOT_TO_DECK =66 --不能回卡组
EFFECT_CANNOT_REMOVE =67 --不能除外
EFFECT_CANNOT_TO_GRAVE =68 --不能去墓地
EFFECT_CANNOT_TURN_SET =69 --不能变里侧
EFFECT_CANNOT_BE_BATTLE_TARGET =70 --不能成为攻击对象
EFFECT_CANNOT_BE_EFFECT_TARGET =71 --不能成为效果对象
EFFECT_IGNORE_BATTLE_TARGET =72 --不能成为攻击对象-鶸型(传说的渔人)
EFFECT_CANNOT_DIRECT_ATTACK =73 --不能直接攻击
EFFECT_DIRECT_ATTACK =74 --可以直接攻击
EFFECT_DUAL_STATUS =75 --二重状态
EFFECT_EQUIP_LIMIT =76 --装备对象限制
EFFECT_DUAL_SUMMONABLE =77 --可以再度召唤
EFFECT_REVERSE_DAMAGE =80 --伤害变回复
EFFECT_REVERSE_RECOVER =81 --回复变伤害
EFFECT_CHANGE_DAMAGE =82 --改变伤害数值
EFFECT_REFLECT_DAMAGE =83 --反射伤害
EFFECT_CANNOT_ATTACK =85 --不能攻击
EFFECT_CANNOT_ATTACK_ANNOUNCE =86 --不能攻击宣言
EFFECT_CANNOT_CHANGE_POS_E =87 --不会被卡的效果变成守备表示(攻击性云魔物)
EFFECT_ACTIVATE_COST =90 --发动代价(魔力之枷)
EFFECT_SUMMON_COST =91 --召唤代价
EFFECT_SPSUMMON_COST =92 --特殊召唤代价(暴君龙)
EFFECT_FLIPSUMMON_COST =93 --翻转召唤代价
EFFECT_MSET_COST =94 --怪兽放置代价
EFFECT_SSET_COST =95 --魔陷放置代价
EFFECT_ATTACK_COST =96 --攻击代价(霞之谷猎鹰)
EFFECT_UPDATE_ATTACK =100 --改变攻击力(攻击力增加/减少)
EFFECT_SET_ATTACK =101 --设置攻击力(攻击变成)
EFFECT_SET_ATTACK_FINAL =102 --设置最终攻击力(神之化身)
EFFECT_SET_BASE_ATTACK =103 --设置原本攻击力
EFFECT_UPDATE_DEFENCE =104 --改变防御力(参考攻击力,下同)
EFFECT_SET_DEFENCE =105 --设置防御力
EFFECT_SET_DEFENCE_FINAL =106 --设置最终攻击力
EFFECT_SET_BASE_DEFENCE =107 --设置原本攻击力
EFFECT_REVERSE_UPDATE =108 --倒置改变攻击力、防御力(天邪鬼)
EFFECT_SWAP_AD =109 --交换攻防
EFFECT_SWAP_BASE_AD =110 --交换原本攻防
EFFECT_ADD_CODE =113 --增加卡名
EFFECT_CHANGE_CODE =114 --改名卡名
EFFECT_ADD_TYPE =115 --增加卡片种类(types)
EFFECT_REMOVE_TYPE =116 --删除卡片种类
EFFECT_CHANGE_TYPE =117 --改变卡片种类
EFFECT_ADD_RACE =120 --增加种族
EFFECT_REMOVE_RACE =121 --删除种族
EFFECT_CHANGE_RACE =122 --改变种族
EFFECT_ADD_ATTRIBUTE =125 --增加属性
EFFECT_REMOVE_ATTRIBUTE =126 --删除属性
EFFECT_CHANGE_ATTRIBUTE =127 --改变属性
EFFECT_UPDATE_LEVEL =130 --改变等级
EFFECT_CHANGE_LEVEL =131 --设置等级
EFFECT_UPDATE_RANK =132 --改变阶级
EFFECT_CHANGE_RANK =133 --设置阶级
EFFECT_UPDATE_LSCALE =134 --改变左刻度
EFFECT_CHANGE_LSCALE =135 --设置左刻度
EFFECT_UPDATE_RSCALE =136 --改变右刻度
EFFECT_CHANGE_RSCALE =137 --设置右刻度
EFFECT_SET_POSITION =140 --改变表示形式
EFFECT_SELF_DESTROY =141 --自灭(罪系列等)
EFFECT_DOUBLE_TRIBUTE =150 --可以作为2个祭品
EFFECT_DECREASE_TRIBUTE =151 --减少祭品
EFFECT_DECREASE_TRIBUTE_SET =152 --减少放置怪兽的祭品
EFFECT_EXTRA_RELEASE =153 --代替解放(灵魂交错)
EFFECT_TRIBUTE_LIMIT =154 --祭品限制
EFFECT_EXTRA_RELEASE_SUM =155 --代替召唤解放(帝王的烈旋)
EFFECT_PUBLIC =160 --公开手牌
EFFECT_COUNTER_PERMIT =0x10000--允许放置指示物类型
EFFECT_COUNTER_LIMIT =0x20000--允许放置指示物数量
EFFECT_RCOUNTER_REPLACE =0x30000--代替取除(指示物?)
EFFECT_LPCOST_CHANGE =170 --改变生命值代价
EFFECT_LPCOST_REPLACE =171 --代替生命值代价
EFFECT_SKIP_DP =180 --跳过抽卡阶段
EFFECT_SKIP_SP =181 --跳过准备阶段
EFFECT_SKIP_M1 =182 --跳过主要阶段1
EFFECT_SKIP_BP =183 --跳过战斗阶段
EFFECT_SKIP_M2 =184 --跳过主要阶段2
EFFECT_CANNOT_BP =185 --不能进入战斗阶段
EFFECT_CANNOT_M2 =186 --不能进入主要阶段2
EFFECT_CANNOT_EP =187 --不能进入结束阶段
EFFECT_SKIP_TURN =188 --跳过整个回合
EFFECT_DEFENCE_ATTACK =190 --可以守备表示攻击
EFFECT_MUST_ATTACK =191 --必须攻击
EFFECT_FIRST_ATTACK =192 --必须第一个攻击
EFFECT_ATTACK_ALL =193 --可以攻击所有怪兽
EFFECT_EXTRA_ATTACK =194 --增加攻击次数
EFFECT_MUST_BE_ATTACKED =195 --必须攻击(那只怪兽)
EFFECT_AUTO_BE_ATTACKED =196 --只能攻击(那只怪兽)
EFFECT_ATTACK_DISABLED =197 --不能攻击
EFFECT_NO_BATTLE_DAMAGE =200 --不会给对方造成战斗伤害
EFFECT_AVOID_BATTLE_DAMAGE =201 --不会对自己造成战斗伤害
EFFECT_REFLECT_BATTLE_DAMAGE =202 --反弹战斗伤害
EFFECT_PIERCE =203 --贯穿伤害
EFFECT_BATTLE_DESTROY_REDIRECT =204 --战斗破坏时重新指定去向
EFFECT_BATTLE_DAMAGE_TO_EFFECT =205 --战斗伤害视为效果伤害
EFFECT_TOSS_COIN_REPLACE =220 --重新抛硬币
EFFECT_TOSS_DICE_REPLACE =221 --重新掷骰子
EFFECT_FUSION_MATERIAL =230 --可以当作仪式素材
EFFECT_CHAIN_MATERIAL =231 --可以当作融合素材
EFFECT_SYNCHRO_MATERIAL =232 --可以当作同调素材
EFFECT_XYZ_MATERIAL =233 --可以当作超量素材
EFFECT_FUSION_SUBSTITUTE =234 --代替融合素材
EFFECT_CANNOT_BE_FUSION_MATERIAL =235--不能做融合素材
EFFECT_CANNOT_BE_SYNCHRO_MATERIAL =236--不能做同调素材
EFFECT_SYNCHRO_MATERIAL_CUSTOM =237--同调素材限制
EFFECT_CANNOT_BE_XYZ_MATERIAL =238--不能做超量素材
EFFECT_SYNCHRO_LEVEL =240--做同调素材时的等级
EFFECT_RITUAL_LEVEL =241--做仪式祭品时的等级
EFFECT_XYZ_LEVEL =242--做超量素材时的等级
EFFECT_EXTRA_RITUAL_MATERIAL =243--在墓地当做仪式祭品
EFFECT_NONTUNER =244--同时当作调整以外的怪兽(幻影王 幽骑)
EFFECT_OVERLAY_REMOVE_REPLACE =245--代替去除超量素材
EFFECT_SCRAP_CHIMERA =246--废铁奇美拉
EFFECT_XMAT_COUNT_LIMIT =247--超量素材限制(光天使 天座)
EFFECT_SPSUM_EFFECT_ACTIVATED =250 --发动特殊召唤的效果(冥府的使者 格斯)
EFFECT_MATERIAL_CHECK =251 --检查素材
EFFECT_DISABLE_FIELD =260 --无效区域(扰乱王等)
EFFECT_USE_EXTRA_MZONE =261 --怪兽区域封锁
EFFECT_USE_EXTRA_SZONE =262 --魔法区域封锁
EFFECT_MAX_MZONE =263 --宇宙收缩
EFFECT_MAX_SZONE =264 --宇宙收缩
EFFECT_HAND_LIMIT =270 --手牌数量限制
EFFECT_DRAW_COUNT =271 --抽卡阶段的抽卡数
EFFECT_SPIRIT_DONOT_RETURN =280 --灵魂怪兽不返会手牌
EFFECT_SPIRIT_MAYNOT_RETURN =281 --灵魂怪兽可以不返回手牌
EFFECT_CHANGE_ENVIRONMENT =290 --改变场地
EFFECT_NECRO_VALLEY =291 --王家长眠之谷
EFFECT_FORBIDDEN =292 --禁止令
EFFECT_NECRO_VALLEY_IM =293 --不受「王家长眠之谷」的影响
EFFECT_REVERSE_DECK =294 --翻转卡组
EFFECT_REMOVE_BRAINWASHING =295 --洗脑解除
EFFECT_BP_TWICE =296 --2次战斗阶段
EFFECT_UNIQUE_CHECK =297 --
EFFECT_MATCH_KILL =300 --胜利龙
EFFECT_SYNCHRO_CHECK =310 --基因组斗士
EFFECT_QP_ACT_IN_NTPHAND =311 --对方回合从自己手卡发动(失乐的圣女)
EFFECT_MUST_BE_SMATERIAL =312 --同调素材必须
EFFECT_SPSUMMON_PROC_G =320 --P召唤规则
EFFECT_SUMMON_COUNT_LIMIT =330 --召唤次数限制
EFFECT_SPSUMMON_COUNT_LIMIT =331 --特殊召唤次数限制
EFFECT_FLIP_SUMMON_COUNT_LIMIT =332 --反转召唤次数限制
--下面是诱发效果的诱发事件、时点 (如果是TYPE_SINGLE则自己发生以下事件后触发,如果TYPE_FIELD则场上任何卡发生以下事件都触发)
EVENT_STARTUP =1000 --游戏开始时
EVENT_FLIP =1001 --翻转时
EVENT_FREE_CHAIN =1002 --自由时点(强脱等,还有昴星团等诱发即时效果)
EVENT_DESTROY =1010 --破坏时
EVENT_REMOVE =1011 --除外时
EVENT_TO_HAND =1012 --加入手牌时
EVENT_TO_DECK =1013 --回卡组时
EVENT_TO_GRAVE =1014 --进墓地时
EVENT_LEAVE_FIELD =1015 --离场时
EVENT_CHANGE_POS =1016 --表示形式变更时
EVENT_RELEASE =1017 --解放时
EVENT_DISCARD =1018 --丢弃手牌时
EVENT_LEAVE_FIELD_P =1019 --永久离场时
EVENT_CHAIN_SOLVING =1020 --连锁处理时
EVENT_CHAIN_ACTIVATING =1021 --连锁发动时
EVENT_CHAIN_SOLVED =1022 --连锁处理结束时
EVENT_CHAIN_ACTIVATED =1023 --连锁发动完时
EVENT_CHAIN_NEGATED =1024 --连锁被无效时(发动无效)
EVENT_CHAIN_DISABLED =1025 --连锁被无效时(效果无效)
EVENT_CHAIN_END =1026 --连锁结束时
EVENT_CHAINING =1027 --正在连锁
EVENT_BECOME_TARGET =1028 --成为效果对象时
EVENT_DESTROYED =1029 --破坏确定时
EVENT_ADJUST =1040 --调整(御前试合)
EVENT_SUMMON_SUCCESS =1100 --通常召唤成功时
EVENT_FLIP_SUMMON_SUCCESS =1101 --翻转召唤成功时
EVENT_SPSUMMON_SUCCESS =1102 --特殊召唤成功时
EVENT_SUMMON =1103 --召唤时(怪兽还没上场、神宣等时点)
EVENT_FLIP_SUMMON =1104 --翻转召唤时
EVENT_SPSUMMON =1105 --特殊召唤时
EVENT_MSET =1106 --放置怪兽时
EVENT_SSET =1107 --放置魔陷时
EVENT_BE_MATERIAL =1108 --作为融合/仪式同调/超量素材时
EVENT_BE_PRE_MATERIAL =1109 --将要作为融合/仪式同调/超量素材时
EVENT_DRAW =1110 --抽卡
EVENT_DAMAGE =1111 --造成战斗/效果伤害时
EVENT_RECOVER =1112 --回复生命值时
EVENT_PREDRAW =1113 --抽卡前
EVENT_CONTROL_CHANGED =1120 --控制权变更
EVENT_EQUIP =1121 --装备卡装备时
EVENT_ATTACK_ANNOUNCE =1130 --攻击宣言时
EVENT_BE_BATTLE_TARGET =1131 --被选为攻击对象时
EVENT_BATTLE_START =1132 --战斗阶段开始时
EVENT_BATTLE_CONFIRM =1133 --选完攻击对象时
EVENT_PRE_DAMAGE_CALCULATE =1134 --伤害计算前
EVENT_DAMAGE_CALCULATING =1135 --伤害计算时
EVENT_PRE_BATTLE_DAMAGE =1136 --即将产生战斗伤害
EVENT_BATTLE_END =1137 --战斗结束(开辟)
EVENT_BATTLED =1138 --伤害计算后(异女、同反转效果时点)
EVENT_BATTLE_DESTROYING =1139 --战斗破坏送去墓地时(BF-苍炎之修罗)
EVENT_BATTLE_DESTROYED =1140 --战斗破坏送去墓地时(杀人番茄等)
EVENT_DAMAGE_STEP_END =1141 --伤害步骤结束时
EVENT_ATTACK_DISABLED =1142 --攻击无效时(翻倍机会)
EVENT_BATTLE_DAMAGE =1143 --造成战斗伤害时
EVENT_TOSS_DICE =1150 --掷骰子时
EVENT_TOSS_COIN =1151 --抛硬币时
EVENT_TOSS_COIN_NEGATE =1152 --抛硬币被无效时
EVENT_TOSS_DICE_NEGATE =1153 --掷骰子被无效时
EVENT_LEVEL_UP =1200 --等级上升时
EVENT_PAY_LPCOST =1201 --支付生命值时
EVENT_DETACH_MATERIAL =1202 --去除超量素材时
EVENT_CONFIRM_DECKTOP =1203 --确认卡组最上方时
EVENT_CONFIRM_CARDS =1204 --确认卡时
EVENT_TURN_END =1210 --回合结束时
EVENT_PHASE =0x1000 --阶段结束时
EVENT_PHASE_START =0x2000 --阶段开始时
EVENT_ADD_COUNTER =0x10000--增加指示物时
EVENT_REMOVE_COUNTER =0x20000--去除指示物时
--Categorys 效果分类(表示这个效果将要发生什么事,OperationInfo设置了效果分类才能触发针对这一类型发动的卡,如破坏->星尘龙
CATEGORY_DESTROY =0x1 --破坏效果
CATEGORY_RELEASE =0x2 --解放效果
CATEGORY_REMOVE =0x4 --除外效果
CATEGORY_TOHAND =0x8 --加入手牌效果
CATEGORY_TODECK =0x10 --回卡组效果
CATEGORY_TOGRAVE =0x20 --送去墓地效果
CATEGORY_DECKDES =0x40 --卡组破坏效果
CATEGORY_HANDES =0x80 --手牌破坏效果
CATEGORY_SUMMON =0x100 --含召唤的效果
CATEGORY_SPECIAL_SUMMON =0x200 --含特殊召唤的效果
CATEGORY_TOKEN =0x400 --含衍生物效果
CATEGORY_FLIP =0x800 --含翻转效果
CATEGORY_POSITION =0x1000 --改变表示形式效果
CATEGORY_CONTROL =0x2000 --改变控制权效果
CATEGORY_DISABLE =0x4000 --使效果无效效果
CATEGORY_DISABLE_SUMMON =0x8000 --无效召唤效果
CATEGORY_DRAW =0x10000 --抽卡效果
CATEGORY_SEARCH =0x20000 --检索卡组效果
CATEGORY_EQUIP =0x40000 --装备效果
CATEGORY_DAMAGE =0x80000 --伤害效果
CATEGORY_RECOVER =0x100000 --回复效果
CATEGORY_ATKCHANGE =0x200000 --改变攻击效果
CATEGORY_DEFCHANGE =0x400000 --改变防御效果
CATEGORY_COUNTER =0x800000 --指示物效果
CATEGORY_COIN =0x1000000 --硬币效果
CATEGORY_DICE =0x2000000 --骰子效果
CATEGORY_LEAVE_GRAVE =0x4000000 --离开墓地效果
CATEGORY_LVCHANGE =0x8000000 --改变等级效果
CATEGORY_NEGATE =0x10000000 --使发动无效效果
--Hint
HINT_EVENT =1
HINT_MESSAGE =2
HINT_SELECTMSG =3
HINT_OPSELECTED =4
HINT_EFFECT =5
HINT_RACE =6
HINT_ATTRIB =7
HINT_CODE =8
HINT_NUMBER =9
HINT_CARD =10
--Card Hint
CHINT_TURN =1
CHINT_CARD =2
CHINT_RACE =3
CHINT_ATTRIBUTE =4
CHINT_NUMBER =5
CHINT_DESC =6
--Hint Message --提示消息,显示在窗口的上面
HINTMSG_RELEASE =500 --请选择要解放的卡
HINTMSG_DISCARD =501 --请选择要丢弃的手牌
HINTMSG_DESTROY =502 --请选择要破坏的卡
HINTMSG_REMOVE =503 --请选择要除外的卡
HINTMSG_TOGRAVE =504 --请选择要送去墓地的卡
HINTMSG_RTOHAND =505 --请选择要返回手牌的卡
HINTMSG_ATOHAND =506 --请选择要加入手牌的卡
HINTMSG_TODECK =507 --请选择要返回卡组的卡
HINTMSG_SUMMON =508 --请选择要召唤的卡
HINTMSG_SPSUMMON =509 --请选择要特殊召唤的卡
HINTMSG_SET =510 --请选择要盖放的卡
HINTMSG_FMATERIAL =511 --请选择融合召唤的素材
HINTMSG_SMATERIAL =512 --请选择同调召唤的素材
HINTMSG_XMATERIAL =513 --请选择超量召唤的素材
HINTMSG_FACEUP =514 --请选择表侧表示的卡
HINTMSG_FACEDOWN =515 --请选择里侧表示的卡
HINTMSG_ATTACK =516 --请选择攻击表示的怪兽
HINTMSG_DEFENCE =517 --请选择守备表示的怪兽
HINTMSG_EQUIP =518 --请选择要装备的卡
HINTMSG_REMOVEXYZ =519 --请选择要取除的超量素材
HINTMSG_CONTROL =520 --请选择要改变控制权的怪兽
HINTMSG_DESREPLACE =521 --请选择要代替破坏的卡
HINTMSG_FACEUPATTACK =522 --请选择表侧攻击表示的怪兽
HINTMSG_FACEUPDEFENCE =523 --请选择表侧守备表示的怪兽
HINTMSG_FACEDOWNATTACK =524 --请选择里侧攻击表示的怪兽
HINTMSG_FACEDOWNDEFENCE =525 --请选择里侧守备表示的怪兽
HINTMSG_CONFIRM =526 --请选择给对方确认的卡
HINTMSG_TOFIELD =527 --请选择要放置到场上的卡
HINTMSG_POSCHANGE =528 --请选择要改变表示形式的怪兽
HINTMSG_SELF =529 --请选择自己的卡
HINTMSG_OPPO =530 --请选择对方的卡
HINTMSG_EFFECT =550 --请选择要发动的效果
HINTMSG_TARGET =551 --请选择效果的对象
HINTMSG_COIN =552 --请选择硬币的正反面
HINTMSG_DICE =553 --请选择骰子的结果
HINTMSG_CARDTYPE =554 --请选择一个种类
--Timing --提示时点,可以给freechain卡片增加自动提示时点
TIMING_DRAW_PHASE =0x1 --抽卡阶段时点
TIMING_STANDBY_PHASE =0x2 --准备阶段时点
TIMING_MAIN_END =0x4 --主要阶段结束时点
TIMING_BATTLE_START =0x8 --战斗阶段开始时点
TIMING_BATTLE_END =0x10 --战斗阶段结束时点
TIMING_END_PHASE =0x20 --结束阶段时点
TIMING_SUMMON =0x40 --召唤时点
TIMING_SPSUMMON =0x80 --特殊召唤时点
TIMING_FLIPSUMMON =0x100 --翻转召唤时点
TIMING_MSET =0x200 --放置怪兽时点
TIMING_SSET =0x400 --放置魔陷时点
TIMING_POS_CHANGE =0x800 --表示形式变更时点
TIMING_ATTACK =0x1000 --攻击宣言时点
TIMING_DAMAGE_STEP =0x2000 --伤害步骤时点
TIMING_DAMAGE_CAL =0x4000 --伤害计算时点
TIMING_CHAIN_END =0x8000 --连锁结束时点
TIMING_DRAW =0x10000 --抽卡时点(不是抽卡阶段
TIMING_DAMAGE =0x20000 --造成伤害时点
TIMING_RECOVER =0x40000 --回复时点
TIMING_DESTROY =0x80000 --破坏时点
TIMING_REMOVE =0x100000 --除外时点
TIMING_TOHAND =0x200000 --加入手牌时点(检索、回收等)
TIMING_TODECK =0x400000 --回卡组时点
TIMING_TOGRAVE =0x800000 --进墓地时点
TIMING_BATTLE_PHASE =0x1000000 --战斗阶段时点
TIMING_EQUIP =0x2000000 --装备时点
--Global flag --特殊标记
GLOBALFLAG_DECK_REVERSE_CHECK =0x1 --卡组翻转标记
GLOBALFLAG_BRAINWASHING_CHECK =0x2 --洗脑解除标记
GLOBALFLAG_SCRAP_CHIMERA =0x4 --废铁奇美拉标记
GLOBALFLAG_DELAYED_QUICKEFFECT =0x8 --小丑和锁鸟标记
GLOBALFLAG_DETACH_EVENT =0x10 --超量素材被取除标记
GLOBALFLAG_MUST_BE_SMATERIAL =0x20 --必须作为同调素材(波动龙 声子龙)
GLOBALFLAG_SPSUMMON_COUNT =0x40 --特殊召唤次数标记
GLOBALFLAG_XMAT_COUNT_LIMIT =0x80 --超量素材数量限制标记(光天使 天座)
--
EFFECT_COUNT_CODE_OATH =0x10000000 --誓约使用次数
EFFECT_COUNT_CODE_DUEL =0x20000000 --决斗中使用次数
EFFECT_COUNT_CODE_SINGLE =0x1 --多个效果公共使用次数
--特殊选项
DUEL_TEST_MODE =0x01 --测试模式?坑了?
DUEL_ATTACK_FIRST_TURN =0x02 --第一回合可以攻击(用于残局
DUEL_NO_CHAIN_HINT =0x04 --不提示连锁
DUEL_ENABLE_PRIORITY =0x08 --启动优先权
DUEL_PSEUDO_SHUFFLE =0x10 --不洗牌
DUEL_TAG_MODE =0x20 --双打
DUEL_SIMPLE_AI =0x40 --AI
CodeEditForm->CodeEditForm 脚本编辑器
CodeEditForm->menuitem_file 文件(&F)
CodeEditForm->menuitem_open 打开
CodeEditForm->menuitem_save 保存
CodeEditForm->menuitem_saveas 另存为
CodeEditForm->menuitem_quit 退出
CodeEditForm->menuitem_setting 设置(&S)
CodeEditForm->menuitem_showmap 显示缩略图
CodeEditForm->menuitem_showinput 显示文本框
CodeEditForm->menuitem_setcard 设置卡片库
CodeEditForm->menuitem_find 查找
CodeEditForm->menuitem_replace 替换
CodeEditForm->menuitem_help 帮助(&H)
CodeEditForm->menuitem_about 关于
\ No newline at end of file
DataEditForm->btn_add 添加(&A)
DataEditForm->btn_del 删除(&D)
DataEditForm->btn_lua 脚本(&L)
DataEditForm->btn_img 导入卡图(&I)
DataEditForm->btn_undo 撤销(&U)
DataEditForm->btn_mod 修改(&M)
DataEditForm->btn_PageDown 下一页
DataEditForm->btn_PageUp 上一页
DataEditForm->btn_reset 重置(&R)
DataEditForm->btn_serach 搜索(&S)
DataEditForm->DataEditForm DataEditorX
DataEditForm->lb_atkdef ATK/DEF
DataEditForm->lb_cardalias 同名卡
DataEditForm->lb_cardcode 卡片密码
DataEditForm->lb_categorys 效果种类
DataEditForm->lb_pleft_right 灵摆刻度
DataEditForm->lb_scripttext
DataEditForm->lb_tiptexts 提示文字
DataEditForm->lb_types 卡片种类
DataEditForm->lb2 /
DataEditForm->lb4 /
DataEditForm->lb5 /
DataEditForm->lv_cardlist0 密码
DataEditForm->lv_cardlist1 卡片名称
DataEditForm->menu_tools 功能(&T)
DataEditForm->menuitem_exportdata 导出所有卡片数据为zip
DataEditForm->menuitem_cancelTask 取消当前任务
DataEditForm->menuitem_compdb 压缩当前数据库
DataEditForm->menuitem_convertimage 批量导入卡图
DataEditForm->menuitem_importmseimg MSE图片库
DataEditForm->menuitem_openLastDataBase 最后打开的数据库
DataEditForm->menuitem_cutimages 裁剪列表卡片的图片
DataEditForm->menuitem_saveasmse_select 所选卡片导出MSE存档
DataEditForm->menuitem_saveasmse 当前所有卡片导出MSE存档
DataEditForm->menuitem_about 关于(&A)
DataEditForm->menuitem_checkupdate 检查更新
DataEditForm->menuitem_copyselectto 所选卡片复制到...
DataEditForm->menuitem_copyto 当前所有卡片复制到...
DataEditForm->menuitem_file 文件(&F)
DataEditForm->menuitem_github 源码主页
DataEditForm->menuitem_help 帮助(&H)
DataEditForm->menuitem_new 新建(&N)
DataEditForm->menuitem_open 打开(&O)
DataEditForm->menuitem_quit 退出(&Q)
DataEditForm->menuitem_readimages 从图像文件夹读取
DataEditForm->menuitem_readydk 从ydk文件读取
\ No newline at end of file
MainForm->menuitem_file 文件(&F)
MainForm->menuitem_new 新建(&N)
MainForm->menuitem_open 打开(&O)
MainForm->menuitem_save 保存(&S)
MainForm->menuitem_copyselect 复制所选卡片
MainForm->menuitem_copyall 复制当前结果的所有卡片
MainForm->menuitem_findluafunc 从源码获取Lua函数
MainForm->menuitem_pastecards 粘贴卡片
MainForm->menuitem_comp1 对比-卡片数据 1
MainForm->menuitem_comp2 对比-卡片数据 2
MainForm->menuitem_history 数据库历史记录(&H)
MainForm->menuitem_shistory 脚本历史记录
MainForm->menuitem_quit 退出(&Q)
MainForm->menuitem_windows 窗口(&W)
MainForm->menuitem_dataeditor DataEditor
MainForm->menuitem_codeeditor CodeEditor
MainForm->menuitem_closeall 关闭所有
MainForm->menuitem_closeother 关闭其他
MainForm->menuitem_close 关闭当前
\ No newline at end of file
0x0 提示
0x1 错误
0x2 警告
0x3 询问
0x4 创建成功!
0x5 创建失败!
0x6 添加成功!
0x7 添加失败!
0x8 密码不能为0!
0x9 已经存在!
0xa 内容没有改变。
0xb 是否删除卡片?
0xc 是否创建脚本文件?
0xd 是否打开数据库?
0xe 是否替换已经存在的卡片?
0xf 已经是最新版本了。/n需要重新下载,请点击“确定”重新下载。
0x10 检查更新失败,请检查网络。
0x11 发现新的版本,是否更新?
0x12 文件不存在!
0x13 没有选择数据库!
0x14 选择数据库文件
0x15 选择ydk文件
0x16 选择图像目录
0x17 下载成功!
0x18 下载失败!
0x19 没有选中脚本文本!
0x1a 删除成功!
0x1b 删除失败!
0x1c 修改成功!
0x1d 修改失败!
0x1e 关于:
0x1f 版本:
0x20 作者:
0x21 数据库文件(*.cdb)|*.cdb|所有文件(*.*)|*.*
0x22 卡组文件(*.ydk)|*.ydk|所有文件(*.*)|*.*
0x23 系列号输入出错!
0x24 选择卡片图像
0x25 jpg图像(*.jpg)|*.jpg|bmp图像(*.bmp)|*.bmp|png图像(*.png)|*.png|所有文件(*.*)|*.*
0x26 当前有其他任务正在进行
0x27 正在检查更新
0x28 正在复制卡片
0x29 卡片复制完成
0x2a 保存MSE存档
0x2b MSE存档文件(*.mse-set)|*.mse-set|所有文件(*.*)|*.*
0x2c 正在导出MSE存档
0x2d 导出MSE存档完成
0x2e 正在裁剪图片
0x2f 裁剪图片完成
0x30 没有选中一张卡片
0x31 是否替换存在的图片?
0x32 正在转换图片
0x33 转换图片完成
0x34 压缩数据库完成
0x35 仅更新存档的文字?
0x36 任务已经停止
0x37 任务已经暂停
0x38 继续任务
0x39 任务出错
0x3a 是否取消当前任务?
0x3b 复制完成
0x3c 粘贴完成
0x3d 清空历史记录
0x3e 正在导出数据
0x3f 导出数据完成
0x40 是否对比卡片信息?
0x41 对比完成
0x42 打开文件
0x43 脚本文件(*.lua)|*.lua|所有文件(*.*)|*.*
0x44 新建文件
0x45 保存完成
0x46 是否保存脚本?
\ No newline at end of file
###########################
# Magic Set Editor 2
########################### Chs 2 Cht
cn2tw = false
########################### Setting
maxcount = 0
imagepath = ./Images
########################### Spell/Trap
#jp setting
spell = %%
trap = %%
############################ Text
# chs jp
pendulum-text = 】[\s\S]*?\n([\S\s]*?)\n【
# cht pendulum-text = ([\S\s]*?)\n【
# en pendulum-text = Text:\n([\S\s]*?)\n[\S\s]*?Text:
# chs jp cht
monster-text = [果|介|述|報]】\n([\S\s]*)
# en monster-text = Text:[\s\S]*?Text:\n([\S\s]*)
########################### Replace
replace = ([·]) ・
#replace = \s <sym-auto>^</sym-auto>
#replace = ([A-Z]) <i>$1</i>
\ No newline at end of file
mse version: 0.3.8
game: yugioh
stylesheet: standard
set info:
language: JP
edition:
ST mark is text: no
pendulum image is small: yes
\ No newline at end of file
card:
card type: %type%
name: %name%
attribute: %attribute%
level: %level%
image: %image%
type 1: %race%
type 2: %type1%
type 3: %type2%
type 4: %type3%
rule text:
%desc%
attack: %atk%
defense: %def%
gamecode: %code%
\ No newline at end of file
card:
card type: %type%
name: %name%
attribute: %attribute%
level: %level%
image: %image%
type 1: %race%
type 2: %type1%
type 3: %type2%
type 4: %type3%
rule text:
%desc%
attack: %atk%
defense: %def%
pendulum: medium
pendulum scale 1: %pl%
pendulum scale 2: %pr%
pendulum text:
%pdesc%
gamecode: %code%
\ No newline at end of file
card:
card type: %type%
name: %name%
attribute: %attribute%
level: %level%
image: %image%
rule text:
%desc%
gamecode: %code%
\ No newline at end of file
--created by DataEditorX
Debug.SetAIName("AI Name")
Debug.ReloadFieldBegin(DUEL_ATTACK_FIRST_TURN+DUEL_SIMPLE_AI)
Debug.SetPlayerInfo(0,8000,0,0) --player
Debug.SetPlayerInfo(1,15000,0,0) --AI
--Debug.AddCard(int code,int owner,int playerid,int location,int sequence,int position)
--Debug.AddCard(int code,int owner,int playerid,int location,int sequence,int position,bool revive_limit)
--Debug.PreAddCounter(Card card,int counter,int ccount)
--Debug.PreEquip(Card equip_card, Card target)
--Debug.PreSetTarget(Card card, Card target)
--end
Debug.ReloadFieldEnd()
Debug.ShowHint("Message")
aux.BeginPuzzle()
#The first line is used for comment
#line doesn't start with '!' is also neglected
#system
!system 1 通常召唤
!system 2 特殊召唤
!system 3 翻转召唤
!system 4 通常召唤成功
!system 5 特殊召唤成功
!system 6 翻转召唤成功
!system 7 发动
!system 10 移除指示物
!system 11 支付LP
!system 12 移除本身的素材
!system 20 抽卡阶段中
!system 21 准备阶段中
!system 22 主要阶段中
!system 23 即将结束主要阶段
!system 24 战斗阶段中
!system 25 战斗结束阶段中
!system 26 结束阶段中
!system 27 抽卡前
!system 28 战斗阶段开始
!system 30 战斗回卷,是否继续攻击?
!system 31 是否直接攻击?
!system 40 伤害阶段中
!system 41 即将计算战斗伤害
!system 42 即将结束伤害阶段
!system 43 即将产生战斗伤害
!system 60 正面
!system 61 反面
!system 62 表效果适用中
!system 63 里效果适用中
!system 64 二重状态
!system 70 怪物卡
!system 71 魔法卡
!system 72 陷阱卡
!system 80 进入战斗阶段
!system 81 进入结束阶段
!system 90 是否不解放怪物通常召唤?
!system 91 是否使用额外的召唤机会?
!system 92 是否要解放对方怪兽进行上级招呼?
!system 93 是否要继续选择素材?
!system 100 先攻
!system 101 后攻
!system 200 是否在[%ls]发动[%ls]的效果?
!system 201 此时没有可以发动的效果
!system 202 是否要确认场上的情况?
!system 203 是否要进行连锁?
!system 204 请移除%d个[%ls]
!system 205 请选择排列顺序
!system 206 请选择连锁顺序
!system 207 翻开卡组上方%d张卡:
!system 208 确认%d张卡:
!system 209 当前所选的卡已满足选择条件
!system 210 是否要继续选择?
!system 211 回合计数:
!system 212 已选择卡:
!system 213 已选择种族:
!system 214 已选择属性:
!system 215 已选择数字:
!system 500 请选择要解放的卡
!system 501 请选择要丢弃的手牌
!system 502 请选择要破坏的卡
!system 503 请选择要除外的卡
!system 504 请选择要送去墓地的卡
!system 505 请选择要返回手牌的卡
!system 506 请选择要加入手牌的卡
!system 507 请选择要返回卡组的卡
!system 508 请选择要召唤的卡
!system 509 请选择要特殊召唤的卡
!system 510 请选择要盖放的卡
!system 511 请选择融合召唤的素材
!system 512 请选择同调召唤的素材
!system 513 请选择超量召唤的素材
!system 514 请选择表侧表示的卡
!system 515 请选择里侧表示的卡
!system 516 请选择攻击表示的怪兽
!system 517 请选择守备表示的怪兽
!system 518 请选择要装备的卡
!system 519 请选择要取除的超量素材
!system 520 请选择要改变控制权的怪兽
!system 521 请选择要代替破坏的卡
!system 522 请选择表侧攻击表示的怪兽
!system 523 请选择表侧守备表示的怪兽
!system 524 请选择里侧攻击表示的怪兽
!system 525 请选择里侧守备表示的怪兽
!system 526 请选择给对方确认的卡
!system 527 请选择要放置到场上的卡
!system 528 请选择要改变表示形式的怪兽
!system 529 请选择自己的卡
!system 530 请选择对方的卡
!system 531 请选择上级召唤用需要解放的怪兽:
!system 550 请选择要发动的效果
!system 551 请选择效果的对象
!system 552 请选择硬币的正反面
!system 553 请选择骰子的结果
!system 554 请选择一个种类
!system 555 请选择一个选项
!system 560 请选择
!system 561 请选择表示形式
!system 562 请选择要宣言的属性
!system 563 请选择要宣言的种族
!system 564 请宣言一个卡名
!system 565 请选择一个数字
!system 566 请选择要发动效果的卡
!system 567 请宣言一个等级
!system 1000 卡组
!system 1001 手牌
!system 1002 怪兽区
!system 1003 魔法陷阱区
!system 1004 墓地
!system 1005 除外
!system 1006 额外
!system 1007 叠放
!system 1008 场地魔法区
!system 1009 摇摆区
!system 1010
!system 1011
!system 1012
!system 1013
!system 1014
!system 1015
!system 1016
!system 1020 战士
!system 1021 魔法使
!system 1022 天使
!system 1023 恶魔
!system 1024 不死
!system 1025 机械
!system 1026
!system 1027
!system 1028 岩石
!system 1029 鸟兽
!system 1030 植物
!system 1031 昆虫
!system 1032
!system 1033
!system 1034
!system 1035 兽战士
!system 1036 恐龙
!system 1037
!system 1038 海龙
!system 1039 爬虫
!system 1040 念动力
!system 1041 幻神兽
!system 1042 创造神
!system 1043 幻龙
!system 1050 怪兽
!system 1051 魔法
!system 1052 陷阱
!system 1053 ???
!system 1054 通常
!system 1055 效果
!system 1056 融合
!system 1057 仪式
!system 1058 陷阱怪兽
!system 1059 灵魂
!system 1060 同盟
!system 1061 二重
!system 1062 调整
!system 1063 同调
!system 1064 衍生物
!system 1065 ???
!system 1066 速攻
!system 1067 永续
!system 1068 装备
!system 1069 场地
!system 1070 反击
!system 1071 反转
!system 1072 卡通
!system 1073 超量
!system 1074 摇摆
!system 1080 (N/A)
#GUI
!system 1100 魔陷破坏
!system 1101 怪兽破坏
!system 1102 卡片除外
!system 1103 送去墓地
!system 1104 返回手牌
!system 1105 返回卡组
!system 1106 手牌破坏
!system 1107 卡组破坏
!system 1108 抽卡辅助
!system 1109 卡组检索
!system 1110 卡片回收
!system 1111 表示形式
!system 1112 控制权
!system 1113 攻守变化
!system 1114 穿刺伤害
!system 1115 多次攻击
!system 1116 攻击限制
!system 1117 直接攻击
!system 1118 特殊召唤
!system 1119 衍生物
!system 1120 种族相关
!system 1121 属性相关
!system 1122 LP伤害
!system 1123 LP回复
!system 1124 破坏耐性
!system 1125 效果耐性
!system 1126 指示物
!system 1127 幸运
!system 1128 融合相关
!system 1129 同调相关
!system 1130 超量相关
!system 1131 效果无效
#actions
!system 1150 发动
!system 1151 召唤
!system 1152 特殊召唤
!system 1153 放置
!system 1154 反转召唤
!system 1155 守备表示
!system 1156 攻击表示
!system 1157 攻击
!system 1158 查看列表
!system 1159 当魔法卡放置
#menu
!system 1200 联机模式
!system 1201 残局模式
!system 1202 观看录像
!system 1203 N/A
!system 1204 编辑卡组
!system 1210 退出
!system 1211 确定
!system 1212 取消
!system 1213
!system 1214
!system 1215 开始
!system 1216 消息
!system 1217 刷新
!system 1220 昵称:
!system 1221 主机信息:
!system 1222 主机密码:
!system 1223 加入游戏
!system 1224 建立主机
!system 1225 卡片允许:
!system 1226 禁限卡表:
!system 1227 决斗模式:
!system 1228 ↓额外选项(无特殊要求请勿修改)
!system 1229 不检查卡组
!system 1230 不洗切卡组
!system 1231 初始LP
!system 1232 初始手牌数:
!system 1233 每回合抽卡:
!system 1234 主机名称:
!system 1235 主机密码:
!system 1236 允许启动效果优先权
!system 1237 每回合时间:
!system 1240 OCG
!system 1241 TCG
!system 1242 OCG&TCG
!system 1243 专有卡禁止
!system 1244 单局模式
!system 1245 比赛模式
!system 1246 TAG
!system 1250 决斗准备
!system 1251 →决斗者
!system 1252 →观战
!system 1253 当前观战人数:
!system 1254 卡组选择:
!system 1255 准备完毕!
!system 1270 卡片信息
!system 1271 消息记录
!system 1272 清除记录
!system 1273 系统设定
!system 1274 自动选择卡片位置
!system 1275 ↑随机选择位置
!system 1276 自动排列连锁顺序
!system 1277 没有可连锁的卡时延迟回应
!system 1280 标准对战
!system 1281 自定义
!system 1290 忽略对方发言
!system 1291 忽略观战者发言
!system 1300 禁限卡表:
!system 1301 卡组列表:
!system 1302 保存
!system 1303 另存
!system 1304 清空
!system 1305 排序
!system 1306 退出编辑
!system 1307 打乱
!system 1310 (无)
!system 1311 种类:
!system 1312 怪兽
!system 1313 魔法
!system 1314 陷阱
!system 1315 禁限:
!system 1316 禁止
!system 1317 限制
!system 1318 准限制
!system 1319 属性:
!system 1321 种族:
!system 1322 攻击:
!system 1323 守备:
!system 1324 星数:
!system 1325 关键字:
!system 1326 效果
!system 1327 重新搜索
!system 1328 结果中搜索
!system 1330 主卡组:
!system 1331 额外卡组:
!system 1332 副卡组:
!system 1333 搜索结果:
!system 1334 副卡组更换完成
!system 1335 保存成功
!system 1340 是否保存录像?
!system 1341 保存
!system 1342 录像文件:
!system 1343 播放
!system 1344 暂停
!system 1345 下一步
!system 1346 切换视角
!system 1347 退出
!system 1348 载入录像
!system 1349 录像信息:
!system 1350 离开
!system 1351 投降
!system 1352 主要信息:
!system 1353 播放起始于回合:
!system 1390 等待行动中...
!system 1391 等待行动中....
!system 1392 等待行动中.....
!system 1400 无法连接到主机。
!system 1401 连接已断开。
!system 1402 网络传输发生错误。
!system 1403 无法加入主机。
!system 1404 密码错误。
!system 1405 主机拒绝了连接。
!system 1406 无效卡组。
!system 1407 「%ls」的数量不符合当前设定。
!system 1408 更换副卡组失败。
!system 1409 等待更换副卡组中...
!system 1410 卡组数量与先前不符合。
!system 1411 版本不匹配(%X.0%X.%X)。
!system 1500 决斗结束。
!system 1501 录像结束。
!system 1502 连接已断开。
!system 1510 对方选择了:[%ls]
!system 1511 对方宣言了:[%ls]
!system 1512 对方选择了:[%d]
!system 1600 卡片改变了表示形式
!system 1601 放置了卡片
!system 1602 卡的控制权改变了
!system 1603 [%ls]召唤中...
!system 1604 怪兽召唤成功
!system 1605 [%ls]特殊召唤中...
!system 1606 怪兽特殊召唤成功
!system 1607 [%ls]反转召唤中...
!system 1608 怪兽反转召唤成功
!system 1609 [%ls]的效果发动
!system 1610 [%ls](%ls,%d)成为对象
!system 1611 我方抽了%d张卡
!system 1612 对手抽了%d张卡
!system 1613 我方受到%d伤害
!system 1614 对方受到%d伤害
!system 1615 我方回复%dLP
!system 1616 对方回复%dLP
!system 1617 [%ls]放置了%d个[%ls]
!system 1618 [%ls]移除了%d个[%ls]
!system 1619 [%ls]攻击[%ls]
!system 1620 [%ls]直接攻击
!system 1621 攻击被无效
!system 1622 [%ls]错过时点
!system 1623 投掷硬币结果:
!system 1624 投掷骰子结果:
#vistory reason
!victory 0x0 投降
!victory 0x1 LP变成0
!victory 0x2 没有卡可抽
!victory 0x3 超时
!victory 0x4 失去连接
!victory 0x10 「被封印的艾克佐迪亚」效果胜利
!victory 0x11 「终焉的倒计时」效果胜利
!victory 0x12 「毒蛇神 维诺米纳迦」效果胜利
!victory 0x13 「光之创造神 哈拉克提」效果胜利
!victory 0x14 「究极封印神 艾克佐迪奥斯」效果胜利
!victory 0x15 「通灵盘」效果胜利
!victory 0x16 「最终一战!」效果胜利
!victory 0x17No.88 机关傀儡-命运狮子」效果胜利
!victory 0x18 「混沌No.88 机关傀儡-灾厄狮子」效果胜利
!victory 0x19 「头奖壶7」效果胜利
!victory 0x1a 「魂之接力」效果胜利
!victory 0x1b 「鬼计惰天使」效果胜利
!victory 0x20 由于「%ls」的效果获得比赛胜利
#counters
!counter 0x3001 魔力指示物
!counter 0x2 楔指示物
!counter 0x3003 武士道指示物
!counter 0x3004 念力指示物
!counter 0x5 光指示物
!counter 0x6 宝玉指示物
!counter 0x7 指示物(剑斗兽之槛)
!counter 0x8 D指示物
!counter 0x9 毒指示物
!counter 0xa 次世代指示物
!counter 0x300b 指示物(古代的机械城)
!counter 0xc 雷指示物
!counter 0xd 强欲指示物
!counter 0xe A指示物
!counter 0xf 虫指示物
!counter 0x10 黑羽指示物
!counter 0x11 超毒指示物
!counter 0x12 机巧指示物
!counter 0x13 混沌指示物
!counter 0x14 指示物(奇迹之侏罗纪蛋)
!counter 0x15 冰指示物
!counter 0x16 魔石指示物
!counter 0x17 橡子指示物
!counter 0x18 花指示物
!counter 0x19 雾指示物
!counter 0x1a 倍倍指示物
!counter 0x1b 时计指示物
!counter 0x1c D指示物
!counter 0x1d 废品指示物
!counter 0x1e 门指示物
!counter 0x1f 指示物(巨大战舰)
!counter 0x20 植物指示物
!counter 0x21 守卫指示物
!counter 0x22 龙神指示物
!counter 0x23 海洋指示物
!counter 0x24 弦指示物
!counter 0x25 年代记指示物
!counter 0x26 指示物(金属射手)
!counter 0x27 指示物(死亡蚊)
!counter 0x3028 指示物(暗黑投射手)
!counter 0x29 指示物(气球蜥蜴)
!counter 0x2a 指示物(魔法防护器)
!counter 0x302b 命运指示物
!counter 0x2c 遵命指示物
!counter 0x2d 指示物(踢火)
!counter 0x2e 鲨指示物
!counter 0x2f 南瓜指示物
!counter 0x30 毅飞冲天指示物
!counter 0x31 希望剑指示物
!counter 0x32 气球指示物
--created by DataEditorX
Debug.SetAIName("AI Name")
Debug.ReloadFieldBegin(DUEL_ATTACK_FIRST_TURN+DUEL_SIMPLE_AI)
Debug.SetPlayerInfo(0,8000,0,0) --player
Debug.SetPlayerInfo(1,15000,0,0) --AI
--Debug.AddCard(int code,int owner,int playerid,int location,int sequence,int position)
--Debug.AddCard(int code,int owner,int playerid,int location,int sequence,int position,bool revive_limit)
--Debug.PreAddCounter(Card card,int counter,int ccount)
--Debug.PreEquip(Card equip_card, Card target)
--Debug.PreSetTarget(Card card, Card target)
--end
Debug.ReloadFieldEnd()
Debug.ShowHint("Message")
aux.BeginPuzzle()
No preview for this file type
# database history
F:\games\ygopro\cards.cdb
F:\games\[jp]cards.cdb
F:\games\ygopro\p.zip.cdb
# script history
F:\games\ygopro\script\c131182.lua
F:\games\ygopro\script\c168917.lua
F:\games\ygopro\script\c114932.lua
F:\games\ygopro\script\c269012.lua
F:\games\ygopro\script\c296499.lua
F:\games\ygopro\script\c218704.lua
F:\games\ygopro\script\c126218.lua
F:\games\ygopro\script\c102380.lua
F:\games\ygopro\script\c135598.lua
F:\games\ygopro\script\c176392.lua
F:\games\ygopro\script\c27551.lua
F:\games\ygopro\script\c255998.lua
F:\games\ygopro\script\c47198668.lua
F:\games\ygopro\script\c4239451.lua
F:\games\ygopro\script\c93368494.lua
F:\games\ygopro\script\c50485594.lua
\ No newline at end of file
D:\用户目录\我的文档\a.cdb
# script history
\ No newline at end of file
###########################
# Magic Set Editor 2
#
# \t = Tab \n = Enter \s = Space
########################### Chs 2 Cht
cn2tw = true
########################### Setting
......@@ -14,6 +16,8 @@ trap = [陷阱卡%%]
############################ language,style,other setting
head = mse version: 0.3.8\ngame: yugioh\nstylesheet: standard\nset info:\n\tlanguage: TW\n\tedition: \n\tST mark is text: no\n\tpendulum image is small: yes\n
############################ Text
text =【摇摆效果】\n%ptext%\n【怪兽效果】\n%text%\n
############################
# chs jp
pendulum-text = 】[\s\S]*?\n([\S\s]*?)\n【
# cht pendulum-text = ([\S\s]*?)\n【
......
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