Commit 9be4bb39 authored by mercury233's avatar mercury233

fix

parent c9eb6d48
...@@ -27,6 +27,7 @@ function c101004028.initial_effect(c) ...@@ -27,6 +27,7 @@ function c101004028.initial_effect(c)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1,101004128) e3:SetCountLimit(1,101004128)
e3:SetCondition(c101004028.setcon) e3:SetCondition(c101004028.setcon)
e3:SetCost(aux.bfgcost)
e3:SetTarget(c101004028.settg) e3:SetTarget(c101004028.settg)
e3:SetOperation(c101004028.setop) e3:SetOperation(c101004028.setop)
c:RegisterEffect(e3) c:RegisterEffect(e3)
......
...@@ -21,14 +21,15 @@ end ...@@ -21,14 +21,15 @@ end
function c101004033.discon(e,tp,eg,ep,ev,re,r,rp) function c101004033.discon(e,tp,eg,ep,ev,re,r,rp)
local ex1,g1,gc1,dp1,dv1=Duel.GetOperationInfo(ev,CATEGORY_TOHAND) local ex1,g1,gc1,dp1,dv1=Duel.GetOperationInfo(ev,CATEGORY_TOHAND)
local ex2,g2,gc2,dp2,dv2=Duel.GetOperationInfo(ev,CATEGORY_TODECK) local ex2,g2,gc2,dp2,dv2=Duel.GetOperationInfo(ev,CATEGORY_TODECK)
-- local ex3,g3,gc3,dp3,dv3=Duel.GetOperationInfo(ev,CATEGORY_TOEXTRA)
local ex4,g4,gc4,dp4,dv4=Duel.GetOperationInfo(ev,CATEGORY_SPECIAL_SUMMON) local ex4,g4,gc4,dp4,dv4=Duel.GetOperationInfo(ev,CATEGORY_SPECIAL_SUMMON)
local ex5,g5,gc5,dp5,dv5=Duel.GetOperationInfo(ev,CATEGORY_TOGRAVE) local ex5,g5,gc5,dp5,dv5=Duel.GetOperationInfo(ev,CATEGORY_REMOVE)
local ex6=re:IsHasCategory(CATEGORY_LEAVE_GRAVE)
return ((ex1 and (bit.band(dv1,LOCATION_GRAVE)==LOCATION_GRAVE or g1 and g1:IsExists(Card.IsLocation,1,nil,LOCATION_GRAVE))) return ((ex1 and (bit.band(dv1,LOCATION_GRAVE)==LOCATION_GRAVE or g1 and g1:IsExists(Card.IsLocation,1,nil,LOCATION_GRAVE)))
or (ex2 and (bit.band(dv2,LOCATION_GRAVE)==LOCATION_GRAVE or g2 and g2:IsExists(Card.IsLocation,1,nil,LOCATION_GRAVE))) or (ex2 and (bit.band(dv2,LOCATION_GRAVE)==LOCATION_GRAVE or g2 and g2:IsExists(Card.IsLocation,1,nil,LOCATION_GRAVE)))
-- or (ex3 and (bit.band(dv3,LOCATION_GRAVE)==LOCATION_GRAVE or g3 and g3:IsExists(Card.IsLocation,1,nil,LOCATION_GRAVE)))
or (ex4 and (bit.band(dv4,LOCATION_GRAVE)==LOCATION_GRAVE or g4 and g4:IsExists(Card.IsLocation,1,nil,LOCATION_GRAVE))) or (ex4 and (bit.band(dv4,LOCATION_GRAVE)==LOCATION_GRAVE or g4 and g4:IsExists(Card.IsLocation,1,nil,LOCATION_GRAVE)))
or (ex5 and (bit.band(dv5,LOCATION_GRAVE)==LOCATION_GRAVE or g5 and g5:IsExists(Card.IsLocation,1,nil,LOCATION_GRAVE))) or (ex5 and (bit.band(dv5,LOCATION_GRAVE)==LOCATION_GRAVE or g5 and g5:IsExists(Card.IsLocation,1,nil,LOCATION_GRAVE))))
or ex6) and Duel.IsChainNegatable(ev) and Duel.IsChainNegatable(ev)
end end
function c101004033.discost(e,tp,eg,ep,ev,re,r,rp,chk) function c101004033.discost(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -7,7 +7,6 @@ function c101004062.initial_effect(c) ...@@ -7,7 +7,6 @@ function c101004062.initial_effect(c)
e1:SetDescription(aux.Stringid(101004062,0)) e1:SetDescription(aux.Stringid(101004062,0))
e1:SetCategory(CATEGORY_DRAW) e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,101004062) e1:SetCountLimit(1,101004062)
e1:SetCondition(c101004062.condition) e1:SetCondition(c101004062.condition)
......
...@@ -5,7 +5,7 @@ function c101004078.initial_effect(c) ...@@ -5,7 +5,7 @@ function c101004078.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_HANDES) e1:SetCategory(CATEGORY_REMOVE)
e1:SetCode(EVENT_TO_HAND) e1:SetCode(EVENT_TO_HAND)
e1:SetCondition(c101004078.condition) e1:SetCondition(c101004078.condition)
e1:SetTarget(c101004078.target) e1:SetTarget(c101004078.target)
...@@ -13,7 +13,7 @@ function c101004078.initial_effect(c) ...@@ -13,7 +13,7 @@ function c101004078.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c101004078.cfilter(c,tp) function c101004078.cfilter(c,tp)
return c:IsControler(tp) and c:IsPreviousLocation(LOCATION_ONFIELD+LOCATION_GRAVE) return c:IsControler(tp) and c:IsReason(REASON_EFFECT) and (c:IsPreviousLocation(LOCATION_GRAVE) or (c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP)))
end end
function c101004078.condition(e,tp,eg,ep,ev,re,r,rp) function c101004078.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c101004078.cfilter,1,nil,1-tp) return eg:IsExists(c101004078.cfilter,1,nil,1-tp)
...@@ -21,7 +21,7 @@ end ...@@ -21,7 +21,7 @@ end
function c101004078.target(e,tp,eg,ep,ev,re,r,rp,chk) function c101004078.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetTargetCard(eg) Duel.SetTargetCard(eg)
Duel.SetOperationInfo(0,CATEGORY_HANDES,nil,0,1-tp,1) Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,0,1-tp,1)
end end
function c101004078.filter(c,e,tp) function c101004078.filter(c,e,tp)
return c:IsRelateToEffect(e) and c101004078.cfilter(c,tp) return c:IsRelateToEffect(e) and c101004078.cfilter(c,tp)
...@@ -30,7 +30,7 @@ function c101004078.rmfilter(c,g) ...@@ -30,7 +30,7 @@ function c101004078.rmfilter(c,g)
return c:IsAbleToRemove() and g:IsExists(Card.IsCode,1,nil,c:GetCode()) return c:IsAbleToRemove() and g:IsExists(Card.IsCode,1,nil,c:GetCode())
end end
function c101004078.activate(e,tp,eg,ep,ev,re,r,rp) function c101004078.activate(e,tp,eg,ep,ev,re,r,rp)
local dg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(c101004078.filter,nil,e,tp) local dg=eg:Filter(c101004078.filter,nil,e,1-tp)
local g=Duel.GetFieldGroup(tp,0,LOCATION_HAND) local g=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.ConfirmCards(tp,g) Duel.ConfirmCards(tp,g)
......
...@@ -51,7 +51,7 @@ end ...@@ -51,7 +51,7 @@ end
function c101004100.spop(e,tp,eg,ep,ev,re,r,rp) function c101004100.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc:IsRelateToEffect(e) then
if Duel.SpecialSummonStep(tc,0,tp,1-tp,false,false,POS_FACEDOWN_DEFENSE) then if Duel.SpecialSummonStep(tc,0,tp,1-tp,false,false,POS_FACEUP_DEFENSE) then
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_RACE) e1:SetCode(EFFECT_CHANGE_RACE)
......
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