Commit 907e119d authored by 未闻皂名's avatar 未闻皂名

2021/8/16 新增:7位主角的融合怪兽,整合选择效果至规则,更新翻译

parent 2e6911d9
No preview for this file type
...@@ -50,4 +50,4 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -50,4 +50,4 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end end
function cm.efilter(e,re,rp) function cm.efilter(e,re,rp)
return rp==1-e:GetHandlerPlayer() and re:GetOwner():IsType(TYPE_TRAP) return rp==1-e:GetHandlerPlayer() and re:GetOwner():IsType(TYPE_TRAP)
end end
\ No newline at end of file
local m=120195001 local m=120196001
local list={120195006,120195009} local list={120196006,120196009}
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="钢铁勋章·阿修罗明星" cm.name="钢铁徽章之阿修罗明星"
function cm.initial_effect(c) function cm.initial_effect(c)
aux.AddCodeList(c,list[1],list[2]) aux.AddCodeList(c,list[1],list[2])
--Fusion Material --Fusion Material
aux.AddFusionProcCode2(c,list[1],list[2],true,true) aux.AddFusionProcCode2(c,list[1],list[2],true,true)
--Select Effect --Select Effect
local e1=Effect.CreateEffect(c) local e1=RushDuel.BaseSelectEffect(c,aux.Stringid(m,1),cm.eff1con,cm.eff1op,aux.Stringid(m,2),cm.eff2con,cm.eff2op)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_ATKCHANGE) e1:SetCategory(CATEGORY_DESTROY+CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(cm.cost) e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
--Select Effect --Select Effect
...@@ -22,27 +18,6 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -22,27 +18,6 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end
Duel.DiscardDeck(tp,1,REASON_COST) Duel.DiscardDeck(tp,1,REASON_COST)
end end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return cm.eff1con(e,tp,eg,ep,ev,re,r,rp) or cm.eff2con(e,tp,eg,ep,ev,re,r,rp) end
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local eff1=cm.eff1con(e,tp,eg,ep,ev,re,r,rp)
local eff2=cm.eff2con(e,tp,eg,ep,ev,re,r,rp)
local select=0
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,0))
if eff1 and eff2 then
select=Duel.SelectOption(tp,aux.Stringid(m,1),aux.Stringid(m,2))+1
elseif eff1 then
Duel.SelectOption(tp,aux.Stringid(m,1))
select=1
elseif eff2 then
Duel.SelectOption(tp,aux.Stringid(m,2))
select=2
end
if select==1 then cm.eff1op(e,tp,eg,ep,ev,re,r,rp)
elseif select==2 then cm.eff2op(e,tp,eg,ep,ev,re,r,rp)
end
end
--Destroy --Destroy
function cm.eff1con(e,tp,eg,ep,ev,re,r,rp) function cm.eff1con(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(Card.IsFacedown,tp,0,LOCATION_ONFIELD,1,nil) return Duel.IsExistingMatchingCard(Card.IsFacedown,tp,0,LOCATION_ONFIELD,1,nil)
...@@ -57,7 +32,7 @@ function cm.eff1op(e,tp,eg,ep,ev,re,r,rp) ...@@ -57,7 +32,7 @@ function cm.eff1op(e,tp,eg,ep,ev,re,r,rp)
end end
--Atk Up --Atk Up
function cm.filter(c) function cm.filter(c)
return c:IsFaceup() and c:IsRace(0x2000000) return c:IsFaceup() and c:IsRace(RACE_CYBORG)
end end
function cm.atkfilter(c) function cm.atkfilter(c)
return c:IsFaceup() and c:IsRace(RACE_WARRIOR) return c:IsFaceup() and c:IsRace(RACE_WARRIOR)
......
local m=120195002 local m=120196002
local list={120195006,120195008} local list={120196006,120196008}
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="钢铁勋章·维特拉明星" cm.name="钢铁徽章之弗栗多明星"
function cm.initial_effect(c) function cm.initial_effect(c)
aux.AddCodeList(c,list[1],list[2]) aux.AddCodeList(c,list[1],list[2])
--Fusion Material --Fusion Material
aux.AddFusionProcCode2(c,list[1],list[2],true,true) aux.AddFusionProcCode2(c,list[1],list[2],true,true)
--Select Effect --Select Effect
local e1=Effect.CreateEffect(c) local e1=RushDuel.BaseSelectEffect(c,aux.Stringid(m,1),cm.eff1con,cm.eff1op,aux.Stringid(m,2),cm.eff2con,cm.eff2op)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_POSITION+CATEGORY_DESTROY) e1:SetCategory(CATEGORY_POSITION+CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
--Select Effect
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return cm.eff1con(e,tp,eg,ep,ev,re,r,rp) or cm.eff2con(e,tp,eg,ep,ev,re,r,rp) end
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local eff1=cm.eff1con(e,tp,eg,ep,ev,re,r,rp)
local eff2=cm.eff2con(e,tp,eg,ep,ev,re,r,rp)
local select=0
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,0))
if eff1 and eff2 then
select=Duel.SelectOption(tp,aux.Stringid(m,1),aux.Stringid(m,2))+1
elseif eff1 then
Duel.SelectOption(tp,aux.Stringid(m,1))
select=1
elseif eff2 then
Duel.SelectOption(tp,aux.Stringid(m,2))
select=2
end
if select==1 then cm.eff1op(e,tp,eg,ep,ev,re,r,rp)
elseif select==2 then cm.eff2op(e,tp,eg,ep,ev,re,r,rp)
end
end
--Position --Position
function cm.posfilter(c) function cm.posfilter(c)
return c:IsCanChangePosition() and RushDuel.IsHasDefense(c) return c:IsCanChangePosition() and RushDuel.IsHasDefense(c)
...@@ -64,7 +38,7 @@ function cm.eff1op(e,tp,eg,ep,ev,re,r,rp) ...@@ -64,7 +38,7 @@ function cm.eff1op(e,tp,eg,ep,ev,re,r,rp)
end end
--Destroy --Destroy
function cm.filter(c) function cm.filter(c)
return c:IsFaceup() and c:IsRace(0x2000000) return c:IsFaceup() and c:IsRace(RACE_CYBORG)
end end
function cm.desfilter(c) function cm.desfilter(c)
return c:IsFaceup() and c:IsRace(RACE_DRAGON) return c:IsFaceup() and c:IsRace(RACE_DRAGON)
......
local m=120195003 local m=120196003
local list={120195006,120195010} local list={120196006,120196010}
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="钢铁勋章·娱乐狂野明星" cm.name="钢铁徽章之赫拉克勒斯明星"
function cm.initial_effect(c) function cm.initial_effect(c)
aux.AddCodeList(c,list[1],list[2]) aux.AddCodeList(c,list[1],list[2])
--Fusion Material --Fusion Material
aux.AddFusionProcCode2(c,list[1],list[2],true,true) aux.AddFusionProcCode2(c,list[1],list[2],true,true)
--Select Effect --Select Effect
local e1=Effect.CreateEffect(c) local e1=RushDuel.BaseSelectEffect(c,aux.Stringid(m,1),cm.eff1con,cm.eff1op,aux.Stringid(m,2),cm.eff2con,cm.eff2op)
e1:SetDescription(aux.Stringid(m,0)) e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TODECK+CATEGORY_GRAVE_ACTION) e1:SetCategory(CATEGORY_TODECK+CATEGORY_GRAVE_ACTION)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(cm.cost) e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
--Select Effect --Select Effect
...@@ -25,27 +21,6 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -25,27 +21,6 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.ConfirmCards(1-tp,g) Duel.ConfirmCards(1-tp,g)
Duel.SendtoDeck(g,nil,1,REASON_COST) Duel.SendtoDeck(g,nil,1,REASON_COST)
end end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return cm.eff1con(e,tp,eg,ep,ev,re,r,rp) or cm.eff2con(e,tp,eg,ep,ev,re,r,rp) end
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local eff1=cm.eff1con(e,tp,eg,ep,ev,re,r,rp)
local eff2=cm.eff2con(e,tp,eg,ep,ev,re,r,rp)
local select=0
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(m,0))
if eff1 and eff2 then
select=Duel.SelectOption(tp,aux.Stringid(m,1),aux.Stringid(m,2))+1
elseif eff1 then
Duel.SelectOption(tp,aux.Stringid(m,1))
select=1
elseif eff2 then
Duel.SelectOption(tp,aux.Stringid(m,2))
select=2
end
if select==1 then cm.eff1op(e,tp,eg,ep,ev,re,r,rp)
elseif select==2 then cm.eff2op(e,tp,eg,ep,ev,re,r,rp)
end
end
--To Deck(Grave) --To Deck(Grave)
function cm.tdfilter1(c) function cm.tdfilter1(c)
return c:IsType(TYPE_MONSTER) and c:IsAbleToDeck() return c:IsType(TYPE_MONSTER) and c:IsAbleToDeck()
......
local m=120195005 local m=120196005
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="火焰小丑" cm.name="火焰小丑"
function cm.initial_effect(c) function cm.initial_effect(c)
......
local m=120195012 local m=120196012
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="虚钢演机塔" cm.name="虚钢演机塔"
function cm.initial_effect(c) function cm.initial_effect(c)
...@@ -29,7 +29,7 @@ function cm.initial_effect(c) ...@@ -29,7 +29,7 @@ function cm.initial_effect(c)
end end
--Activate --Activate
function cm.confilter(c) function cm.confilter(c)
return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsDefense(500) return c:IsType(TYPE_NORMAL) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsDefense(500)
end end
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.confilter,tp,LOCATION_GRAVE,0,1,nil) return Duel.IsExistingMatchingCard(cm.confilter,tp,LOCATION_GRAVE,0,1,nil)
......
local m=120195014 local m=120196014
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="虚钢演机再动" cm.name="虚钢演机再动"
function cm.initial_effect(c) function cm.initial_effect(c)
...@@ -19,7 +19,7 @@ function cm.confilter(c,tp) ...@@ -19,7 +19,7 @@ function cm.confilter(c,tp)
and bit.band(c:GetPreviousAttributeOnField(),ATTRIBUTE_LIGHT)~=0 and bit.band(c:GetPreviousAttributeOnField(),ATTRIBUTE_LIGHT)~=0
end end
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return (c:IsRace(0x2000000) or (c:IsType(TYPE_NORMAL) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsDefense(500))) return (c:IsRace(RACE_CYBORG) or (c:IsType(TYPE_NORMAL) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsDefense(500)))
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
......
local m=120196017
local list={120105010}
local cm=_G["c"..m]
cm.name="聚集使魔"
function cm.initial_effect(c)
aux.AddCodeList(c,list[1])
--Fusion Material
aux.AddFusionProcCode2(c,list[1],list[1],true,true)
--Special Summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Special Summon
function cm.spfilter(c,e,tp)
return c:IsType(TYPE_NORMAL) and c:IsRace(RACE_SPELLCASTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMZoneCount(tp)>0
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetMZoneCount(tp)<1 then return end
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0
and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)~=0
and g:GetFirst():IsCode(list[1])
and c:IsFaceup()
and c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(1400)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
end
\ No newline at end of file
local m=120196024
local list={120120025,120130020,120120024,120130019}
local cm=_G["c"..m]
cm.name="龙队踢基大师"
function cm.initial_effect(c)
aux.AddCodeList(c,list[1],list[2],list[3],list[4])
--Fusion Material
aux.AddFusionProcCode2(c,list[1],list[2],true,true)
--Destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Destroy
function cm.costfilter(c)
return c:IsCode(list[3],list[4]) and c:IsAbleToDeckAsCost()
end
function cm.desfilter(c)
return c:IsType(TYPE_SPELL+TYPE_TRAP)
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
Duel.SendtoDeck(g,nil,2,REASON_COST)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.desfilter,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(cm.desfilter,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectMatchingCard(tp,cm.desfilter,tp,0,LOCATION_ONFIELD,1,1,nil)
if g:GetCount()>0 then
Duel.HintSelection(g)
Duel.Destroy(g,REASON_EFFECT)
end
end
\ No newline at end of file
local m=120196029
local list={120140031,120140035}
local cm=_G["c"..m]
cm.name="音痴啸叫表演者"
function cm.initial_effect(c)
aux.AddCodeList(c,list[1],list[2])
--Fusion Material
aux.AddFusionProcCode2(c,list[1],list[2],true,true)
--Damage
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Damage
function cm.costfilter(c)
return c:IsCode(list[1],list[2]) and c:IsAbleToDeckAsCost()
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
Duel.SendtoDeck(g,nil,1,REASON_COST)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(800)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,800)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Damage(p,d,REASON_EFFECT)
end
\ No newline at end of file
local m=120196033
local list={120140007,120188015}
local cm=_G["c"..m]
cm.name="三日月的剑豪将军"
function cm.initial_effect(c)
aux.AddCodeList(c,list[1],list[2])
--Fusion Material
aux.AddFusionProcCode2(c,list[1],list[2],true,true)
--Indes
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(cm.cost)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Indes
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end
Duel.DiscardDeck(tp,1,REASON_COST)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e1:SetProperty(EFFECT_FLAG_CLIENT_HINT)
e1:SetValue(cm.efilter)
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_DISABLE+RESET_PHASE+PHASE_END)
c:RegisterEffect(e1)
end
end
function cm.efilter(e,re,rp)
return rp==1-e:GetHandlerPlayer() and re:IsActiveType(TYPE_TRAP)
end
\ No newline at end of file
local m=120196034
local list={120140020,120190004}
local cm=_G["c"..m]
cm.name="盛宴之猫头鹰随从"
function cm.initial_effect(c)
aux.AddCodeList(c,list[1],list[2])
--Fusion Material
aux.AddFusionProcCode2(c,list[1],list[2],true,true)
--Special Summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_GRAVE_SPSUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.condition)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Special Summon
function cm.spfilter(c,e,tp)
return c:IsRace(RACE_FIEND) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsSummonType(SUMMON_TYPE_FUSION) and c:IsReason(REASON_SPSUMMON) and c:IsStatus(STATUS_SPSUMMON_TURN)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetMZoneCount(tp)>0
and Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetMZoneCount(tp)<1 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
local m=120196035
local list={120150014,120151022}
local cm=_G["c"..m]
cm.name="千环高旋粒子机"
function cm.initial_effect(c)
aux.AddCodeList(c,list[1],list[2])
--Fusion Material
aux.AddFusionProcCode2(c,list[1],list[2],true,true)
--Draw
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DRAW+CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCondition(cm.condition)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Draw
function cm.confilter(c)
return c:IsType(TYPE_EFFECT) and c:IsRace(RACE_CYBERSE)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(cm.confilter,tp,LOCATION_GRAVE,0,3,nil)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(2)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
if Duel.Draw(p,d,REASON_EFFECT)~=0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,1,nil)
if g:GetCount()>0 then
Duel.BreakEffect()
Duel.SendtoDeck(g,nil,1,REASON_EFFECT)
end
end
end
\ No newline at end of file
local m=120196036
local list={120170037,120192011}
local cm=_G["c"..m]
cm.name="祸福的翔天龙"
function cm.initial_effect(c)
aux.AddCodeList(c,list[1],list[2])
--Fusion Material
aux.AddFusionProcCode2(c,list[1],list[2],true,true)
--Discard Deck
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DECKDES+CATEGORY_TOHAND+CATEGORY_GRAVE_ACTION)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Discard Deck
function cm.costfilter(c)
return c:IsRace(RACE_WYRM) and c:IsAbleToDeckAsCost()
end
function cm.exfilter(c)
return c:IsType(TYPE_SPELL) and c:IsLocation(LOCATION_GRAVE)
end
function cm.thfilter(c)
return c:IsType(TYPE_FIELD) and c:IsAbleToHand()
end
function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.costfilter,tp,LOCATION_GRAVE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(tp,cm.costfilter,tp,LOCATION_GRAVE,0,1,1,nil)
Duel.ConfirmCards(1-tp,g)
Duel.SendtoDeck(g,nil,2,REASON_COST)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,3) end
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,3)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if Duel.DiscardDeck(tp,3,REASON_EFFECT)==0 then return end
local g=Duel.GetOperatedGroup()
if g:IsExists(cm.exfilter,1,nil)
and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_GRAVE,0,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(m,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local sg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(cm.thfilter),tp,LOCATION_GRAVE,0,1,2,nil)
if sg:GetCount()>0 then
Duel.SendtoHand(sg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,sg)
end
end
end
\ No newline at end of file
local m=120195045 local m=120196045
local list={120195050} local list={120196050}
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="星光重现" cm.name="星之再起"
function cm.initial_effect(c) function cm.initial_effect(c)
aux.AddCodeList(c,list[1]) aux.AddCodeList(c,list[1])
--Activate --Activate
......
local m=120195050 local m=120196050
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="Fusion" cm.name="融合术"
function cm.initial_effect(c) function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Constant --Constant
SUMMON_TYPE_MAXIMUM = 0x45000000 SUMMON_TYPE_MAXIMUM = 0x45000000
RACE_CYBORG = 0x2000000
RushDuel={} RushDuel={}
...@@ -80,11 +81,11 @@ function Auxiliary.PreloadUds() ...@@ -80,11 +81,11 @@ function Auxiliary.PreloadUds()
e9:SetTargetRange(1,1) e9:SetTargetRange(1,1)
e9:SetValue(RushDuel.ActivateLimit) e9:SetValue(RushDuel.ActivateLimit)
Duel.RegisterEffect(e9,0) Duel.RegisterEffect(e9,0)
local e10=Effect.GlobalEffect() local e9=Effect.GlobalEffect()
e10:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e9:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e10:SetCode(EVENT_CHAIN_SOLVING) e9:SetCode(EVENT_CHAIN_SOLVING)
e10:SetOperation(RushDuel.ActivateCount) e9:SetOperation(RushDuel.ActivateCount)
Duel.RegisterEffect(e10,0) Duel.RegisterEffect(e9,0)
end end
function RushDuel.DrawCount(e) function RushDuel.DrawCount(e)
local p=Duel.GetTurnPlayer() local p=Duel.GetTurnPlayer()
...@@ -252,4 +253,43 @@ end ...@@ -252,4 +253,43 @@ end
function RushDuel.IsHasDefense(c) function RushDuel.IsHasDefense(c)
return c:IsDefenseAbove(0) return c:IsDefenseAbove(0)
and not (c:IsSummonType(SUMMON_TYPE_MAXIMUM) and c:GetOverlayCount()>0) and not (c:IsSummonType(SUMMON_TYPE_MAXIMUM) and c:GetOverlayCount()>0)
end
--Select Effect
function RushDuel.BaseSelectEffect(c,eff1hint,eff1con,eff1op,eff2hint,eff2con,eff2op)
local e=Effect.CreateEffect(c)
e:SetType(EFFECT_TYPE_IGNITION)
e:SetRange(LOCATION_MZONE)
e:SetTarget(RushDuel.SelectEffectTarget(eff1con,eff2con))
e:SetOperation(RushDuel.SelectEffectOperation(eff1hint,eff1con,eff1op,eff2hint,eff2con,eff2op))
return e
end
function RushDuel.SelectEffectCondition(eff1con,eff2con)
return function(e,tp,eg,ep,ev,re,r,rp)
return eff1con(e,tp,eg,ep,ev,re,r,rp) or eff2con(e,tp,eg,ep,ev,re,r,rp)
end
end
function RushDuel.SelectEffectTarget(eff1con,eff2con)
return function(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eff1con(e,tp,eg,ep,ev,re,r,rp) or eff2con(e,tp,eg,ep,ev,re,r,rp) end
end
end
function RushDuel.SelectEffectOperation(eff1hint,eff1con,eff1op,eff2hint,eff2con,eff2op)
return function(e,tp,eg,ep,ev,re,r,rp)
local eff1=eff1con(e,tp,eg,ep,ev,re,r,rp)
local eff2=eff2con(e,tp,eg,ep,ev,re,r,rp)
local select=0
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EFFECT)
if eff1 and eff2 then
select=Duel.SelectOption(tp,eff1hint,eff2hint)+1
elseif eff1 then
Duel.SelectOption(tp,eff1hint)
select=1
elseif eff2 then
Duel.SelectOption(tp,eff2hint)
select=2
end
if select==1 then eff1op(e,tp,eg,ep,ev,re,r,rp)
elseif select==2 then eff2op(e,tp,eg,ep,ev,re,r,rp)
end
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