Commit 89ce0ec0 authored by Crescent/毛虫's avatar Crescent/毛虫
parents 6cf3aae2 723664ce
......@@ -53,7 +53,7 @@ merge_databases:
FIELDS: 'name,desc,overallString,picUrl'
GIT_DEPTH: '1000'
OUTPUT_FILENAME: test-release.json
REF_COMMIT: '8.16' # 更新的时候改这里,修改成上一个tag的版本号
REF_COMMIT: '8.17' # 更新的时候改这里,修改成上一个tag的版本号
script:
- apt update;apt -y install wget
- currentPath=$PWD
......
No preview for this file type
......@@ -22,32 +22,32 @@ function s.initial_effect(c)
e2:SetRange(LOCATION_MZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetHintTiming(0,TIMINGS_CHECK_MONSTER+TIMING_END_PHASE)
e2:SetCondition(s.descon)
e2:SetTarget(s.destg)
e2:SetOperation(s.desop)
e2:SetCondition(s.rmcon)
e2:SetTarget(s.rmtg)
e2:SetOperation(s.rmop)
c:RegisterEffect(e2)
end
function s.matfilter(c)
return c:IsRace(RACE_INSECT) and c:IsLevelAbove(5)
end
function s.descon(e,tp,eg,ep,ev,re,r,rp)
function s.rmcon(e,tp,eg,ep,ev,re,r,rp)
return not Duel.IsExistingMatchingCard(aux.AND(Card.IsFaceup,aux.NOT(Card.IsRace)),tp,LOCATION_MZONE,0,1,nil,RACE_INSECT)
end
function s.desfilter(c,tp)
function s.rmfilter(c,tp)
return c:IsFaceup() and c:IsRace(RACE_INSECT) and c:IsAbleToRemove()
and Duel.IsExistingTarget(Card.IsAbleToRemove,tp,LOCATION_MZONE,LOCATION_MZONE,1,c)
end
function s.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
function s.rmtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(s.desfilter,tp,LOCATION_MZONE,0,1,nil) end
if chk==0 then return Duel.IsExistingTarget(s.rmfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g1=Duel.SelectTarget(tp,s.desfilter,tp,LOCATION_MZONE,0,1,1,nil)
local g1=Duel.SelectTarget(tp,s.rmfilter,tp,LOCATION_MZONE,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g2=Duel.SelectTarget(tp,Card.IsAbleToRemove,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,g1)
g1:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,g1,2,0,0)
end
function s.desop(e,tp,eg,ep,ev,re,r,rp)
function s.rmop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local tg=g:Filter(Card.IsRelateToEffect,nil,e)
if tg:GetCount()>0 then
......
......@@ -33,7 +33,7 @@ function s.initial_effect(c)
--return
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(id,1))
e5:SetCategory(CATEGORY_TOHAND)
e5:SetCategory(CATEGORY_TODECK+CATEGORY_TOHAND)
e5:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e5:SetRange(LOCATION_MZONE)
e5:SetCountLimit(1,id+o)
......
......@@ -140,4 +140,4 @@ function s.coinop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(g,0,tp,1-tp,false,false,POS_FACEUP)
end
end
end
\ No newline at end of file
end
......@@ -87,4 +87,4 @@ function s.coinop(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(s.desfilter,tp,LOCATION_SZONE,LOCATION_SZONE,nil)
Duel.Destroy(sg,REASON_EFFECT)
end
end
\ No newline at end of file
end
......@@ -115,4 +115,4 @@ function s.spop2(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+RESETS_STANDARD+RESET_DISABLE,0,0)
end
end
\ No newline at end of file
end
......@@ -71,4 +71,4 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterFlagEffect(tc:GetOriginalCode(),RESET_EVENT+RESETS_STANDARD+RESET_DISABLE,0,0)
end
end
end
\ No newline at end of file
end
--叛逆者エト
local s,id,o=GetID()
function s.initial_effect(c)
c:EnableReviveLimit()
--Traitor_chaining_effect
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e0:SetCode(EVENT_ADJUST)
e0:SetRange(0xff)
e0:SetOperation(s.adjustop)
c:RegisterEffect(e0)
--special summon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e2:SetCountLimit(1,id+EFFECT_COUNT_CODE_OATH)
e2:SetCondition(s.spcon)
e2:SetOperation(s.spop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_CANNOT_DISABLE_SPSUMMON)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
c:RegisterEffect(e3)
--cannot be material
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e4:SetRange(LOCATION_MZONE)
e4:SetValue(1)
c:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_CANNOT_BE_XYZ_MATERIAL)
c:RegisterEffect(e5)
local e6=e4:Clone()
e6:SetCode(EFFECT_CANNOT_BE_LINK_MATERIAL)
c:RegisterEffect(e6)
local e7=e4:Clone()
e7:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL)
e7:SetValue(s.fuslimit)
c:RegisterEffect(e7)
--immune
local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_SINGLE)
e8:SetCode(EFFECT_IMMUNE_EFFECT)
e8:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e8:SetRange(LOCATION_MZONE)
e8:SetValue(s.efilter)
c:RegisterEffect(e8)
end
function s.adjustop(e,tp,eg,ep,ev,re,r,rp)
if not s.globle_check then
s.globle_check=true
s.Traitor_RegisterEffect=Card.RegisterEffect
function Card.RegisterEffect(Card_c,Effect_e,bool)
if Effect_e:GetType() and bit.band(Effect_e:GetType(),EFFECT_TYPE_QUICK_O+EFFECT_TYPE_QUICK_F)~=0 then
if Effect_e:GetCode() and Effect_e:GetCode()==EVENT_CHAINING then
Card_c:RegisterFlagEffect(id,0,0,1)
end
end
if bool then
s.Traitor_RegisterEffect(Card_c,Effect_e,bool)
else
s.Traitor_RegisterEffect(Card_c,Effect_e,false)
end
end
local rg=Duel.GetMatchingGroup(Card.IsType,tp,0xff,0xff,nil,TYPE_MONSTER)
for tc in aux.Next(rg) do
if tc.initial_effect then
local Traitor_initial_effect=s.initial_effect
s.initial_effect=function() end
tc:ReplaceEffect(id,0)
s.initial_effect=Traitor_initial_effect
tc.initial_effect(tc)
end
end
Card.RegisterEffect=s.Traitor_RegisterEffect
end
end
function s.cfilter(c)
return (c:GetFlagEffect(id)>0 or c.Traitor_chaining_effect) and bit.band(c:GetOriginalType(),TYPE_MONSTER)==TYPE_MONSTER
and c:IsFaceupEx()
end
function s.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(s.cfilter,c:GetControler(),0,LOCATION_ONFIELD+LOCATION_GRAVE,1,nil)
end
function s.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.PayLPCost(tp,math.floor(Duel.GetLP(tp)/2))
end
function s.fuslimit(e,c,sumtype)
return sumtype==SUMMON_TYPE_FUSION
end
function s.efilter(e,re)
if Duel.GetTurnPlayer()==e:GetHandlerPlayer() then
return e:GetHandlerPlayer()~=re:GetOwnerPlayer() and re:IsActivated() and re:IsActiveType(TYPE_MONSTER)
else
return false
end
end
......@@ -107,4 +107,4 @@ function s.tdop(e,tp,eg,ep,ev,re,r,rp)
local d=Duel.GetFieldGroupCount(e:GetOwnerPlayer(),LOCATION_HAND,0)-(Duel.GetFieldGroupCount(e:GetOwnerPlayer(),0,LOCATION_ONFIELD)+6)
local sg=g:RandomSelect(e:GetOwnerPlayer(),d)
Duel.SendtoDeck(sg,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)
end
\ No newline at end of file
end
......@@ -65,4 +65,4 @@ function s.tgop(e,tp,eg,ep,ev,re,r,rp)
local sg=g:Select(tp,1,1,nil)
Duel.HintSelection(sg)
Duel.SendtoGrave(sg,REASON_EFFECT)
end
\ No newline at end of file
end
......@@ -67,4 +67,4 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
\ No newline at end of file
end
......@@ -91,4 +91,4 @@ end
function s.aclimit(e,re,tp)
local loc=re:GetActivateLocation()
return bit.band(loc,LOCATION_ONFIELD)~=0 and re:IsActiveType(TYPE_MONSTER)
end
\ No newline at end of file
end
......@@ -97,4 +97,4 @@ function s.spop(e,tp,eg,ep,ev,re,r,rp)
Duel.SpecialSummonComplete()
end
end
end
\ No newline at end of file
end
......@@ -84,4 +84,4 @@ function s.indcon(e,tp,eg,ep,ev,re,r,rp)
end
function s.indtg(e,c)
return c:IsSetCard(0x1019)
end
\ No newline at end of file
end
......@@ -98,4 +98,4 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
end
function s.splimit(e,c,sump,sumtype,sumpos,targetp,se)
return not c:IsSetCard(0x5)
end
\ No newline at end of file
end
......@@ -89,4 +89,4 @@ function s.thop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
\ No newline at end of file
end
......@@ -122,4 +122,4 @@ function s.setop(e,tp,eg,ep,ev,re,r,rp)
if g:GetCount()>0 then
Duel.SSet(tp,g:GetFirst())
end
end
\ No newline at end of file
end
--剣闘獣サジタリィ
---@param c Card
function c16003979.initial_effect(c)
--spsummon
local e1=Effect.CreateEffect(c)
......
--猛進する剣闘獣
---@param c Card
function c16990348.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--再起する剣闘獣
---@param c Card
function c20201255.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣ラニスタ
---@param c Card
function c2067935.initial_effect(c)
--tohand
local e1=Effect.CreateEffect(c)
......
--グラディアル・リターン
---@param c Card
function c24285858.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣の闘器グラディウス
---@param c Card
function c25407406.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣ダリウス
---@param c Card
function c25924653.initial_effect(c)
--grave special summon
local e1=Effect.CreateEffect(c)
......
--剣闘獣サムニテ
---@param c Card
function c2619149.initial_effect(c)
--search
local e1=Effect.CreateEffect(c)
......
--ディザーム
---@param c Card
function c26834022.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣ヘラクレイノス
---@param c Card
function c27346636.initial_effect(c)
--fusion material
c:EnableReviveLimit()
......
--ディフェンシブ・タクティクス
---@param c Card
function c28877100.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣ネロキウス
---@param c Card
function c29357956.initial_effect(c)
--fusion material
c:EnableReviveLimit()
......
--剣闘獣オクタビウス
---@param c Card
function c29590752.initial_effect(c)
--destroy
local e1=Effect.CreateEffect(c)
......
--スレイブ・エイプ
---@param c Card
function c3030892.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
......
--剣闘獣総監エーディトル
---@param c Card
function c30864377.initial_effect(c)
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,c30864377.matfilter,2,true)
......
--剣闘獣ディカエリィ
---@param c Card
function c31247589.initial_effect(c)
--double attack
local e1=Effect.CreateEffect(c)
......
--剣闘獣ドミティアノス
---@param c Card
function c33652635.initial_effect(c)
c:EnableReviveLimit()
--fusion
......
--剣闘訓練所
---@param c Card
function c35224440.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣アンダバタエ
---@param c Card
function c3779662.initial_effect(c)
c:EnableReviveLimit()
aux.AddFusionProcCodeFun(c,7573135,aux.FilterBoolFunction(Card.IsFusionSetCard,0x1019),2,true,true)
......
--裏切りの罪宝-シルウィア
local s,id,o=GetID()
---@param c Card
function s.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣ベストロウリィ
---@param c Card
function c41470137.initial_effect(c)
--destroy
local e1=Effect.CreateEffect(c)
......
--剣闘獣ホプロムス
---@param c Card
function c4253484.initial_effect(c)
--def
local e1=Effect.CreateEffect(c)
......
--剣闘獣アレクサンデル
---@param c Card
function c42592719.initial_effect(c)
--immune spell
local e1=Effect.CreateEffect(c)
......
--剣闘獣ガイザレス
---@param c Card
function c48156348.initial_effect(c)
--fusion material
c:EnableReviveLimit()
......
--剣闘獣ティゲル
---@param c Card
function c50893987.initial_effect(c)
--search
local e1=Effect.CreateEffect(c)
......
--パリィ
---@param c Card
function c52228131.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘海戦
---@param c Card
function c52394047.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣の闘器マニカ
---@param c Card
function c52496105.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣アトリクス
---@param c Card
function c52502677.initial_effect(c)
--spsummon
local e1=Effect.CreateEffect(c)
......
--剣闘獣の檻-コロッセウム
---@param c Card
function c52518793.initial_effect(c)
c:EnableCounterPermit(0x7)
--Activate
......
--剣闘獣の底力
---@param c Card
function c55136228.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣エクイテ
---@param c Card
function c57731460.initial_effect(c)
--tohand
local e1=Effect.CreateEffect(c)
......
--剣闘獣ムルミロ
---@param c Card
function c5975022.initial_effect(c)
--destroy
local e1=Effect.CreateEffect(c)
......
--剣闘獣レティアリィ
---@param c Card
function c612115.initial_effect(c)
--remove
local e1=Effect.CreateEffect(c)
......
--剣闘獣ドラガシス
---@param c Card
function c62000467.initial_effect(c)
--link summon
c:EnableReviveLimit()
......
--剣闘獣トラケス
---@param c Card
function c65984457.initial_effect(c)
--draw
local e1=Effect.CreateEffect(c)
......
--団結する剣闘獣
---@param c Card
function c66290900.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--スレイブパンサー
---@param c Card
function c66863374.initial_effect(c)
--link summon
aux.AddLinkProcedure(c,nil,2,2,c66863374.lcheck)
......
--ハンディキャップマッチ!
---@param c Card
function c67223587.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣ノクシウス
---@param c Card
function c67385964.initial_effect(c)
--spsummon
local e1=Effect.CreateEffect(c)
......
--剣闘獣エセダリ
---@param c Card
function c73285669.initial_effect(c)
--fusion material
c:EnableReviveLimit()
......
--剣闘獣アウグストル
---@param c Card
function c7573135.initial_effect(c)
--spsummon
local e1=Effect.CreateEffect(c)
......
--トロイの剣闘獣
---@param c Card
function c76384284.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣セクトル
---@param c Card
function c77642288.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
......
--剣闘獣ラクエル
---@param c Card
function c78868776.initial_effect(c)
--atk
local e1=Effect.CreateEffect(c)
......
--剣闘獣スパルティクス
---@param c Card
function c79580323.initial_effect(c)
--search
local e1=Effect.CreateEffect(c)
......
--“罪宝狩りの悪魔”
local s,id,o=GetID()
---@param c Card
function s.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣の闘器デーモンズシールド
---@param c Card
function c8730435.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣ウェスパシアス
---@param c Card
function c88996322.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
......
--原罪宝-スネークアイ
local s,id,o=GetID()
---@param c Card
function s.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣ゲオルディアス
---@param c Card
function c90957527.initial_effect(c)
--fusion material
c:EnableReviveLimit()
......
--スレイブタイガー
---@param c Card
function c92373006.initial_effect(c)
--special summon rule
local e1=Effect.CreateEffect(c)
......
--剣闘排斥波
---@param c Card
function c93684009.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣の戦車
---@param c Card
function c96216229.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--グラディアル・チェンジ
---@param c Card
function c97234686.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘調教
---@param c Card
function c9780364.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--休息する剣闘獣
---@param c Card
function c98891840.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
--剣闘獣の闘器ハルバード
---@param c Card
function c99013397.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
......
......@@ -1866,3 +1866,20 @@ end
function Auxiliary.MimighoulFlipCondition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsMainPhase()
end
---The name of `c` becomes the original name of `tc`
---@param c Card
---@param tc Card
---@param reset? integer defult: RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END
---@return Effect
function Auxiliary.BecomeOriginalCode(c,tc,reset)
reset=reset or (RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
local code=tc:GetOriginalCodeRule()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(code)
e1:SetReset(reset)
c:RegisterEffect(e1)
return e1
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment