Commit 922245f6 authored by Nemo Ma's avatar Nemo Ma

fix

parent ccd18d7a
......@@ -5505,7 +5505,7 @@ function Scl.AddSynchroProcedure(c, f1, f2, f3, f4, minc, maxc, gc)
return e1
end
function s.GetSynMaterials(tp, syncard)
local mg1 = Scl.Group_GetSynMaterials_R(tp, syncard)
local mg1 = Scl.GetSynMaterials_R(tp, syncard)
local mg2 = Duel.GetMatchingGroup(s.SExtraFilter, tp, 0xff, 0xff, mg1, syncard, tp)
return mg1 + mg2
end
......@@ -5572,24 +5572,24 @@ function s.SynMixCheckGoal(tp, sg, minc, ct, syncard, sg1, smat, gc, mgchk)
end
function s.SynMixCondition(f1,f2,f3,f4,minc,maxc,gc)
return function(e,c,smat,mg1,min,max)
--Scl.Group_GetSynMaterials_R = aux.GetSynMaterials
Scl.GetSynMaterials_R = aux.GetSynMaterials
aux.GetSynMaterials = s.GetSynMaterials
s.SynMixCheckGoal_R = aux.SynMixCheckGoal
aux.SynMixCheckGoal = s.SynMixCheckGoal
local res = aux.SynMixCondition(f1,f2,f3,f4,minc,maxc,gc)(e,c,smat,mg1,min,max)
aux.GetSynMaterials = Scl.Group_GetSynMaterials_R
aux.GetSynMaterials = Scl.GetSynMaterials_R
aux.SynMixCheckGoal = s.SynMixCheckGoal_R
return res
end
end
function s.SynMixTarget(f1,f2,f3,f4,minc,maxc,gc)
return function(e,tp,eg,ep,ev,re,r,rp,chk,c,smat,mg1,min,max)
Scl.Group_GetSynMaterials_R = aux.GetSynMaterials
Scl.GetSynMaterials_R = aux.GetSynMaterials
aux.GetSynMaterials = s.GetSynMaterials
s.SynMixCheckGoal_R = aux.SynMixCheckGoal
aux.SynMixCheckGoal = s.SynMixCheckGoal
local res = aux.SynMixTarget(f1,f2,f3,f4,minc,maxc,gc)(e,tp,eg,ep,ev,re,r,rp,chk,c,smat,mg1,min,max)
aux.GetSynMaterials = Scl.Group_GetSynMaterials_R
aux.GetSynMaterials = Scl.GetSynMaterials_R
aux.SynMixCheckGoal = s.SynMixCheckGoal_R
return res
end
......@@ -6096,19 +6096,19 @@ end
function Scl.IsReason(obj, public_reason, ...)
local g = Scl.Mix2Group(obj)
public_reason = public_reason or 0
local num_public_typ = Scl.GetNumFormatCardType(public_reason)
local num_public_rsn = Scl.GetNumFormatCardType(public_reason)
local res_arr = { ... }
if Scl.Global_Reason then
for _, reason in pairs(res_arr) do
local num_reason = Scl.GetNumFormatCardType(public_typ)
if Scl.Global_Reason & (num_reason | num_public_typ) == (num_reason | num_public_typ) then
local num_reason = Scl.GetNumFormatCardType(reason)
if Scl.Global_Reason & (num_reason | num_public_rsn) == (num_reason | num_public_rsn) then
return true
end
end
else
for _, reason in pairs(res_arr) do
local num_reason = Scl.GetNumFormatCardType(public_typ)
if g:IsExists(s.is_reason_check, 1, nil, num_reason, num_public_typ) then
local num_reason = Scl.GetNumFormatCardType(reason)
if g:IsExists(s.is_reason_check, 1, nil, num_reason, num_public_rsn) then
return true
end
end
......
......@@ -41,7 +41,7 @@ function c10173033.initial_effect(c)
c:RegisterEffect(e6)
end
function c10173033.rs_synchro_ladian(c, sc, tp)
return c:IsSynchroType(TYPE_TUNER), 1
return c:IsSynchroType(TYPE_TOKEN), 1
end
function c10173033.lvval(e,c)
return (1<<16)+lv
......
......@@ -17,10 +17,11 @@ function c10173077.initial_effect(c)
c:RegisterEffect(e2)
end
function c10173077.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local c = e:GetHandler()
local bool=e:GetHandler():IsStatus(STATUS_ACT_FROM_HAND)
if chk==0 then return not bool or Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
if chk==0 then return not bool or Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,c) end
if bool then
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD)
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST+REASON_DISCARD,c)
end
end
function c10173077.cfilter(c,tp)
......
......@@ -18,6 +18,9 @@ function c10174017.initial_effect(c)
e1:SetTarget(c10174017.cttg)
e1:SetOperation(c10174017.ctop)
c:RegisterEffect(e1)
local e4 = e1:Clone()
e4:SetCode(EVENT_REMOVE)
c:RegisterEffect(e4)
--adjust
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
......@@ -38,7 +41,7 @@ function c10174017.initial_effect(c)
c:RegisterEffect(e3)
end
function c10174017.ctcon(e,tp,eg,ep,ev,re,r,rp)
return r&REASON_EFFECT~=0 and rp~=tp
return e:GetHandler():IsReason(REASON_EFFECT) and rp ~= tp
end
function c10174017.ctcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToDeckAsCost() end
......
......@@ -207,10 +207,10 @@ s.buff_code_list = {
["race-"] = "-Race",
["att-"] = "-Attribute",
["indb"] = "!BeDestroyedByBattle",
["inde"] = "!BeDestroyedByEffect",
["inde"] = "!BeDestroyedByEffects",
["indct"] = "!BeDestroyedCountPerTurn",
["ind"] = "!BeDestroyed",
["im"] = "ImmuneEffect",
["im"] = "UnaffectedByEffects",
["fmat~"] = "!BeUsedAsFusionMaterial",
["fsmat~"] = "!BeUsedAsMaterial4FusionSummon",
["smat~"] = "!BeUsedAsSynchroMaterial",
......@@ -458,6 +458,11 @@ function rsef.SV_Card(reg_obj, att_obj, val_obj, flag, range, con, rst_obj, desc
local _, _, flag2, att_obj2 = s.switch_old_string(0, 0, flag, att_obj)
local flag3 = Scl.GetNumFormatProperty(flag2)
local lim_obj2 = s.switch_old_count_limit(lim_obj)
--case special summon buff
local owner, handler = Scl.GetRegisterInfo(reg_obj)
if handler:IsStatus(STATUS_SPSUMMON_STEP) then
range = LOCATION_MZONE
end
if flag3 & EFFECT_FLAG_UNCOPYABLE ~= 0 then
return Scl.CreateSingleBuffCondition(reg_obj, att_obj2, val_obj, range, con, rst_obj, desc_obj2, lim_obj2, flag2)
else
......
......@@ -21,7 +21,14 @@ function cm.initial_effect(c)
e2:SetCountLimit(1,m+EFFECT_COUNT_CODE_DUEL)
e2:SetRange(LOCATION_EXTRA)
e2:SetOperation(cm.hint)
c:RegisterEffect(e2)
--c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,1))
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_SPSUMMON_PROC_G)
e3:SetRange(0xff)
e3:SetOperation(cm.debug)
c:RegisterEffect(e3)
--lv change
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
......
......@@ -98,7 +98,7 @@ function cm.UpCheck(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_DECK,0,nil)
if #g>0 then Duel.ConfirmCards(tp,g) else Duel.Hint(HINT_MESSAGE,tp,aux.Stringid(53702500,7)) end
end
function cm.UpConfirm()
function cm.UpConfirm(tp)
local UCg=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_DECK,0,nil)
if #UCg>0 then Duel.Hint(HINT_OPSELECTED,tp,aux.Stringid(53702500,2)) end
if #UCg==1 then UCg:Select(tp,1,1,nil) elseif #UCg>1 then Duel.ConfirmCards(tp,UCg) end
......
......@@ -58,7 +58,7 @@ function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(0)
return #g>0 and count>math.min(3,#g) and Duel.GetDecktopGroup(tp,math.min(3,count)):IsExists(Card.IsAbleToHand,1,nil) and Duel.GetDecktopGroup(tp,math.min(3,count)):IsExists(Card.IsAbleToRemove,1,nil,POS_FACEDOWN)
end
SNNM.UpConfirm()
SNNM.UpConfirm(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local rg=g:SelectSubGroup(tp,cm.fselect,false,1,math.min(3,#g),count,tp)
Duel.ConfirmCards(1-tp,rg)
......@@ -76,7 +76,7 @@ function cm.thop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetDecktopGroup(p,d)
if g:GetCount()>0 then
if g:IsExists(cm.thfilter,1,nil) then
SNNM.UpConfirm()
SNNM.UpConfirm(tp)
Duel.DisableShuffleCheck()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=g:FilterSelect(tp,cm.thfilter,1,1,nil)
......
......@@ -65,7 +65,7 @@ function cm.drop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
if not Duel.IsExistingMatchingCard(cm.dcfilter,tp,LOCATION_DECK,0,1,nil) then return end
SNNM.UpConfirm()
SNNM.UpConfirm(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.dcfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
......
......@@ -62,7 +62,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
return #tg>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
end
local tempg,ct=tg:GetMaxGroup(Card.GetLevel)
SNNM.UpConfirm()
SNNM.UpConfirm(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local rg=g:SelectSubGroup(tp,cm.fselect,false,1,ct,e,tp,tg)
Duel.ConfirmCards(1-tp,rg)
......
......@@ -45,7 +45,7 @@ function cm.rmfilter(c)
end
function cm.tttg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.rmfilter,tp,LOCATION_DECK,0,1,nil) end
SNNM.UpConfirm()
SNNM.UpConfirm(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local rg=Duel.SelectMatchingCard(tp,cm.rmfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.ConfirmCards(1-tp,rg)
......
......@@ -34,7 +34,7 @@ function cm.spcfilter(c)
end
function cm.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.spcfilter,tp,LOCATION_DECK,0,1,nil) end
SNNM.UpConfirm()
SNNM.UpConfirm(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.spcfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
......
......@@ -58,7 +58,7 @@ function cm.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function cm.thop(e,tp,eg,ep,ev,re,r,rp)
SNNM.UpConfirm()
SNNM.UpConfirm(tp)
if e:GetLabel()==0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g1=Duel.SelectMatchingCard(tp,cm.thfilter,tp,LOCATION_DECK,0,1,1,nil)
......
......@@ -65,6 +65,7 @@ function cm.cfilter(c)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_DECK,0,1,nil) end
SNNM.UpConfirm(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.Remove(g,POS_FACEDOWN,REASON_COST)
......
......@@ -54,6 +54,7 @@ function cm.cfilter(c)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.cfilter,tp,LOCATION_DECK,0,3,nil) end
SNNM.UpConfirm(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.cfilter,tp,LOCATION_DECK,0,3,3,nil)
Duel.Remove(g,POS_FACEDOWN,REASON_COST)
......
......@@ -48,7 +48,7 @@ function cm.dcfilter(c)
end
function cm.negcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.dcfilter,tp,LOCATION_DECK,0,1,nil) end
SNNM.UpConfirm()
SNNM.UpConfirm(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,cm.dcfilter,tp,LOCATION_DECK,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
......
......@@ -99,7 +99,7 @@ function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
e:SetLabel(0)
return g:CheckSubGroup(cm.fselect,1,ct,tp)
end
SNNM.UpConfirm()
SNNM.UpConfirm(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local rg=g:SelectSubGroup(tp,cm.fselect,false,1,ct,tp)
Duel.ConfirmCards(1-tp,rg)
......@@ -108,7 +108,7 @@ function cm.tgtg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,rct,tp,LOCATION_DECK)
end
function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
SNNM.UpConfirm()
SNNM.UpConfirm(tp)
local ct=e:GetLabel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,cm.tgfilter,tp,LOCATION_DECK,0,ct,ct,nil,tp)
......
......@@ -5,11 +5,8 @@ function c67210002.initial_effect(c)
--spell/trap Destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(67210002,0))
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE+TIMING_EQUIP)
e1:SetRange(LOCATION_MZONE+LOCATION_HAND)
e1:SetCountLimit(1,67210002)
e1:SetCost(c67210002.cost)
......@@ -31,7 +28,7 @@ function c67210002.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
local e1=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(67210002,1))
e1:SetDescription(aux.Stringid(67210002,1))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_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