Commit b5f84f59 authored by 未闻皂名's avatar 未闻皂名

2023/12/17 新增:KP16与PR24新卡,更新妥协召唤手续

parent d9cb6a3d
Pipeline #24416 passed with stages
in 15 minutes and 16 seconds
No preview for this file type
No preview for this file type
......@@ -309,160 +309,6 @@ function RushDuel.CreateMultiChooseEffect(card, condition, cost, hint1, target1,
return e1, e2
end
-- 添加通常召唤手续
function RushDuel.AddSummonProcedure(card, desc, condition, operation, value)
local e1 = Effect.CreateEffect(card)
e1:SetDescription(desc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
e1:SetCondition(condition)
if operation ~= nil then
e1:SetOperation(operation)
end
if value ~= nil then
e1:SetValue(value)
end
card:RegisterEffect(e1)
return e1
end
-- 添加手卡特殊召唤手续
function RushDuel.AddHandSpecialSummonProcedure(card, desc, condition, target, operation, value, position)
local e1 = Effect.CreateEffect(card)
e1:SetDescription(desc)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
if position == nil then
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
else
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE + EFFECT_FLAG_SPSUM_PARAM)
e1:SetTargetRange(position, 0)
end
e1:SetRange(LOCATION_HAND)
if condition ~= nil then
e1:SetCondition(condition)
end
if target ~= nil then
e1:SetTarget(target)
end
if operation ~= nil then
e1:SetOperation(operation)
end
if value ~= nil then
e1:SetValue(value)
end
card:RegisterEffect(e1)
return e1
end
-- 上级召唤时的解放怪兽检测
function RushDuel.CreateAdvanceCheck(card, filter, count, flag)
local e1 = Effect.CreateEffect(card)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_MATERIAL_CHECK)
e1:SetValue(function(e, c)
local mg = c:GetMaterial()
local ct = math.min(count, mg:GetCount())
local label = 0
if c:IsLevelBelow(6) and count == 2 then
-- 当前等级小于解放要求
elseif ct > 0 and mg:IsExists(filter, ct, nil, e) then
label = flag
end
e:SetLabel(label)
end)
card:RegisterEffect(e1)
local e2 = Effect.CreateEffect(card)
e2:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetLabelObject(e1)
e2:SetCondition(RushDuel.AdvanceCheckCondition)
e2:SetOperation(RushDuel.AdvanceCheckOperation)
card:RegisterEffect(e2)
return e1, e2
end
function RushDuel.AdvanceCheckCondition(e, tp, eg, ep, ev, re, r, rp)
return e:GetLabelObject():GetLabel() ~= 0 and e:GetHandler():IsSummonType(SUMMON_TYPE_ADVANCE)
end
function RushDuel.AdvanceCheckOperation(e, tp, eg, ep, ev, re, r, rp)
e:GetHandler():RegisterFlagEffect(e:GetLabelObject():GetLabel(), RESET_EVENT + RESETS_STANDARD, 0, 1)
end
-- 记录召唤的解放数量
function RushDuel.CreateAdvanceCount(card, self_value)
local e1 = Effect.CreateEffect(card)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_MATERIAL_CHECK)
e1:SetValue(function(e, c)
if c:IsSummonType(SUMMON_VALUE_SELF) then
e:SetLabel(self_value)
elseif c:IsLevelBelow(4) then
e:SetLabel(0)
elseif c:IsLevelBelow(6) then
e:SetLabel(1)
else
e:SetLabel(2)
end
end)
card:RegisterEffect(e1)
return e1
end
-- 记录攻击表示上级召唤的状态
function RushDuel.CreateAdvanceSummonFlag(card, flag)
local e1 = Effect.CreateEffect(card)
e1:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetLabel(flag)
e1:SetCondition(RushDuel.AdvanceSummonFlagCondition)
e1:SetOperation(RushDuel.AdvanceSummonFlagOperation)
card:RegisterEffect(e1)
return e1
end
function RushDuel.AdvanceSummonFlagCondition(e, tp, eg, ep, ev, re, r, rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_ADVANCE)
end
function RushDuel.AdvanceSummonFlagOperation(e, tp, eg, ep, ev, re, r, rp)
e:GetHandler():RegisterFlagEffect(e:GetLabel(), RESET_EVENT + RESETS_STANDARD, 0, 1)
end
-- 三重解放 (临时处理方法)
function RushDuel.CreateTripleTribute(source, card, desc, value, forced)
local e1 = Effect.CreateEffect(source)
e1:SetDescription(desc)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SUMMON_PROC)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_HAND, 0)
e1:SetCondition(RushDuel.TripleTributeCondition)
e1:SetTarget(RushDuel.TripleTributeTarget(value))
e1:SetOperation(RushDuel.TripleTributeOperation)
e1:SetValue(SUMMON_TYPE_ADVANCE + SUMMON_VALUE_SELF)
card:RegisterEffect(e1, forced)
return e1
end
function RushDuel.TripleTributeCondition(e, c, minc)
if c == nil then
return true
end
local tc = e:GetHandler()
local tp = c:GetControler()
local mg = Duel.GetTributeGroup(c)
return minc <= 3 and mg:IsContains(tc) and Duel.GetMZoneCount(tp, tc) > 0
end
function RushDuel.TripleTributeTarget(value)
return function(e, c)
return value(e, c) and c:IsCode(120235000, 120253004)
end
end
function RushDuel.TripleTributeOperation(e, tp, eg, ep, ev, re, r, rp, c)
local mg = Group.FromCards(e:GetHandler())
c:SetMaterial(mg)
Duel.Release(mg, REASON_SUMMON + REASON_MATERIAL)
end
-- 添加记述卡牌列表
function RushDuel.AddCodeList(card, ...)
for _, list in ipairs {...} do
......
......@@ -169,6 +169,20 @@ function RushDuel.IsCanAttachDisableContinuous(card)
return has_effect and not card:IsHasEffect(EFFECT_DISABLE)
end
-- 条件: 是否可以使用双重解放
function RushDuel.IsCanDoubleTribute(card, target)
local effects = {card:IsHasEffect(EFFECT_DOUBLE_TRIBUTE)}
for i, effect in ipairs(effects) do
local value = effect:GetValue()
if value == 1 then
return true
elseif value(effect, target) then
return true
end
end
return false
end
-- 条件: 玩家是否能够使用特定种族进行攻击
function RushDuel.IsPlayerCanUseRaceAttack(player, race)
if Duel.IsPlayerAffectedByEffect(player, EFFECT_PLAYER_CANNOT_ATTACK) then
......
......@@ -9,12 +9,12 @@ function RushDuel.Init()
end
-- 决斗开始
RushDuel.CreateFieldGlobalEffect(true, EVENT_PHASE_START + PHASE_DRAW, function(e)
-- 传说卡
RushDuel.InitLegend()
-- 先攻抽卡
if not Auxiliary.Load2PickRule then
Duel.Draw(0, 1, REASON_RULE)
end
-- 传说卡
RushDuel.InitLegend()
e:Reset()
end)
end
......@@ -67,14 +67,4 @@ function RushDuel.InitRule()
RushDuel.CreatePlayerTargetGlobalEffect(EFFECT_HAND_LIMIT, 100)
-- 极大怪兽
RushDuel.InitMaximum()
-- 调整: 召唤·特殊召唤的回合被盖放, 不再符合召唤·特殊召唤的回合的条件
local function is_turn_set(c)
return c:IsPreviousPosition(POS_FACEUP) and c:IsFacedown()
end
RushDuel.CreateFieldGlobalEffect(true, EVENT_CHANGE_POS, function(e, tp, eg, ep, ev, re, r, rp)
local g = eg:Filter(is_turn_set,nil)
g:ForEach(function(tc)
tc:RegisterFlagEffect(FLAG_NOT_SUMMON_TURN, RESET_EVENT + RESETS_STANDARD - RESET_TURN_SET, 0, 1)
end)
end)
end
-- Rush Duel 召唤
RushDuel = RushDuel or {}
SUMMON_VALUE_ZERO = 0x20 -- 不用解放的妥协召唤
SUMMON_VALUE_ONE = 0x40 -- 解放1只的妥协召唤
SUMMON_VALUE_TWO = 0x80 -- 解放2只的妥协召唤
SUMMON_VALUE_THREE = 0x100 -- 解放3只的妥协召唤
-- 内部方法: 获取上级召唤的可解放怪兽
function RushDuel._private_get_tribute_group(filter, ...)
if filter == nil then
return nil
else
return Duel.GetMatchingGroup(filter, 0, LOCATION_MZONE, LOCATION_MZONE, nil, ...)
end
end
-- 添加不用解放的妥协召唤手续
function RushDuel.AddSummonProcedureZero(card, desc, condition, operation)
local e1 = Effect.CreateEffect(card)
e1:SetDescription(desc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
e1:SetCondition(RushDuel.SummonProcedureConditionZero(condition))
if operation ~= nil then
e1:SetOperation(operation)
end
e1:SetValue(SUMMON_VALUE_ZERO)
card:RegisterEffect(e1)
return e1
end
function RushDuel.SummonProcedureConditionZero(condition)
return function(e, c, minc)
if c == nil then
return true
end
local tp = c:GetControler()
return minc == 0 and c:IsLevelAbove(5) and Duel.GetLocationCount(tp, LOCATION_MZONE) > 0 and (not condition or condition(c, e, tp))
end
end
-- 添加解放1只的妥协召唤手续
function RushDuel.AddSummonProcedureOne(card, desc, condition, filter, operation)
local e1 = Effect.CreateEffect(card)
e1:SetDescription(desc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
e1:SetCondition(RushDuel.SummonProcedureConditionOne(filter, condition))
e1:SetOperation(RushDuel.SummonProcedureOperationOne(filter, operation))
e1:SetValue(SUMMON_TYPE_ADVANCE + SUMMON_VALUE_ONE)
card:RegisterEffect(e1)
return e1
end
function RushDuel.SummonProcedureConditionOne(filter, condition)
return function(e, c, minc)
if c == nil then
return true
end
local tp = c:GetControler()
local mg = RushDuel._private_get_tribute_group(filter, e, tp)
return c:IsLevelAbove(7) and minc <= 1 and Duel.CheckTribute(c, 1, 1, mg) and (not condition or condition(c, e, tp))
end
end
function RushDuel.SummonProcedureOperationOne(filter, operation)
return function(e, tp, eg, ep, ev, re, r, rp, c)
local mg = RushDuel._private_get_tribute_group(filter, e, tp)
local sg = Duel.SelectTribute(tp, c, 1, 1, mg)
c:SetMaterial(sg)
Duel.Release(sg, REASON_SUMMON + REASON_MATERIAL)
if operation then
operation(e, tp, eg, ep, ev, re, r, rp, c, sg)
end
end
end
-- 添加解放2只的妥协召唤手续
function RushDuel.AddSummonProcedureTwo(card, desc, condition, filter, operation)
local e1 = Effect.CreateEffect(card)
e1:SetDescription(desc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
e1:SetCondition(RushDuel.SummonProcedureConditionTwo(filter, condition))
e1:SetOperation(RushDuel.SummonProcedureOperationTwo(filter, operation))
e1:SetValue(SUMMON_TYPE_ADVANCE + SUMMON_VALUE_TWO)
card:RegisterEffect(e1)
return e1
end
function RushDuel.SummonProcedureConditionTwo(filter, condition)
return function(e, c, minc)
if c == nil then
return true
end
local tp = c:GetControler()
local mg = RushDuel._private_get_tribute_group(filter, e, tp)
return minc <= 2 and Duel.CheckTribute(c, 2, 2, mg) and (not condition or condition(c, e, tp))
end
end
function RushDuel.SummonProcedureOperationTwo(filter, operation)
return function(e, tp, eg, ep, ev, re, r, rp, c)
local mg = RushDuel._private_get_tribute_group(filter, e, tp)
local sg = Duel.SelectTribute(tp, c, 2, 2, mg)
c:SetMaterial(sg)
Duel.Release(sg, REASON_SUMMON + REASON_MATERIAL)
if operation then
operation(e, tp, eg, ep, ev, re, r, rp, c, sg)
end
end
end
-- 添加解放3只的妥协召唤手续
function RushDuel.AddSummonProcedureThree(card, desc, condition, filter, operation)
local e1 = Effect.CreateEffect(card)
e1:SetDescription(desc)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
e1:SetCondition(RushDuel.SummonProcedureConditionThree(filter, condition))
e1:SetOperation(RushDuel.SummonProcedureOperationThree(filter, operation))
e1:SetValue(SUMMON_TYPE_ADVANCE + SUMMON_VALUE_THREE)
card:RegisterEffect(e1)
local mt = getmetatable(card)
if mt.is_can_triple_tribute == nil then
mt.is_can_triple_tribute = true
end
return e1
end
function RushDuel.SummonProcedureConditionThree(filter, condition)
return function(e, c, minc)
if c == nil then
return true
end
local tp = c:GetControler()
local mg = RushDuel._private_get_tribute_group(filter, e, tp)
return minc <= 3 and Duel.CheckTribute(c, 3, 3, mg) and (not condition or condition(c, e, tp))
end
end
function RushDuel.SummonProcedureOperationThree(filter, operation)
return function(e, tp, eg, ep, ev, re, r, rp, c)
local mg = RushDuel._private_get_tribute_group(filter, e, tp)
local sg = Duel.SelectTribute(tp, c, 3, 3, mg)
c:SetMaterial(sg)
Duel.Release(sg, REASON_SUMMON + REASON_MATERIAL)
if operation then
operation(e, tp, eg, ep, ev, re, r, rp, c, sg)
end
end
end
-- 上级召唤时的解放怪兽检测
function RushDuel.CreateAdvanceCheck(card, filter, count, flag)
local e1 = Effect.CreateEffect(card)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_MATERIAL_CHECK)
e1:SetValue(function(e, c)
local mg = c:GetMaterial()
local ct = math.min(count, mg:GetCount())
local label = 0
if c:IsLevelBelow(6) and count == 2 then
-- 当前等级小于解放要求
elseif ct > 0 and mg:IsExists(filter, ct, nil, e) then
label = flag
end
e:SetLabel(label)
end)
card:RegisterEffect(e1)
local e2 = Effect.CreateEffect(card)
e2:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_SUMMON_SUCCESS)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetLabelObject(e1)
e2:SetCondition(RushDuel.AdvanceCheckCondition)
e2:SetOperation(RushDuel.AdvanceCheckOperation)
card:RegisterEffect(e2)
return e1, e2
end
function RushDuel.AdvanceCheckCondition(e, tp, eg, ep, ev, re, r, rp)
return e:GetLabelObject():GetLabel() ~= 0 and e:GetHandler():IsSummonType(SUMMON_TYPE_ADVANCE)
end
function RushDuel.AdvanceCheckOperation(e, tp, eg, ep, ev, re, r, rp)
e:GetHandler():RegisterFlagEffect(e:GetLabelObject():GetLabel(), RESET_EVENT + RESETS_STANDARD, 0, 1)
end
-- 获取召唤的解放数量
function RushDuel.GetTributeCount(card, advance)
if card:IsSummonType(SUMMON_VALUE_ZERO) then
return 0
elseif card:IsSummonType(SUMMON_VALUE_ONE) then
return 1
elseif card:IsSummonType(SUMMON_VALUE_TWO) then
return 2
elseif card:IsSummonType(SUMMON_VALUE_THREE) then
return 3
elseif card:IsSummonType(SUMMON_TYPE_ADVANCE) then
return advance
else
return 0
end
end
-- 分割上级召唤的解放怪兽
function RushDuel.SplitTribute(card, group)
local g = group or card:GetMaterial()
local normal, double = Group.CreateGroup(), Group.CreateGroup()
g:ForEach(function(tc)
if RushDuel.IsCanDoubleTribute(tc, card) then
double:AddCard(tc)
else
normal:AddCard(tc)
end
end)
return normal, double
end
-- 记录攻击表示上级召唤的状态
function RushDuel.CreateAdvanceSummonFlag(card, flag)
local e1 = Effect.CreateEffect(card)
e1:SetType(EFFECT_TYPE_SINGLE + EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetLabel(flag)
e1:SetCondition(RushDuel.AdvanceSummonFlagCondition)
e1:SetOperation(RushDuel.AdvanceSummonFlagOperation)
card:RegisterEffect(e1)
return e1
end
function RushDuel.AdvanceSummonFlagCondition(e, tp, eg, ep, ev, re, r, rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_ADVANCE)
end
function RushDuel.AdvanceSummonFlagOperation(e, tp, eg, ep, ev, re, r, rp)
e:GetHandler():RegisterFlagEffect(e:GetLabel(), RESET_EVENT + RESETS_STANDARD, 0, 1)
end
-- 三重解放 (临时处理方法)
function RushDuel.CreateTripleTribute(source, card, desc, value, forced)
local e1 = Effect.CreateEffect(source)
e1:SetDescription(desc)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SUMMON_PROC)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(LOCATION_HAND, 0)
e1:SetCondition(RushDuel.TripleTributeCondition)
e1:SetTarget(RushDuel.TripleTributeTarget(value))
e1:SetOperation(RushDuel.TripleTributeOperation)
e1:SetValue(SUMMON_TYPE_ADVANCE + SUMMON_VALUE_THREE)
card:RegisterEffect(e1, forced)
return e1
end
function RushDuel.TripleTributeCondition(e, c, minc)
if c == nil then
return true
end
local tc = e:GetHandler()
local tp = c:GetControler()
local mg = Duel.GetTributeGroup(c)
return minc <= 3 and mg:IsContains(tc) and Duel.GetMZoneCount(tp, tc) > 0
end
function RushDuel.TripleTributeTarget(value)
return function(e, c)
return value(e, c) and c.is_can_triple_tribute
end
end
function RushDuel.TripleTributeOperation(e, tp, eg, ep, ev, re, r, rp, c)
local mg = Group.FromCards(e:GetHandler())
c:SetMaterial(mg)
Duel.Release(mg, REASON_SUMMON + REASON_MATERIAL)
end
-- 添加手卡特殊召唤手续
function RushDuel.AddHandSpecialSummonProcedure(card, desc, condition, target, operation, value, position)
local e1 = Effect.CreateEffect(card)
e1:SetDescription(desc)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
if position == nil then
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE)
else
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE + EFFECT_FLAG_UNCOPYABLE + EFFECT_FLAG_SPSUM_PARAM)
e1:SetTargetRange(position, 0)
end
e1:SetRange(LOCATION_HAND)
if condition ~= nil then
e1:SetCondition(condition)
end
if target ~= nil then
e1:SetTarget(target)
end
if operation ~= nil then
e1:SetOperation(operation)
end
if value ~= nil then
e1:SetValue(value)
end
card:RegisterEffect(e1)
return e1
end
......@@ -3,13 +3,9 @@ local cm=_G["c"..m]
cm.name="疾风之暗黑骑士 盖亚"
function cm.initial_effect(c)
--Summon Procedure
RD.AddSummonProcedure(c,aux.Stringid(m,0),cm.sumcon)
RD.AddSummonProcedureZero(c,aux.Stringid(m,0),cm.sumcon)
end
--Summon Procedure
function cm.sumcon(e,c,minc)
if c==nil then return true end
local tp=c:GetControler()
return minc==0 and c:IsLevelAbove(5)
and Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)==1
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
function cm.sumcon(c,e,tp)
return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)==1
end
\ No newline at end of file
......@@ -5,7 +5,7 @@ cm.name="电子搜索龙"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Summon Procedure
RD.AddSummonProcedure(c,aux.Stringid(m,0),cm.sumcon,cm.sumop,SUMMON_TYPE_ADVANCE)
RD.AddSummonProcedureOne(c,aux.Stringid(m,0),nil,cm.sumfilter)
--Special Summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
......@@ -19,21 +19,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e1)
end
--Summon Procedure
function cm.matfilter(c,tp)
function cm.sumfilter(c,e,tp)
return c:IsFaceup() and c:IsCode(list[1])
end
function cm.sumcon(e,c,minc)
if c==nil then return true end
local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
return c:IsLevelAbove(7) and minc<=1 and Duel.CheckTribute(c,1,1,mg)
end
function cm.sumop(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
local sg=Duel.SelectTribute(tp,c,1,1,mg)
c:SetMaterial(sg)
Duel.Release(sg,REASON_SUMMON+REASON_MATERIAL)
end
--Special Summon
function cm.spfilter(c,e,tp)
return c:IsCode(list[1]) and RD.IsCanBeSpecialSummoned(c,e,tp,POS_FACEUP)
......
......@@ -14,7 +14,7 @@ function cm.initial_effect(c)
e1:SetValue(300)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Special Summon Procedure
function cm.spconfilter(c)
......
......@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -10,7 +10,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indes)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Indes
function cm.indes(e,c)
......
......@@ -12,7 +12,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -17,7 +17,7 @@ function cm.initial_effect(c)
e2:SetCondition(cm.tricon)
e2:SetTarget(cm.eftg)
e2:SetOperation(cm.triop)
e2:SetValue(SUMMON_TYPE_ADVANCE)
e2:SetValue(SUMMON_TYPE_ADVANCE+SUMMON_VALUE_ONE)
c:RegisterEffect(e2)
end
--Activate
......
......@@ -35,7 +35,7 @@ function cm.initial_effect(c)
e4:SetTarget(cm.distg)
c:RegisterEffect(e4)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2,e3,e4)
RD.AddContinuousEffect(c,e1,e2,e3,e4)
end
--Disable
function cm.distg(e,c)
......
......@@ -10,7 +10,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.atkval(e,c)
......
......@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -11,7 +11,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c)
......
......@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -13,7 +13,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c)
......
......@@ -19,7 +19,7 @@ function cm.filter(c)
return c:IsFaceup() and not c:IsLevel(3) and c:IsRace(RACE_SPELLCASTER) and c:IsAbleToHand()
end
function cm.exfilter(c)
return c:IsCode(list[1]) and c:IsLocation(LOCATION_HAND)
return c:IsOriginalCodeRule(list[1]) and c:IsLocation(LOCATION_HAND)
end
cm.cost=RD.CostSendDeckTopToGrave(1)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
......@@ -11,7 +11,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.atkval(e,c)
......
......@@ -23,7 +23,7 @@ function cm.initial_effect(c)
e2:SetCondition(cm.prccon)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Atk Up
function cm.filter(c)
......
......@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -13,7 +13,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.aclimit)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
function cm.condition(e)
local ph=Duel.GetCurrentPhase()
......
......@@ -18,7 +18,7 @@ function cm.initial_effect(c)
e2:SetCondition(cm.prccon)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Atk Up
function cm.atkval(e,c)
......
......@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -14,7 +14,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.actlimit)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
--Special Summon Check
if not cm.global_check then
cm.global_check=true
......
......@@ -24,7 +24,7 @@ function cm.initial_effect(c)
e2:SetValue(1)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Atk Up
function cm.filter(c)
......
......@@ -11,7 +11,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c)
......
......@@ -11,7 +11,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c)
......
......@@ -12,7 +12,7 @@ function cm.initial_effect(c)
e1:SetTarget(cm.sumlimit)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Cannot Special Summon
function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp,se)
......
......@@ -13,7 +13,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.aclimit)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
function cm.condition(e)
local ph=Duel.GetCurrentPhase()
......
......@@ -9,7 +9,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.trival)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Double Tribute
cm.trival=RD.ValueDoubleTributeAttrRace(ATTRIBUTE_FIRE,nil)
\ No newline at end of file
......@@ -12,7 +12,7 @@ function cm.initial_effect(c)
e1:SetTarget(cm.sumlimit)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Cannot Special Summon
function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp)
......
......@@ -3,7 +3,7 @@ local cm=_G["c"..m]
cm.name="堕天使 杰拉特"
function cm.initial_effect(c)
--Summon Procedure
RD.AddSummonProcedure(c,aux.Stringid(m,0),cm.sumcon,cm.sumop,SUMMON_TYPE_ADVANCE)
RD.AddSummonProcedureOne(c,aux.Stringid(m,0),cm.sumcon,cm.sumfilter)
--Destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
......@@ -16,22 +16,12 @@ function cm.initial_effect(c)
c:RegisterEffect(e1)
end
--Summon Procedure
function cm.matfilter(c,tp)
return c:IsAttribute(ATTRIBUTE_DARK) and (c:IsFaceup() or c:IsControler(tp))
end
function cm.sumcon(e,c,minc)
if c==nil then return true end
local tp=c:GetControler()
function cm.sumcon(c,e,tp)
local g=Duel.GetMatchingGroup(Card.IsAttribute,tp,LOCATION_GRAVE,0,nil,ATTRIBUTE_DARK)
if g:GetClassCount(Card.GetLinkCode)<4 then return false end
local mg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
return c:IsLevelAbove(7) and minc<=1 and Duel.CheckTribute(c,1,1,mg)
return g:GetClassCount(Card.GetLinkCode)>3
end
function cm.sumop(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
local sg=Duel.SelectTribute(tp,c,1,1,mg)
c:SetMaterial(sg)
Duel.Release(sg,REASON_SUMMON+REASON_MATERIAL)
function cm.sumfilter(c,e,tp)
return c:IsAttribute(ATTRIBUTE_DARK) and (c:IsFaceup() or c:IsControler(tp))
end
--Destroy
function cm.costfilter(c)
......
......@@ -12,7 +12,7 @@ function cm.initial_effect(c)
e1:SetValue(700)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c)
......
......@@ -21,7 +21,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.indval)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Indes
function cm.filter(c)
......
......@@ -11,7 +11,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.target)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Cannot Be Battle Target
function cm.target(e,c)
......
......@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -17,7 +17,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.indval2)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Indes
cm.indval1=RD.ValueEffectIndesType(0,TYPE_TRAP)
......
......@@ -26,7 +26,7 @@ function cm.initial_effect(c)
e3:SetTarget(cm.setlimit)
c:RegisterEffect(e3)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2,e3)
RD.AddContinuousEffect(c,e1,e2,e3)
end
--Cannot Special Summon
function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp)
......
......@@ -10,7 +10,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indes)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Indes
function cm.indes(e,c)
......
......@@ -25,7 +25,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.indval)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -12,5 +12,5 @@ function cm.initial_effect(c)
e1:SetCode(EFFECT_PIERCE)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
\ No newline at end of file
......@@ -13,5 +13,5 @@ function cm.initial_effect(c)
e1:SetValue(1)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
\ No newline at end of file
......@@ -5,7 +5,7 @@ cm.name="电子强袭龙"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Summon Procedure
RD.AddSummonProcedure(c,aux.Stringid(m,0),cm.sumcon,cm.sumop,SUMMON_TYPE_ADVANCE)
RD.AddSummonProcedureOne(c,aux.Stringid(m,0),nil,cm.sumfilter)
--Destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
......@@ -18,21 +18,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e1)
end
--Summon Procedure
function cm.matfilter(c,tp)
function cm.sumfilter(c,e,tp)
return c:IsFaceup() and c:IsCode(list[1])
end
function cm.sumcon(e,c,minc)
if c==nil then return true end
local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
return c:IsLevelAbove(7) and minc<=1 and Duel.CheckTribute(c,1,1,mg)
end
function cm.sumop(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
local sg=Duel.SelectTribute(tp,c,1,1,mg)
c:SetMaterial(sg)
Duel.Release(sg,REASON_SUMMON+REASON_MATERIAL)
end
--Destroy
function cm.costfilter(c)
return c:IsCode(list[1]) and c:IsAbleToDeckOrExtraAsCost()
......
......@@ -5,7 +5,7 @@ cm.name="电子隐形龙"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Summon Procedure
RD.AddSummonProcedure(c,aux.Stringid(m,0),cm.sumcon,cm.sumop,SUMMON_TYPE_ADVANCE)
RD.AddSummonProcedureOne(c,aux.Stringid(m,0),nil,cm.sumfilter)
--Def Up
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -25,24 +25,12 @@ function cm.initial_effect(c)
e2:SetValue(cm.indval)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Summon Procedure
function cm.matfilter(c,tp)
function cm.sumfilter(c,e,tp)
return c:IsFaceup() and c:IsCode(list[1])
end
function cm.sumcon(e,c,minc)
if c==nil then return true end
local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
return c:IsLevelAbove(7) and minc<=1 and Duel.CheckTribute(c,1,1,mg)
end
function cm.sumop(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
local sg=Duel.SelectTribute(tp,c,1,1,mg)
c:SetMaterial(sg)
Duel.Release(sg,REASON_SUMMON+REASON_MATERIAL)
end
--Def Up
function cm.confilter(c)
return c:IsCode(list[1])
......
......@@ -4,5 +4,5 @@ local cm=_G["c"..m]
cm.name="原始电子龙"
function cm.initial_effect(c)
--Change Code
RushDuel.AddContinuousEffect(c,RD.EnableChangeCode(c,list[1]))
RD.AddContinuousEffect(c,RD.EnableChangeCode(c,list[1]))
end
......@@ -17,7 +17,7 @@ function cm.initial_effect(c)
e2:SetCode(EFFECT_UPDATE_DEFENSE)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Special Summon Procedure
function cm.spconfilter(c)
......
......@@ -13,7 +13,7 @@ function cm.initial_effect(c)
e1:SetTarget(cm.target)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Special Summon Procedure
function cm.spconfilter(c)
......
......@@ -12,7 +12,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.drawval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Draw Count
function cm.drawval(e)
......
......@@ -12,7 +12,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
......
......@@ -9,7 +9,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indes)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Indes
function cm.indes(e,c)
......
......@@ -13,7 +13,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c)
......
......@@ -3,35 +3,22 @@ local cm=_G["c"..m]
cm.name="闪电之战士 吉尔福德"
function cm.initial_effect(c)
--Summon Procedure
RD.AddSummonProcedure(c,aux.Stringid(m,0),cm.sumcon,cm.sumop,SUMMON_TYPE_ADVANCE+SUMMON_VALUE_SELF)
local mat=RD.CreateAdvanceCount(c,3)
RD.AddSummonProcedureThree(c,aux.Stringid(m,0))
--Destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetLabelObject(mat)
e1:SetCondition(cm.condition)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Summon Procedure
function cm.sumcon(e,c,minc)
if c==nil then return true end
return minc<=3 and Duel.CheckTribute(c,3)
end
function cm.sumop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectTribute(tp,c,3,3)
c:SetMaterial(g)
Duel.Release(g,REASON_SUMMON+REASON_MATERIAL)
end
--Destroy
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return RD.IsSummonTurn(c) and e:GetLabelObject():GetLabel()==3
return RD.IsSummonTurn(c) and c:IsSummonType(SUMMON_VALUE_THREE)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,0,LOCATION_MZONE,1,nil) end
......
......@@ -11,7 +11,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c)
......
......@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.limit)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Cannot Activate
function cm.limit(e,re,tp)
......
......@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP)
......
......@@ -18,7 +18,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indes)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Fusion Material
cm.unspecified_funsion=true
......
......@@ -3,29 +3,20 @@ local cm=_G["c"..m]
cm.name="百兽王 贝希摩斯"
function cm.initial_effect(c)
--Summon Procedure
RD.AddSummonProcedure(c,aux.Stringid(m,0),cm.sumcon,cm.sumop,SUMMON_TYPE_ADVANCE+SUMMON_VALUE_SELF)
local mat=RD.CreateAdvanceCount(c,1)
RD.AddSummonProcedureOne(c,aux.Stringid(m,0),nil,nil,cm.sumop)
--To Hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_GRAVE_ACTION)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetLabelObject(mat)
e1:SetCondition(cm.condition)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Summon Procedure
function cm.sumcon(e,c,minc)
if c==nil then return true end
return c:IsLevelAbove(7) and minc<=1 and Duel.CheckTribute(c,1)
end
function cm.sumop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectTribute(tp,c,1,1)
c:SetMaterial(g)
Duel.Release(g,REASON_SUMMON+REASON_MATERIAL)
function cm.sumop(e,tp,eg,ep,ev,re,r,rp,c,mg)
--Change Base Attack
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -44,7 +35,7 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return RD.IsSummonTurn(e:GetHandler())
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=e:GetLabelObject():GetLabel()
local ct=RD.GetTributeCount(e:GetHandler(),2)
if chk==0 then return ct>0 and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_GRAVE,0,ct,nil) end
e:SetLabel(ct)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
......
......@@ -2,7 +2,7 @@ local m=120238004
local cm=_G["c"..m]
cm.name="合成魔兽 加泽特"
function cm.initial_effect(c)
RushDuel.CreateAdvanceSummonFlag(c,20238004)
RD.CreateAdvanceSummonFlag(c,20238004)
--Atk Up
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -19,7 +19,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.check)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Material Check
function cm.check(e,c)
......
......@@ -19,7 +19,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.atkval)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Atk Up
function cm.filter(c)
......
......@@ -17,5 +17,5 @@ function cm.initial_effect(c)
e1:SetTargetRange(1,1)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
\ No newline at end of file
......@@ -2,7 +2,7 @@ local m=120238019
local cm=_G["c"..m]
cm.name="伟大魔兽 加泽特"
function cm.initial_effect(c)
RushDuel.CreateAdvanceSummonFlag(c,20238019)
RD.CreateAdvanceSummonFlag(c,20238019)
--Atk Up
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
......@@ -19,7 +19,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.check)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Material Check
function cm.check(e,c)
......
......@@ -17,7 +17,7 @@ function cm.initial_effect(c)
e2:SetCondition(cm.prccon)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Atk Up
function cm.atkval(e,c)
......
......@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -14,7 +14,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.actlimit)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
--Special Summon Check
if not cm.global_check then
cm.global_check=true
......
......@@ -23,7 +23,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.indval)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Cannot Activate
function cm.confilter(c)
......
......@@ -26,7 +26,7 @@ function cm.initial_effect(c)
e3:SetTarget(cm.setlimit)
c:RegisterEffect(e3)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2,e3)
RD.AddContinuousEffect(c,e1,e2,e3)
end
--Cannot Set Monster
function cm.confilter1(c)
......
......@@ -23,7 +23,7 @@ function cm.initial_effect(c)
e2:SetOperation(cm.actlimit)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_SPELL+TYPE_TRAP+TYPE_MONSTER)
......
......@@ -21,7 +21,7 @@ function cm.initial_effect(c)
e2:SetValue(1)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Atk Up
function cm.filter(c)
......
......@@ -3,7 +3,7 @@ local cm=_G["c"..m]
cm.name="才贤帝 威廉"
function cm.initial_effect(c)
--Summon Procedure
RD.AddSummonProcedure(c,aux.Stringid(m,0),cm.sumcon,cm.sumop,SUMMON_TYPE_ADVANCE)
RD.AddSummonProcedureOne(c,aux.Stringid(m,0),nil,cm.sumfilter)
--Advance Flag
RD.CreateAdvanceSummonFlag(c,20244018)
--Destroy
......@@ -18,21 +18,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e1)
end
--Summon Procedure
function cm.matfilter(c,tp)
function cm.sumfilter(c,e,tp)
return c:IsFaceup() and c:IsLevelAbove(5) and RD.IsDefense(c,1000)
end
function cm.sumcon(e,c,minc)
if c==nil then return true end
local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
return c:IsLevelAbove(7) and minc<=1 and Duel.CheckTribute(c,1,1,mg)
end
function cm.sumop(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
local sg=Duel.SelectTribute(tp,c,1,1,mg)
c:SetMaterial(sg)
Duel.Release(sg,REASON_SUMMON+REASON_MATERIAL)
end
--Destroy
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -3,7 +3,7 @@ local cm=_G["c"..m]
cm.name="煌星帝 艾斯特罗姆"
function cm.initial_effect(c)
--Summon Procedure
RD.AddSummonProcedure(c,aux.Stringid(m,0),cm.sumcon,cm.sumop,SUMMON_TYPE_ADVANCE)
RD.AddSummonProcedureOne(c,aux.Stringid(m,0),nil,cm.sumfilter)
--Advance Flag
RD.CreateAdvanceSummonFlag(c,20244019)
--Destroy
......@@ -18,21 +18,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e1)
end
--Summon Procedure
function cm.matfilter(c,tp)
function cm.sumfilter(c,e,tp)
return c:IsFaceup() and c:IsLevelAbove(5) and RD.IsDefense(c,1000)
end
function cm.sumcon(e,c,minc)
if c==nil then return true end
local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
return c:IsLevelAbove(7) and minc<=1 and Duel.CheckTribute(c,1,1,mg)
end
function cm.sumop(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
local sg=Duel.SelectTribute(tp,c,1,1,mg)
c:SetMaterial(sg)
Duel.Release(sg,REASON_SUMMON+REASON_MATERIAL)
end
--Destroy
function cm.filter(c)
return Duel.IsExistingMatchingCard(nil,0,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c)
......
......@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Damage Reduce
function cm.damcon(e)
......
......@@ -14,7 +14,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Special Summon Procedure
function cm.spfilter(c)
......
......@@ -11,7 +11,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c)
......
......@@ -29,7 +29,7 @@ function cm.initial_effect(c)
e3:SetValue(5)
c:RegisterEffect(e3)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2,e3,RD.EnableChangeCode(c,list[1],LOCATION_MZONE))
RD.AddContinuousEffect(c,e1,e2,e3,RD.EnableChangeCode(c,list[1],LOCATION_MZONE))
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
......@@ -27,7 +27,7 @@ function cm.initial_effect(c)
e3:SetValue(2)
c:RegisterEffect(e3)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2,e3,RD.EnableChangeCode(c,list[1],LOCATION_MZONE))
RD.AddContinuousEffect(c,e1,e2,e3,RD.EnableChangeCode(c,list[1],LOCATION_MZONE))
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_MONSTER)
\ No newline at end of file
......@@ -15,7 +15,7 @@ function cm.initial_effect(c)
e1:SetValue(300)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,RD.EnableChangeCode(c,list[1],LOCATION_MZONE))
RD.AddContinuousEffect(c,e1,RD.EnableChangeCode(c,list[1],LOCATION_MZONE))
end
--Atk Up
function cm.uptg(e,c)
......
......@@ -13,7 +13,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Atk Up
function cm.filter(c,code)
......
......@@ -25,7 +25,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.indval)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Indes
function cm.filter(c)
......
......@@ -20,7 +20,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.indval)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Atk Up
function cm.filter(c)
......
......@@ -5,7 +5,7 @@ cm.name="历战的暗黑骑士 盖亚"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Summon Procedure
RD.AddSummonProcedure(c,aux.Stringid(m,0),cm.sumcon,cm.sumop,SUMMON_TYPE_ADVANCE)
RD.AddSummonProcedureOne(c,aux.Stringid(m,0),nil,cm.sumfilter)
--Change Code
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
......@@ -17,21 +17,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e1)
end
--Summon Procedure
function cm.sumfilter(c,tp)
function cm.sumfilter(c,e,tp)
return c:IsFaceup() and c:IsLevelAbove(5)
end
function cm.sumcon(e,c,minc)
if c==nil then return true end
local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(cm.sumfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
return c:IsLevelAbove(7) and minc<=1 and Duel.CheckTribute(c,1,1,mg)
end
function cm.sumop(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(cm.sumfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
local sg=Duel.SelectTribute(tp,c,1,1,mg)
c:SetMaterial(sg)
Duel.Release(sg,REASON_SUMMON+REASON_MATERIAL)
end
--Change Code
function cm.matfilter(c)
return c:IsOnField() and c:IsAbleToDeck()
......
......@@ -9,7 +9,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.trival)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Double Tribute
cm.trival=RD.ValueDoubleTributeAttrType(ATTRIBUTE_LIGHT,TYPE_NORMAL)
\ No newline at end of file
......@@ -3,50 +3,34 @@ local cm=_G["c"..m]
cm.name="暗冥穿越侍·危机章鱼侍"
function cm.initial_effect(c)
--Summon Procedure
cm.sumproc(c,aux.Stringid(m,2),ATTRIBUTE_LIGHT)
cm.sumproc(c,aux.Stringid(m,3),ATTRIBUTE_DARK)
cm.sumproc(c,aux.Stringid(m,4),ATTRIBUTE_FIRE)
cm.sumproc(c,aux.Stringid(m,5),ATTRIBUTE_WATER)
cm.sumproc(c,aux.Stringid(m,6),ATTRIBUTE_EARTH)
cm.sumproc(c,aux.Stringid(m,7),ATTRIBUTE_WIND)
cm.sumproc(c,aux.Stringid(m,8),ATTRIBUTE_DIVINE)
local mat=RD.CreateAdvanceCount(c,3)
RD.AddSummonProcedureThree(c,aux.Stringid(m,2),nil,cm.sumfilter(ATTRIBUTE_LIGHT))
RD.AddSummonProcedureThree(c,aux.Stringid(m,3),nil,cm.sumfilter(ATTRIBUTE_DARK))
RD.AddSummonProcedureThree(c,aux.Stringid(m,4),nil,cm.sumfilter(ATTRIBUTE_FIRE))
RD.AddSummonProcedureThree(c,aux.Stringid(m,5),nil,cm.sumfilter(ATTRIBUTE_WATER))
RD.AddSummonProcedureThree(c,aux.Stringid(m,6),nil,cm.sumfilter(ATTRIBUTE_EARTH))
RD.AddSummonProcedureThree(c,aux.Stringid(m,7),nil,cm.sumfilter(ATTRIBUTE_WIND))
RD.AddSummonProcedureThree(c,aux.Stringid(m,8),nil,cm.sumfilter(ATTRIBUTE_DIVINE))
--Destroy
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetLabelObject(mat)
e1:SetCondition(cm.condition)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Summon Procedure
function cm.sumproc(c,desc,attr)
RD.AddSummonProcedure(c,desc,cm.sumcon(attr),cm.sumop(attr),SUMMON_TYPE_ADVANCE+SUMMON_VALUE_SELF)
end
function cm.sumcon(attr)
return function(e,c,minc)
if c==nil then return true end
local mg=Duel.GetTributeGroup(c):Filter(Card.IsAttribute,nil,attr)
return minc<=3 and Duel.CheckTribute(c,3,3,mg)
end
end
function cm.sumop(attr)
return function(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetTributeGroup(c):Filter(Card.IsAttribute,nil,attr)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local g=Duel.SelectTribute(tp,c,3,3,mg)
c:SetMaterial(g)
Duel.Release(g,REASON_SUMMON+REASON_MATERIAL)
function cm.sumfilter(attr)
return function(c,e,tp)
return c:IsAttribute(attr) and (c:IsFaceup() or c:IsControler(tp))
end
end
--Destroy
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return RD.IsSummonTurn(c) and e:GetLabelObject():GetLabel()==3
return RD.IsSummonTurn(c) and c:IsSummonType(SUMMON_VALUE_THREE)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,0,LOCATION_ONFIELD,1,nil) end
......
......@@ -3,16 +3,12 @@ local cm=_G["c"..m]
cm.name="电子鲨"
function cm.initial_effect(c)
--Summon Procedure
RD.AddSummonProcedure(c,aux.Stringid(m,0),cm.sumcon)
RD.AddSummonProcedureZero(c,aux.Stringid(m,0),cm.sumcon)
end
--Summon Procedure
function cm.filter(c)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_WATER)
end
function cm.sumcon(e,c,minc)
if c==nil then return true end
local tp=c:GetControler()
return minc==0 and c:IsLevelAbove(5)
and Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_MZONE,0,1,nil)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
function cm.sumcon(c,e,tp)
return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_MZONE,0,1,nil)
end
\ No newline at end of file
......@@ -12,7 +12,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP)
......
......@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(list[1])
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Fusion Code
function cm.condition(e)
......
......@@ -15,7 +15,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.battle)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Indes
function cm.indes(e,c)
......
......@@ -9,7 +9,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.trival)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Double Tribute
cm.trival=RD.ValueDoubleTributeAttrType(ATTRIBUTE_DARK,TYPE_NORMAL)
\ No newline at end of file
......@@ -24,7 +24,7 @@ function cm.initial_effect(c)
e2:SetValue(1)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Atk Up
function cm.atkfilter(c)
......
......@@ -23,7 +23,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.actlimit)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Direct Attack
function cm.dirfilter(c)
......
......@@ -21,7 +21,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.indval)
c:RegisterEffect(e2)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2)
RD.AddContinuousEffect(c,e1,e2)
end
--Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP)
......
local m=120254028
local cm=_G["c"..m]
cm.name="魔力惩戒"
cm.name="魔力报应"
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
......@@ -3,7 +3,7 @@ local cm=_G["c"..m]
cm.name="焰魔神 光魔"
function cm.initial_effect(c)
--Summon Procedure
RD.AddSummonProcedure(c,aux.Stringid(m,0),cm.sumcon,cm.sumop,SUMMON_TYPE_ADVANCE)
RD.AddSummonProcedureOne(c,aux.Stringid(m,0),nil,cm.sumfilter)
--To Hand / Special Summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1))
......@@ -16,21 +16,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e1)
end
--Summon Procedure
function cm.sumfilter(c,tp)
function cm.sumfilter(c,e,tp)
return c:IsType(TYPE_MAXIMUM)
end
function cm.sumcon(e,c,minc)
if c==nil then return true end
local tp=c:GetControler()
local mg=Duel.GetMatchingGroup(cm.sumfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
return c:IsLevelAbove(7) and minc<=1 and Duel.CheckTribute(c,1,1,mg)
end
function cm.sumop(e,tp,eg,ep,ev,re,r,rp,c)
local mg=Duel.GetMatchingGroup(cm.sumfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp)
local sg=Duel.SelectTribute(tp,c,1,1,mg)
c:SetMaterial(sg)
Duel.Release(sg,REASON_SUMMON+REASON_MATERIAL)
end
--To Hand
function cm.confilter(c)
return c:IsRace(RACE_FIEND)
......
local m=120254041
local list={120170029,120196050}
local cm=_G["c"..m]
cm.name="花牙封禁之绘都兰世"
cm.name="花牙封 绘都兰世"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Change Code
......
local m=120254072
local cm=_G["c"..m]
cm.name="花牙铠·铁线莲"
cm.name="花牙铠·小木通"
function cm.initial_effect(c)
--Indes Battle
local e1=Effect.CreateEffect(c)
......
local m=120254075
local cm=_G["c"..m]
cm.name="双冷星"
cm.name="双冷星"
function cm.initial_effect(c)
--Level Up
local e1=Effect.CreateEffect(c)
......
local m=120254084
local cm=_G["c"..m]
cm.name="魔力火风暴"
cm.name="魔力火风暴"
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
local m=120255003
local cm=_G["c"..m]
cm.name="程序联盟 万神格"
cm.name="程序武士·二十五"
function cm.initial_effect(c)
--Special Summon Procedure
RD.AddHandSpecialSummonProcedure(c,aux.Stringid(m,0),cm.spcon)
......@@ -12,7 +12,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indes)
c:RegisterEffect(e1)
--Continuous Effect
RushDuel.AddContinuousEffect(c,e1)
RD.AddContinuousEffect(c,e1)
end
--Special Summon Procedure
function cm.spfilter(c)
......
local m=120255004
local cm=_G["c"..m]
cm.name="冥迹之钧蒂"
cm.name="冥迹之军迪"
function cm.initial_effect(c)
--Discard Deck
local e1=Effect.CreateEffect(c)
......
local m=120256003
local cm=_G["c"..m]
cm.name="和平龙"
function cm.initial_effect(c)
--Recover
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_RECOVER)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.condition)
e1:SetCost(cm.cost)
e1:SetTarget(cm.target)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Recover
function cm.confilter(c)
return c:IsType(TYPE_SPELL)
end
function cm.costfilter(c)
return c:IsType(TYPE_SPELL) and c:IsAbleToDeckOrExtraAsCost()
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>9
and Duel.GetMatchingGroupCount(cm.confilter,tp,LOCATION_GRAVE,0,nil)==3
end
cm.cost=RD.CostSendGraveToDeckBottom(cm.costfilter,3,3)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_RECOVER,nil,0,PLAYER_ALL,1000)
end
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Recover(tp,1000,REASON_EFFECT,true)
Duel.Recover(1-tp,1000,REASON_EFFECT,true)
Duel.RDComplete()
end
\ No newline at end of file
local m=120256005
local cm=_G["c"..m]
cm.name="陷阱拆除"
function cm.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(cm.target)
e1:SetOperation(cm.activate)
c:RegisterEffect(e1)
end
--Activate
function cm.filter(c)
return c:IsFacedown() and c:GetSequence()<5
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(cm.filter,tp,0,LOCATION_SZONE,1,nil) end
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
RD.SelectAndDoAction(HINTMSG_FACEDOWN,cm.filter,tp,0,LOCATION_SZONE,1,1,nil,function(g)
Duel.ConfirmCards(tp,g)
if g:GetFirst():IsType(TYPE_TRAP) then
Duel.Destroy(g,REASON_EFFECT)
end
end)
end
\ No newline at end of file
local m=120257008
local cm=_G["c"..m]
cm.name="穿越侍·主位装甲新星"
function cm.initial_effect(c)
--Summon Procedure
RD.AddSummonProcedureOne(c,aux.Stringid(m,0),nil,nil,cm.sumop1)
RD.AddSummonProcedureThree(c,aux.Stringid(m,1))
RD.CreateAdvanceSummonFlag(c,20257008)
--Atk Up
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(cm.atkval)
c:RegisterEffect(e1)
--Material Check
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_MATERIAL_CHECK)
e2:SetLabelObject(e1)
e2:SetValue(cm.check)
c:RegisterEffect(e2)
--Continuous Effect
RD.AddContinuousEffect(c,e1)
end
--Summon Procedure
function cm.sumop1(e,tp,eg,ep,ev,re,r,rp,c,mg)
--Change Base Attack
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_BASE_ATTACK)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetValue(1800)
e1:SetReset(RESET_EVENT+0xff0000)
c:RegisterEffect(e1)
end
--Material Check
function cm.check(e,c)
if not c:IsSummonType(SUMMON_VALUE_THREE) then return end
local mg=c:GetMaterial()
if mg:GetCount()==3 then
lv=mg:GetSum(Card.GetOriginalLevel)
elseif mg:GetCount()==2 then
local ng,dg=RD.SplitTribute(c)
if dg:GetCount()==1 then
lv=ng:GetFirst():GetOriginalLevel()+dg:GetFirst():GetOriginalLevel()*2
else
local _,max=dg:GetMaxGroup(Card.GetOriginalLevel)
lv=dg:GetSum(Card.GetOriginalLevel)+max
end
elseif mg:GetCount()==1 then
lv=mg:GetFirst():GetOriginalLevel()*3
end
if lv>0 then
e:GetLabelObject():SetLabel(lv*100)
else
e:GetLabelObject():SetLabel(0)
end
end
--Atk Up
function cm.atkval(e,c)
if c:GetFlagEffect(20257008)~=0 and c:IsSummonType(SUMMON_VALUE_THREE) then return e:GetLabel() else return 0 end
end
\ No newline at end of file
......@@ -12,6 +12,7 @@ Duel.LoadScript("RDAttach.lua")
Duel.LoadScript("RDAction.lua")
Duel.LoadScript("RDFusion.lua")
Duel.LoadScript("RDEquip.lua")
Duel.LoadScript("RDSummon.lua")
RD = RushDuel
function Auxiliary.PreloadUds()
......
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