Commit 4c037958 authored by POLYMER's avatar POLYMER

fix

parent a732afa6
No preview for this file type
--幻想异闻录#FE “领主”法尔西昂
function c75070001.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,nil,2,99,c75070001.lcheck)
c:EnableReviveLimit()
--splimit
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SPSUMMON_COST)
e1:SetCost(function(e,c,tp,st)
if bit.band(st,SUMMON_TYPE_LINK)~=SUMMON_TYPE_LINK then return true end
return Duel.GetCurrentPhase()==PHASE_MAIN1 end)
c:RegisterEffect(e1)
--battle
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCondition(function(e)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) end)
e1:SetTarget(c75070001.bttg)
e1:SetOperation(c75070001.btop)
c:RegisterEffect(e1)
--immune
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(function(e,te)
return te:GetOwner()~=e:GetOwner() end)
e2:SetCondition(function(e)
return Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE end)
c:RegisterEffect(e2)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(function(e)
local tp=e:GetHandlerPlayer()
local mag,atk=Duel.GetMatchingGroup(Card.IsFaceup,tp,0,LOCATION_MZONE,nil):GetMaxGroup(Card.GetAttack)
if atk then
return atk/2
else return 0 end end)
e2:SetCondition(function(e)
return Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE end)
c:RegisterEffect(e2)
--atk
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_COIN)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_DAMAGE_STEP_END)
e3:SetCondition(aux.dsercon)
e3:SetTarget(c75070001.atktg)
e3:SetOperation(c75070001.atkop)
c:RegisterEffect(e3)
end
c75070001.toss_coin=true
function c75070001.lcheck(g)
return g:IsExists(Card.IsLinkAttribute,1,nil,ATTRIBUTE_LIGHT)
end
function c75070001.bttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetChainLimit(c75070001.chlimit)
end
function c75070001.chlimit(e,ep,tp)
return not e:IsActiveType(TYPE_MONSTER)
end
function c75070001.btop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local p=Duel.GetTurnPlayer()
if Duel.IsAbleToEnterBP() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_EP)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetReset(RESET_PHASE+PHASE_BATTLE)
Duel.RegisterEffect(e1,p)
Duel.SkipPhase(p,PHASE_DRAW,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(p,PHASE_STANDBY,RESET_PHASE+PHASE_END,1)
Duel.SkipPhase(p,PHASE_MAIN1,RESET_PHASE+PHASE_END,1)
end
end
function c75070001.atktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,4)
end
function c75070001.atkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local c1,c2,c3,c4=Duel.TossCoin(tp,4)
local ct=c1+c2+c3+c4
if ct>=2 and c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EXTRA_ATTACK)
e1:SetValue(c:GetAttackAnnouncedCount())
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_BATTLE)
c:RegisterEffect(e2)
end
end
--幻想异闻录#FE “天马骑士”闪耀☆偶像
function c75070002.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,nil,2,99,c75070002.lcheck)
c:EnableReviveLimit()
--lock
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCondition(function(e)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) end)
e1:SetTarget(c75070002.lktg)
e1:SetOperation(c75070002.lkop)
c:RegisterEffect(e1)
--indes
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(1)
c:RegisterEffect(e2)
--to ex and sp
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_TOEXTRA+CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_PHASE+PHASE_END)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetTarget(c75070002.tesptg)
e3:SetOperation(c75070002.tespop)
c:RegisterEffect(e3)
end
function c75070002.lcheck(g)
return g:IsExists(Card.IsLinkAttribute,1,nil,ATTRIBUTE_LIGHT)
end
function c75070002.lktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetChainLimit(c75070002.chlimit)
end
function c75070002.chlimit(e,ep,tp)
return not e:IsActiveType(TYPE_MONSTER)
end
function c75070002.lkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
--lock
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_TO_HAND)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,1)
e1:SetTarget(aux.TargetBoolFunction(Card.IsLocation,LOCATION_ONFIELD+LOCATION_GRAVE))
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_TO_DECK)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,1)
e1:SetTarget(function(e,c)
return c:IsLocation(LOCATION_ONFIELD+LOCATION_GRAVE) and not c:IsExtraDeckMonster() end)
e1:SetReset(RESET_PHASE+PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function c75070002.spfil(c,e,tp)
return c:IsControler(tp) and c:IsLocation(LOCATION_GRAVE) and c:IsCanBeEffectTarget(e) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c75070002.tesptg(e,tp,eg,ep,ev,re,r,rp,chk)
local mg=e:GetHandler():GetMaterial()
if chk==0 then return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) and mg:IsExists(c75070002.spfil,1,nil,e,tp) and Duel.GetMZoneCount(tp,e:GetHandler())>0 end
local tc=mg:FilterSelect(tp,c75070002.spfil,1,1,nil,e,tp)
Duel.SetTargetCard(tc)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,tc,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_TOEXTRA,e:GetHandler(),1,0,0)
end
function c75070002.tespop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and Duel.SendtoDeck(c,nil,2,REASON_EFFECT)~=0 and tc:IsRelateToEffect(e) then
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end
end
--幻想异闻录#FE “狙击手”长弓
function c75070003.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,nil,2,99,c75070003.lcheck)
c:EnableReviveLimit()
--lock
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCondition(function(e)
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) end)
e1:SetTarget(c75070003.lktg)
e1:SetOperation(c75070003.lkop)
c:RegisterEffect(e1)
--cannot remove
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_REMOVE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(1,1)
e2:SetTarget(function(e,c,tp,r)
return e:GetHandler():GetLinkedGroup():IsContains(c) and r==REASON_EFFECT end)
c:RegisterEffect(e2)
--draw
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DRAW)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_DAMAGE_STEP_END)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return aux.dsercon(e,tp,eg,ep,ev,re,r,rp) and e:GetHandler():GetBattleTarget()==nil end)
e3:SetTarget(c75070003.drtg)
e3:SetOperation(c75070003.drop)
c:RegisterEffect(e3)
end
function c75070003.lcheck(g)
return g:IsExists(Card.IsLinkAttribute,1,nil,ATTRIBUTE_LIGHT)
end
function c75070003.lktg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetChainLimit(c75070003.chlimit)
end
function c75070003.chlimit(e,ep,tp)
return not e:IsActiveType(TYPE_MONSTER)
end
function c75070003.lkop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local p=Duel.GetTurnPlayer()
--check
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EVENT_ATTACK_ANNOUNCE)
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttackTarget()==nil end)
e1:SetOperation(c75070003.checkop)
Duel.RegisterEffect(e1,p)
--cannot announce
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_DIRECT_ATTACK)
e2:SetTargetRange(LOCATION_MZONE,0)
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e2:SetReset(RESET_PHASE+PHASE_END)
e2:SetCondition(c75070003.atkcon)
e2:SetTarget(c75070003.atktg)
e1:SetLabelObject(e2)
Duel.RegisterEffect(e2,p)
end
function c75070003.checkop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(tp,75070003)~=0 then return end
local fid=eg:GetFirst():GetFieldID()
Duel.RegisterFlagEffect(tp,75070003,RESET_PHASE+PHASE_END,0,1)
e:GetLabelObject():SetLabel(fid)
end
function c75070003.atkcon(e)
return Duel.GetFlagEffect(e:GetHandlerPlayer(),75070003)>0
end
function c75070003.atktg(e,c)
return c:GetFieldID()~=e:GetLabel()
end
function c75070003.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c75070003.drop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
end
--异界共鸣#FE幻想异闻录
function c75070011.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,75070011+EFFECT_COUNT_CODE_OATH)
e1:SetTarget(c75070011.target)
e1:SetOperation(c75070011.activate)
c:RegisterEffect(e1)
end
function c75070011.filter(c,e,tp)
return c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c75070011.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c75070011.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end
if Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)<Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE) then
e:SetLabel(1)
else
e:SetLabel(0)
end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c75070011.espfil(c,mg)
return c:IsLinkSummonable(mg,nil,1,99) and c:IsSetCard(0x757)
end
function c75070011.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tc=Duel.SelectMatchingCard(tp,c75070011.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp):GetFirst()
if tc and Duel.SpecialSummonStep(tc,0,tp,tp,false,false,POS_FACEUP) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_DISABLE_EFFECT)
e2:SetValue(RESET_TURN_SET)
e2:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e2)
Duel.SpecialSummonComplete()
local mg=Duel.GetMatchingGroup(Card.IsCanBeLinkMaterial,tp,LOCATION_MZONE,0,nil,nil)
local mg1=Duel.GetMatchingGroup(Card.IsCanBeLinkMaterial,tp,LOCATION_HAND,0,nil,nil)
if e:GetLabel()==1 then
mg:Merge(mg1)
end
if Duel.IsExistingMatchingCard(c75070011.espfil,tp,LOCATION_EXTRA,0,1,nil,mg) and Duel.SelectYesNo(tp,aux.Stringid(75070011,0)) then
local tc=Duel.SelectMatchingCard(tp,c75070011.espfil,tp,LOCATION_EXTRA,0,1,1,nil,mg):GetFirst()
Duel.LinkSummon(tp,tc,mg,nil,1,99)
end
end
end
--噩梦的 史塔尔莲华
function c75075602.initial_effect(c)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND)
e1:SetCountLimit(1,75075602)
e1:SetCondition(c75075602.spcon)
e1:SetTarget(c75075602.sptg)
e1:SetOperation(c75075602.spop)
c:RegisterEffect(e1)
--destroy
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(75075602,1))
e2:SetCategory(CATEGORY_POSITION)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1,75075603)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetTarget(c75075602.postg)
e2:SetOperation(c75075602.posop)
c:RegisterEffect(e2)
--activate cost
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_ACTIVATE_COST)
e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetTargetRange(0,1)
e3:SetCost(c75075602.costchk)
e3:SetCondition(c75075602.actcon)
e3:SetOperation(c75075602.costop)
c:RegisterEffect(e3)
local e5=e3:Clone()
e5:SetCode(EFFECT_FLIPSUMMON_COST)
e5:SetCost(c75075602.costchk1)
e5:SetOperation(c75075602.costop1)
c:RegisterEffect(e5)
--
--activate cost
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_ACTIVATE_COST)
e3:SetRange(LOCATION_MZONE)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetTargetRange(1,0)
e3:SetCost(c75075602.costchk)
e3:SetCondition(c75075602.actcon1)
e3:SetOperation(c75075602.costop)
c:RegisterEffect(e3)
local e5=e3:Clone()
e5:SetCode(EFFECT_FLIPSUMMON_COST)
e5:SetCost(c75075602.costchk1)
e5:SetOperation(c75075602.costop1)
c:RegisterEffect(e5)
--accumulate
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_FLAG_EFFECT+75075602)
e4:SetRange(LOCATION_MZONE)
e4:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e4:SetTargetRange(1,1)
c:RegisterEffect(e4)
end
function c75075602.spcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(Card.IsFacedown,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
end
function c75075602.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c75075602.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
--
function c75075602.postg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsCanChangePosition() end
Duel.SetOperationInfo(0,CATEGORY_POSITION,e:GetHandler(),1,0,0)
end
function c75075602.posop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.ChangePosition(c,POS_FACEUP_DEFENSE,POS_FACEDOWN_DEFENSE,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK)
end
end
--
function c75075602.actcon(e)
return Duel.IsExistingMatchingCard(Card.IsFacedown,e:GetHandlerPlayer(),0,LOCATION_MZONE,1,nil) and e:GetHandler():IsPosition(POS_FACEUP_DEFENSE)
end
function c75075602.actcon1(e)
return Duel.IsExistingMatchingCard(Card.IsFacedown,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil) and e:GetHandler():IsPosition(POS_FACEUP_DEFENSE)
end
function c75075602.costchk(e,te_or_c,tp)
local ct=Duel.GetFlagEffect(tp,75075602)
return Duel.CheckLPCost(tp,ct*400)
end
function c75075602.costop(e,tp,eg,ep,ev,re,r,rp)
Duel.PayLPCost(tp,400)
end
function c75075602.costchk1(e,te_or_c,tp)
local ct=Duel.GetFlagEffect(tp,75075602)
return Duel.CheckLPCost(tp,ct*1200)
end
function c75075602.costop1(e,tp,eg,ep,ev,re,r,rp)
Duel.PayLPCost(tp,1200)
end
\ No newline at end of file
--束缚的首饰●神
function c75075611.initial_effect(c)
c:EnableCounterPermit(0x757)
--Activate
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
c:RegisterEffect(e0)
--damage
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_COUNTER)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(LOCATION_SZONE)
e1:SetTarget(c75075611.damtg)
e1:SetOperation(c75075611.damop)
c:RegisterEffect(e1)
--to deck
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(75075611,0))
e1:SetCategory(CATEGORY_POSITION)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_CUSTOM+75075611)
e1:SetRange(LOCATION_SZONE)
--e1:SetCountLimit(1,75075611)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c75075611.tdtg)
e1:SetOperation(c75075611.tdop)
c:RegisterEffect(e1)
aux.RegisterMergedDelayedEvent(c,75075611,EVENT_SUMMON_SUCCESS)
aux.RegisterMergedDelayedEvent(c,75075611,EVENT_FLIP_SUMMON_SUCCESS)
aux.RegisterMergedDelayedEvent(c,75075611,EVENT_SUMMON_SUCCESS)
end
function c75075611.filter(c)
return c:IsFaceup() and c:IsSetCard(0x757)
end
function c75075611.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c75075611.filter,tp,LOCATION_MZONE,0,1,nil) end
local g=Duel.GetMatchingGroupCount(c75075611.filter,tp,LOCATION_MZONE,0,nil)
Duel.SetOperationInfo(0,CATEGORY_COUNTER,nil,g,0,0x757)
end
function c75075611.damop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroupCount(c75075611.filter,tp,LOCATION_MZONE,0,nil)
if e:GetHandler():IsRelateToEffect(e) then
e:GetHandler():AddCounter(0x757,g)
end
end
--
function c75075611.cfilter(c,e)
return c:IsFaceup() and c:IsCanChangePosition() and c:IsCanBeEffectTarget(e) and c:IsLocation(LOCATION_MZONE)
end
function c75075611.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return eg:IsContains(chkc) end
if chk==0 then return eg:IsExists(c75075611.cfilter,1,nil,e)
and c:IsCanRemoveCounter(tp,0x757,2,REASON_EFFECT) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=eg:FilterSelect(tp,c75075611.cfilter,1,1,nil,e)
Duel.SetTargetCard(g)
end
function c75075611.filter1(c)
return c:IsFaceup() and c:IsCanTurnSet()
end
function c75075611.filter2(c)
return c:IsFaceup() and c:IsCanChangePosition()
end
function c75075611.tdop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
if tc:IsSetCard(0x757) and Duel.IsExistingMatchingCard(c75075611.filter1,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) and c:IsCanRemoveCounter(tp,0x757,2,REASON_EFFECT) then
c:RemoveCounter(tp,0x757,2,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectMatchingCard(tp,c75075611.filter1,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.ChangePosition(g,POS_FACEDOWN_DEFENSE)
end
if not tc:IsSetCard(0x757) and Duel.IsExistingMatchingCard(c75075611.filter2,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) and c:IsCanRemoveCounter(tp,0x757,1,REASON_EFFECT) then
c:RemoveCounter(tp,0x757,2,REASON_EFFECT)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_POSCHANGE)
local g=Duel.SelectMatchingCard(tp,c75075611.filter1,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.ChangePosition(g,POS_FACEUP_DEFENSE,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK,POS_FACEUP_ATTACK)
end
end
end
\ No newline at end of file
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