Commit dae07ccc authored by Tachibana's avatar Tachibana

emergency

parent 0e4f9e18
No preview for this file type
This diff is collapsed.
...@@ -427,7 +427,7 @@ function rsof.Escape_Old_Functions() ...@@ -427,7 +427,7 @@ function rsof.Escape_Old_Functions()
rsef.ACT_EQUIP = rsef.A_Equip rsef.ACT_EQUIP = rsef.A_Equip
rsef.STO_FLIP = rsef.STO_Flip rsef.STO_FLIP = rsef.STO_Flip
rsef.STF_FLIP = rsef.STF_Flip rsef.STF_FLIP = rsef.STF_Flip
rsef.QO_NEGATE = rsef.QO_Negate
rsef.FC_PHASELEAVE = rsef.FC_PhaseLeave rsef.FC_PHASELEAVE = rsef.FC_PhaseLeave
rsef.ACT = rsef.A rsef.ACT = rsef.A
...@@ -474,8 +474,7 @@ function rsof.Escape_Old_Functions() ...@@ -474,8 +474,7 @@ function rsof.Escape_Old_Functions()
if type(dn_filter) == "number" then if type(dn_filter) == "number" then
dn_filter = dn_list[dn_filter] dn_filter = dn_list[dn_filter]
end end
if pl_fun then pl_fun = pl_fun and 1 or 0 end return rscon.disneg("neg", dn_filter, pl_fun and 1 or 0)(...)
return rscon.disneg("neg", dn_filter, pl_fun)(...)
end end
end end
rscon.discon = function(dn_filter, pl_fun) rscon.discon = function(dn_filter, pl_fun)
...@@ -484,8 +483,7 @@ function rsof.Escape_Old_Functions() ...@@ -484,8 +483,7 @@ function rsof.Escape_Old_Functions()
if type(dn_filter) == "number" then if type(dn_filter) == "number" then
dn_filter = dn_list[dn_filter] dn_filter = dn_list[dn_filter]
end end
if pl_fun then pl_fun = pl_fun and 1 or 0 end return rscon.disneg("dis", dn_filter, pl_fun and 1 or 0)(...)
return rscon.disneg("dis", dn_filter, pl_fun)(...)
end end
end end
rsef.QO_NEGATE = function(reg_list, dn_type, lim_list, dn_str, range, con, cost, desc_list, cate, flag, reset_list) rsef.QO_NEGATE = function(reg_list, dn_type, lim_list, dn_str, range, con, cost, desc_list, cate, flag, reset_list)
......
...@@ -74,14 +74,11 @@ function c12003016.negop(e,tp,eg,ep,ev,re,r,rp) ...@@ -74,14 +74,11 @@ function c12003016.negop(e,tp,eg,ep,ev,re,r,rp)
if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
Duel.Remove(eg,POS_FACEUP,REASON_EFFECT) Duel.Remove(eg,POS_FACEUP,REASON_EFFECT)
end end
end end
function c12003016.target(e,c)
local g,te=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS,CHAININFO_TRIGGERING_EFFECT)
return not (te and te:IsHasProperty(EFFECT_FLAG_CARD_TARGET))
or not (g and g:IsContains(c))
end
function c12003016.efilter(e,te) function c12003016.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer() local g,te=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS,CHAININFO_TRIGGERING_EFFECT)
return ( not (te and te:IsHasProperty(EFFECT_FLAG_CARD_TARGET))
or not (g and g:IsContains(c)) ) and te:GetOwnerPlayer()~=e:GetHandlerPlayer()
end end
function c12003016.cfilter(c,tp) function c12003016.cfilter(c,tp)
...@@ -102,6 +99,12 @@ end ...@@ -102,6 +99,12 @@ end
function c12003016.spfilter(c,e,tp,zone) function c12003016.spfilter(c,e,tp,zone)
return c:IsRace(RACE_SEASERPENT) and c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone,true) return c:IsRace(RACE_SEASERPENT) and c:IsLevelBelow(4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,tp,zone,true)
end end
function c12003016.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
local zone=e:GetHandler():GetLinkedZone(tp)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE,zone)>2
and Duel.IsExistingMatchingCard(c12003016.spfilter,tp,LOCATION_GRAVE,0,3,nil,e,tp,zone) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,0,LOCATION_DECK)
end
function c12003016.spop(e,tp,eg,ep,ev,re,r,rp) function c12003016.spop(e,tp,eg,ep,ev,re,r,rp)
local zone=e:GetHandler():GetLinkedZone() local zone=e:GetHandler():GetLinkedZone()
if chk==0 then return zone~=0 if chk==0 then return zone~=0
......
...@@ -96,9 +96,10 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -96,9 +96,10 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
if tc:IsSetCard(0x3fa8) then if tc:IsSetCard(0x3fa8) then
local mat1=Duel.SelectFusionMaterial(tp,tc,mg2,nil,chkf) local mat1=Duel.SelectFusionMaterial(tp,tc,mg2,nil,chkf)
tc:SetMaterial(mat1) tc:SetMaterial(mat1)
local mat2=mat1:Filter(Card.IsLocation,nil,LOCATION_EXTRA) local mat2=mat1:Filter(Card.IsLocation,nil,LOCATION_GRAVE)
mat1:Sub(mat2) mat1:Sub(mat2)
Duel.SendtoGrave(mat1+mat2,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION) Duel.Remove(mat2,POS_FACEUP,REASON_EFFECT)
Duel.SendtoGrave(mat1,REASON_EFFECT+REASON_MATERIAL+REASON_FUSION)
local e2=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
......
...@@ -116,7 +116,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -116,7 +116,7 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
end end
end end
end end
function c1m.con4_4(e,tp,eg,ep,ev,re,r,rp) function cm.con4_4(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentChain()==0 return Duel.GetCurrentChain()==0
end end
function cm.op4_5(e,tp,eg,ep,ev,re,r,rp) function cm.op4_5(e,tp,eg,ep,ev,re,r,rp)
...@@ -131,7 +131,7 @@ end ...@@ -131,7 +131,7 @@ end
function cm.thfilter1(c) function cm.thfilter1(c)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_LIGHT+ATTRIBUTE_DARK) and c:IsAbleToHand() return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_LIGHT+ATTRIBUTE_DARK) and c:IsAbleToHand()
end end
function cm.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function cm.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter1,tp,LOCATION_REMOVED,0,1,nil) end if chk==0 then return Duel.IsExistingMatchingCard(cm.thfilter1,tp,LOCATION_REMOVED,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,0,0)
end end
......
...@@ -87,7 +87,6 @@ function cm.effop(e,tp,eg,ep,ev,re,r,rp) ...@@ -87,7 +87,6 @@ function cm.effop(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CLIENT_HINT) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CLIENT_HINT)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetTarget(cm.etg)
e1:SetValue(cm.efilter) e1:SetValue(cm.efilter)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1,true) rc:RegisterEffect(e1,true)
...@@ -108,11 +107,8 @@ function cm.effop(e,tp,eg,ep,ev,re,r,rp) ...@@ -108,11 +107,8 @@ function cm.effop(e,tp,eg,ep,ev,re,r,rp)
rc:RegisterEffect(e2,true) rc:RegisterEffect(e2,true)
end end
end end
function cm.etg(e,c)
local g,te=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS,CHAININFO_TRIGGERING_EFFECT)
return not (te and te:IsHasProperty(EFFECT_FLAG_CARD_TARGET))
or not (g and g:IsContains(c))
end
function cm.efilter(e,re,tp) function cm.efilter(e,re,tp)
return re:GetHandlerPlayer()~=e:GetHandlerPlayer() local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
return not (re and re:IsHasProperty(EFFECT_FLAG_CARD_TARGET))
or not (g and g:IsContains(e:GetHandler())) and re:GetHandlerPlayer()~=e:GetHandlerPlayer()
end end
\ No newline at end of file
...@@ -80,7 +80,6 @@ function c16400025.effop(e,tp,eg,ep,ev,re,r,rp) ...@@ -80,7 +80,6 @@ function c16400025.effop(e,tp,eg,ep,ev,re,r,rp)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CLIENT_HINT) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CLIENT_HINT)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetTarget(c16400025.etg)
e1:SetValue(c16400025.efilter) e1:SetValue(c16400025.efilter)
e1:SetReset(RESET_EVENT+RESETS_STANDARD) e1:SetReset(RESET_EVENT+RESETS_STANDARD)
rc:RegisterEffect(e1,true) rc:RegisterEffect(e1,true)
...@@ -101,11 +100,8 @@ function c16400025.effop(e,tp,eg,ep,ev,re,r,rp) ...@@ -101,11 +100,8 @@ function c16400025.effop(e,tp,eg,ep,ev,re,r,rp)
rc:RegisterEffect(e2,true) rc:RegisterEffect(e2,true)
end end
end end
function c16400025.etg(e,c)
local g,te=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS,CHAININFO_TRIGGERING_EFFECT)
return not (te and te:IsHasProperty(EFFECT_FLAG_CARD_TARGET))
or not (g and g:IsContains(c))
end
function c16400025.efilter(e,re,tp) function c16400025.efilter(e,re,tp)
return re:GetHandlerPlayer()~=e:GetHandlerPlayer() local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
return not (re and re:IsHasProperty(EFFECT_FLAG_CARD_TARGET))
or not (g and g:IsContains(e:GetHandler())) and re:GetHandlerPlayer()~=e:GetHandlerPlayer()
end end
\ No newline at end of file
...@@ -14,7 +14,7 @@ end ...@@ -14,7 +14,7 @@ end
function cm.activate(e,tp,eg,ep,ev,re,r,rp) function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CODE)
local ac=Duel.AnnounceCard(tp) local ac=Duel.AnnounceCard(tp)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAINING) e1:SetCode(EVENT_CHAINING)
e1:SetLabel(ac) e1:SetLabel(ac)
......
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