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

2025/7/23 新增:外宇宙剧毒残骸

parent 8a6f6608
Pipeline #39424 passed with stages
in 10 minutes and 42 seconds
No preview for this file type
......@@ -5,6 +5,10 @@ RushDuel = RushDuel or {}
function RushDuel.IsMaximumMode(card)
return card:IsLocation(LOCATION_MZONE) and card:IsSummonType(SUMMON_TYPE_MAXIMUM) and card:GetOverlayCount() > 0
end
-- 条件: 离场前是否处于"极大模式"
function RushDuel.IsPreviousMaximumMode(card)
return card:IsType(TYPE_MAXIMUM) and card:IsSummonType(SUMMON_TYPE_MAXIMUM) and card:GetPreviousOverlayCountOnField()>0
end
-- 条件: 这张卡召唤的回合
function RushDuel.IsSummonTurn(card)
return card:IsReason(REASON_SUMMON) and card:IsStatus(STATUS_SUMMON_TURN) and card:GetFlagEffect(FLAG_SUMMON_TURN) ~= 0
......
......@@ -141,7 +141,7 @@ end
-- 获取被破坏时的基础攻击力
function RushDuel.GetBaseAttackOnDestroy(c)
local atk
if c:IsSummonType(SUMMON_TYPE_MAXIMUM) and c:IsReason(REASON_DESTROY) then
if RushDuel.IsPreviousMaximumMode(c) and c:IsReason(REASON_DESTROY) then
atk = c.maximum_attack
else
atk = c:GetTextAttack()
......
......@@ -17,7 +17,7 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
and tc:IsLocation(LOCATION_GRAVE) and tc:IsReason(REASON_BATTLE)
and tc:IsCanBeSpecialSummoned(e,0,tp,false,false,tc:GetPreviousPosition(),tc:GetPreviousControler()) end
tc:CreateEffectRelation(e)
if tc:GetPreviousOverlayCountOnField()>0 then
if RD.IsPreviousMaximumMode(tc) then
e:SetLabel(1)
else
e:SetLabel(0)
......
local cm,m=GetID()
local list={CARD_CODE_OTS,120290001}
cm.name="外宇宙剧毒残骸"
function cm.initial_effect(c)
RD.AddCodeList(c,list)
--Fusion Material
RD.AddFusionProcedure(c,list[2],cm.matfilter)
--Change Code
RD.EnableChangeCode(c,list[1],LOCATION_GRAVE)
--Change Race
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.condition)
e1:SetCost(cm.cost)
e1:SetOperation(cm.operation)
c:RegisterEffect(e1)
end
--Fusion Material
cm.unspecified_funsion=true
function cm.matfilter(c)
return not c:IsFusionAttribute(ATTRIBUTE_LIGHT)
end
--Change Race
function cm.costfilter(c)
return c:IsCode(list[1]) and c:IsAbleToDeckOrExtraAsCost()
end
function cm.desfilter(c)
return c:IsFaceup() and c:GetBaseAttack()~=c:GetAttack()
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return RD.IsCanChangeRace(e:GetHandler(),RACE_GALAXY)
end
cm.cost=RD.CostSendGraveToDeck(cm.costfilter,2,2)
function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsFaceup() and c:IsRelateToEffect(e) then
RD.ChangeRace(e,c,RACE_GALAXY,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
RD.CanSelectAndDoAction(aux.Stringid(m,1),HINTMSG_DESTROY,cm.desfilter,tp,0,LOCATION_MZONE,1,1,nil,function(sg)
Duel.BreakEffect()
Duel.Destroy(sg,REASON_EFFECT)
end)
end
end
\ No newline at end of file
......@@ -10,7 +10,6 @@ function cm.initial_effect(c)
--Change Race
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCondition(cm.condition)
......
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