diff --git a/proc_rush.lua b/proc_rush.lua index e0f6dd9e2a..6dba6d119b 100644 --- a/proc_rush.lua +++ b/proc_rush.lua @@ -9,7 +9,8 @@ local LEGEND_LIST={160001000,160205001,160418001,160002000,160421015,160404001,1 160429002,160208063,160208064,160208065,160014065,160446002,160015056,160210001,160207060,160210032,160210029, 160210058,160440010,160016033,160016034,160440011,160211080,160402039,160017033,160402040,160429003,160320014, 160320038,160018036,160212004,160212003,160402044,160212075,160212001,160402045,160019063,160019064,160019065, -160213078,160213082,160402047,160213084,160020059,160213076,160020001,160020040,160020000,160214052} +160213078,160213082,160402047,160213084,160020059,160213076,160020001,160020040,160020000,160214052,160323029, +160214020} -- Returns if a card is a Legend. Can be updated if a GetOT function is added to the core function Card.IsLegend(c) return c:IsHasEffect(EFFECT_IS_LEGEND) or c:IsOriginalCode(table.unpack(LEGEND_LIST)) diff --git a/rush/c160021012.lua b/rush/c160021012.lua new file mode 100644 index 0000000000..696ea780a4 --- /dev/null +++ b/rush/c160021012.lua @@ -0,0 +1,58 @@ +--花牙疾走のクノイチ・エトランゼ +--Etraynze the Sprinting Shadow Flower Ninja +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Name becomes "Etraynze the Shadow Flower Ninja" in the Graveyard + local e1=Effect.CreateEffect(c) + e1:SetType(EFFECT_TYPE_SINGLE) + e1:SetCode(EFFECT_CHANGE_CODE) + e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) + e1:SetRange(LOCATION_GRAVE) + e1:SetValue(160005029) + c:RegisterEffect(e1) + --This card's name becomes "Etraynze the Shadow Flower Ninja", then you can add up to 2 EARTH Attribute Plant Type Normal Monsters from your Graveyard to your hand + local e2=Effect.CreateEffect(c) + e2:SetDescription(aux.Stringid(id,0)) + e2:SetCategory(CATEGORY_TOHAND) + e2:SetType(EFFECT_TYPE_IGNITION) + e2:SetRange(LOCATION_MZONE) + e2:SetCountLimit(1) + e2:SetCost(s.cost) + e2:SetTarget(s.target) + e2:SetOperation(s.operation) + c:RegisterEffect(e2) +end +s.listed_names={160005029} --Etraynze the Shadow Flower Ninja +function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,3) end +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + local c=e:GetHandler() + if chk==0 then return not c:IsCode(160005029) end + Duel.SetPossibleOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE) +end +function s.thfilter(c) + return c:IsRace(RACE_PLANT) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsType(TYPE_NORMAL) and c:IsAbleToHand() +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + -- Requirement + if Duel.DiscardDeck(tp,3,REASON_COST)<1 then return end + --Effect + local c=e:GetHandler() + --Name becomes "Etraynze the Shadow Flower Ninja" + local e1=Effect.CreateEffect(c) + e1:SetType(EFFECT_TYPE_SINGLE) + e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) + e1:SetCode(EFFECT_CHANGE_CODE) + e1:SetValue(160005029) + e1:SetReset(RESETS_STANDARD_PHASE_END) + c:RegisterEffect(e1) + if c:IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) and Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then + local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_GRAVE,0,1,2,nil) + if #g>0 then + Duel.SendtoHand(g,nil,REASON_EFFECT) + Duel.ConfirmCards(1-tp,g) + end + end +end diff --git a/rush/c160021013.lua b/rush/c160021013.lua new file mode 100644 index 0000000000..47f3b6785a --- /dev/null +++ b/rush/c160021013.lua @@ -0,0 +1,27 @@ +--花牙クノイチ・リンカーネイション +--Rincarnation the Shadow Flower Ninja +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Gains ATK + local e1=Effect.CreateEffect(c) + e1:SetType(EFFECT_TYPE_SINGLE) + e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) + e1:SetCode(EFFECT_UPDATE_ATTACK) + e1:SetRange(LOCATION_MZONE) + e1:SetCondition(s.condition) + e1:SetValue(s.val) + c:RegisterEffect(e1) +end +function s.condition(e) + local tp=e:GetHandlerPlayer() + return Duel.IsTurnPlayer(1-tp) and not Duel.IsExistingMatchingCard(Card.IsSpellTrap,tp,LOCATION_ONFIELD,0,1,nil) +end +function s.atkfilter(c) + return c:IsFaceup() and c:GetBaseAttack()>0 +end +function s.val(e,c) + local g=Duel.GetMatchingGroup(s.atkfilter,e:GetHandlerPlayer(),LOCATION_MZONE,0,nil) + local atk=g:GetMaxGroup(Card.GetBaseAttack):GetFirst():GetBaseAttack() + return atk +end \ No newline at end of file diff --git a/rush/c160021040.lua b/rush/c160021040.lua new file mode 100644 index 0000000000..448f379cb6 --- /dev/null +++ b/rush/c160021040.lua @@ -0,0 +1,24 @@ +--花牙華艶メイカ・エトランゼ +--Meika Etraynze the Shadow Flower Fiery Flower Beauty +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --fusion proc + c:EnableReviveLimit() + Fusion.AddProcMix(c,true,true,160005029,160021001) + --Gain Atk and Effect Protection + local e1=Effect.CreateEffect(c) + e1:SetType(EFFECT_TYPE_FIELD) + e1:SetCode(EFFECT_UPDATE_ATTACK) + e1:SetRange(LOCATION_MZONE) + e1:SetTargetRange(LOCATION_MZONE,0) + e1:SetValue(500) + c:RegisterEffect(e1) + local e2=Effect.CreateEffect(c) + e2:SetType(EFFECT_TYPE_FIELD) + e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) + e2:SetTargetRange(LOCATION_MZONE,0) + e2:SetRange(LOCATION_MZONE) + e2:SetValue(aux.indoval) + c:RegisterEffect(e2) +end \ No newline at end of file diff --git a/rush/c160021054.lua b/rush/c160021054.lua new file mode 100644 index 0000000000..0e18f7d59a --- /dev/null +++ b/rush/c160021054.lua @@ -0,0 +1,50 @@ +--真花牙分身 +--True Shadow Flower Duplication +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + -- Special Summon up to 2 Level 7 EARTH Plant Type + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DESTROY) + e1:SetType(EFFECT_TYPE_ACTIVATE) + e1:SetCode(EVENT_FREE_CHAIN) + e1:SetCondition(s.condition) + e1:SetCost(s.cost) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +function s.cfilter(c) + return c:IsRace(RACE_PLANT) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsLevel(7) and c:IsFaceup() +end +function s.condition(e,tp,eg,ep,ev,re,r,rp) + return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil) +end +function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToDeckOrExtraAsCost,tp,LOCATION_HAND,0,2,e:GetHandler()) end +end +function s.spfilter(c,e,tp) + return c:IsRace(RACE_PLANT) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsLevel(7) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 + and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end + Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE) +end +function s.operation(e,tp,eg,ep,ev,re,r,rp,chk) + -- Requirement + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) + local td=Duel.SelectMatchingCard(tp,Card.IsAbleToDeckOrExtraAsCost,tp,LOCATION_HAND,0,2,2,nil) + if #td==0 or Duel.SendtoDeck(td,nil,SEQ_DECKBOTTOM,REASON_COST)==0 then return end + Duel.SortDeckbottom(tp,tp,#td) + --Effect + local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) + if ft<1 then return end + if Duel.IsPlayerAffectedByEffect(tp,CARD_BLUEEYES_SPIRIT) then ft=1 end + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) + local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,1,math.min(ft,2),nil,e,tp) + if #g>0 then + Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) + end +end \ No newline at end of file diff --git a/rush/c160214003.lua b/rush/c160214003.lua new file mode 100644 index 0000000000..cb844ce127 --- /dev/null +++ b/rush/c160214003.lua @@ -0,0 +1,3 @@ +--清浄の蛇姫 +--Snake Princess of Purity +Duel.LoadCardScriptAlias(160014042) diff --git a/rush/c160214004.lua b/rush/c160214004.lua new file mode 100644 index 0000000000..a695022840 --- /dev/null +++ b/rush/c160214004.lua @@ -0,0 +1,3 @@ +--純真のファドロニール +--Fadronir the Pure +Duel.LoadCardScriptAlias(160017037) diff --git a/rush/c160214005.lua b/rush/c160214005.lua new file mode 100644 index 0000000000..995d75ea06 --- /dev/null +++ b/rush/c160214005.lua @@ -0,0 +1,3 @@ +--セブンス・ワンダー・フュージョン +--Sevens Wonder Fusion +Duel.LoadCardScriptAlias(160013054) diff --git a/rush/c160214006.lua b/rush/c160214006.lua new file mode 100644 index 0000000000..af773b6b17 --- /dev/null +++ b/rush/c160214006.lua @@ -0,0 +1,3 @@ +--アビスカイト・パーティ +--Abysskite Party +Duel.LoadCardScriptAlias(160210053) diff --git a/rush/c160214007.lua b/rush/c160214007.lua new file mode 100644 index 0000000000..0138617f74 --- /dev/null +++ b/rush/c160214007.lua @@ -0,0 +1,3 @@ +--オーバーラッシュ・ストーム +--Over Rush Storm +Duel.LoadCardScriptAlias(160211077) diff --git a/rush/c160214008.lua b/rush/c160214008.lua new file mode 100644 index 0000000000..cc11c66ff6 --- /dev/null +++ b/rush/c160214008.lua @@ -0,0 +1,3 @@ +--顕現の秘儀 +--The Secret of Manifestation +Duel.LoadCardScriptAlias(160016051) diff --git a/rush/c160214009.lua b/rush/c160214009.lua new file mode 100644 index 0000000000..267c12caff --- /dev/null +++ b/rush/c160214009.lua @@ -0,0 +1,3 @@ +--コスモス姫のお戯れ +--Jest of the Cosmos Princess +Duel.LoadCardScriptAlias(160017058) diff --git a/rush/c160214010.lua b/rush/c160214010.lua new file mode 100644 index 0000000000..a8aa953340 --- /dev/null +++ b/rush/c160214010.lua @@ -0,0 +1,3 @@ +--エクスキューティー・ライディング! +--Excutie Riding! +Duel.LoadCardScriptAlias(160014064) diff --git a/rush/c160214011.lua b/rush/c160214011.lua new file mode 100644 index 0000000000..07267183cd --- /dev/null +++ b/rush/c160214011.lua @@ -0,0 +1,3 @@ +--サンセットリバース +--Sunset Rebirth +Duel.LoadCardScriptAlias(160016066) diff --git a/rush/c160214018.lua b/rush/c160214018.lua new file mode 100644 index 0000000000..0a3e45fd19 --- /dev/null +++ b/rush/c160214018.lua @@ -0,0 +1,3 @@ +--ロマンス・ピック +--Romanpick +Duel.LoadCardScriptAlias(160002023) diff --git a/rush/c160214019.lua b/rush/c160214019.lua new file mode 100644 index 0000000000..bc7b4485fa --- /dev/null +++ b/rush/c160214019.lua @@ -0,0 +1,3 @@ +--冥跡のジュンディー +--Jundee of the Dark Path +Duel.LoadCardScriptAlias(160448004) diff --git a/rush/c160214020.lua b/rush/c160214020.lua new file mode 100644 index 0000000000..6fa00f5494 --- /dev/null +++ b/rush/c160214020.lua @@ -0,0 +1,3 @@ +--貪欲な壺 +--Pot of Avarice (Rush) +Duel.LoadCardScriptAlias(160428100) diff --git a/rush/c160214021.lua b/rush/c160214021.lua new file mode 100644 index 0000000000..70a0e943ad --- /dev/null +++ b/rush/c160214021.lua @@ -0,0 +1,3 @@ +--ゴースト・サイクロン +--Ghost Cyclone +Duel.LoadCardScriptAlias(160009053) diff --git a/rush/c160214022.lua b/rush/c160214022.lua new file mode 100644 index 0000000000..30d2e42a3f --- /dev/null +++ b/rush/c160214022.lua @@ -0,0 +1,3 @@ +--バックビート +--Back Beat +Duel.LoadCardScriptAlias(160007053) diff --git a/rush/c160214023.lua b/rush/c160214023.lua new file mode 100644 index 0000000000..6a673ab64b --- /dev/null +++ b/rush/c160214023.lua @@ -0,0 +1,3 @@ +--邪影ダーク・ルーカー +--Wicked Shadow Dark Lurker +Duel.LoadCardScriptAlias(160002030) diff --git a/rush/c160214024.lua b/rush/c160214024.lua new file mode 100644 index 0000000000..a1acd3ee41 --- /dev/null +++ b/rush/c160214024.lua @@ -0,0 +1,3 @@ +--トラディショナル・タックス +--Traditional Tax +Duel.LoadCardScriptAlias(160012063) diff --git a/rush/c160214025.lua b/rush/c160214025.lua new file mode 100644 index 0000000000..1787d71c7f --- /dev/null +++ b/rush/c160214025.lua @@ -0,0 +1,69 @@ +--連撃竜騎士-セブンスナイト +--Sevens Knight the Multistrike Dragon Knight +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --fusion material + c:EnableReviveLimit() + Fusion.AddProcMix(c,true,true,CARD_SEVENS_ROAD_MAGICIAN,160302001) + --ATK increase + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_ATKCHANGE) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetCountLimit(1,0,EFFECT_COUNT_CODE_SINGLE) + e1:SetRange(LOCATION_MZONE) + e1:SetCost(s.cost) + e1:SetOperation(s.atkop) + c:RegisterEffect(e1) + --Effect protection + local e2=Effect.CreateEffect(c) + e2:SetDescription(aux.Stringid(id,1)) + e2:SetType(EFFECT_TYPE_IGNITION) + e2:SetCountLimit(1,0,EFFECT_COUNT_CODE_SINGLE) + e2:SetRange(LOCATION_MZONE) + e2:SetCost(s.cost) + e2:SetOperation(s.effop) + c:RegisterEffect(e2) +end +function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end +end +function s.atkop(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + --Requirement + if Duel.DiscardDeck(tp,1,REASON_COST)<1 then return end + --Effect + --Increase ATK + local e1=Effect.CreateEffect(c) + e1:SetType(EFFECT_TYPE_SINGLE) + e1:SetCode(EFFECT_UPDATE_ATTACK) + e1:SetProperty(EFFECT_FLAG_COPY_INHERIT) + e1:SetReset(RESET_EVENT|RESETS_STANDARD_DISABLE|RESET_PHASE|PHASE_END) + e1:SetValue(500) + c:RegisterEffect(e1) + --Multiple attacks + local e2=Effect.CreateEffect(c) + e2:SetType(EFFECT_TYPE_SINGLE) + e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE) + e2:SetRange(LOCATION_MZONE) + e2:SetCode(EFFECT_EXTRA_ATTACK_MONSTER) + e2:SetReset(RESET_EVENT|RESETS_STANDARD_DISABLE|RESET_PHASE|PHASE_END) + e2:SetValue(1) + c:RegisterEffect(e2) +end +function s.effop(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + --Requirement + if Duel.DiscardDeck(tp,1,REASON_COST)<1 then return end + --Effect + --Cannot be destroyed by card effects + local e1=Effect.CreateEffect(c) + e1:SetDescription(3060) + e1:SetProperty(EFFECT_FLAG_CLIENT_HINT) + e1:SetType(EFFECT_TYPE_SINGLE) + e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) + e1:SetValue(1) + e1:SetReset(RESETS_STANDARD_PHASE_END,2) + c:RegisterEffect(e1) +end \ No newline at end of file diff --git a/rush/c160214026.lua b/rush/c160214026.lua new file mode 100644 index 0000000000..56ea91e7e2 --- /dev/null +++ b/rush/c160214026.lua @@ -0,0 +1,44 @@ +--ザ☆パーフェクト・ドラギアスター +--The Perfect Dragiastar +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --fusion material + c:EnableReviveLimit() + Fusion.AddProcMixN(c,true,true,160012003,1,s.matfilter,4) + local e1=Effect.CreateEffect(c) + e1:SetCategory(CATEGORY_DESTROY) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCondition(s.condition) + e1:SetCost(s.cost) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +s.named_material={160012003} +function s.matfilter(c,scard,sumtype,tp) + return c:IsLevel(7) +end +function s.condition(e,tp,eg,ep,ev,re,r,rp) + return Duel.GetLP(tp)=1 +end +function s.indtg(e,c) + return c~=e:GetHandler() +end \ No newline at end of file diff --git a/rush/c160214031.lua b/rush/c160214031.lua new file mode 100644 index 0000000000..4f60d62f2b --- /dev/null +++ b/rush/c160214031.lua @@ -0,0 +1,40 @@ +--キメラテック・クラッシュ・ドラゴン +--Chimeratech Crush Dragon +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + c:EnableReviveLimit() + --fusion material + Fusion.AddProcMixRep(c,true,true,aux.FilterBoolFunctionEx(Card.IsRace,RACE_MACHINE),2,99,CARD_CYBER_DRAGON) + --Monsters you control cannot be destroyed by Spell effects + local e1=Effect.CreateEffect(c) + e1:SetType(EFFECT_TYPE_FIELD) + e1:SetCode(EFFECT_INDESTRUCTABLE_EFFECT) + e1:SetProperty(EFFECT_FLAG_SET_AVAILABLE) + e1:SetTargetRange(LOCATION_MZONE,0) + e1:SetRange(LOCATION_MZONE) + e1:SetValue(s.efilter) + c:RegisterEffect(e1) + --spsummon success + local e2=Effect.CreateEffect(c) + e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) + e2:SetCode(EVENT_SPSUMMON_SUCCESS) + e2:SetRange(LOCATION_MZONE) + e2:SetOperation(s.sucop) + c:RegisterEffect(e2) +end +s.named_material={CARD_CYBER_DRAGON} +function s.efilter(e,te) + return te:IsSpellEffect() +end +function s.sucop(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + --Gain ATK + local e1=Effect.CreateEffect(c) + e1:SetType(EFFECT_TYPE_FIELD) + e1:SetCode(EFFECT_UPDATE_ATTACK) + e1:SetRange(LOCATION_MZONE) + e1:SetTargetRange(LOCATION_MZONE,0) + e1:SetValue(c:GetMaterialCount()*100) + c:RegisterEffect(e1) +end \ No newline at end of file diff --git a/rush/c160214032.lua b/rush/c160214032.lua new file mode 100644 index 0000000000..b962dcf893 --- /dev/null +++ b/rush/c160214032.lua @@ -0,0 +1,53 @@ +--ハーピィ・レディ1・2・3 +--Harpie Lady 1 & 2 & 3 +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Fusion Material + c:EnableReviveLimit() + Fusion.AddProcMixN(c,true,true,CARD_HARPIE_LADY,3) + Fusion.AddContactProc(c,s.contactfil,s.contactop,nil,nil,SUMMON_TYPE_FUSION,nil,false) + --Name becomes "Harpie Lady" + local e1=Effect.CreateEffect(c) + e1:SetType(EFFECT_TYPE_SINGLE) + e1:SetCode(EFFECT_CHANGE_CODE) + e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) + e1:SetRange(LOCATION_MZONE) + e1:SetValue(CARD_HARPIE_LADY) + c:RegisterEffect(e1) + --Extra attack + local e2=Effect.CreateEffect(c) + e2:SetType(EFFECT_TYPE_SINGLE) + e2:SetCode(EFFECT_EXTRA_ATTACK_MONSTER) + e2:SetValue(2) + c:RegisterEffect(e2) + --Cannot attack directly + local e3=Effect.CreateEffect(c) + e3:SetType(EFFECT_TYPE_SINGLE) + e3:SetCode(EFFECT_CANNOT_DIRECT_ATTACK) + c:RegisterEffect(e3) + --cannot be used as Fusion Material + local e4=Effect.CreateEffect(c) + e4:SetType(EFFECT_TYPE_FIELD) + e4:SetCode(EFFECT_CANNOT_BE_FUSION_MATERIAL) + e4:SetProperty(EFFECT_FLAG_SET_AVAILABLE) + e4:SetRange(LOCATION_MZONE) + e4:SetTargetRange(LOCATION_MZONE,0) + e4:SetTarget(s.indtg) + e4:SetValue(s.sumlimit) + c:RegisterEffect(e4) +end +s.listed_names={CARD_HARPIE_LADY} +function s.contactfil(tp) + return Duel.GetMatchingGroup(aux.FaceupFilter(Card.IsAbleToDeckOrExtraAsCost),tp,LOCATION_ONFIELD,0,nil) +end +function s.contactop(g,tp) + Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST+REASON_MATERIAL) +end +function s.indtg(e,c) + return c:IsLevel(12) +end +function s.sumlimit(e,c) + if not c then return false end + return c:IsControler(1-e:GetHandlerPlayer()) +end \ No newline at end of file diff --git a/rush/c160214035.lua b/rush/c160214035.lua new file mode 100644 index 0000000000..6e38af5cc3 --- /dev/null +++ b/rush/c160214035.lua @@ -0,0 +1,61 @@ +--URアシスタント・アーチ +--Ember the Ultra Assistant +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Draw + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_DRAW|CATEGORY_TOGRAVE|CATEGORY_TOHAND) + e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCondition(s.condition) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +function s.condition(e,tp,eg,ep,ev,re,r,rp) + return e:GetHandler():IsStatus(STATUS_SUMMON_TURN) and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=10 +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end + Duel.SetTargetPlayer(tp) + Duel.SetTargetParam(1) + Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1) +end +function s.thfilter(c) + return c:IsLocation(LOCATION_GRAVE) and c:IsAttribute(ATTRIBUTE_FIRE) and c:IsAbleToHand() +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + --Effect + local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) + Duel.Draw(p,d,REASON_EFFECT) + if Duel.IsExistingMatchingCard(Card.IsCode,tp,LOCATION_GRAVE,0,1,nil,160316023) then + Duel.DiscardDeck(tp,2,REASON_EFFECT) + local g=Duel.GetOperatedGroup() + if g:FilterCount(s.thfilter,nil)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) + local sg=g:FilterSelect(tp,s.thfilter,1,1,nil) + if #sg>0 then + Duel.SendtoHand(sg,nil,REASON_EFFECT) + Duel.ConfirmCards(1-tp,sg) + end + end + end + --Cannot activate Level 5 monster effects + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,2)) + e1:SetType(EFFECT_TYPE_FIELD) + e1:SetCode(EFFECT_CANNOT_ACTIVATE) + e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT) + e1:SetTargetRange(1,0) + e1:SetValue(s.aclimit) + e1:SetReset(RESET_PHASE|PHASE_END) + Duel.RegisterEffect(e1,tp) +end +function s.aclimit(e,re,tp) + return re:IsMonsterEffect() and re:GetHandler():GetOriginalLevel()==5 +end \ No newline at end of file diff --git a/rush/c160214036.lua b/rush/c160214036.lua new file mode 100644 index 0000000000..698286ed2a --- /dev/null +++ b/rush/c160214036.lua @@ -0,0 +1,52 @@ +--アビスカイト・アルティアンジュ +--Abysskite Ulti-Ange +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Summon with 1 tribute + local e1=aux.AddNormalSummonProcedure(c,true,true,1,1,SUMMON_TYPE_TRIBUTE,aux.Stringid(id,0),s.cfilter) + --Excavate the top 3 cards and Special Summon + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +s.listed_names={160014024,160210053} +function s.cfilter(c) + return c:IsCode(160014024) +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=3 end + Duel.SetPossibleOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) +end +function s.filter(c) + return c:IsCode(160210053) and c:IsAbleToHand() +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + --Effect + local c=e:GetHandler() + if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)<3 then return end + Duel.ConfirmDecktop(tp,3) + local g=Duel.GetDecktopGroup(tp,3) + Duel.DisableShuffleCheck() + if g:IsExists(s.filter,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,2)) then + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) + local tg=g:FilterSelect(tp,s.filter,1,1,nil) + if #tg>0 then + Duel.SendtoHand(tg,nil,REASON_EFFECT) + Duel.ConfirmCards(1-tp,tg) + Duel.ShuffleHand(tp) + g:RemoveCard(tg) + end + end + local ct=#g + if ct>0 then + Duel.MoveToDeckBottom(ct,tp) + Duel.SortDeckbottom(tp,tp,ct) + end +end \ No newline at end of file diff --git a/rush/c160214037.lua b/rush/c160214037.lua new file mode 100644 index 0000000000..07203c5386 --- /dev/null +++ b/rush/c160214037.lua @@ -0,0 +1,53 @@ +--七宝神-毘華 +--Deity of Seven Treasures - Bika +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --special summon + local e0=Effect.CreateEffect(c) + e0:SetType(EFFECT_TYPE_FIELD) + e0:SetCode(EFFECT_SPSUMMON_PROC) + e0:SetProperty(EFFECT_FLAG_UNCOPYABLE) + e0:SetRange(LOCATION_HAND) + e0:SetCondition(s.spcon) + c:RegisterEffect(e0) + --Gain 400 ATK per level 7 monster you control + local e1=Effect.CreateEffect(c) + e1:SetCategory(CATEGORY_ATKCHANGE) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetCountLimit(1) + e1:SetRange(LOCATION_MZONE) + e1:SetCost(s.cost) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +s.listed_names={160007052} +function s.cfilter(c) + return c:IsCode(160007052) or (c:IsMonster() and c:IsDefense(2700)) +end +function s.spcon(e,c) + if c==nil then return true end + return Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0 + and Duel.IsExistingMatchingCard(s.cfilter,c:GetControler(),LOCATION_GRAVE,0,1,nil) +end +function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,2) end +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsExistingMatchingCard(aux.FaceupFilter(Card.IsLevel,7),tp,LOCATION_MZONE,0,1,nil) end +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + --Requirement + if Duel.DiscardDeck(tp,2,REASON_COST)<1 then return end + local atk=Duel.GetMatchingGroupCount(aux.FaceupFilter(Card.IsLevel,7),tp,LOCATION_MZONE,0,nil) + --Increase ATK + local e1=Effect.CreateEffect(c) + e1:SetType(EFFECT_TYPE_SINGLE) + e1:SetCode(EFFECT_UPDATE_ATTACK) + e1:SetProperty(EFFECT_FLAG_COPY_INHERIT) + e1:SetReset(RESET_EVENT+RESETS_STANDARD_DISABLE+RESET_PHASE+PHASE_END) + e1:SetValue(atk*400) + c:RegisterEffect(e1) +end \ No newline at end of file diff --git a/rush/c160214038.lua b/rush/c160214038.lua new file mode 100644 index 0000000000..5f25f0c9a7 --- /dev/null +++ b/rush/c160214038.lua @@ -0,0 +1,64 @@ +--アルティメット・バースト +--Neutron Blast +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Increase ATK + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_ATKCHANGE) + e1:SetType(EFFECT_TYPE_ACTIVATE) + e1:SetCode(EVENT_FREE_CHAIN) + e1:SetTarget(s.target) + e1:SetOperation(s.activate) + c:RegisterEffect(e1) +end +function s.filter(c) + return c:IsFaceup() and c:IsCode(23995346) +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsExistingMatchingCard(aux.FilterMaximumSideFunctionEx(s.filter),tp,LOCATION_MZONE,0,1,nil) end +end +function s.activate(e,tp,eg,ep,ev,re,r,rp) + --Effect + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) + local g=Duel.SelectMatchingCard(tp,aux.FilterMaximumSideFunctionEx(s.filter),tp,LOCATION_MZONE,0,1,1,nil) + if #g>0 then + Duel.HintSelection(g) + local c=e:GetHandler() + local tc=g:GetFirst() + --Attack up to three times + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,1)) + e1:SetType(EFFECT_TYPE_SINGLE) + e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT) + e1:SetCode(EFFECT_EXTRA_ATTACK_MONSTER) + e1:SetValue(2) + e1:SetReset(RESETS_STANDARD_PHASE_END) + tc:RegisterEffect(e1) + --Prevent Trap cards activations + local e2=Effect.CreateEffect(c) + e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) + e2:SetCode(EVENT_ATTACK_ANNOUNCE) + e2:SetOperation(s.atkop) + e2:SetReset(RESETS_STANDARD_PHASE_END) + tc:RegisterEffect(e2) + end +end +function s.atkop(e,tp,eg,ep,ev,re,r,rp) + local e1=Effect.CreateEffect(e:GetHandler()) + e1:SetType(EFFECT_TYPE_FIELD) + e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) + e1:SetCode(EFFECT_CANNOT_ACTIVATE) + e1:SetTargetRange(0,1) + e1:SetValue(s.aclimit) + e1:SetCondition(s.actcon) + e1:SetReset(RESET_CHAIN) + Duel.RegisterEffect(e1,tp) +end +function s.aclimit(e,re,tp) + return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:IsTrapEffect() +end +function s.actcon(e) + return Duel.GetCurrentPhase()~=PHASE_DAMAGE +end \ No newline at end of file diff --git a/rush/c160214039.lua b/rush/c160214039.lua new file mode 100644 index 0000000000..e30aca7f50 --- /dev/null +++ b/rush/c160214039.lua @@ -0,0 +1,52 @@ +--ハーピィ・チェーロ・LS +--Harpie Cielo Light Skirt +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Fusion Procedure + c:EnableReviveLimit() + Fusion.AddProcMixN(c,true,true,160446003,1,s.ffilter,1) + Fusion.AddContactProc(c,s.contactfil,s.contactop,nil,nil,SUMMON_TYPE_FUSION,nil,false) + --Add card to hand + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_TOHAND) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCondition(s.condition) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +s.listed_names={160446003,160208002} +s.named_material={160446003} +function s.ffilter(c,fc,sumtype,tp) + return c:IsRace(RACE_WINGEDBEAST,fc,sumtype,tp) and c:IsLevelBelow(4) +end +function s.contactfil(tp) + return Duel.GetMatchingGroup(aux.FaceupFilter(Card.IsAbleToDeckOrExtraAsCost),tp,LOCATION_ONFIELD,0,nil) +end +function s.contactop(g,tp) + Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST+REASON_MATERIAL) +end +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) +end +function s.thfilter(c) + return c:IsCode(160208002) and c:IsAbleToHand() +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter,tp,LOCATION_GRAVE,0,1,nil) end + Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_GRAVE) +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + --Effect + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) + local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_GRAVE,0,1,2,nil) + if #g>0 then + Duel.SendtoHand(g,nil,REASON_EFFECT) + Duel.ConfirmCards(1-tp,g) + end +end \ No newline at end of file diff --git a/rush/c160214040.lua b/rush/c160214040.lua new file mode 100644 index 0000000000..5eb6fef08f --- /dev/null +++ b/rush/c160214040.lua @@ -0,0 +1,53 @@ +--フェニックス・ディーラー +--Phoenix Dealer +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Draw + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_DRAW) + e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCondition(s.condition) + e1:SetCost(s.cost) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +function s.condition(e,tp,eg,ep,ev,re,r,rp) + return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=10 +end +function s.costfilter(c) + return c:IsMonster() and c:IsLevel(7) and c:IsAbleToGraveAsCost() +end +function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsExistingMatchingCard(s.costfilter,tp,LOCATION_HAND,0,1,nil) end +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end + Duel.SetTargetPlayer(tp) + Duel.SetTargetParam(1) + Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1) +end +function s.spfilter(c,e,tp) + return c:IsLevel(9) and c:IsRace(RACE_MAGICALKNIGHT) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + --Requirement + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) + local g=Duel.SelectMatchingCard(tp,s.costfilter,tp,LOCATION_HAND,0,1,1,nil) + if Duel.SendtoGrave(g,REASON_COST)<1 then return end + --Effect + local sg=Duel.GetMatchingGroup(s.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp) + local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM) + if Duel.Draw(p,d,REASON_EFFECT)>0 and #sg>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) + local ssg=sg:Select(tp,1,1,nil) + if #ssg>0 then + Duel.SpecialSummon(ssg,0,tp,tp,false,false,POS_FACEUP) + end + end +end \ No newline at end of file diff --git a/rush/c160214041.lua b/rush/c160214041.lua new file mode 100644 index 0000000000..35b870873d --- /dev/null +++ b/rush/c160214041.lua @@ -0,0 +1,43 @@ +--ブラック・ボルケーノ・ドラゴン +--Black Volcano Dragon +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Summon with 1 tribute + local e1=aux.AddNormalSummonProcedure(c,true,true,1,1,SUMMON_TYPE_TRIBUTE,aux.Stringid(id,0),s.cfilter) + --Special Summon 1 Dragon monster from your hand + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_DRAW) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCondition(s.condition) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +function s.cfilter(c) + return c:IsRace(RACE_DRAGON) +end +function s.condition(e,tp,eg,ep,ev,re,r,rp) + return e:GetHandler():IsStatus(STATUS_SUMMON_TURN) +end +function s.spfilter(c,e,tp) + return c:IsRace(RACE_DRAGON) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 + and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_HAND,0,1,nil,e,tp)end + Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + --Effect + if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) + local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_HAND,0,1,1,nil,e,tp) + if Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)>0 and g:GetFirst():GetOriginalLevel()==9 and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then + Duel.BreakEffect() + Duel.Draw(tp,1,REASON_EFFECT) + end +end diff --git a/rush/c160214042.lua b/rush/c160214042.lua new file mode 100644 index 0000000000..d6b58d31f3 --- /dev/null +++ b/rush/c160214042.lua @@ -0,0 +1,39 @@ +--暗黒の邪竜 +--Wicked Dragon of Darkness +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Send the top 2 cards of deck to GY + local e1=Effect.CreateEffect(c) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetCategory(CATEGORY_TOHAND+CATEGORY_DECKDES) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCondition(s.condition) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +s.listed_names={160302004} +function s.condition(e,tp,eg,ep,ev,re,r,rp) + return e:GetHandler():IsStatus(STATUS_SUMMON_TURN|STATUS_SPSUMMON_TURN) +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,2) end + Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,2) +end +function s.thfilter(c) + return (c:IsCode(160302004) or (c:IsRace(RACE_DRAGON) and c:IsLevel(9) and c:IsAttack(2500))) and c:IsAbleToHand() +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + --Effect + if Duel.DiscardDeck(tp,2,REASON_EFFECT)>0 and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,1,nil) + and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) + local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_GRAVE,0,1,1,nil) + if #g>0 then + Duel.SendtoHand(g,nil,REASON_EFFECT) + Duel.ConfirmCards(1-tp,g) + end + end +end diff --git a/rush/c160214043.lua b/rush/c160214043.lua new file mode 100644 index 0000000000..fb4f54fc8f --- /dev/null +++ b/rush/c160214043.lua @@ -0,0 +1,36 @@ +--シャドウブリンガー・ドラゴン +--Shadowbringer Dragon +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Special summon 1 monster from GY + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_SPECIAL_SUMMON) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCondition(s.spcond) + e1:SetTarget(s.sptg) + e1:SetOperation(s.spop) + c:RegisterEffect(e1) +end +s.listed_names={160413001} +function s.spcond(e,tp,eg,ep,ev,re,r,rp) + return e:GetHandler():IsStatus(STATUS_SUMMON_TURN) +end +function s.filter(c,e,tp) + return (c:IsCode(160413001) or (c:IsRace(RACE_DRAGON) and c:IsAttribute(ATTRIBUTE_DARK) and c:IsAttack(1100) and c:IsDefense(500))) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) +end +function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 + and Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end + Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE) +end +function s.spop(e,tp,eg,ep,ev,re,r,rp) + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) + local g=Duel.SelectMatchingCard(tp,s.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) + if #g>0 then + Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_DEFENSE) + end +end \ No newline at end of file diff --git a/rush/c160214044.lua b/rush/c160214044.lua new file mode 100644 index 0000000000..b8f5e3811c --- /dev/null +++ b/rush/c160214044.lua @@ -0,0 +1,44 @@ +--マジニカル・ファンタスティック +--Maginical Fantastic +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Special Summon + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_SPECIAL_SUMMON) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCondition(function(e)return e:GetHandler():IsStatus(STATUS_SUMMON_TURN)end) + e1:SetTarget(s.target) + e1:SetOperation(s.activate) + c:RegisterEffect(e1) +end +function s.spfilter(c,e,tp) + return c:IsRace(RACE_PSYCHIC) and (c:IsAttack(100) or c:IsDefense(100)) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 + and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end + Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE) +end +function s.activate(e,tp,eg,ep,ev,re,r,rp) + if Duel.GetLocationCount(tp,LOCATION_MZONE)==0 then return end + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) + local sg=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,1,1,nil,e,tp) + if #sg>0 then + Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP) + end + local e1=Effect.CreateEffect(e:GetHandler()) + e1:SetType(EFFECT_TYPE_FIELD) + e1:SetCode(EFFECT_CANNOT_SUMMON) + e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) + e1:SetTargetRange(1,0) + e1:SetTarget(s.sumlimit) + e1:SetReset(RESET_PHASE|PHASE_END) + Duel.RegisterEffect(e1,tp) +end +function s.sumlimit(e,c) + return c:IsLevel(2) and c:IsType(TYPE_EFFECT) +end \ No newline at end of file diff --git a/rush/c160214045.lua b/rush/c160214045.lua new file mode 100644 index 0000000000..bcb25684b0 --- /dev/null +++ b/rush/c160214045.lua @@ -0,0 +1,45 @@ +--ジョインテック・ベビータイラント +--Jointech Baby Tyrant +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Send the top 2 cards of your Deck to the GY + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_DECKDES) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCondition(s.condition) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +s.listed_names={160016058} +function s.condition(e,tp,eg,ep,ev,re,r,rp) + return e:GetHandler():IsStatus(STATUS_SUMMON_TURN) +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,2) end + Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,2) +end +function s.cfilter(c) + return c:IsMonster() and c:IsRace(RACE_MACHINE) +end +function s.thfilter(c) + return c:IsCode(160016058) and c:IsAbleToHand() +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + --Effect + if Duel.DiscardDeck(tp,2,REASON_EFFECT)~=2 then return end + if Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_GRAVE,0,3,nil) + and Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.thfilter),tp,LOCATION_GRAVE,0,1,nil) + and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND) + local g=Duel.SelectMatchingCard(tp,s.thfilter,tp,LOCATION_GRAVE,0,1,1,nil) + if #g>0 then + Duel.SendtoHand(g,nil,REASON_EFFECT) + Duel.ConfirmCards(1-tp,g) + end + end +end \ No newline at end of file diff --git a/rush/c160214049.lua b/rush/c160214049.lua new file mode 100644 index 0000000000..a28812ce38 --- /dev/null +++ b/rush/c160214049.lua @@ -0,0 +1,42 @@ +--サイバー・バジリスク +--Cyber Basilisk +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Change position + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_POSITION) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCondition(s.condition) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +function s.cfilter(c) + return c:IsRace(RACE_MACHINE) and c:IsLevelAbove(5) and c:IsFaceup() +end +function s.condition(e,tp,eg,ep,ev,re,r,rp) + return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil) +end +function s.posfilter(c) + return c:IsCanTurnSet() and c:IsCanChangePositionRush() +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsExistingMatchingCard(s.posfilter,tp,0,LOCATION_MZONE,1,nil) end + Duel.SetOperationInfo(0,CATEGORY_POSITION,nil,1,0,0) +end +function s.cfilter2(c) + return c:IsRace(RACE_MACHINE) and c:IsLevelAbove(8) and c:IsType(TYPE_FUSION) and c:IsFaceup() +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + --Effect + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) + local g=Duel.SelectMatchingCard(tp,s.posfilter,tp,0,LOCATION_MZONE,1,1,nil) + Duel.HintSelection(g) + if Duel.ChangePosition(g,POS_FACEDOWN_DEFENSE)>0 and Duel.IsExistingMatchingCard(s.cfilter2,tp,LOCATION_MZONE,0,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then + Duel.Destroy(g,REASON_EFFECT) + end +end diff --git a/rush/c160214051.lua b/rush/c160214051.lua new file mode 100644 index 0000000000..8d93d1d8b5 --- /dev/null +++ b/rush/c160214051.lua @@ -0,0 +1,27 @@ +--ザ☆バーサス・フュージョン +--The Versus Fusion +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + local e1=Fusion.CreateSummonEff(c,s.fusfilter,aux.FALSE,s.fextra,Fusion.ShuffleMaterial) + c:RegisterEffect(e1) +end +s.listed_names={160012003} +function s.fusfilter(c) + return c:ListsCodeAsMaterial(160012003) +end +function s.fcheck(tp,sg,fc) + return sg:FilterCount(Card.IsLocation,nil,LOCATION_MZONE)>0 and sg:FilterCount(Card.IsLocation,nil,LOCATION_GRAVE)>0 +end +function s.exfilter(c) + if c:IsRace(RACE_DRAGON) and not c:IsCode(160012003) then return false end + if c:IsLocation(LOCATION_MZONE) then return c:IsType(TYPE_NORMAL) end + return true +end +function s.fextra(e,tp,mg) + local eg=Duel.GetMatchingGroup(s.exfilter,tp,LOCATION_MZONE|LOCATION_GRAVE,0,nil) + if #eg>0 then + return eg,s.fcheck + end + return nil +end \ No newline at end of file diff --git a/rush/c160214501.lua b/rush/c160214501.lua new file mode 100644 index 0000000000..114beaafc5 --- /dev/null +++ b/rush/c160214501.lua @@ -0,0 +1,3 @@ +--永劫の神導龍 +--Eternity Aether Dragon +Duel.LoadCardScriptAlias(160214001) diff --git a/rush/c160321029.lua b/rush/c160321029.lua index fcc0ceff00..4dc70ea6fd 100644 --- a/rush/c160321029.lua +++ b/rush/c160321029.lua @@ -21,6 +21,7 @@ function s.fextra(e,tp,mg) end function s.stage2(e,tc,tp,mg,chk) if chk==0 then + Duel.SpecialSummonComplete() local sg=Duel.GetMatchingGroup(Card.IsNotMaximumModeSide,tp,LOCATION_MZONE,0,tc) if #sg>0 then Duel.Destroy(sg,REASON_EFFECT) diff --git a/rush/c160323001.lua b/rush/c160323001.lua new file mode 100644 index 0000000000..b2f552986a --- /dev/null +++ b/rush/c160323001.lua @@ -0,0 +1,17 @@ +--マジシャン・オブ・ブラックカオス +--Magician of Black Chaos +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Ritual + c:EnableReviveLimit() + --Name becomes "Dark Magician" while in the GY + local e1=Effect.CreateEffect(c) + e1:SetType(EFFECT_TYPE_SINGLE) + e1:SetCode(EFFECT_CHANGE_CODE) + e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) + e1:SetRange(LOCATION_GRAVE) + e1:SetValue(CARD_DARK_MAGICIAN) + c:RegisterEffect(e1) +end +s.listed_names={CARD_DARK_MAGICIAN} \ No newline at end of file diff --git a/rush/c160323002.lua b/rush/c160323002.lua new file mode 100644 index 0000000000..0962cc7ca5 --- /dev/null +++ b/rush/c160323002.lua @@ -0,0 +1,37 @@ +--セレモニアル・ソーサラー +--Ceremonial Sorcerer +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Ritual + c:EnableReviveLimit() + --Destroy 1 card your opponent controls + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,1)) + e1:SetCategory(CATEGORY_DESTROY+CATEGORY_ATKCHANGE) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCondition(s.condition) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +function s.cfilter(c) + return c:IsFaceup() and c:IsLevel(8) and c:IsRace(RACE_SPELLCASTER) and c:IsRitualMonster() +end +function s.condition(e,tp,eg,ep,ev,re,r,rp) + return Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil) +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsExistingMatchingCard(Card.IsNotMaximumModeSide,tp,0,LOCATION_ONFIELD,1,nil) end + Duel.SetOperationInfo(0,CATEGORY_DESTROY,nil,1,1-tp,LOCATION_ONFIELD) +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + --Effect + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) + local dg=Duel.SelectMatchingCard(tp,Card.IsNotMaximumModeSide,tp,0,LOCATION_ONFIELD,1,1,nil) + local dg2=dg:AddMaximumCheck() + Duel.HintSelection(dg2) + Duel.Destroy(dg,REASON_EFFECT) +end \ No newline at end of file diff --git a/rush/c160323003.lua b/rush/c160323003.lua new file mode 100644 index 0000000000..c1bb64317f --- /dev/null +++ b/rush/c160323003.lua @@ -0,0 +1,52 @@ +--セレモニアル・ナイト +--Ceremonial Knight +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Ritual + c:EnableReviveLimit() + -- Increase self ATK + local e1=Effect.CreateEffect(c) + e1:SetCategory(CATEGORY_ATKCHANGE) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCost(s.cost) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsPlayerCanDiscardDeckAsCost(tp,1) end +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return true end + Duel.SetOperationInfo(0,CATEGORY_ATKCHANGE,e:GetHandler(),1,tp,1000) +end +function s.cfilter(c) + return c:IsFaceup() and c:IsLevel(8) and c:IsRace(RACE_SPELLCASTER) and c:IsRitualMonster() +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + --Requirement + if Duel.DiscardDeck(tp,1,REASON_COST)<1 then return end + --Effect + local c=e:GetHandler() + --Gain ATK + local e1=Effect.CreateEffect(c) + e1:SetType(EFFECT_TYPE_SINGLE) + e1:SetCode(EFFECT_UPDATE_ATTACK) + e1:SetReset(RESET_EVENT+RESETS_STANDARD_DISABLE+RESET_PHASE+PHASE_END) + e1:SetValue(1000) + c:RegisterEffect(e1) + local g=Duel.GetMatchingGroup(Card.IsFaceup,tp,LOCATION_MZONE,0,nil) + if #g>0 and Duel.IsExistingMatchingCard(s.cfilter,tp,LOCATION_MZONE,0,1,nil) then + for tc in g:Iter() do + local e1=Effect.CreateEffect(c) + e1:SetType(EFFECT_TYPE_SINGLE) + e1:SetCode(EFFECT_UPDATE_ATTACK) + e1:SetValue(500) + e1:SetReset(RESETS_STANDARD_PHASE_END) + tc:RegisterEffect(e1) + end + end +end \ No newline at end of file diff --git a/rush/c160323006.lua b/rush/c160323006.lua new file mode 100644 index 0000000000..ac4e398ad1 --- /dev/null +++ b/rush/c160323006.lua @@ -0,0 +1,47 @@ +--混沌の翼竜 +--Winged Dragon of Chaos +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Set "Black Magic Ritual" + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_DRAW) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCondition(function(e) return e:GetHandler():IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN) end) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) + aux.GlobalCheck(s,function() + local ge1=Effect.CreateEffect(c) + ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) + ge1:SetCode(EVENT_DRAW) + ge1:SetOperation(s.checkop) + Duel.RegisterEffect(ge1,0) + end) +end +s.listed_names={76792184} +function s.checkop(e,tp,eg,ep,ev,re,r,rp) + if Duel.IsMainPhase() then + Duel.RegisterFlagEffect(ep,id,RESET_PHASE|PHASE_END,0,1) + end +end +function s.setfilter(c) + return c:IsCode(76792184) and c:IsSSetable() +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsExistingMatchingCard(s.setfilter,tp,LOCATION_GRAVE,0,1,nil) end +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + --Effect + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET) + local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.setfilter),tp,LOCATION_GRAVE,0,1,1,nil) + if #g==0 then return end + Duel.SSet(tp,g) + if Duel.GetFlagEffect(tp,id)==0 and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then + Duel.BreakEffect() + Duel.Draw(tp,1,REASON_EFFECT) + end +end \ No newline at end of file diff --git a/rush/c160323007.lua b/rush/c160323007.lua new file mode 100644 index 0000000000..d032c94497 --- /dev/null +++ b/rush/c160323007.lua @@ -0,0 +1,36 @@ +--進軍するルイーズ +--Marching Beaver Warrior +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Send the top 2 cards of your Deck to the GY + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_DECKDES+CATEGORY_DAMAGE) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCondition(function(e)return e:GetHandler():IsStatus(STATUS_SUMMON_TURN)end) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,2) end + Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,2) +end +function s.spfilter(c,e,tp) + return ((c:IsAttack(1200) and c:IsDefense(1500)) or (c:IsAttack(1400) and c:IsDefense(1200))) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + --Effect + if Duel.DiscardDeck(tp,2,REASON_EFFECT)~=2 then return end + local sg=Duel.GetMatchingGroup(s.spfilter,tp,LOCATION_GRAVE,0,nil,e,tp) + if #sg>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) + local ssg=sg:Select(tp,1,1,nil) + if #ssg>0 then + Duel.SpecialSummon(ssg,0,tp,tp,false,false,POS_FACEUP_DEFENSE) + end + end +end \ No newline at end of file diff --git a/rush/c160323008.lua b/rush/c160323008.lua new file mode 100644 index 0000000000..2d22801a25 --- /dev/null +++ b/rush/c160323008.lua @@ -0,0 +1,37 @@ +--光を誘うグリフォール +--Light-Calling Griffore +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Set 1 card + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCost(s.cost) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +function s.revealfilter(c,tp) + return c:IsRace(RACE_WARRIOR|RACE_SPELLCASTER) and c:IsType(TYPE_RITUAL) and c:IsDefenseAbove(2500) and not c:IsPublic() + and Duel.IsExistingMatchingCard(s.setfilter,tp,LOCATION_GRAVE,0,1,nil,c) +end +function s.setfilter(c,tc) + return c:IsRitualSpell() and c:ListsCode(tc:GetCode()) and c:IsSSetable() +end +function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsExistingMatchingCard(s.revealfilter,tp,LOCATION_EXTRA,0,1,nil,tp) end +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + --Requirement + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_CONFIRM) + local tc=Duel.SelectMatchingCard(tp,s.revealfilter,tp,LOCATION_EXTRA,0,1,1,nil,tp):GetFirst() + Duel.ConfirmCards(1-tp,tc) + Duel.ShuffleExtra(tp) + --Effect + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET) + local g=Duel.SelectMatchingCard(tp,aux.NecroValleyFilter(s.setfilter),tp,LOCATION_GRAVE,0,1,1,nil,tc) + if #g==0 then return end + Duel.SSet(tp,g) +end diff --git a/rush/c160323009.lua b/rush/c160323009.lua new file mode 100644 index 0000000000..54f29475cc --- /dev/null +++ b/rush/c160323009.lua @@ -0,0 +1,59 @@ +--闇を導くクリボー +--Dark-Guiding Kuriboh +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Make 1 monster lose 600 ATK + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_ATKCHANGE) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCost(s.cost) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsPlayerCanDiscardDeck(tp,2) end +end +function s.filter(c) + return c:IsFaceup() and c:IsLevelBelow(8) and c:IsNotMaximumModeSide() +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsExistingMatchingCard(s.filter,tp,0,LOCATION_MZONE,1,nil) end +end +function s.spfilter(c,e,tp) + return ((c:IsLevel(7) and c:IsDefense(2100)) or c:IsCode(id)) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEDOWN_DEFENSE) +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + --Requirement + if Duel.DiscardDeck(tp,2,REASON_COST)<1 then return end + --Effect + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) + local g=Duel.SelectMatchingCard(tp,s.filter,tp,0,LOCATION_MZONE,1,1,nil) + if #g>0 then + local tc=g:GetFirst() + Duel.HintSelection(g) + --Cannot attack + local e1=Effect.CreateEffect(c) + e1:SetDescription(3206) + e1:SetProperty(EFFECT_FLAG_CLIENT_HINT) + e1:SetType(EFFECT_TYPE_SINGLE) + e1:SetCode(EFFECT_CANNOT_ATTACK) + e1:SetCondition(function(e) return Duel.IsTurnPlayer(1-e:GetOwnerPlayer()) end) + e1:SetReset(RESETS_STANDARD_PHASE_END|RESET_SELF_TURN,1) + tc:RegisterEffect(e1) + local g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,nil,e,tp) + if #g2>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) + local sg=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) + if #sg>0 then + Duel.BreakEffect() + Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEDOWN_DEFENSE) + end + end + end +end \ No newline at end of file diff --git a/rush/c160323010.lua b/rush/c160323010.lua new file mode 100644 index 0000000000..b9379d5dbb --- /dev/null +++ b/rush/c160323010.lua @@ -0,0 +1,51 @@ +--祭殿の探求者 +--Explorer of the Temple +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Activate + local e1=Effect.CreateEffect(c) + e1:SetCategory(CATEGORY_SPECIAL_SUMMON) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCost(s.cost) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +function s.tdfilter(c,tp) + return c:IsMonster() and c:IsAbleToDeckOrExtraAsCost() +end +function s.spfilter(c,e,tp) + return c:IsLevel(7) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) + and Duel.IsExistingMatchingCard(s.tdfilter,tp,LOCATION_GRAVE,0,2,c,tp) +end +function s.cost(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 + and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end + Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE) +end +function s.spfilter2(c,e,tp) + return c:IsLevel(7) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + --Requirement + local g=Duel.GetMatchingGroup(s.tdfilter,tp,LOCATION_GRAVE,0,nil) + local td=aux.SelectUnselectGroup(g,e,tp,2,2,s.rescon,1,tp,HINTMSG_SELECT) + Duel.HintSelection(td) + if Duel.SendtoDeck(td,nil,SEQ_DECKSHUFFLE,REASON_COST)<1 then return end + --Effect + if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) + local g=Duel.SelectMatchingCard(tp,s.spfilter2,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) + if #g>0 then + Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) + end +end +function s.rescon(sg,e,tp,mg) + return Duel.IsExistingMatchingCard(s.spfilter2,tp,LOCATION_GRAVE,0,1,sg,e,tp) +end \ No newline at end of file diff --git a/rush/c160323029.lua b/rush/c160323029.lua new file mode 100644 index 0000000000..fefaed09e8 --- /dev/null +++ b/rush/c160323029.lua @@ -0,0 +1,45 @@ +--精神操作 +--Mind Control +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Make 1 of opponent's monsters able to be Tributed + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_ATKCHANGE) + e1:SetType(EFFECT_TYPE_ACTIVATE) + e1:SetCode(EVENT_FREE_CHAIN) + e1:SetTarget(s.target) + e1:SetOperation(s.activate) + c:RegisterEffect(e1) +end +function s.filter(c) + return c:IsFaceup() and not c:IsMaximumMode() and c:IsControlerCanBeChanged(true) +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 + and Duel.IsExistingMatchingCard(s.filter,tp,0,LOCATION_MZONE,1,nil) end +end +function s.activate(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + --Effect + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP) + local g=Duel.SelectMatchingCard(tp,s.filter,tp,0,LOCATION_MZONE,1,1,nil) + if #g==0 then return end + local tc=g:GetFirst() + Duel.HintSelection(g) + if Duel.GetControl(tc,tp) then + local e1=Effect.CreateEffect(c) + local reset=RESET_EVENT|RESETS_STANDARD-RESET_TURN_SET|RESET_PHASE|PHASE_END + e1:SetType(EFFECT_TYPE_SINGLE) + e1:SetCode(EFFECT_UNRELEASABLE_SUM) + e1:SetReset(reset) + e1:SetValue(1) + tc:RegisterEffect(e1) + local e3=Effect.CreateEffect(c) + e3:SetType(EFFECT_TYPE_SINGLE) + e3:SetCode(EFFECT_CANNOT_ATTACK) + e3:SetReset(reset) + tc:RegisterEffect(e3) + end +end \ No newline at end of file diff --git a/rush/c160323030.lua b/rush/c160323030.lua new file mode 100644 index 0000000000..9965bc380d --- /dev/null +++ b/rush/c160323030.lua @@ -0,0 +1,12 @@ +--カオス-黒魔術の儀式 +--Black Magic Ritual +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + local e1=Ritual.CreateProc({handler=c,lvtype=RITPROC_GREATER,filter=s.ritualfil}) + c:RegisterEffect(e1) +end +s.listed_names={30208479} +function s.ritualfil(c) + return c:IsCode(30208479) +end \ No newline at end of file diff --git a/rush/c160323031.lua b/rush/c160323031.lua new file mode 100644 index 0000000000..c2f00a9d40 --- /dev/null +++ b/rush/c160323031.lua @@ -0,0 +1,15 @@ +--セレモニアル・ゲート +--Ceremonial Gate +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + local e1=Ritual.CreateProc({handler=c,lvtype=RITPROC_GREATER,filter=s.ritualfil,matfilter=s.forcedgroup}) + c:RegisterEffect(e1) +end +s.listed_names={160323002,160323003} +function s.ritualfil(c) + return c:IsCode(160323002,160323003) +end +function s.forcedgroup(c,e,tp) + return c:IsLocation(LOCATION_MZONE) and c:IsFaceup() +end \ No newline at end of file diff --git a/rush/c160402051.lua b/rush/c160402051.lua new file mode 100644 index 0000000000..1171d9eb47 --- /dev/null +++ b/rush/c160402051.lua @@ -0,0 +1,53 @@ +--旋風の魔導師トルネ +--Torna the Magician of Whirlwinds +--scripted by YoshiDuels +local s,id=GetID() +function s.initial_effect(c) + --Fusion Procedure + c:EnableReviveLimit() + Fusion.AddProcMixN(c,true,true,160301002,1,s.ffilter,1) + --Destroy 1 Defense Position monster the opponent controls + local e1=Effect.CreateEffect(c) + e1:SetDescription(aux.Stringid(id,0)) + e1:SetCategory(CATEGORY_DESTROY) + e1:SetType(EFFECT_TYPE_IGNITION) + e1:SetRange(LOCATION_MZONE) + e1:SetCountLimit(1) + e1:SetCondition(s.condition) + e1:SetTarget(s.target) + e1:SetOperation(s.operation) + c:RegisterEffect(e1) +end +s.named_material={160301002} +function s.ffilter(c,fc,sumtype,tp) + return c:IsRace(RACE_SPELLCASTER,scard,sumtype,tp) and c:IsAttribute(ATTRIBUTE_DARK,scard,sumtype,tp) +end +function s.condition(e,tp,eg,ep,ev,re,r,rp) + local c=e:GetHandler() + return c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsSummonType(SUMMON_TYPE_FUSION) +end +function s.target(e,tp,eg,ep,ev,re,r,rp,chk) + if chk==0 then return Duel.IsExistingMatchingCard(aux.FaceupFilter(Card.IsDefensePos),tp,0,LOCATION_MZONE,1,nil) end + Duel.SetPossibleOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_GRAVE) +end +function s.spfilter(c,e,tp) + return c:IsLevel(9) and c:IsRace(RACE_SPELLCASTER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP) +end +function s.operation(e,tp,eg,ep,ev,re,r,rp) + --Effect + local g=Duel.GetMatchingGroup(aux.FaceupFilter(Card.IsDefensePos,8),tp,0,LOCATION_MZONE,nil) + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY) + local dg=g:Select(tp,1,1,nil) + local dg2=dg:AddMaximumCheck() + Duel.HintSelection(dg2) + local ct=Duel.Destroy(dg,REASON_EFFECT) + local g2=Duel.GetMatchingGroup(aux.NecroValleyFilter(s.spfilter),tp,LOCATION_GRAVE,0,nil,e,tp) + if ct>0 and #g2>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then + Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) + local sg=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp) + if #sg>0 then + Duel.BreakEffect() + Duel.SpecialSummon(sg,0,tp,tp,false,false,POS_FACEUP) + end + end +end \ No newline at end of file diff --git a/rush/c160452022.lua b/rush/c160452022.lua new file mode 100644 index 0000000000..a92a07c805 --- /dev/null +++ b/rush/c160452022.lua @@ -0,0 +1,3 @@ +--花牙封じのエトランゼ +--Etraynze the Shadow Flower Restricter +Duel.LoadCardScriptAlias(160210041) diff --git a/rush/c160452023.lua b/rush/c160452023.lua new file mode 100644 index 0000000000..788c3555c7 --- /dev/null +++ b/rush/c160452023.lua @@ -0,0 +1,3 @@ +--支援ユニット-クマミミ +--Support Unit - Kumamimi +Duel.LoadCardScriptAlias(160019032) diff --git a/rush/c160452024.lua b/rush/c160452024.lua new file mode 100644 index 0000000000..a85dd155d0 --- /dev/null +++ b/rush/c160452024.lua @@ -0,0 +1,3 @@ +--究極の青眼伝説 +--The Ultimate Blue-Eyed Legend +Duel.LoadCardScriptAlias(160319027) diff --git a/rush/c160452025.lua b/rush/c160452025.lua new file mode 100644 index 0000000000..78de93d658 --- /dev/null +++ b/rush/c160452025.lua @@ -0,0 +1,3 @@ +--夢中の誘い +--Invitation to a Delirious Dream +Duel.LoadCardScriptAlias(160017066)