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, ...@@ -309,160 +309,6 @@ function RushDuel.CreateMultiChooseEffect(card, condition, cost, hint1, target1,
return e1, e2 return e1, e2
end 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, ...) function RushDuel.AddCodeList(card, ...)
for _, list in ipairs {...} do for _, list in ipairs {...} do
......
...@@ -169,6 +169,20 @@ function RushDuel.IsCanAttachDisableContinuous(card) ...@@ -169,6 +169,20 @@ function RushDuel.IsCanAttachDisableContinuous(card)
return has_effect and not card:IsHasEffect(EFFECT_DISABLE) return has_effect and not card:IsHasEffect(EFFECT_DISABLE)
end 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) function RushDuel.IsPlayerCanUseRaceAttack(player, race)
if Duel.IsPlayerAffectedByEffect(player, EFFECT_PLAYER_CANNOT_ATTACK) then if Duel.IsPlayerAffectedByEffect(player, EFFECT_PLAYER_CANNOT_ATTACK) then
......
...@@ -9,12 +9,12 @@ function RushDuel.Init() ...@@ -9,12 +9,12 @@ function RushDuel.Init()
end end
-- 决斗开始 -- 决斗开始
RushDuel.CreateFieldGlobalEffect(true, EVENT_PHASE_START + PHASE_DRAW, function(e) RushDuel.CreateFieldGlobalEffect(true, EVENT_PHASE_START + PHASE_DRAW, function(e)
-- 传说卡
RushDuel.InitLegend()
-- 先攻抽卡 -- 先攻抽卡
if not Auxiliary.Load2PickRule then if not Auxiliary.Load2PickRule then
Duel.Draw(0, 1, REASON_RULE) Duel.Draw(0, 1, REASON_RULE)
end end
-- 传说卡
RushDuel.InitLegend()
e:Reset() e:Reset()
end) end)
end end
...@@ -67,14 +67,4 @@ function RushDuel.InitRule() ...@@ -67,14 +67,4 @@ function RushDuel.InitRule()
RushDuel.CreatePlayerTargetGlobalEffect(EFFECT_HAND_LIMIT, 100) RushDuel.CreatePlayerTargetGlobalEffect(EFFECT_HAND_LIMIT, 100)
-- 极大怪兽 -- 极大怪兽
RushDuel.InitMaximum() 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 end
This diff is collapsed.
...@@ -3,13 +3,9 @@ local cm=_G["c"..m] ...@@ -3,13 +3,9 @@ local cm=_G["c"..m]
cm.name="疾风之暗黑骑士 盖亚" cm.name="疾风之暗黑骑士 盖亚"
function cm.initial_effect(c) function cm.initial_effect(c)
--Summon Procedure --Summon Procedure
RD.AddSummonProcedure(c,aux.Stringid(m,0),cm.sumcon) RD.AddSummonProcedureZero(c,aux.Stringid(m,0),cm.sumcon)
end end
--Summon Procedure --Summon Procedure
function cm.sumcon(e,c,minc) function cm.sumcon(c,e,tp)
if c==nil then return true end return Duel.GetFieldGroupCount(tp,LOCATION_HAND,0)==1
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
end end
\ No newline at end of file
...@@ -5,7 +5,7 @@ cm.name="电子搜索龙" ...@@ -5,7 +5,7 @@ cm.name="电子搜索龙"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Summon Procedure --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 --Special Summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1)) e1:SetDescription(aux.Stringid(m,1))
...@@ -19,21 +19,9 @@ function cm.initial_effect(c) ...@@ -19,21 +19,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
--Summon Procedure --Summon Procedure
function cm.matfilter(c,tp) function cm.sumfilter(c,e,tp)
return c:IsFaceup() and c:IsCode(list[1]) return c:IsFaceup() and c:IsCode(list[1])
end 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 --Special Summon
function cm.spfilter(c,e,tp) function cm.spfilter(c,e,tp)
return c:IsCode(list[1]) and RD.IsCanBeSpecialSummoned(c,e,tp,POS_FACEUP) return c:IsCode(list[1]) and RD.IsCanBeSpecialSummoned(c,e,tp,POS_FACEUP)
......
...@@ -14,7 +14,7 @@ function cm.initial_effect(c) ...@@ -14,7 +14,7 @@ function cm.initial_effect(c)
e1:SetValue(300) e1:SetValue(300)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Special Summon Procedure --Special Summon Procedure
function cm.spconfilter(c) function cm.spconfilter(c)
......
...@@ -16,7 +16,7 @@ function cm.initial_effect(c) ...@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval) e1:SetValue(cm.indval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP) cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
...@@ -16,7 +16,7 @@ function cm.initial_effect(c) ...@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval) e1:SetValue(cm.indval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP) cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
...@@ -10,7 +10,7 @@ function cm.initial_effect(c) ...@@ -10,7 +10,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indes) e1:SetValue(cm.indes)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Indes --Indes
function cm.indes(e,c) function cm.indes(e,c)
......
...@@ -12,7 +12,7 @@ function cm.initial_effect(c) ...@@ -12,7 +12,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval) e1:SetValue(cm.indval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP) cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
...@@ -17,7 +17,7 @@ function cm.initial_effect(c) ...@@ -17,7 +17,7 @@ function cm.initial_effect(c)
e2:SetCondition(cm.tricon) e2:SetCondition(cm.tricon)
e2:SetTarget(cm.eftg) e2:SetTarget(cm.eftg)
e2:SetOperation(cm.triop) e2:SetOperation(cm.triop)
e2:SetValue(SUMMON_TYPE_ADVANCE) e2:SetValue(SUMMON_TYPE_ADVANCE+SUMMON_VALUE_ONE)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
--Activate --Activate
......
...@@ -35,7 +35,7 @@ function cm.initial_effect(c) ...@@ -35,7 +35,7 @@ function cm.initial_effect(c)
e4:SetTarget(cm.distg) e4:SetTarget(cm.distg)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2,e3,e4) RD.AddContinuousEffect(c,e1,e2,e3,e4)
end end
--Disable --Disable
function cm.distg(e,c) function cm.distg(e,c)
......
...@@ -10,7 +10,7 @@ function cm.initial_effect(c) ...@@ -10,7 +10,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval) e1:SetValue(cm.atkval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Atk Up --Atk Up
function cm.atkval(e,c) function cm.atkval(e,c)
......
...@@ -16,7 +16,7 @@ function cm.initial_effect(c) ...@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval) e1:SetValue(cm.indval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP) cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
...@@ -11,7 +11,7 @@ function cm.initial_effect(c) ...@@ -11,7 +11,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval) e1:SetValue(cm.atkval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Atk Up --Atk Up
function cm.filter(c) function cm.filter(c)
......
...@@ -16,7 +16,7 @@ function cm.initial_effect(c) ...@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval) e1:SetValue(cm.indval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP) cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
...@@ -13,7 +13,7 @@ function cm.initial_effect(c) ...@@ -13,7 +13,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval) e1:SetValue(cm.atkval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Atk Up --Atk Up
function cm.filter(c) function cm.filter(c)
......
...@@ -19,7 +19,7 @@ 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() return c:IsFaceup() and not c:IsLevel(3) and c:IsRace(RACE_SPELLCASTER) and c:IsAbleToHand()
end end
function cm.exfilter(c) 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 end
cm.cost=RD.CostSendDeckTopToGrave(1) cm.cost=RD.CostSendDeckTopToGrave(1)
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
......
...@@ -11,7 +11,7 @@ function cm.initial_effect(c) ...@@ -11,7 +11,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval) e1:SetValue(cm.atkval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Atk Up --Atk Up
function cm.atkval(e,c) function cm.atkval(e,c)
......
...@@ -23,7 +23,7 @@ function cm.initial_effect(c) ...@@ -23,7 +23,7 @@ function cm.initial_effect(c)
e2:SetCondition(cm.prccon) e2:SetCondition(cm.prccon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Atk Up --Atk Up
function cm.filter(c) function cm.filter(c)
......
...@@ -16,7 +16,7 @@ function cm.initial_effect(c) ...@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval) e1:SetValue(cm.indval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP) cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
...@@ -13,7 +13,7 @@ function cm.initial_effect(c) ...@@ -13,7 +13,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.aclimit) e1:SetValue(cm.aclimit)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
function cm.condition(e) function cm.condition(e)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
......
...@@ -18,7 +18,7 @@ function cm.initial_effect(c) ...@@ -18,7 +18,7 @@ function cm.initial_effect(c)
e2:SetCondition(cm.prccon) e2:SetCondition(cm.prccon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Atk Up --Atk Up
function cm.atkval(e,c) function cm.atkval(e,c)
......
...@@ -16,7 +16,7 @@ function cm.initial_effect(c) ...@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval) e1:SetValue(cm.indval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP) cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
...@@ -14,7 +14,7 @@ function cm.initial_effect(c) ...@@ -14,7 +14,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.actlimit) e1:SetValue(cm.actlimit)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
--Special Summon Check --Special Summon Check
if not cm.global_check then if not cm.global_check then
cm.global_check=true cm.global_check=true
......
...@@ -24,7 +24,7 @@ function cm.initial_effect(c) ...@@ -24,7 +24,7 @@ function cm.initial_effect(c)
e2:SetValue(1) e2:SetValue(1)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Atk Up --Atk Up
function cm.filter(c) function cm.filter(c)
......
...@@ -11,7 +11,7 @@ function cm.initial_effect(c) ...@@ -11,7 +11,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval) e1:SetValue(cm.atkval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Atk Up --Atk Up
function cm.filter(c) function cm.filter(c)
......
...@@ -11,7 +11,7 @@ function cm.initial_effect(c) ...@@ -11,7 +11,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval) e1:SetValue(cm.atkval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Atk Up --Atk Up
function cm.filter(c) function cm.filter(c)
......
...@@ -12,7 +12,7 @@ function cm.initial_effect(c) ...@@ -12,7 +12,7 @@ function cm.initial_effect(c)
e1:SetTarget(cm.sumlimit) e1:SetTarget(cm.sumlimit)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Cannot Special Summon --Cannot Special Summon
function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp,se) function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp,se)
......
...@@ -13,7 +13,7 @@ function cm.initial_effect(c) ...@@ -13,7 +13,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.aclimit) e1:SetValue(cm.aclimit)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
function cm.condition(e) function cm.condition(e)
local ph=Duel.GetCurrentPhase() local ph=Duel.GetCurrentPhase()
......
...@@ -9,7 +9,7 @@ function cm.initial_effect(c) ...@@ -9,7 +9,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.trival) e1:SetValue(cm.trival)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Double Tribute --Double Tribute
cm.trival=RD.ValueDoubleTributeAttrRace(ATTRIBUTE_FIRE,nil) cm.trival=RD.ValueDoubleTributeAttrRace(ATTRIBUTE_FIRE,nil)
\ No newline at end of file
...@@ -12,7 +12,7 @@ function cm.initial_effect(c) ...@@ -12,7 +12,7 @@ function cm.initial_effect(c)
e1:SetTarget(cm.sumlimit) e1:SetTarget(cm.sumlimit)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Cannot Special Summon --Cannot Special Summon
function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp) function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp)
......
...@@ -3,7 +3,7 @@ local cm=_G["c"..m] ...@@ -3,7 +3,7 @@ local cm=_G["c"..m]
cm.name="堕天使 杰拉特" cm.name="堕天使 杰拉特"
function cm.initial_effect(c) function cm.initial_effect(c)
--Summon Procedure --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 --Destroy
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1)) e1:SetDescription(aux.Stringid(m,1))
...@@ -16,22 +16,12 @@ function cm.initial_effect(c) ...@@ -16,22 +16,12 @@ function cm.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
--Summon Procedure --Summon Procedure
function cm.matfilter(c,tp) function cm.sumcon(c,e,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()
local g=Duel.GetMatchingGroup(Card.IsAttribute,tp,LOCATION_GRAVE,0,nil,ATTRIBUTE_DARK) local g=Duel.GetMatchingGroup(Card.IsAttribute,tp,LOCATION_GRAVE,0,nil,ATTRIBUTE_DARK)
if g:GetClassCount(Card.GetLinkCode)<4 then return false end return g:GetClassCount(Card.GetLinkCode)>3
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 end
function cm.sumop(e,tp,eg,ep,ev,re,r,rp,c) function cm.sumfilter(c,e,tp)
local mg=Duel.GetMatchingGroup(cm.matfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tp) return c:IsAttribute(ATTRIBUTE_DARK) and (c:IsFaceup() or c:IsControler(tp))
local sg=Duel.SelectTribute(tp,c,1,1,mg)
c:SetMaterial(sg)
Duel.Release(sg,REASON_SUMMON+REASON_MATERIAL)
end end
--Destroy --Destroy
function cm.costfilter(c) function cm.costfilter(c)
......
...@@ -12,7 +12,7 @@ function cm.initial_effect(c) ...@@ -12,7 +12,7 @@ function cm.initial_effect(c)
e1:SetValue(700) e1:SetValue(700)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Atk Up --Atk Up
function cm.filter(c) function cm.filter(c)
......
...@@ -21,7 +21,7 @@ function cm.initial_effect(c) ...@@ -21,7 +21,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.indval) e2:SetValue(cm.indval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Indes --Indes
function cm.filter(c) function cm.filter(c)
......
...@@ -11,7 +11,7 @@ function cm.initial_effect(c) ...@@ -11,7 +11,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.target) e1:SetValue(cm.target)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Cannot Be Battle Target --Cannot Be Battle Target
function cm.target(e,c) function cm.target(e,c)
......
...@@ -16,7 +16,7 @@ function cm.initial_effect(c) ...@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval) e1:SetValue(cm.indval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP) cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
...@@ -17,7 +17,7 @@ function cm.initial_effect(c) ...@@ -17,7 +17,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.indval2) e2:SetValue(cm.indval2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Indes --Indes
cm.indval1=RD.ValueEffectIndesType(0,TYPE_TRAP) cm.indval1=RD.ValueEffectIndesType(0,TYPE_TRAP)
......
...@@ -26,7 +26,7 @@ function cm.initial_effect(c) ...@@ -26,7 +26,7 @@ function cm.initial_effect(c)
e3:SetTarget(cm.setlimit) e3:SetTarget(cm.setlimit)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2,e3) RD.AddContinuousEffect(c,e1,e2,e3)
end end
--Cannot Special Summon --Cannot Special Summon
function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp) function cm.sumlimit(e,c,sump,sumtype,sumpos,targetp)
......
...@@ -10,7 +10,7 @@ function cm.initial_effect(c) ...@@ -10,7 +10,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indes) e1:SetValue(cm.indes)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Indes --Indes
function cm.indes(e,c) function cm.indes(e,c)
......
...@@ -25,7 +25,7 @@ function cm.initial_effect(c) ...@@ -25,7 +25,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.indval) e2:SetValue(cm.indval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP) cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
...@@ -12,5 +12,5 @@ function cm.initial_effect(c) ...@@ -12,5 +12,5 @@ function cm.initial_effect(c)
e1:SetCode(EFFECT_PIERCE) e1:SetCode(EFFECT_PIERCE)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
\ No newline at end of file
...@@ -13,5 +13,5 @@ function cm.initial_effect(c) ...@@ -13,5 +13,5 @@ function cm.initial_effect(c)
e1:SetValue(1) e1:SetValue(1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
\ No newline at end of file
...@@ -5,7 +5,7 @@ cm.name="电子强袭龙" ...@@ -5,7 +5,7 @@ cm.name="电子强袭龙"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Summon Procedure --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 --Destroy
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1)) e1:SetDescription(aux.Stringid(m,1))
...@@ -18,21 +18,9 @@ function cm.initial_effect(c) ...@@ -18,21 +18,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
--Summon Procedure --Summon Procedure
function cm.matfilter(c,tp) function cm.sumfilter(c,e,tp)
return c:IsFaceup() and c:IsCode(list[1]) return c:IsFaceup() and c:IsCode(list[1])
end 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 --Destroy
function cm.costfilter(c) function cm.costfilter(c)
return c:IsCode(list[1]) and c:IsAbleToDeckOrExtraAsCost() return c:IsCode(list[1]) and c:IsAbleToDeckOrExtraAsCost()
......
...@@ -5,7 +5,7 @@ cm.name="电子隐形龙" ...@@ -5,7 +5,7 @@ cm.name="电子隐形龙"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Summon Procedure --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 --Def Up
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -25,24 +25,12 @@ function cm.initial_effect(c) ...@@ -25,24 +25,12 @@ function cm.initial_effect(c)
e2:SetValue(cm.indval) e2:SetValue(cm.indval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Summon Procedure --Summon Procedure
function cm.matfilter(c,tp) function cm.sumfilter(c,e,tp)
return c:IsFaceup() and c:IsCode(list[1]) return c:IsFaceup() and c:IsCode(list[1])
end 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 --Def Up
function cm.confilter(c) function cm.confilter(c)
return c:IsCode(list[1]) return c:IsCode(list[1])
......
...@@ -4,5 +4,5 @@ local cm=_G["c"..m] ...@@ -4,5 +4,5 @@ local cm=_G["c"..m]
cm.name="原始电子龙" cm.name="原始电子龙"
function cm.initial_effect(c) function cm.initial_effect(c)
--Change Code --Change Code
RushDuel.AddContinuousEffect(c,RD.EnableChangeCode(c,list[1])) RD.AddContinuousEffect(c,RD.EnableChangeCode(c,list[1]))
end end
...@@ -17,7 +17,7 @@ function cm.initial_effect(c) ...@@ -17,7 +17,7 @@ function cm.initial_effect(c)
e2:SetCode(EFFECT_UPDATE_DEFENSE) e2:SetCode(EFFECT_UPDATE_DEFENSE)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Special Summon Procedure --Special Summon Procedure
function cm.spconfilter(c) function cm.spconfilter(c)
......
...@@ -13,7 +13,7 @@ function cm.initial_effect(c) ...@@ -13,7 +13,7 @@ function cm.initial_effect(c)
e1:SetTarget(cm.target) e1:SetTarget(cm.target)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Special Summon Procedure --Special Summon Procedure
function cm.spconfilter(c) function cm.spconfilter(c)
......
...@@ -12,7 +12,7 @@ function cm.initial_effect(c) ...@@ -12,7 +12,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.drawval) e1:SetValue(cm.drawval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Draw Count --Draw Count
function cm.drawval(e) function cm.drawval(e)
......
...@@ -12,7 +12,7 @@ function cm.initial_effect(c) ...@@ -12,7 +12,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval) e1:SetValue(cm.indval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP) cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
......
...@@ -9,7 +9,7 @@ function cm.initial_effect(c) ...@@ -9,7 +9,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indes) e1:SetValue(cm.indes)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Indes --Indes
function cm.indes(e,c) function cm.indes(e,c)
......
...@@ -13,7 +13,7 @@ function cm.initial_effect(c) ...@@ -13,7 +13,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval) e1:SetValue(cm.atkval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Atk Up --Atk Up
function cm.filter(c) function cm.filter(c)
......
...@@ -3,35 +3,22 @@ local cm=_G["c"..m] ...@@ -3,35 +3,22 @@ local cm=_G["c"..m]
cm.name="闪电之战士 吉尔福德" cm.name="闪电之战士 吉尔福德"
function cm.initial_effect(c) function cm.initial_effect(c)
--Summon Procedure --Summon Procedure
RD.AddSummonProcedure(c,aux.Stringid(m,0),cm.sumcon,cm.sumop,SUMMON_TYPE_ADVANCE+SUMMON_VALUE_SELF) RD.AddSummonProcedureThree(c,aux.Stringid(m,0))
local mat=RD.CreateAdvanceCount(c,3)
--Destroy --Destroy
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1)) e1:SetDescription(aux.Stringid(m,1))
e1:SetCategory(CATEGORY_DESTROY) e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetLabelObject(mat)
e1:SetCondition(cm.condition) e1:SetCondition(cm.condition)
e1:SetTarget(cm.target) e1:SetTarget(cm.target)
e1:SetOperation(cm.operation) e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end 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 --Destroy
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return RD.IsSummonTurn(c) and e:GetLabelObject():GetLabel()==3 return RD.IsSummonTurn(c) and c:IsSummonType(SUMMON_VALUE_THREE)
end end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) 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 if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,0,LOCATION_MZONE,1,nil) end
......
...@@ -11,7 +11,7 @@ function cm.initial_effect(c) ...@@ -11,7 +11,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval) e1:SetValue(cm.atkval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Atk Up --Atk Up
function cm.filter(c) function cm.filter(c)
......
...@@ -16,7 +16,7 @@ function cm.initial_effect(c) ...@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.limit) e1:SetValue(cm.limit)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Cannot Activate --Cannot Activate
function cm.limit(e,re,tp) function cm.limit(e,re,tp)
......
...@@ -16,7 +16,7 @@ function cm.initial_effect(c) ...@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval) e1:SetValue(cm.indval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP) cm.indval=RD.ValueEffectIndesType(0,TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP)
......
...@@ -18,7 +18,7 @@ function cm.initial_effect(c) ...@@ -18,7 +18,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indes) e1:SetValue(cm.indes)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Fusion Material --Fusion Material
cm.unspecified_funsion=true cm.unspecified_funsion=true
......
...@@ -3,29 +3,20 @@ local cm=_G["c"..m] ...@@ -3,29 +3,20 @@ local cm=_G["c"..m]
cm.name="百兽王 贝希摩斯" cm.name="百兽王 贝希摩斯"
function cm.initial_effect(c) function cm.initial_effect(c)
--Summon Procedure --Summon Procedure
RD.AddSummonProcedure(c,aux.Stringid(m,0),cm.sumcon,cm.sumop,SUMMON_TYPE_ADVANCE+SUMMON_VALUE_SELF) RD.AddSummonProcedureOne(c,aux.Stringid(m,0),nil,nil,cm.sumop)
local mat=RD.CreateAdvanceCount(c,1)
--To Hand --To Hand
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1)) e1:SetDescription(aux.Stringid(m,1))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_GRAVE_ACTION) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_GRAVE_ACTION)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetLabelObject(mat)
e1:SetCondition(cm.condition) e1:SetCondition(cm.condition)
e1:SetTarget(cm.target) e1:SetTarget(cm.target)
e1:SetOperation(cm.operation) e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
--Summon Procedure --Summon Procedure
function cm.sumcon(e,c,minc) function cm.sumop(e,tp,eg,ep,ev,re,r,rp,c,mg)
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)
--Change Base Attack --Change Base Attack
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -44,7 +35,7 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp) ...@@ -44,7 +35,7 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return RD.IsSummonTurn(e:GetHandler()) return RD.IsSummonTurn(e:GetHandler())
end end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) 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 if chk==0 then return ct>0 and Duel.IsExistingMatchingCard(cm.thfilter,tp,LOCATION_GRAVE,0,ct,nil) end
e:SetLabel(ct) e:SetLabel(ct)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE)
......
...@@ -2,7 +2,7 @@ local m=120238004 ...@@ -2,7 +2,7 @@ local m=120238004
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="合成魔兽 加泽特" cm.name="合成魔兽 加泽特"
function cm.initial_effect(c) function cm.initial_effect(c)
RushDuel.CreateAdvanceSummonFlag(c,20238004) RD.CreateAdvanceSummonFlag(c,20238004)
--Atk Up --Atk Up
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -19,7 +19,7 @@ function cm.initial_effect(c) ...@@ -19,7 +19,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.check) e2:SetValue(cm.check)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Material Check --Material Check
function cm.check(e,c) function cm.check(e,c)
......
...@@ -19,7 +19,7 @@ function cm.initial_effect(c) ...@@ -19,7 +19,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.atkval) e2:SetValue(cm.atkval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Atk Up --Atk Up
function cm.filter(c) function cm.filter(c)
......
...@@ -17,5 +17,5 @@ function cm.initial_effect(c) ...@@ -17,5 +17,5 @@ function cm.initial_effect(c)
e1:SetTargetRange(1,1) e1:SetTargetRange(1,1)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
\ No newline at end of file
...@@ -2,7 +2,7 @@ local m=120238019 ...@@ -2,7 +2,7 @@ local m=120238019
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="伟大魔兽 加泽特" cm.name="伟大魔兽 加泽特"
function cm.initial_effect(c) function cm.initial_effect(c)
RushDuel.CreateAdvanceSummonFlag(c,20238019) RD.CreateAdvanceSummonFlag(c,20238019)
--Atk Up --Atk Up
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
...@@ -19,7 +19,7 @@ function cm.initial_effect(c) ...@@ -19,7 +19,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.check) e2:SetValue(cm.check)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Material Check --Material Check
function cm.check(e,c) function cm.check(e,c)
......
...@@ -17,7 +17,7 @@ function cm.initial_effect(c) ...@@ -17,7 +17,7 @@ function cm.initial_effect(c)
e2:SetCondition(cm.prccon) e2:SetCondition(cm.prccon)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Atk Up --Atk Up
function cm.atkval(e,c) function cm.atkval(e,c)
......
...@@ -16,7 +16,7 @@ function cm.initial_effect(c) ...@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval) e1:SetValue(cm.indval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP) cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
...@@ -14,7 +14,7 @@ function cm.initial_effect(c) ...@@ -14,7 +14,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.actlimit) e1:SetValue(cm.actlimit)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
--Special Summon Check --Special Summon Check
if not cm.global_check then if not cm.global_check then
cm.global_check=true cm.global_check=true
......
...@@ -23,7 +23,7 @@ function cm.initial_effect(c) ...@@ -23,7 +23,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.indval) e2:SetValue(cm.indval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Cannot Activate --Cannot Activate
function cm.confilter(c) function cm.confilter(c)
......
...@@ -26,7 +26,7 @@ function cm.initial_effect(c) ...@@ -26,7 +26,7 @@ function cm.initial_effect(c)
e3:SetTarget(cm.setlimit) e3:SetTarget(cm.setlimit)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2,e3) RD.AddContinuousEffect(c,e1,e2,e3)
end end
--Cannot Set Monster --Cannot Set Monster
function cm.confilter1(c) function cm.confilter1(c)
......
...@@ -23,7 +23,7 @@ function cm.initial_effect(c) ...@@ -23,7 +23,7 @@ function cm.initial_effect(c)
e2:SetOperation(cm.actlimit) e2:SetOperation(cm.actlimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_SPELL+TYPE_TRAP+TYPE_MONSTER) cm.indval=RD.ValueEffectIndesType(0,TYPE_SPELL+TYPE_TRAP+TYPE_MONSTER)
......
...@@ -21,7 +21,7 @@ function cm.initial_effect(c) ...@@ -21,7 +21,7 @@ function cm.initial_effect(c)
e2:SetValue(1) e2:SetValue(1)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Atk Up --Atk Up
function cm.filter(c) function cm.filter(c)
......
...@@ -3,7 +3,7 @@ local cm=_G["c"..m] ...@@ -3,7 +3,7 @@ local cm=_G["c"..m]
cm.name="才贤帝 威廉" cm.name="才贤帝 威廉"
function cm.initial_effect(c) function cm.initial_effect(c)
--Summon Procedure --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 --Advance Flag
RD.CreateAdvanceSummonFlag(c,20244018) RD.CreateAdvanceSummonFlag(c,20244018)
--Destroy --Destroy
...@@ -18,21 +18,9 @@ function cm.initial_effect(c) ...@@ -18,21 +18,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
--Summon Procedure --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) return c:IsFaceup() and c:IsLevelAbove(5) and RD.IsDefense(c,1000)
end 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 --Destroy
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
......
...@@ -3,7 +3,7 @@ local cm=_G["c"..m] ...@@ -3,7 +3,7 @@ local cm=_G["c"..m]
cm.name="煌星帝 艾斯特罗姆" cm.name="煌星帝 艾斯特罗姆"
function cm.initial_effect(c) function cm.initial_effect(c)
--Summon Procedure --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 --Advance Flag
RD.CreateAdvanceSummonFlag(c,20244019) RD.CreateAdvanceSummonFlag(c,20244019)
--Destroy --Destroy
...@@ -18,21 +18,9 @@ function cm.initial_effect(c) ...@@ -18,21 +18,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
--Summon Procedure --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) return c:IsFaceup() and c:IsLevelAbove(5) and RD.IsDefense(c,1000)
end 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 --Destroy
function cm.filter(c) function cm.filter(c)
return Duel.IsExistingMatchingCard(nil,0,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c) return Duel.IsExistingMatchingCard(nil,0,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c)
......
...@@ -16,7 +16,7 @@ function cm.initial_effect(c) ...@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e2:SetCode(EFFECT_NO_EFFECT_DAMAGE) e2:SetCode(EFFECT_NO_EFFECT_DAMAGE)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Damage Reduce --Damage Reduce
function cm.damcon(e) function cm.damcon(e)
......
...@@ -14,7 +14,7 @@ function cm.initial_effect(c) ...@@ -14,7 +14,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval) e1:SetValue(cm.indval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Special Summon Procedure --Special Summon Procedure
function cm.spfilter(c) function cm.spfilter(c)
......
...@@ -11,7 +11,7 @@ function cm.initial_effect(c) ...@@ -11,7 +11,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval) e1:SetValue(cm.atkval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Atk Up --Atk Up
function cm.filter(c) function cm.filter(c)
......
...@@ -29,7 +29,7 @@ function cm.initial_effect(c) ...@@ -29,7 +29,7 @@ function cm.initial_effect(c)
e3:SetValue(5) e3:SetValue(5)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--Continuous Effect --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 end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP) cm.indval=RD.ValueEffectIndesType(0,TYPE_TRAP)
\ No newline at end of file
...@@ -27,7 +27,7 @@ function cm.initial_effect(c) ...@@ -27,7 +27,7 @@ function cm.initial_effect(c)
e3:SetValue(2) e3:SetValue(2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--Continuous Effect --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 end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_MONSTER) cm.indval=RD.ValueEffectIndesType(0,TYPE_MONSTER)
\ No newline at end of file
...@@ -15,7 +15,7 @@ function cm.initial_effect(c) ...@@ -15,7 +15,7 @@ function cm.initial_effect(c)
e1:SetValue(300) e1:SetValue(300)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --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 end
--Atk Up --Atk Up
function cm.uptg(e,c) function cm.uptg(e,c)
......
...@@ -13,7 +13,7 @@ function cm.initial_effect(c) ...@@ -13,7 +13,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.atkval) e1:SetValue(cm.atkval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Atk Up --Atk Up
function cm.filter(c,code) function cm.filter(c,code)
......
...@@ -25,7 +25,7 @@ function cm.initial_effect(c) ...@@ -25,7 +25,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.indval) e2:SetValue(cm.indval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Indes --Indes
function cm.filter(c) function cm.filter(c)
......
...@@ -20,7 +20,7 @@ function cm.initial_effect(c) ...@@ -20,7 +20,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.indval) e2:SetValue(cm.indval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Atk Up --Atk Up
function cm.filter(c) function cm.filter(c)
......
...@@ -5,7 +5,7 @@ cm.name="历战的暗黑骑士 盖亚" ...@@ -5,7 +5,7 @@ cm.name="历战的暗黑骑士 盖亚"
function cm.initial_effect(c) function cm.initial_effect(c)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Summon Procedure --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 --Change Code
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1)) e1:SetDescription(aux.Stringid(m,1))
...@@ -17,21 +17,9 @@ function cm.initial_effect(c) ...@@ -17,21 +17,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
--Summon Procedure --Summon Procedure
function cm.sumfilter(c,tp) function cm.sumfilter(c,e,tp)
return c:IsFaceup() and c:IsLevelAbove(5) return c:IsFaceup() and c:IsLevelAbove(5)
end 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 --Change Code
function cm.matfilter(c) function cm.matfilter(c)
return c:IsOnField() and c:IsAbleToDeck() return c:IsOnField() and c:IsAbleToDeck()
......
...@@ -9,7 +9,7 @@ function cm.initial_effect(c) ...@@ -9,7 +9,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.trival) e1:SetValue(cm.trival)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Double Tribute --Double Tribute
cm.trival=RD.ValueDoubleTributeAttrType(ATTRIBUTE_LIGHT,TYPE_NORMAL) cm.trival=RD.ValueDoubleTributeAttrType(ATTRIBUTE_LIGHT,TYPE_NORMAL)
\ No newline at end of file
...@@ -3,50 +3,34 @@ local cm=_G["c"..m] ...@@ -3,50 +3,34 @@ local cm=_G["c"..m]
cm.name="暗冥穿越侍·危机章鱼侍" cm.name="暗冥穿越侍·危机章鱼侍"
function cm.initial_effect(c) function cm.initial_effect(c)
--Summon Procedure --Summon Procedure
cm.sumproc(c,aux.Stringid(m,2),ATTRIBUTE_LIGHT) RD.AddSummonProcedureThree(c,aux.Stringid(m,2),nil,cm.sumfilter(ATTRIBUTE_LIGHT))
cm.sumproc(c,aux.Stringid(m,3),ATTRIBUTE_DARK) RD.AddSummonProcedureThree(c,aux.Stringid(m,3),nil,cm.sumfilter(ATTRIBUTE_DARK))
cm.sumproc(c,aux.Stringid(m,4),ATTRIBUTE_FIRE) RD.AddSummonProcedureThree(c,aux.Stringid(m,4),nil,cm.sumfilter(ATTRIBUTE_FIRE))
cm.sumproc(c,aux.Stringid(m,5),ATTRIBUTE_WATER) RD.AddSummonProcedureThree(c,aux.Stringid(m,5),nil,cm.sumfilter(ATTRIBUTE_WATER))
cm.sumproc(c,aux.Stringid(m,6),ATTRIBUTE_EARTH) RD.AddSummonProcedureThree(c,aux.Stringid(m,6),nil,cm.sumfilter(ATTRIBUTE_EARTH))
cm.sumproc(c,aux.Stringid(m,7),ATTRIBUTE_WIND) RD.AddSummonProcedureThree(c,aux.Stringid(m,7),nil,cm.sumfilter(ATTRIBUTE_WIND))
cm.sumproc(c,aux.Stringid(m,8),ATTRIBUTE_DIVINE) RD.AddSummonProcedureThree(c,aux.Stringid(m,8),nil,cm.sumfilter(ATTRIBUTE_DIVINE))
local mat=RD.CreateAdvanceCount(c,3)
--Destroy --Destroy
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
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:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetLabelObject(mat)
e1:SetCondition(cm.condition) e1:SetCondition(cm.condition)
e1:SetTarget(cm.target) e1:SetTarget(cm.target)
e1:SetOperation(cm.operation) e1:SetOperation(cm.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
--Summon Procedure --Summon Procedure
function cm.sumproc(c,desc,attr) function cm.sumfilter(attr)
RD.AddSummonProcedure(c,desc,cm.sumcon(attr),cm.sumop(attr),SUMMON_TYPE_ADVANCE+SUMMON_VALUE_SELF) return function(c,e,tp)
end return c:IsAttribute(attr) and (c:IsFaceup() or c:IsControler(tp))
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)
end end
end end
--Destroy --Destroy
function cm.condition(e,tp,eg,ep,ev,re,r,rp) function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return RD.IsSummonTurn(c) and e:GetLabelObject():GetLabel()==3 return RD.IsSummonTurn(c) and c:IsSummonType(SUMMON_VALUE_THREE)
end end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk) 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 if chk==0 then return Duel.IsExistingMatchingCard(nil,tp,0,LOCATION_ONFIELD,1,nil) end
......
...@@ -3,16 +3,12 @@ local cm=_G["c"..m] ...@@ -3,16 +3,12 @@ local cm=_G["c"..m]
cm.name="电子鲨" cm.name="电子鲨"
function cm.initial_effect(c) function cm.initial_effect(c)
--Summon Procedure --Summon Procedure
RD.AddSummonProcedure(c,aux.Stringid(m,0),cm.sumcon) RD.AddSummonProcedureZero(c,aux.Stringid(m,0),cm.sumcon)
end end
--Summon Procedure --Summon Procedure
function cm.filter(c) function cm.filter(c)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_WATER) return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_WATER)
end end
function cm.sumcon(e,c,minc) function cm.sumcon(c,e,tp)
if c==nil then return true end return Duel.IsExistingMatchingCard(cm.filter,tp,LOCATION_MZONE,0,1,nil)
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
end end
\ No newline at end of file
...@@ -12,7 +12,7 @@ function cm.initial_effect(c) ...@@ -12,7 +12,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.indval) e1:SetValue(cm.indval)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP) cm.indval=RD.ValueEffectIndesType(0,TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP)
......
...@@ -16,7 +16,7 @@ function cm.initial_effect(c) ...@@ -16,7 +16,7 @@ function cm.initial_effect(c)
e1:SetValue(list[1]) e1:SetValue(list[1])
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Fusion Code --Fusion Code
function cm.condition(e) function cm.condition(e)
......
...@@ -15,7 +15,7 @@ function cm.initial_effect(c) ...@@ -15,7 +15,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.battle) e2:SetValue(cm.battle)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Indes --Indes
function cm.indes(e,c) function cm.indes(e,c)
......
...@@ -9,7 +9,7 @@ function cm.initial_effect(c) ...@@ -9,7 +9,7 @@ function cm.initial_effect(c)
e1:SetValue(cm.trival) e1:SetValue(cm.trival)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1) RD.AddContinuousEffect(c,e1)
end end
--Double Tribute --Double Tribute
cm.trival=RD.ValueDoubleTributeAttrType(ATTRIBUTE_DARK,TYPE_NORMAL) cm.trival=RD.ValueDoubleTributeAttrType(ATTRIBUTE_DARK,TYPE_NORMAL)
\ No newline at end of file
...@@ -24,7 +24,7 @@ function cm.initial_effect(c) ...@@ -24,7 +24,7 @@ function cm.initial_effect(c)
e2:SetValue(1) e2:SetValue(1)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Atk Up --Atk Up
function cm.atkfilter(c) function cm.atkfilter(c)
......
...@@ -23,7 +23,7 @@ function cm.initial_effect(c) ...@@ -23,7 +23,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.actlimit) e2:SetValue(cm.actlimit)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Direct Attack --Direct Attack
function cm.dirfilter(c) function cm.dirfilter(c)
......
...@@ -21,7 +21,7 @@ function cm.initial_effect(c) ...@@ -21,7 +21,7 @@ function cm.initial_effect(c)
e2:SetValue(cm.indval) e2:SetValue(cm.indval)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--Continuous Effect --Continuous Effect
RushDuel.AddContinuousEffect(c,e1,e2) RD.AddContinuousEffect(c,e1,e2)
end end
--Indes --Indes
cm.indval=RD.ValueEffectIndesType(0,TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP) cm.indval=RD.ValueEffectIndesType(0,TYPE_MONSTER+TYPE_SPELL+TYPE_TRAP)
......
local m=120254028 local m=120254028
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="魔力惩戒" cm.name="魔力报应"
function cm.initial_effect(c) function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -3,7 +3,7 @@ local cm=_G["c"..m] ...@@ -3,7 +3,7 @@ local cm=_G["c"..m]
cm.name="焰魔神 光魔" cm.name="焰魔神 光魔"
function cm.initial_effect(c) function cm.initial_effect(c)
--Summon Procedure --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 --To Hand / Special Summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,1)) e1:SetDescription(aux.Stringid(m,1))
...@@ -16,21 +16,9 @@ function cm.initial_effect(c) ...@@ -16,21 +16,9 @@ function cm.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
--Summon Procedure --Summon Procedure
function cm.sumfilter(c,tp) function cm.sumfilter(c,e,tp)
return c:IsType(TYPE_MAXIMUM) return c:IsType(TYPE_MAXIMUM)
end 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 --To Hand
function cm.confilter(c) function cm.confilter(c)
return c:IsRace(RACE_FIEND) return c:IsRace(RACE_FIEND)
......
local m=120254041 local m=120254041
local list={120170029,120196050} local list={120170029,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)
RD.AddCodeList(c,list) RD.AddCodeList(c,list)
--Change Code --Change Code
......
local m=120254072 local m=120254072
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="花牙铠·铁线莲" cm.name="花牙铠·小木通"
function cm.initial_effect(c) function cm.initial_effect(c)
--Indes Battle --Indes Battle
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
local m=120254075 local m=120254075
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="双冷星" cm.name="双冷星"
function cm.initial_effect(c) function cm.initial_effect(c)
--Level Up --Level Up
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
local m=120254084 local m=120254084
local cm=_G["c"..m] local cm=_G["c"..m]
cm.name="魔力火风暴" cm.name="魔力火风暴"
function cm.initial_effect(c) function cm.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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