Commit 0ef5ba74 authored by POLYMER's avatar POLYMER

fix

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