Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions rush/c160027027.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
--剛腕のサイクロプス
--Strong-Armed Hitotsu-Me Giant
--scripted by Cybercatman
local s,id=GetID()
function s.initial_effect(c)
--Choose 1 "Revival of Sennen Genjin" in your Graveyard and Set it to your Spell & Trap Zone
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SET)
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
s.listed_names={160027057} --Revival of Sennen Genjin
function s.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SUMMON_TURN+STATUS_SPSUMMON_TURN)
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,1,nil) end
end
function s.setfilter(c)
return c:IsCode(160027057) and c:IsSSetable()
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(aux.NecroValleyFilter(s.setfilter),tp,LOCATION_GRAVE,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_SET,nil,1,tp,LOCATION_GRAVE)
end
function s.operation(e,tp,eg,ep,ev,re,r,rp)
--Requirement
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local td=Duel.SelectMatchingCard(tp,Card.IsAbleToDeckOrExtraAsCost,tp,LOCATION_HAND,0,1,1,nil)
if #td==0 or Duel.SendtoDeck(td,nil,SEQ_DECKBOTTOM,REASON_COST)==0 then return end
--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
if Duel.SSet(tp,g)>0 and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=10
and Duel.IsPlayerCanDraw(tp,1) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
Duel.Draw(tp,1,REASON_EFFECT)
end
end
37 changes: 37 additions & 0 deletions rush/c160027028.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
--俊敏なるタイガー・アックス
--Keen and Nimble Tiger Axe
--scripted by Cybercatman
local s,id=GetID()
function s.initial_effect(c)
--Destroy 1 Spell/Trap your 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
function s.filter(c)
return c:IsRace(RACE_BEASTWARRIOR) and c:IsLevel(8) and c:IsFaceup()
end
function s.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(s.filter,tp,LOCATION_MZONE,0,1,nil)
end
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
local dg=Duel.GetMatchingGroup(Card.IsSpellTrap,tp,0,LOCATION_ONFIELD,nil)
if chk==0 then return #dg>0 end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,dg,1,tp,0)
end
function s.operation(e,tp,eg,ep,ev,re,r,rp)
local dg=Duel.GetMatchingGroup(Card.IsSpellTrap,tp,0,LOCATION_ONFIELD,nil)
if #dg>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local sg=dg:Select(tp,1,1,nil)
Duel.HintSelection(sg)
Duel.Destroy(sg,REASON_EFFECT)
end
end
49 changes: 49 additions & 0 deletions rush/c160027029.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
--圧壊のゴーレム
--Crusher Golem
--scripted by Cybercatman
local s,id=GetID()
function s.initial_effect(c)
--This card's name is treated as "Destroyer Golem" for the rest of this turn
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:SetTarget(s.target)
e1:SetOperation(s.operation)
c:RegisterEffect(e1)
end
s.listed_names={73481154}
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)
local c=e:GetHandler()
if chk==0 then return not c:IsCode(73481154) 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)<2 then return end
--Effect
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetCode(EFFECT_CHANGE_CODE)
e1:SetValue(73481154)
e1:SetReset(RESETS_STANDARD_PHASE_END)
c:RegisterEffect(e1)
--You cannot attack with monsters for the rest of this turn, except EARTH monsters.
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ATTACK)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(s.ftarget)
e1:SetReset(RESET_PHASE|PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function s.ftarget(e,c)
return not c:IsAttribute(ATTRIBUTE_EARTH)
end
65 changes: 65 additions & 0 deletions rush/c160027042.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
--堅守する千年ゴーレム
--Invincible Millennium Golem
--scripted by Cybercatman
local s,id=GetID()
function s.initial_effect(c)
c:EnableReviveLimit()
--Fusion materials: "Destroyer Golem" + 1 Level 5 or lower EARTH monster
Fusion.AddProcMixN(c,true,true,73481154,1,s.matfilter,1)
Fusion.AddContactProc(c,s.contactfil,s.contactop,nil,nil,SUMMON_TYPE_FUSION,nil,false)
--Choose 1 "Revival of Sennin Genjin" in your Graveyard and add it to the hand. Then, you can choose up to 2 cards in your opponent's Graveyard and shuffle them into the Deck. If they are returned, then this card's Level is increased by 2 until the end of the turn.
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_TODECK+CATEGORY_LVCHANGE)
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={73481154} --Destroyer Golem
s.listed_names={160027057} --"Revival of Sennin Genjin"
function s.contactfil(tp)
return Duel.GetMatchingGroup(aux.FaceupFilter(Card.IsAbleToDeckOrExtraAsCost),tp,LOCATION_MZONE,0,nil)
end
function s.contactop(g,tp)
Duel.SendtoDeck(g,nil,SEQ_DECKSHUFFLE,REASON_COST+REASON_MATERIAL)
end
function s.matfilter(c,scard,sumtype,tp)
return c:IsAttribute(ATTRIBUTE_EARTH,scard,sumtype,tp) and c:IsLevelBelow(5)
end
function s.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:IsSummonPhaseMain() and c:IsStatus(STATUS_SPSUMMON_TURN) and c:IsFusionSummoned()
end
function s.thfilter(c)
return c:IsCode(160027057) 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)
Duel.SetPossibleOperationInfo(0,CATEGORY_TODECK,nil,1,1-tp,LOCATION_GRAVE)
Duel.SetPossibleOperationInfo(0,CATEGORY_LVCHANGE,e:GetHandler(),1,tp,2)
end
function s.tdfilter(c)
return c:IsAbleToDeck()
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,1,nil)
if #g>0 and Duel.SendtoHand(g,nil,REASON_EFFECT)>0 then
Duel.ConfirmCards(1-tp,g)
if Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_GRAVE,1,nil) and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local todeck_g=Duel.SelectMatchingCard(tp,Card.IsAbleToDeck,tp,0,LOCATION_GRAVE,1,2,nil)
Duel.HintSelection(todeck_g)
if Duel.SendtoDeck(todeck_g,nil,SEQ_DECKSHUFFLE,REASON_EFFECT)>0 then
--This card's Level is increased by 2 until the end of the turn.
e:GetHandler():UpdateLevel(2,RESETS_STANDARD_PHASE_END,e:GetHandler())
end
end
end
end
27 changes: 27 additions & 0 deletions rush/c160027047.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
--押し通す千年原人
--The Unstoppable Sengenjin
--scripted by Cybercatman
local s,id=GetID()
function s.initial_effect(c)
c:EnableReviveLimit()
--If this card battles an opponent's monster, any battle damage this card inflicts to your opponent is doubled
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_BATTLE_DAMAGE)
e1:SetCondition(function(e) local bc=e:GetHandler():GetBattleTarget() return bc and bc:IsControler(1-e:GetHandlerPlayer()) end)
e1:SetValue(aux.ChangeBattleDamage(1,DOUBLE_DAMAGE))
c:RegisterEffect(e1)
--During your turn, if there are 10 or more monsters in your Graveyard, this card gains 500 ATK.
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCondition(s.con)
e2:SetValue(500)
c:RegisterEffect(e2)
end
function s.con(e)
local tp=e:GetHandlerPlayer()
return Duel.IsTurnPlayer(tp) and Duel.GetMatchingGroupCount(Card.IsMonster,tp,LOCATION_GRAVE,0,nil)>=10
end
38 changes: 38 additions & 0 deletions rush/c160027056.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
--千年原人の儀式
--Ritual of Sennen Genjin
--scripted by Cybercatman
local s,id=GetID()
function s.initial_effect(c)
--Name becomes "Revival of Sennin Genjin" in the Graveyard
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_CHANGE_CODE)
e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e0:SetRange(LOCATION_GRAVE)
e0:SetValue(160027057)
c:RegisterEffect(e0)
--Ritual Summon "Sengenjin" or "The Unstoppable Sennen Genjin" by sending face-up EARTH monsters from your field whose total Levels equal 8 or more to the Graveyard
local e1=Ritual.CreateProc({handler=c,lvtype=RITPROC_GREATER,filter=s.ritualfil,matfilter=s.forcedgroup,stage2=s.stage2})
c:RegisterEffect(e1)
end
s.listed_names={76232340,160027047,160027057} --"Sengenjin", "The Unstoppable Sengenjin", "Revival of Sennen Genjin"
function s.ritualfil(c)
return c:IsCode(76232340,160027047)
end
function s.forcedgroup(c,e,tp)
return c:IsLocation(LOCATION_MZONE) and c:IsAttribute(ATTRIBUTE_EARTH) and c:IsFaceup()
end
function s.stage2(mg,e,tp,eg,ep,ev,re,r,rp,tc)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ATTACK)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(s.ftarget)
e1:SetReset(RESET_PHASE|PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function s.ftarget(e,c)
return not c:IsAttribute(ATTRIBUTE_EARTH)
end
15 changes: 15 additions & 0 deletions rush/c160027057.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
--千年原人の復活
--Revival of Sennen Genjin
--scripted by Cybercatman
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={76232340} --"Sengenjin"
function s.ritualfil(c)
return c:IsCode(76232340)
end
function s.forcedgroup(c,e,tp)
return c:IsLocation(LOCATION_MZONE|LOCATION_HAND)
end
60 changes: 60 additions & 0 deletions rush/c160027058.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
--千年の粉砕者
--Millennium Smasher
--scripted by Cybercatman
local s,id=GetID()
function s.initial_effect(c)
--Name becomes "Revival of Sennin Genjin" in the Graveyard
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_CHANGE_CODE)
e0:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e0:SetRange(LOCATION_GRAVE)
e0:SetValue(160027057)
c:RegisterEffect(e0)
--Choose 1 "Sengenjin" in your Graveyard and Special Summon it to your field face-up
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(id,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(s.target)
e1:SetOperation(s.activate)
c:RegisterEffect(e1)
end
s.listed_names={160027057,76232340} --"Revival of Sennin Genjin", "Sengenjin"
function s.spfilter(c,e,tp)
return c:IsCode(76232340) 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)
--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_GRAVE,0,1,1,nil,e,tp)
Duel.HintSelection(g)
if #g>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)>0
and Duel.IsExistingMatchingCard(Card.IsNotMaximumModeSide,tp,0,LOCATION_ONFIELD,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(id,1)) then
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
--You cannot attack with monsters for the rest of this turn, except EARTH monsters.
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ATTACK)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetTargetRange(LOCATION_MZONE,0)
e1:SetTarget(s.ftarget)
e1:SetReset(RESET_PHASE|PHASE_END)
Duel.RegisterEffect(e1,tp)
end
function s.ftarget(e,c)
return not c:IsAttribute(ATTRIBUTE_EARTH)
end
7 changes: 7 additions & 0 deletions rush/c160027069.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
--千年原人 (Rush)
--Sengenjin (Rush)
--scripted by Cybercatman
local s,id=GetID()
function s.initial_effect(c)
c:EnableReviveLimit()
end
Loading