Commit 0ef5ba74 authored by POLYMER's avatar POLYMER

fix

parent 600d5cc4
......@@ -32,14 +32,6 @@ function cm.initial_effect(c)
e2:SetTarget(cm.target)
e2:SetOperation(cm.operation)
c:RegisterEffect(e2)
-- 装备效果
local e3 = Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetValue(cm.subval)
c:RegisterEffect(e3)
end
-- ①效果:手卡特召并装备
......@@ -63,7 +55,7 @@ function cm.spop(e, tp, eg, ep, ev, re, r, rp)
if Duel.IsExistingMatchingCard(nil, tp, LOCATION_MZONE, 0, 1, c) and Duel.SelectYesNo(tp, aux.Stringid(m, 3)) then
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_EQUIP)
local tc = Duel.SelectMatchingCard(tp, nil, tp, LOCATION_MZONE, 0, 1, 1, c):GetFirst()
if tc and Duel.Equip(tp, tc, c) then
if tc and Duel.Equip(tp, tc, c, false) then
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
......@@ -113,7 +105,7 @@ function cm.target(e, tp, eg, ep, ev, re, r, rp, chk)
if opt == 0 then
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_EQUIP)
local g = Duel.SelectMatchingCard(tp, nil, tp, LOCATION_MZONE, 0, 1, 1, c)
local g = Duel.SelectMatchingCard(tp, Card.IsFaceup, tp, LOCATION_MZONE, 0, 1, 1, c)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0, CATEGORY_EQUIP, g, 1, 0, 0)
else
......@@ -129,16 +121,24 @@ function cm.operation(e, tp, eg, ep, ev, re, r, rp)
if c:IsRelateToEffect(e) and c:IsLocation(LOCATION_MZONE) then
local tc = Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) and tc:IsLocation(LOCATION_MZONE) and tc:IsControler(tp) and tc:IsFaceup() then
if not Duel.Equip(tp, c, tc) then return end
if not Duel.Equip(tp, c, tc, false) then return end
Auxiliary.SetUnionState(c)
-- 装备效果
local e3 = Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetReset(RESET_EVENT + RESETS_STANDARD)
e3:SetValue(cm.subval)
c:RegisterEffect(e3)
-- -- 装备状态维持
-- local e1 = Effect.CreateEffect(tc)
-- e1:SetType(EFFECT_TYPE_SINGLE)
-- e1:SetCode(EFFECT_EQUIP_LIMIT)
-- e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
-- e1:SetValue(function(e, c)
-- return e:GetOwner() == c
-- return e:GetOwner() == c
-- end)
-- e1:SetReset(RESET_EVENT + RESETS_STANDARD)
-- c:RegisterEffect(e1)
......@@ -171,7 +171,7 @@ function cm.operation(e, tp, eg, ep, ev, re, r, rp)
end
function cm.spfilter(c)
return c:IsSetCard(0x6327) and c:IsAbleToHand() and c:IsType(TYPE_MONSTER)
return c:IsSetCard(0x6327) and c:IsAbleToHand()
end
-- 装备时的代替破坏效果
......
......@@ -33,14 +33,6 @@ function cm.initial_effect(c)
e2:SetTarget(cm.target)
e2:SetOperation(cm.operation)
c:RegisterEffect(e2)
-- 装备效果:代替破坏
local e3 = Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetValue(cm.subval)
c:RegisterEffect(e3)
end
-- ①效果:掷骰子特召并装备
......@@ -90,7 +82,7 @@ function cm.spop(e, tp, eg, ep, ev, re, r, rp)
-- 将找到的怪兽装备给这张卡
if tc and Duel.SelectYesNo(tp, aux.Stringid(m, 3)) then
Duel.Equip(tp, tc, c)
Duel.Equip(tp, tc, c, false)
-- 装备状态维持
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -146,7 +138,7 @@ function cm.target(e, tp, eg, ep, ev, re, r, rp, chk)
if e:GetLabel() == 0 then
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_EQUIP)
local g = Duel.SelectMatchingCard(tp, nil, tp, LOCATION_MZONE, 0, 1, 1, c)
local g = Duel.SelectMatchingCard(tp, Card.IsFaceup, tp, LOCATION_MZONE, 0, 1, 1, c)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0, CATEGORY_EQUIP, g, 1, 0, 0)
else
......@@ -165,9 +157,18 @@ function cm.operation(e, tp, eg, ep, ev, re, r, rp)
-- 作为装备卡装备
if c:IsRelateToEffect(e) and c:IsLocation(LOCATION_MZONE) then
local tc = Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) and tc:IsLocation(LOCATION_MZONE) and tc:IsControler(tp) then
if not Duel.Equip(tp, c, tc) then return end
if tc and tc:IsRelateToEffect(e) and tc:IsLocation(LOCATION_MZONE) and tc:IsControler(tp) and tc:IsFaceup() then
if not Duel.Equip(tp, c, tc, false) then return end
Auxiliary.SetUnionState(c)
-- 装备效果:代替破坏
local e3 = Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetReset(RESET_EVENT + RESETS_STANDARD)
e3:SetValue(cm.subval)
c:RegisterEffect(e3)
end
end
else
......
......@@ -33,14 +33,6 @@ function cm.initial_effect(c)
e2:SetTarget(cm.target)
e2:SetOperation(cm.operation)
c:RegisterEffect(e2)
-- 装备效果:代替破坏
local e3 = Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetValue(cm.subval)
c:RegisterEffect(e3)
end
-- ①效果:掷骰子特召并装备
......@@ -76,7 +68,7 @@ function cm.spop(e, tp, eg, ep, ev, re, r, rp)
-- 如果有怪兽,询问是否装备
if tc then
if Duel.SelectYesNo(tp, aux.Stringid(m, 3)) then
if Duel.Equip(tp, tc, c) then
if Duel.Equip(tp, tc, c, false) then
-- 设置装备限制
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -132,7 +124,7 @@ function cm.target(e, tp, eg, ep, ev, re, r, rp, chk)
if e:GetLabel() == 0 then
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_EQUIP)
local g = Duel.SelectMatchingCard(tp, nil, tp, LOCATION_MZONE, 0, 1, 1, c)
local g = Duel.SelectMatchingCard(tp, Card.IsFaceup, tp, LOCATION_MZONE, 0, 1, 1, c)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0, CATEGORY_EQUIP, g, 1, 0, 0)
else
......@@ -151,9 +143,18 @@ function cm.operation(e, tp, eg, ep, ev, re, r, rp)
-- 作为装备卡装备
if c:IsRelateToEffect(e) and c:IsLocation(LOCATION_MZONE) then
local tc = Duel.GetFirstTarget()
if tc and tc:IsRelateToEffect(e) and tc:IsLocation(LOCATION_MZONE) and tc:IsControler(tp) then
if not Duel.Equip(tp, c, tc) then return end
if tc and tc:IsRelateToEffect(e) and tc:IsLocation(LOCATION_MZONE) and tc:IsControler(tp) and tc:IsFaceup() then
if not Duel.Equip(tp, c, tc, false) then return end
Auxiliary.SetUnionState(c)
-- 装备效果:代替破坏
local e3 = Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetReset(RESET_EVENT + RESETS_STANDARD)
e3:SetValue(cm.subval)
c:RegisterEffect(e3)
end
end
else
......
......@@ -32,14 +32,6 @@ function cm.initial_effect(c)
e2:SetTarget(cm.target)
e2:SetOperation(cm.operation)
c:RegisterEffect(e2)
-- 装备时的代替破坏效果
local e3 = Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetValue(cm.subval)
c:RegisterEffect(e3)
end
-- ①效果:掷骰子特召并装备
......@@ -75,7 +67,7 @@ function cm.spop(e, tp, eg, ep, ev, re, r, rp)
-- 如果有怪兽,询问是否装备
if tc then
if Duel.SelectYesNo(tp, aux.Stringid(m, 3)) then
if Duel.Equip(tp, tc, c) then
if Duel.Equip(tp, tc, c, false) then
-- 设置装备限制
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -130,7 +122,7 @@ function cm.target(e, tp, eg, ep, ev, re, r, rp, chk)
if op == 0 then
-- 装备效果
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_EQUIP)
local g = Duel.SelectTarget(tp, nil, tp, LOCATION_MZONE, 0, 1, 1, c)
local g = Duel.SelectTarget(tp, Card.IsFaceup, tp, LOCATION_MZONE, 0, 1, 1, c)
Duel.SetOperationInfo(0, CATEGORY_EQUIP, g, 1, 0, 0)
else
-- 特殊召唤效果
......@@ -147,8 +139,17 @@ function cm.operation(e, tp, eg, ep, ev, re, r, rp)
-- 装备效果
local tc = Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then
if Duel.Equip(tp, c, tc) then
if Duel.Equip(tp, c, tc, false) then
Auxiliary.SetUnionState(c)
-- 装备效果:代替破坏
local e3 = Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetReset(RESET_EVENT + RESETS_STANDARD)
e3:SetValue(cm.subval)
c:RegisterEffect(e3)
end
end
else
......
......@@ -32,14 +32,6 @@ function cm.initial_effect(c)
e2:SetTarget(cm.target)
e2:SetOperation(cm.operation)
c:RegisterEffect(e2)
-- 装备时的代替破坏效果
local e3 = Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetValue(cm.subval)
c:RegisterEffect(e3)
end
-- ①效果:掷骰子特召并装备
......@@ -75,9 +67,23 @@ function cm.spop(e, tp, eg, ep, ev, re, r, rp)
-- 如果有怪兽,询问是否装备
if tc then
if Duel.SelectYesNo(tp, aux.Stringid(m, 3)) then
if Duel.Equip(tp, tc, c) then
-- 设置联合卡状态
Auxiliary.SetUnionState(tc)
if Duel.Equip(tp, tc, c, false) then
local e1 = Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(function(e, c) return e:GetOwner() == c end)
e1:SetReset(RESET_EVENT + RESETS_STANDARD)
tc:RegisterEffect(e1)
-- 将怪兽视为装备魔法卡
local e2 = Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
e2:SetCode(EFFECT_CHANGE_TYPE)
e2:SetValue(TYPE_EQUIP + TYPE_SPELL)
e2:SetReset(RESET_EVENT + RESETS_STANDARD)
tc:RegisterEffect(e2)
end
end
end
......@@ -110,7 +116,7 @@ function cm.target(e, tp, eg, ep, ev, re, r, rp, chk)
if op == 0 then
-- 装备效果
Duel.Hint(HINT_SELECTMSG, tp, HINTMSG_EQUIP)
local g = Duel.SelectTarget(tp, nil, tp, LOCATION_MZONE, 0, 1, 1, c)
local g = Duel.SelectTarget(tp, Card.IsFaceup, tp, LOCATION_MZONE, 0, 1, 1, c)
Duel.SetOperationInfo(0, CATEGORY_EQUIP, g, 1, 0, 0)
else
-- 特殊召唤效果
......@@ -134,8 +140,17 @@ function cm.operation(e, tp, eg, ep, ev, re, r, rp)
-- 装备效果
local tc = Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and tc:IsFaceup() then
if Duel.Equip(tp, c, tc) then
if Duel.Equip(tp, c, tc, false) then
Auxiliary.SetUnionState(c)
-- 装备效果:代替破坏
local e3 = Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_EQUIP)
e3:SetCode(EFFECT_DESTROY_SUBSTITUTE)
e3:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e3:SetReset(RESET_EVENT + RESETS_STANDARD)
e3:SetValue(cm.subval)
c:RegisterEffect(e3)
end
end
else
......
......@@ -3,7 +3,7 @@ local cm, m, o = GetID()
function cm.initial_effect(c)
c:EnableReviveLimit()
--Xyz Summon
aux.AddXyzProcedureLevelFree(c, aux.FilterBoolFunction(Card.IsRace, RACE_MACHINE), nil, 2, 2)
aux.AddXyzProcedure(c,cm.mfilter,4,2)
--① effect
local e1 = Effect.CreateEffect(c)
......@@ -32,6 +32,9 @@ function cm.initial_effect(c)
end
--① effect functions
function cm.mfilter(c)
return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_LIGHT)
end
function cm.xyzcon(e, tp, eg, ep, ev, re, r, rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_XYZ)
end
......
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