Commit d97f836d authored by JoyJ's avatar JoyJ

effect creator UI (incomplete)

parent 857ccd03
Pipeline #131 passed with stage
in 51 seconds
......@@ -212,7 +212,6 @@ private void InitializeComponent()
this.effectCreatorToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F3;
this.effectCreatorToolStripMenuItem.Size = new System.Drawing.Size(180, 22);
this.effectCreatorToolStripMenuItem.Text = "Effect Creator";
this.effectCreatorToolStripMenuItem.Visible = false;
this.effectCreatorToolStripMenuItem.Click += new System.EventHandler(this.effectCreatorToolStripMenuItem_Click);
//
// tb_input
......
......@@ -65,7 +65,7 @@ public static bool CheckVersion(string ver, string oldver)
{
bool hasNew = false;
#if DEBUG
System.Windows.Forms.MessageBox.Show(oldver + "=>" + ver);
System.Windows.Forms.MessageBox.Show(oldver + "=>" + ver);
#endif
string[] vers = ver.Split('.');
string[] oldvers = oldver.Split('.');
......
......@@ -28,81 +28,696 @@ protected override void Dispose(bool disposing)
/// </summary>
private void InitializeComponent()
{
this.textBox1 = new System.Windows.Forms.TextBox();
this.txtOutput = new System.Windows.Forms.TextBox();
this.listEffectCode = new System.Windows.Forms.CheckedListBox();
this.gbSpecialOptions = new System.Windows.Forms.GroupBox();
this.checkRegisterToPlayer = new System.Windows.Forms.CheckBox();
this.checkEnableReviveLimit = new System.Windows.Forms.CheckBox();
this.gbEffectType = new System.Windows.Forms.GroupBox();
this.radioEffectTypeField = new System.Windows.Forms.RadioButton();
this.radioEffectTypeSingle = new System.Windows.Forms.RadioButton();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.txtSearchEffectCode = new System.Windows.Forms.TextBox();
this.gbEffectType2 = new System.Windows.Forms.GroupBox();
this.radio_EffectTypeNone = new System.Windows.Forms.RadioButton();
this.radioEffectTypeTarget = new System.Windows.Forms.RadioButton();
this.radioEffectTypeGrant = new System.Windows.Forms.RadioButton();
this.radioEffectTypeXMaterial = new System.Windows.Forms.RadioButton();
this.radioEffectTypeContinuous = new System.Windows.Forms.RadioButton();
this.radioEffectTypeQuick_F = new System.Windows.Forms.RadioButton();
this.radioEffectTypeQuick_O = new System.Windows.Forms.RadioButton();
this.radioEffectTypeTrigger_F = new System.Windows.Forms.RadioButton();
this.radioEffectTypeTrigger_O = new System.Windows.Forms.RadioButton();
this.radioEffectTypeIgnition = new System.Windows.Forms.RadioButton();
this.radioEffectTypeFlip = new System.Windows.Forms.RadioButton();
this.radioEffectTypeActivate = new System.Windows.Forms.RadioButton();
this.radioEffectTypeEquip = new System.Windows.Forms.RadioButton();
this.相关函数 = new System.Windows.Forms.GroupBox();
this.checkBox5 = new System.Windows.Forms.CheckBox();
this.checkBox4 = new System.Windows.Forms.CheckBox();
this.checkBox3 = new System.Windows.Forms.CheckBox();
this.checkBox2 = new System.Windows.Forms.CheckBox();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.checkBox6 = new System.Windows.Forms.CheckBox();
this.checkBox7 = new System.Windows.Forms.CheckBox();
this.checkBox8 = new System.Windows.Forms.CheckBox();
this.checkBox9 = new System.Windows.Forms.CheckBox();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.checkHintTiming = new System.Windows.Forms.CheckBox();
this.checkReset = new System.Windows.Forms.CheckBox();
this.checkCountLimit = new System.Windows.Forms.CheckBox();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.txtSearchEffectCategory = new System.Windows.Forms.TextBox();
this.listEffectCategory = new System.Windows.Forms.CheckedListBox();
this.label1 = new System.Windows.Forms.Label();
this.numCardCode = new System.Windows.Forms.NumericUpDown();
this.numDescription = new System.Windows.Forms.NumericUpDown();
this.label2 = new System.Windows.Forms.Label();
this.numEffectNum = new System.Windows.Forms.NumericUpDown();
this.label3 = new System.Windows.Forms.Label();
this.btnStart = new System.Windows.Forms.Button();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.txtSearchProperty = new System.Windows.Forms.TextBox();
this.listEffectProperty = new System.Windows.Forms.CheckedListBox();
this.btnAddIndent = new System.Windows.Forms.Button();
this.gbSpecialOptions.SuspendLayout();
this.gbEffectType.SuspendLayout();
this.groupBox1.SuspendLayout();
this.gbEffectType2.SuspendLayout();
this.相关函数.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox5.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numCardCode)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numDescription)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numEffectNum)).BeginInit();
this.groupBox6.SuspendLayout();
this.SuspendLayout();
//
// textBox1
// txtOutput
//
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
this.txtOutput.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBox1.Location = new System.Drawing.Point(721, 12);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(293, 441);
this.textBox1.TabIndex = 0;
this.txtOutput.Location = new System.Drawing.Point(721, 238);
this.txtOutput.Multiline = true;
this.txtOutput.Name = "txtOutput";
this.txtOutput.Size = new System.Drawing.Size(280, 260);
this.txtOutput.TabIndex = 0;
//
// listEffectCode
//
this.listEffectCode.CheckOnClick = true;
this.listEffectCode.FormattingEnabled = true;
this.listEffectCode.Location = new System.Drawing.Point(6, 20);
this.listEffectCode.Location = new System.Drawing.Point(6, 52);
this.listEffectCode.Name = "listEffectCode";
this.listEffectCode.Size = new System.Drawing.Size(251, 132);
this.listEffectCode.Size = new System.Drawing.Size(268, 116);
this.listEffectCode.TabIndex = 1;
this.listEffectCode.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.listEffectCode_ItemCheck);
//
// gbSpecialOptions
//
this.gbSpecialOptions.Controls.Add(this.checkRegisterToPlayer);
this.gbSpecialOptions.Controls.Add(this.checkEnableReviveLimit);
this.gbSpecialOptions.Location = new System.Drawing.Point(12, 12);
this.gbSpecialOptions.Location = new System.Drawing.Point(12, 56);
this.gbSpecialOptions.Name = "gbSpecialOptions";
this.gbSpecialOptions.Size = new System.Drawing.Size(148, 54);
this.gbSpecialOptions.Size = new System.Drawing.Size(150, 68);
this.gbSpecialOptions.TabIndex = 2;
this.gbSpecialOptions.TabStop = false;
this.gbSpecialOptions.Text = "特殊选项";
//
// checkRegisterToPlayer
//
this.checkRegisterToPlayer.AutoSize = true;
this.checkRegisterToPlayer.Location = new System.Drawing.Point(7, 43);
this.checkRegisterToPlayer.Name = "checkRegisterToPlayer";
this.checkRegisterToPlayer.Size = new System.Drawing.Size(132, 16);
this.checkRegisterToPlayer.TabIndex = 1;
this.checkRegisterToPlayer.Text = "注册给玩家而非卡片";
this.checkRegisterToPlayer.UseVisualStyleBackColor = true;
//
// checkEnableReviveLimit
//
this.checkEnableReviveLimit.AutoSize = true;
this.checkEnableReviveLimit.Location = new System.Drawing.Point(6, 20);
this.checkEnableReviveLimit.Location = new System.Drawing.Point(7, 21);
this.checkEnableReviveLimit.Name = "checkEnableReviveLimit";
this.checkEnableReviveLimit.Size = new System.Drawing.Size(96, 16);
this.checkEnableReviveLimit.Size = new System.Drawing.Size(132, 16);
this.checkEnableReviveLimit.TabIndex = 0;
this.checkEnableReviveLimit.Text = "开启召唤限制";
this.checkEnableReviveLimit.Text = "这张卡不能通常召唤";
this.checkEnableReviveLimit.UseVisualStyleBackColor = true;
//
// gbEffectType
//
this.gbEffectType.Controls.Add(this.listEffectCode);
this.gbEffectType.Location = new System.Drawing.Point(166, 12);
this.gbEffectType.Controls.Add(this.radioEffectTypeField);
this.gbEffectType.Controls.Add(this.radioEffectTypeSingle);
this.gbEffectType.Location = new System.Drawing.Point(164, 56);
this.gbEffectType.Name = "gbEffectType";
this.gbEffectType.Size = new System.Drawing.Size(263, 173);
this.gbEffectType.Size = new System.Drawing.Size(261, 68);
this.gbEffectType.TabIndex = 3;
this.gbEffectType.TabStop = false;
this.gbEffectType.Text = "效果种类";
this.gbEffectType.Text = "作用范围";
//
// radioEffectTypeField
//
this.radioEffectTypeField.AutoSize = true;
this.radioEffectTypeField.Location = new System.Drawing.Point(6, 43);
this.radioEffectTypeField.Name = "radioEffectTypeField";
this.radioEffectTypeField.Size = new System.Drawing.Size(251, 16);
this.radioEffectTypeField.TabIndex = 1;
this.radioEffectTypeField.Text = "对其他卡也有效,或任何卡发生事件都触发";
this.radioEffectTypeField.UseVisualStyleBackColor = true;
//
// radioEffectTypeSingle
//
this.radioEffectTypeSingle.AutoSize = true;
this.radioEffectTypeSingle.Checked = true;
this.radioEffectTypeSingle.Location = new System.Drawing.Point(6, 21);
this.radioEffectTypeSingle.Name = "radioEffectTypeSingle";
this.radioEffectTypeSingle.Size = new System.Drawing.Size(251, 16);
this.radioEffectTypeSingle.TabIndex = 0;
this.radioEffectTypeSingle.TabStop = true;
this.radioEffectTypeSingle.Text = "只对自己有效,或只有自身状态变化时触发";
this.radioEffectTypeSingle.UseVisualStyleBackColor = true;
//
// groupBox1
//
this.groupBox1.Controls.Add(this.txtSearchEffectCode);
this.groupBox1.Controls.Add(this.listEffectCode);
this.groupBox1.Location = new System.Drawing.Point(435, 12);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(280, 174);
this.groupBox1.TabIndex = 4;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "效果类型或触发时机";
//
// txtSearchEffectCode
//
this.txtSearchEffectCode.Location = new System.Drawing.Point(6, 20);
this.txtSearchEffectCode.Name = "txtSearchEffectCode";
this.txtSearchEffectCode.Size = new System.Drawing.Size(268, 21);
this.txtSearchEffectCode.TabIndex = 2;
this.txtSearchEffectCode.TextChanged += new System.EventHandler(this.txtSearchEffectCode_TextChanged);
//
// gbEffectType2
//
this.gbEffectType2.Controls.Add(this.radio_EffectTypeNone);
this.gbEffectType2.Controls.Add(this.radioEffectTypeTarget);
this.gbEffectType2.Controls.Add(this.radioEffectTypeGrant);
this.gbEffectType2.Controls.Add(this.radioEffectTypeXMaterial);
this.gbEffectType2.Controls.Add(this.radioEffectTypeContinuous);
this.gbEffectType2.Controls.Add(this.radioEffectTypeQuick_F);
this.gbEffectType2.Controls.Add(this.radioEffectTypeQuick_O);
this.gbEffectType2.Controls.Add(this.radioEffectTypeTrigger_F);
this.gbEffectType2.Controls.Add(this.radioEffectTypeTrigger_O);
this.gbEffectType2.Controls.Add(this.radioEffectTypeIgnition);
this.gbEffectType2.Controls.Add(this.radioEffectTypeFlip);
this.gbEffectType2.Controls.Add(this.radioEffectTypeActivate);
this.gbEffectType2.Controls.Add(this.radioEffectTypeEquip);
this.gbEffectType2.Location = new System.Drawing.Point(12, 130);
this.gbEffectType2.Name = "gbEffectType2";
this.gbEffectType2.Size = new System.Drawing.Size(413, 157);
this.gbEffectType2.TabIndex = 4;
this.gbEffectType2.TabStop = false;
this.gbEffectType2.Text = "效果分类";
//
// radio_EffectTypeNone
//
this.radio_EffectTypeNone.AutoSize = true;
this.radio_EffectTypeNone.Checked = true;
this.radio_EffectTypeNone.Location = new System.Drawing.Point(336, 76);
this.radio_EffectTypeNone.Name = "radio_EffectTypeNone";
this.radio_EffectTypeNone.Size = new System.Drawing.Size(71, 16);
this.radio_EffectTypeNone.TabIndex = 12;
this.radio_EffectTypeNone.TabStop = true;
this.radio_EffectTypeNone.Text = "永续效果";
this.radio_EffectTypeNone.UseVisualStyleBackColor = true;
//
// radioEffectTypeTarget
//
this.radioEffectTypeTarget.AutoSize = true;
this.radioEffectTypeTarget.Location = new System.Drawing.Point(7, 130);
this.radioEffectTypeTarget.Name = "radioEffectTypeTarget";
this.radioEffectTypeTarget.Size = new System.Drawing.Size(167, 16);
this.radioEffectTypeTarget.TabIndex = 11;
this.radioEffectTypeTarget.Text = "持续取对象的卡获得的效果";
this.radioEffectTypeTarget.UseVisualStyleBackColor = true;
//
// radioEffectTypeGrant
//
this.radioEffectTypeGrant.AutoSize = true;
this.radioEffectTypeGrant.Location = new System.Drawing.Point(184, 130);
this.radioEffectTypeGrant.Name = "radioEffectTypeGrant";
this.radioEffectTypeGrant.Size = new System.Drawing.Size(155, 16);
this.radioEffectTypeGrant.TabIndex = 10;
this.radioEffectTypeGrant.Text = "让其他卡获得效果的效果";
this.radioEffectTypeGrant.UseVisualStyleBackColor = true;
//
// radioEffectTypeXMaterial
//
this.radioEffectTypeXMaterial.AutoSize = true;
this.radioEffectTypeXMaterial.Location = new System.Drawing.Point(6, 108);
this.radioEffectTypeXMaterial.Name = "radioEffectTypeXMaterial";
this.radioEffectTypeXMaterial.Size = new System.Drawing.Size(233, 16);
this.radioEffectTypeXMaterial.TabIndex = 9;
this.radioEffectTypeXMaterial.Text = "作为素材使用的场合,XYZ怪兽获得效果";
this.radioEffectTypeXMaterial.UseVisualStyleBackColor = true;
//
// radioEffectTypeContinuous
//
this.radioEffectTypeContinuous.AutoSize = true;
this.radioEffectTypeContinuous.Location = new System.Drawing.Point(143, 42);
this.radioEffectTypeContinuous.Name = "radioEffectTypeContinuous";
this.radioEffectTypeContinuous.Size = new System.Drawing.Size(155, 16);
this.radioEffectTypeContinuous.TabIndex = 8;
this.radioEffectTypeContinuous.Text = "不入连锁的事件触发效果";
this.radioEffectTypeContinuous.UseVisualStyleBackColor = true;
//
// radioEffectTypeQuick_F
//
this.radioEffectTypeQuick_F.AutoSize = true;
this.radioEffectTypeQuick_F.Location = new System.Drawing.Point(6, 86);
this.radioEffectTypeQuick_F.Name = "radioEffectTypeQuick_F";
this.radioEffectTypeQuick_F.Size = new System.Drawing.Size(149, 16);
this.radioEffectTypeQuick_F.TabIndex = 7;
this.radioEffectTypeQuick_F.Text = "诱发即时必发效果(2速)";
this.radioEffectTypeQuick_F.UseVisualStyleBackColor = true;
//
// radioEffectTypeQuick_O
//
this.radioEffectTypeQuick_O.AutoSize = true;
this.radioEffectTypeQuick_O.Location = new System.Drawing.Point(158, 86);
this.radioEffectTypeQuick_O.Name = "radioEffectTypeQuick_O";
this.radioEffectTypeQuick_O.Size = new System.Drawing.Size(149, 16);
this.radioEffectTypeQuick_O.TabIndex = 6;
this.radioEffectTypeQuick_O.Text = "诱发即时选发效果(2速)";
this.radioEffectTypeQuick_O.UseVisualStyleBackColor = true;
//
// radioEffectTypeTrigger_F
//
this.radioEffectTypeTrigger_F.AutoSize = true;
this.radioEffectTypeTrigger_F.Location = new System.Drawing.Point(6, 64);
this.radioEffectTypeTrigger_F.Name = "radioEffectTypeTrigger_F";
this.radioEffectTypeTrigger_F.Size = new System.Drawing.Size(125, 16);
this.radioEffectTypeTrigger_F.TabIndex = 5;
this.radioEffectTypeTrigger_F.Text = "诱发必发效果(1速)";
this.radioEffectTypeTrigger_F.UseVisualStyleBackColor = true;
//
// radioEffectTypeTrigger_O
//
this.radioEffectTypeTrigger_O.AutoSize = true;
this.radioEffectTypeTrigger_O.Location = new System.Drawing.Point(137, 64);
this.radioEffectTypeTrigger_O.Name = "radioEffectTypeTrigger_O";
this.radioEffectTypeTrigger_O.Size = new System.Drawing.Size(125, 16);
this.radioEffectTypeTrigger_O.TabIndex = 4;
this.radioEffectTypeTrigger_O.Text = "诱发选发效果(1速)";
this.radioEffectTypeTrigger_O.UseVisualStyleBackColor = true;
//
// radioEffectTypeIgnition
//
this.radioEffectTypeIgnition.AutoSize = true;
this.radioEffectTypeIgnition.Location = new System.Drawing.Point(336, 54);
this.radioEffectTypeIgnition.Name = "radioEffectTypeIgnition";
this.radioEffectTypeIgnition.Size = new System.Drawing.Size(71, 16);
this.radioEffectTypeIgnition.TabIndex = 3;
this.radioEffectTypeIgnition.Text = "起动效果";
this.radioEffectTypeIgnition.UseVisualStyleBackColor = true;
//
// radioEffectTypeFlip
//
this.radioEffectTypeFlip.AutoSize = true;
this.radioEffectTypeFlip.Location = new System.Drawing.Point(6, 42);
this.radioEffectTypeFlip.Name = "radioEffectTypeFlip";
this.radioEffectTypeFlip.Size = new System.Drawing.Size(131, 16);
this.radioEffectTypeFlip.TabIndex = 2;
this.radioEffectTypeFlip.Text = "反转怪兽的反转效果";
this.radioEffectTypeFlip.UseVisualStyleBackColor = true;
//
// radioEffectTypeActivate
//
this.radioEffectTypeActivate.AutoSize = true;
this.radioEffectTypeActivate.Location = new System.Drawing.Point(167, 20);
this.radioEffectTypeActivate.Name = "radioEffectTypeActivate";
this.radioEffectTypeActivate.Size = new System.Drawing.Size(215, 16);
this.radioEffectTypeActivate.TabIndex = 1;
this.radioEffectTypeActivate.Text = "魔法陷阱卡从手卡往场上放置并发动";
this.radioEffectTypeActivate.UseVisualStyleBackColor = true;
//
// radioEffectTypeEquip
//
this.radioEffectTypeEquip.AutoSize = true;
this.radioEffectTypeEquip.Location = new System.Drawing.Point(6, 20);
this.radioEffectTypeEquip.Name = "radioEffectTypeEquip";
this.radioEffectTypeEquip.Size = new System.Drawing.Size(155, 16);
this.radioEffectTypeEquip.TabIndex = 0;
this.radioEffectTypeEquip.Text = "装备给其他卡时产生效果";
this.radioEffectTypeEquip.UseVisualStyleBackColor = true;
//
// 相关函数
//
this.相关函数.Controls.Add(this.checkBox5);
this.相关函数.Controls.Add(this.checkBox4);
this.相关函数.Controls.Add(this.checkBox3);
this.相关函数.Controls.Add(this.checkBox2);
this.相关函数.Location = new System.Drawing.Point(12, 387);
this.相关函数.Name = "相关函数";
this.相关函数.Size = new System.Drawing.Size(413, 111);
this.相关函数.TabIndex = 5;
this.相关函数.TabStop = false;
this.相关函数.Text = "效果处理相关2";
//
// checkBox5
//
this.checkBox5.AutoSize = true;
this.checkBox5.Location = new System.Drawing.Point(6, 86);
this.checkBox5.Name = "checkBox5";
this.checkBox5.Size = new System.Drawing.Size(186, 16);
this.checkBox5.TabIndex = 3;
this.checkBox5.Text = "有Operation(发动后具体动作)";
this.checkBox5.UseVisualStyleBackColor = true;
//
// checkBox4
//
this.checkBox4.AutoSize = true;
this.checkBox4.Location = new System.Drawing.Point(6, 42);
this.checkBox4.Name = "checkBox4";
this.checkBox4.Size = new System.Drawing.Size(216, 16);
this.checkBox4.TabIndex = 2;
this.checkBox4.Text = "有Cost(发动条件,被复制后不检查)";
this.checkBox4.UseVisualStyleBackColor = true;
//
// checkBox3
//
this.checkBox3.AutoSize = true;
this.checkBox3.Location = new System.Drawing.Point(6, 64);
this.checkBox3.Name = "checkBox3";
this.checkBox3.Size = new System.Drawing.Size(240, 16);
this.checkBox3.TabIndex = 1;
this.checkBox3.Text = "有Target(防止空发,被复制后也要检查)";
this.checkBox3.UseVisualStyleBackColor = true;
//
// checkBox2
//
this.checkBox2.AutoSize = true;
this.checkBox2.Location = new System.Drawing.Point(6, 20);
this.checkBox2.Name = "checkBox2";
this.checkBox2.Size = new System.Drawing.Size(246, 16);
this.checkBox2.TabIndex = 0;
this.checkBox2.Text = "有Condition(发动前提,被复制后不检查)";
this.checkBox2.UseVisualStyleBackColor = true;
//
// groupBox3
//
this.groupBox3.Controls.Add(this.checkBox6);
this.groupBox3.Controls.Add(this.checkBox7);
this.groupBox3.Controls.Add(this.checkBox8);
this.groupBox3.Controls.Add(this.checkBox9);
this.groupBox3.Location = new System.Drawing.Point(435, 387);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(280, 111);
this.groupBox3.TabIndex = 6;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "效果处理相关3";
//
// checkBox6
//
this.checkBox6.AutoSize = true;
this.checkBox6.Location = new System.Drawing.Point(6, 86);
this.checkBox6.Name = "checkBox6";
this.checkBox6.Size = new System.Drawing.Size(186, 16);
this.checkBox6.TabIndex = 3;
this.checkBox6.Text = "有Operation(发动后具体动作)";
this.checkBox6.UseVisualStyleBackColor = true;
//
// checkBox7
//
this.checkBox7.AutoSize = true;
this.checkBox7.Location = new System.Drawing.Point(6, 42);
this.checkBox7.Name = "checkBox7";
this.checkBox7.Size = new System.Drawing.Size(162, 16);
this.checkBox7.TabIndex = 2;
this.checkBox7.Text = "有TargetRange(影响范围)";
this.checkBox7.UseVisualStyleBackColor = true;
//
// checkBox8
//
this.checkBox8.AutoSize = true;
this.checkBox8.Location = new System.Drawing.Point(6, 64);
this.checkBox8.Name = "checkBox8";
this.checkBox8.Size = new System.Drawing.Size(240, 16);
this.checkBox8.TabIndex = 1;
this.checkBox8.Text = "有Target(防止空发,被复制后也要检查)";
this.checkBox8.UseVisualStyleBackColor = true;
//
// checkBox9
//
this.checkBox9.AutoSize = true;
this.checkBox9.Location = new System.Drawing.Point(6, 20);
this.checkBox9.Name = "checkBox9";
this.checkBox9.Size = new System.Drawing.Size(198, 16);
this.checkBox9.TabIndex = 0;
this.checkBox9.Text = "有Range(位于某些位置才能发动)";
this.checkBox9.UseVisualStyleBackColor = true;
//
// groupBox4
//
this.groupBox4.Controls.Add(this.checkHintTiming);
this.groupBox4.Controls.Add(this.checkReset);
this.groupBox4.Controls.Add(this.checkCountLimit);
this.groupBox4.Location = new System.Drawing.Point(12, 293);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(413, 88);
this.groupBox4.TabIndex = 7;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "效果处理相关1";
//
// checkHintTiming
//
this.checkHintTiming.AutoSize = true;
this.checkHintTiming.Location = new System.Drawing.Point(10, 64);
this.checkHintTiming.Name = "checkHintTiming";
this.checkHintTiming.Size = new System.Drawing.Size(276, 16);
this.checkHintTiming.TabIndex = 3;
this.checkHintTiming.Text = "某些额外时点要询问玩家是否发动(HintTiming)";
this.checkHintTiming.UseVisualStyleBackColor = true;
//
// checkReset
//
this.checkReset.AutoSize = true;
this.checkReset.Location = new System.Drawing.Point(10, 42);
this.checkReset.Name = "checkReset";
this.checkReset.Size = new System.Drawing.Size(246, 16);
this.checkReset.TabIndex = 2;
this.checkReset.Text = "这个效果在满足某种条件后会消失(Reset)";
this.checkReset.UseVisualStyleBackColor = true;
//
// checkCountLimit
//
this.checkCountLimit.AutoSize = true;
this.checkCountLimit.Location = new System.Drawing.Point(10, 20);
this.checkCountLimit.Name = "checkCountLimit";
this.checkCountLimit.Size = new System.Drawing.Size(198, 16);
this.checkCountLimit.TabIndex = 1;
this.checkCountLimit.Text = "每回合最多使用X次(CountLimit)";
this.checkCountLimit.UseVisualStyleBackColor = true;
//
// groupBox5
//
this.groupBox5.Controls.Add(this.txtSearchEffectCategory);
this.groupBox5.Controls.Add(this.listEffectCategory);
this.groupBox5.Location = new System.Drawing.Point(721, 12);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(280, 174);
this.groupBox5.TabIndex = 5;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "效果分类";
//
// txtSearchEffectCategory
//
this.txtSearchEffectCategory.Location = new System.Drawing.Point(6, 20);
this.txtSearchEffectCategory.Name = "txtSearchEffectCategory";
this.txtSearchEffectCategory.Size = new System.Drawing.Size(268, 21);
this.txtSearchEffectCategory.TabIndex = 2;
this.txtSearchEffectCategory.TextChanged += new System.EventHandler(this.txtSearchEffectCategory_TextChanged);
//
// listEffectCategory
//
this.listEffectCategory.CheckOnClick = true;
this.listEffectCategory.FormattingEnabled = true;
this.listEffectCategory.Location = new System.Drawing.Point(6, 52);
this.listEffectCategory.Name = "listEffectCategory";
this.listEffectCategory.Size = new System.Drawing.Size(268, 116);
this.listEffectCategory.TabIndex = 1;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(10, 14);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(53, 12);
this.label1.TabIndex = 9;
this.label1.Text = "卡片代码";
//
// numCardCode
//
this.numCardCode.Location = new System.Drawing.Point(12, 29);
this.numCardCode.Maximum = new decimal(new int[] {
268435455,
0,
0,
0});
this.numCardCode.Minimum = new decimal(new int[] {
1000,
0,
0,
0});
this.numCardCode.Name = "numCardCode";
this.numCardCode.Size = new System.Drawing.Size(98, 21);
this.numCardCode.TabIndex = 10;
this.numCardCode.Value = new decimal(new int[] {
1000,
0,
0,
0});
//
// numDescription
//
this.numDescription.Location = new System.Drawing.Point(116, 29);
this.numDescription.Maximum = new decimal(new int[] {
16,
0,
0,
0});
this.numDescription.Minimum = new decimal(new int[] {
1,
0,
0,
-2147483648});
this.numDescription.Name = "numDescription";
this.numDescription.Size = new System.Drawing.Size(70, 21);
this.numDescription.TabIndex = 12;
this.numDescription.Value = new decimal(new int[] {
1,
0,
0,
-2147483648});
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(113, 12);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(77, 12);
this.label2.TabIndex = 11;
this.label2.Text = "描述(-1禁用)";
//
// numEffectNum
//
this.numEffectNum.Location = new System.Drawing.Point(192, 29);
this.numEffectNum.Maximum = new decimal(new int[] {
1000,
0,
0,
0});
this.numEffectNum.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.numEffectNum.Name = "numEffectNum";
this.numEffectNum.Size = new System.Drawing.Size(63, 21);
this.numEffectNum.TabIndex = 14;
this.numEffectNum.Value = new decimal(new int[] {
1,
0,
0,
0});
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(190, 12);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(65, 12);
this.label3.TabIndex = 13;
this.label3.Text = "效果识别码";
//
// btnStart
//
this.btnStart.Location = new System.Drawing.Point(721, 196);
this.btnStart.Name = "btnStart";
this.btnStart.Size = new System.Drawing.Size(75, 36);
this.btnStart.TabIndex = 15;
this.btnStart.Text = "生成效果";
this.btnStart.UseVisualStyleBackColor = true;
this.btnStart.Click += new System.EventHandler(this.btnStart_Click);
//
// groupBox6
//
this.groupBox6.Controls.Add(this.txtSearchProperty);
this.groupBox6.Controls.Add(this.listEffectProperty);
this.groupBox6.Location = new System.Drawing.Point(435, 199);
this.groupBox6.Name = "groupBox6";
this.groupBox6.Size = new System.Drawing.Size(280, 182);
this.groupBox6.TabIndex = 5;
this.groupBox6.TabStop = false;
this.groupBox6.Text = "额外选项";
//
// txtSearchProperty
//
this.txtSearchProperty.Location = new System.Drawing.Point(6, 20);
this.txtSearchProperty.Name = "txtSearchProperty";
this.txtSearchProperty.Size = new System.Drawing.Size(268, 21);
this.txtSearchProperty.TabIndex = 2;
this.txtSearchProperty.TextChanged += new System.EventHandler(this.txtSearchProperty_TextChanged);
//
// listProperty
//
this.listEffectProperty.CheckOnClick = true;
this.listEffectProperty.FormattingEnabled = true;
this.listEffectProperty.Location = new System.Drawing.Point(6, 52);
this.listEffectProperty.Name = "listProperty";
this.listEffectProperty.Size = new System.Drawing.Size(268, 116);
this.listEffectProperty.TabIndex = 1;
//
// btnAddIndent
//
this.btnAddIndent.Location = new System.Drawing.Point(802, 196);
this.btnAddIndent.Name = "btnAddIndent";
this.btnAddIndent.Size = new System.Drawing.Size(75, 36);
this.btnAddIndent.TabIndex = 16;
this.btnAddIndent.Text = "增加缩进";
this.btnAddIndent.UseVisualStyleBackColor = true;
//
// EffectCreatorForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1026, 465);
this.ClientSize = new System.Drawing.Size(1010, 510);
this.Controls.Add(this.btnAddIndent);
this.Controls.Add(this.groupBox6);
this.Controls.Add(this.btnStart);
this.Controls.Add(this.numEffectNum);
this.Controls.Add(this.label3);
this.Controls.Add(this.numDescription);
this.Controls.Add(this.label2);
this.Controls.Add(this.numCardCode);
this.Controls.Add(this.label1);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.相关函数);
this.Controls.Add(this.gbEffectType2);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.gbEffectType);
this.Controls.Add(this.gbSpecialOptions);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.txtOutput);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "EffectCreatorForm";
this.TabText = "Effect Creator";
this.Text = "Effect Creator";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "效果生成器";
this.TopMost = true;
this.Load += new System.EventHandler(this.EffectCreatorForm_Load);
this.gbSpecialOptions.ResumeLayout(false);
this.gbSpecialOptions.PerformLayout();
this.gbEffectType.ResumeLayout(false);
this.gbEffectType.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.gbEffectType2.ResumeLayout(false);
this.gbEffectType2.PerformLayout();
this.相关函数.ResumeLayout(false);
this.相关函数.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numCardCode)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numDescription)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numEffectNum)).EndInit();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
......@@ -110,10 +725,57 @@ private void InitializeComponent()
#endregion
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.TextBox txtOutput;
private System.Windows.Forms.CheckedListBox listEffectCode;
private System.Windows.Forms.GroupBox gbSpecialOptions;
private System.Windows.Forms.CheckBox checkEnableReviveLimit;
private System.Windows.Forms.GroupBox gbEffectType;
private System.Windows.Forms.CheckBox checkRegisterToPlayer;
private System.Windows.Forms.RadioButton radioEffectTypeField;
private System.Windows.Forms.RadioButton radioEffectTypeSingle;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.TextBox txtSearchEffectCode;
private System.Windows.Forms.GroupBox gbEffectType2;
private System.Windows.Forms.RadioButton radioEffectTypeTarget;
private System.Windows.Forms.RadioButton radioEffectTypeGrant;
private System.Windows.Forms.RadioButton radioEffectTypeXMaterial;
private System.Windows.Forms.RadioButton radioEffectTypeContinuous;
private System.Windows.Forms.RadioButton radioEffectTypeQuick_F;
private System.Windows.Forms.RadioButton radioEffectTypeQuick_O;
private System.Windows.Forms.RadioButton radioEffectTypeTrigger_F;
private System.Windows.Forms.RadioButton radioEffectTypeTrigger_O;
private System.Windows.Forms.RadioButton radioEffectTypeIgnition;
private System.Windows.Forms.RadioButton radioEffectTypeFlip;
private System.Windows.Forms.RadioButton radioEffectTypeActivate;
private System.Windows.Forms.RadioButton radioEffectTypeEquip;
private System.Windows.Forms.GroupBox 相关函数;
private System.Windows.Forms.CheckBox checkBox5;
private System.Windows.Forms.CheckBox checkBox4;
private System.Windows.Forms.CheckBox checkBox3;
private System.Windows.Forms.CheckBox checkBox2;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.CheckBox checkBox6;
private System.Windows.Forms.CheckBox checkBox7;
private System.Windows.Forms.CheckBox checkBox8;
private System.Windows.Forms.CheckBox checkBox9;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.CheckBox checkReset;
private System.Windows.Forms.CheckBox checkCountLimit;
private System.Windows.Forms.GroupBox groupBox5;
private System.Windows.Forms.TextBox txtSearchEffectCategory;
private System.Windows.Forms.CheckedListBox listEffectCategory;
private System.Windows.Forms.CheckBox checkHintTiming;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.NumericUpDown numCardCode;
private System.Windows.Forms.NumericUpDown numDescription;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.NumericUpDown numEffectNum;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Button btnStart;
private System.Windows.Forms.RadioButton radio_EffectTypeNone;
private System.Windows.Forms.GroupBox groupBox6;
private System.Windows.Forms.TextBox txtSearchProperty;
private System.Windows.Forms.CheckedListBox listEffectProperty;
private System.Windows.Forms.Button btnAddIndent;
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.IO;
using WeifenLuo.WinFormsUI.Docking;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace DataEditorX
{
public partial class EffectCreatorForm : DockContent
public partial class EffectCreatorForm : Form
{
public EffectCreatorForm()
{
......@@ -17,6 +19,7 @@ class EffectCreatorItem
public string Key;
public string Value;
public string Hint;
public bool IsSelected;
public EffectCreatorItem(string key, string value)
{
......@@ -34,7 +37,7 @@ public override string ToString()
return Value;
}
}
Dictionary<string, List<EffectCreatorItem>> itemDic = new Dictionary<string, List<EffectCreatorItem>>();
readonly Dictionary<string, List<EffectCreatorItem>> itemDic = new Dictionary<string, List<EffectCreatorItem>>();
private void EffectCreatorForm_Load(object sender, EventArgs e)
{
string config = $"data{Path.DirectorySeparatorChar}effect_creator_settings.txt";
......@@ -72,14 +75,193 @@ private void EffectCreatorForm_Load(object sender, EventArgs e)
itemDic[nowType].Add(new EffectCreatorItem(split[0], split[1], split[2]));
}
}
foreach (var item in itemDic["EFFECT_CODES"])
sr.Close();
fs.Close();
listEffectCode.Items.AddRange(itemDic["EFFECT_CODES"].ToArray());
listEffectCode.Items.AddRange(itemDic["EVENT_CODES"].ToArray());
listEffectCategory.Items.AddRange(itemDic["CATEGORY"].ToArray());
listEffectProperty.Items.AddRange(itemDic["EFFECT_PROPERTY"].ToArray());
}
private void btnStart_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
sb.Append(this.ProcessDescription());
sb.Append(this.ProcessSpecialOptions());
sb.Append(this.ProcessEffectType());
sb.Append(this.ProcessEffectCategory());
sb.Append(this.ProcessEffectProperty());
sb.Append(this.ProcessEffectCode());
txtOutput.Text = sb.ToString();
}
private string ProcessEffectProperty()
{
var selected = (from EffectCreatorItem item in listEffectProperty.Items.Cast<EffectCreatorItem>()
where item.IsSelected
select item).ToArray();
if (selected.Length < 1)
{
return "";
}
string property = selected[0].Key;
if (selected.Length > 1)
{
for (int i = 1; i < selected.Length; i++)
{
property += $"+{selected[i].Key}";
}
}
return $"e{numEffectNum.Value}:SetCategory({property})";
}
private string ProcessEffectCategory()
{
var selected = (from EffectCreatorItem item in listEffectCategory.Items.Cast<EffectCreatorItem>()
where item.IsSelected
select item).ToArray();
if (selected.Length < 1)
{
return "";
}
string category = selected[0].Key;
if (selected.Length > 1)
{
for (int i = 1; i < selected.Length; i++)
{
category += $"+{selected[i].Key}";
}
}
return $"e{numEffectNum.Value}:SetCategory({category})";
}
private string ProcessEffectCode()
{
var selected = (from EffectCreatorItem item in listEffectCode.Items.Cast<EffectCreatorItem>()
where item.IsSelected
select item).ToArray();
if (selected.Length < 1)
{
return "";
}
return $"e{numEffectNum.Value}:SetCode({selected[0].Key})";
}
private string ProcessDescription()
{
if (numDescription.Value >= 0)
{
return $"e{numEffectNum.Value}:SetDescription(aux.Stringid({numCardCode.Value},{numDescription.Value}))";
}
return "";
}
private string ProcessEffectType()
{
string effectType = "";
foreach (RadioButton radio in gbEffectType.Controls)
{
if (radio.Name.StartsWith("radioEffectType"))
{
this.AddEffectTypeByCheckRadio(radio, ref effectType);
}
}
foreach (RadioButton radio in gbEffectType2.Controls)
{
if (radio.Name.StartsWith("radioEffectType"))
{
this.AddEffectTypeByCheckRadio(radio, ref effectType);
}
}
return $"e{numEffectNum.Value}:SetType({effectType})";
}
private void AddEffectTypeByCheckRadio(RadioButton radio, ref string effectType)
{
if (radio.Checked)
{
if (effectType != "")
{
effectType += "+";
}
effectType += $"EFFECT_TYPE_{radio.Name.Substring(15).ToUpper()}";
}
}
private string ProcessSpecialOptions()
{
StringBuilder sb = new StringBuilder();
if (checkEnableReviveLimit.Checked)
{
listEffectCode.Items.Add(item);
sb.AppendLine("c:EnableReviveLimit()");
}
foreach (var item in itemDic["EVENT_CODES"])
if (checkRegisterToPlayer.Checked)
{
listEffectCode.Items.Add(item);
sb.AppendLine($"local e{numEffectNum.Value}=Effect.CreateEffect(c)");
}
else
{
sb.AppendLine($"local e{numEffectNum.Value}=Effect.GlobalEffect()");
}
return sb.ToString();
}
private void SearchListBoxWithTextBox(ref CheckedListBox clb, TextBox tb)
{
if (tb.Text == "")
{
return;
}
var selected = (from EffectCreatorItem item in clb.Items.Cast<EffectCreatorItem>()
where item.IsSelected
select item).ToArray();
var searched = (from EffectCreatorItem item in clb.Items.Cast<EffectCreatorItem>()
where item.Value.Contains(tb.Text) && !selected.Contains(item)
select item).ToArray();
var notSearched = (from EffectCreatorItem item in clb.Items.Cast<EffectCreatorItem>()
where !searched.Contains(item) && !selected.Contains(item)
select item).ToArray();
searched = selected.Concat(searched).Concat(notSearched).ToArray();
clb.Items.Clear();
clb.Items.AddRange(searched);
for (int i = 0; i < clb.Items.Count; i++)
{
if ((clb.Items[i] as EffectCreatorItem).IsSelected)
{
clb.SetItemChecked(i, true);
}
}
}
private void txtSearchEffectCode_TextChanged(object sender, EventArgs e)
{
this.SearchListBoxWithTextBox(ref listEffectCode, txtSearchEffectCode);
}
private void listEffectCode_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (e.NewValue == CheckState.Checked)
{
for (int i = 0; i < ((CheckedListBox)sender).Items.Count; i++)
{
if (((CheckedListBox)sender).GetItemChecked(i) && i != e.Index)
{
((CheckedListBox)sender).SetItemChecked(i, false);
(((CheckedListBox)sender).Items[i] as EffectCreatorItem).IsSelected = false;
}
}
}
(listEffectCode.Items[e.Index] as EffectCreatorItem).IsSelected = e.NewValue == CheckState.Checked;
}
private void txtSearchEffectCategory_TextChanged(object sender, EventArgs e)
{
this.SearchListBoxWithTextBox(ref listEffectCategory, txtSearchEffectCategory);
}
private void txtSearchProperty_TextChanged(object sender, EventArgs e)
{
this.SearchListBoxWithTextBox(ref listEffectProperty, txtSearchProperty);
}
}
}
......@@ -313,7 +313,35 @@ EVENT_PHASE 阶段结束时
EVENT_PHASE_START 阶段开始时
EVENT_ADD_COUNTER 增加指示物时
EVENT_REMOVE_COUNTER 去除指示物时 Card.RemoveCounter()必须手动触发此事件
EVENT_CUSTOM 自訂事件
EVENT_CUSTOM 自定义事件
!EFFECT_PROPERTY
EFFECT_FLAG_CARD_TARGET 此效果取对象
EFFECT_FLAG_IGNORE_RANGE 此效果影响任何区域的卡
EFFECT_FLAG_ABSOLUTE_TARGET 此效果的Target Range不会因为控制权的改变而改变
EFFECT_FLAG_IGNORE_IMMUNE 此效果无视效果免疫
EFFECT_FLAG_SET_AVAILABLE 此效果影响场上里侧的卡,或可在里侧状态发动
EFFECT_FLAG_CANNOT_INACTIVATE 此卡的发动不能被无效
EFFECT_FLAG_CANNOT_NEGATE 此效果的发动不能被无效
EFFECT_FLAG_CANNOT_DISABLE 此效果的效果不能被无效
EFFECT_FLAG_PLAYER_TARGET 此效果以玩家为对象
EFFECT_FLAG_BOTH_SIDE 此效果双方都能使用 如王宫的弹压
EFFECT_FLAG_COPY_INHERIT 此效果若被复制,则继承其Reset属性
EFFECT_FLAG_DAMAGE_STEP 此效果可以在伤害步骤发动
EFFECT_FLAG_DAMAGE_CAL 此效果可以在伤害计算时发动
EFFECT_FLAG_DELAY 此效果是“场合”效果(另开连锁)而非“时”效果
EFFECT_FLAG_SINGLE_RANGE 此效果只对持有效果的卡有效
EFFECT_FLAG_UNCOPYABLE 此效果不能复制
EFFECT_FLAG_OATH 此效果是对卡效果的誓约限制(发动无效不适用,效果无效也适用)
EFFECT_FLAG_SPSUM_PARAM 此效果将怪兽出场时需要遵守一定表示形式 用于EFFECT_SPSUMMON_PROC等正规召唤手续相关Code,在TargetRange设置
EFFECT_FLAG_REPEAT 此效果在场面变化后需要重新计算 只适用于永续效果
EFFECT_FLAG_NO_TURN_RESET 此效果的使用次数计数不随回合结束而重置 发条全家
EFFECT_FLAG_EVENT_PLAYER 此效果视为玩家进行的动作 影响效果处理的触发者是“效果持有者”还是“受影响的玩家/受影响的卡的持有者”
EFFECT_FLAG_OWNER_RELATE 此效果在效果持有者(Owner)失效后也失效
EFFECT_FLAG_CLIENT_HINT 此效果在触发时需要进行提示客户端 用于诸如全场代破的效果,让玩家知道效果适用
EFFECT_FLAG_CONTINUOUS_TARGET 此效果要与其他卡建立持续对象关系
EFFECT_FLAG_LIMIT_ZONE 此魔法·陷阱卡发动时只能在某些区域发动 如灵摆转移:要将卡转移到灵摆区,就不能在灵摆区发动
EFFECT_FLAG_IMMEDIATELY_APPLY 此效果在发动时而不是效果处理时就适用 基本上只用于永续效果。大概只能用于辅助其他事件?
EFFECT_FLAG2_COF 此通常魔法卡可以在主要阶段以外发动
!CATEGORY
CATEGORY_DESTROY 破坏效果
CATEGORY_RELEASE 解放效果
......@@ -344,7 +372,7 @@ CATEGORY_DICE 骰子效果
CATEGORY_LEAVE_GRAVE 涉及墓地的效果
CATEGORY_LVCHANGE 改变等级效果
CATEGORY_NEGATE 使发动无效效果
CATEGORY_ANNOUNCE 發動時宣言卡名的效果
CATEGORY_ANNOUNCE 发动時宣言卡名的效果
CATEGORY_FUSION_SUMMON 融合召唤效果
CATEGORY_TOEXTRA 回额外卡组效果
!TIMING
......
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