Commit 53cde812 authored by salix5's avatar salix5 Committed by GitHub

fix 禁止令, サイキック・ブロッカー (#1838)

parent 3f3f3df3
......@@ -25,12 +25,13 @@ function c29417188.operation(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetCode(EFFECT_FORBIDDEN)
e1:SetTargetRange(0x7f,0x7f)
e1:SetTargetRange(0xff,0xff)
e1:SetTarget(c29417188.bantg)
e1:SetLabel(ac)
e1:SetReset(RESET_PHASE+PHASE_END+RESET_OPPO_TURN)
Duel.RegisterEffect(e1,tp)
end
function c29417188.bantg(e,c)
return c:IsCode(e:GetLabel())
local fcode=e:GetLabel()
return c:IsOriginalCodeRule(fcode)
end
......@@ -4,36 +4,35 @@ function c43711255.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CONTINUOUS_TARGET)
e1:SetTarget(c43711255.target)
e1:SetOperation(c43711255.activate)
c:RegisterEffect(e1)
--forbidden
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE)
e2:SetCode(EFFECT_FORBIDDEN)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(0x7f,0x7f)
e2:SetTarget(c43711255.bantg)
e2:SetLabelObject(e1)
c:RegisterEffect(e2)
end
function c43711255.bantg(e,c)
local code1,code2=c:GetOriginalCodeRule()
local fcode=e:GetLabelObject():GetLabel()
return (code1==fcode or code2==fcode) and (not c:IsOnField() or c:GetRealFieldID()>e:GetFieldID())
local fcode=e:GetLabel()
return c:IsOriginalCodeRule(fcode) and (not c:IsOnField() or c:GetRealFieldID()>e:GetFieldID())
end
function c43711255.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
e:SetLabel(0)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE)
local ac=Duel.AnnounceCard(tp)
Duel.SetTargetParam(ac)
Duel.SetOperationInfo(0,CATEGORY_ANNOUNCE,nil,0,tp,0)
end
function c43711255.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ac=Duel.GetChainInfo(0,CHAININFO_TARGET_PARAM)
e:SetLabel(ac)
e:GetHandler():SetHint(CHINT_CARD,ac)
Duel.AdjustInstantly(e:GetHandler())
c:SetHint(CHINT_CARD,ac)
--forbidden
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_SET_AVAILABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetCode(EFFECT_FORBIDDEN)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(0xff,0xff)
e2:SetTarget(c43711255.bantg)
e2:SetLabel(ac)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e2)
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