Commit b02fb8a8 authored by Fluorohydride's avatar Fluorohydride

Merge pull request #936 from salix5/patch1

fix (10/09)
parents cfba415a 018ff55d
...@@ -2218,12 +2218,12 @@ int32 field::special_summon_rule(uint16 step, uint8 sumplayer, card * target) { ...@@ -2218,12 +2218,12 @@ int32 field::special_summon_rule(uint16 step, uint8 sumplayer, card * target) {
send_to(&cset, 0, REASON_RULE, sumplayer, sumplayer, LOCATION_GRAVE, 0, 0); send_to(&cset, 0, REASON_RULE, sumplayer, sumplayer, LOCATION_GRAVE, 0, 0);
adjust_instant(); adjust_instant();
add_process(PROCESSOR_POINT_EVENT, 0, 0, 0, FALSE, 0); add_process(PROCESSOR_POINT_EVENT, 0, 0, 0, FALSE, 0);
if(pgroup->container.size() == 0)
return TRUE;
return FALSE; return FALSE;
} }
case 27: { case 27: {
group* pgroup = core.units.begin()->ptarget; group* pgroup = core.units.begin()->ptarget;
if(pgroup->container.size() == 0)
return TRUE;
for(auto oeit = effects.oath.begin(); oeit != effects.oath.end(); ++oeit) for(auto oeit = effects.oath.begin(); oeit != effects.oath.end(); ++oeit)
if(oeit->second == core.units.begin()->peffect) if(oeit->second == core.units.begin()->peffect)
oeit->second = 0; oeit->second = 0;
......
...@@ -38,7 +38,7 @@ function c10691144.rmop(e,tp,eg,ep,ev,re,r,rp) ...@@ -38,7 +38,7 @@ function c10691144.rmop(e,tp,eg,ep,ev,re,r,rp)
local flag=e:GetLabel() local flag=e:GetLabel()
if bit.band(flag,LOCATION_HAND)~=0 then if bit.band(flag,LOCATION_HAND)~=0 then
local rg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_HAND,nil) local rg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_HAND,nil)
if rg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(10691144,0)) then if rg:GetCount()>0 then
local ct=1 local ct=1
if rg:GetCount()>1 then ct=Duel.SelectOption(tp,aux.Stringid(10691144,3),aux.Stringid(10691144,4))+1 end if rg:GetCount()>1 then ct=Duel.SelectOption(tp,aux.Stringid(10691144,3),aux.Stringid(10691144,4))+1 end
g:Merge(rg:RandomSelect(tp,ct)) g:Merge(rg:RandomSelect(tp,ct))
...@@ -46,14 +46,14 @@ function c10691144.rmop(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,14 +46,14 @@ function c10691144.rmop(e,tp,eg,ep,ev,re,r,rp)
end end
if bit.band(flag,LOCATION_ONFIELD)~=0 then if bit.band(flag,LOCATION_ONFIELD)~=0 then
local rg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil) local rg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_ONFIELD,nil)
if rg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(10691144,1)) then if rg:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
g:Merge(rg:Select(tp,1,2,nil)) g:Merge(rg:Select(tp,1,2,nil))
end end
end end
if bit.band(flag,LOCATION_GRAVE)~=0 then if bit.band(flag,LOCATION_GRAVE)~=0 then
local rg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_GRAVE,nil) local rg=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_GRAVE,nil)
if rg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(10691144,2)) then if rg:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
g:Merge(rg:Select(tp,1,2,nil)) g:Merge(rg:Select(tp,1,2,nil))
end end
......
...@@ -4,7 +4,7 @@ function c19337371.initial_effect(c) ...@@ -4,7 +4,7 @@ function c19337371.initial_effect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH) e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCountLimit(1,19337371+EFFECT_COUNT_CODE_OATH) e1:SetCost(c19337371.cost)
e1:SetTarget(c19337371.target) e1:SetTarget(c19337371.target)
e1:SetOperation(c19337371.activate) e1:SetOperation(c19337371.activate)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -16,6 +16,10 @@ function c19337371.initial_effect(c) ...@@ -16,6 +16,10 @@ function c19337371.initial_effect(c)
e2:SetOperation(c19337371.regop) e2:SetOperation(c19337371.regop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c19337371.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,19337371)==0 end
Duel.RegisterFlagEffect(tp,19337371,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
end
function c19337371.filter(c) function c19337371.filter(c)
return c:IsCode(90219263) and c:IsAbleToHand() and not c:IsHasEffect(EFFECT_NECRO_VALLEY) return c:IsCode(90219263) and c:IsAbleToHand() and not c:IsHasEffect(EFFECT_NECRO_VALLEY)
end end
...@@ -42,7 +46,7 @@ function c19337371.regop(e,tp,eg,ep,ev,re,r,rp) ...@@ -42,7 +46,7 @@ function c19337371.regop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetRange(LOCATION_GRAVE) e1:SetRange(LOCATION_GRAVE)
e1:SetCode(EVENT_PHASE+PHASE_END) e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetCountLimit(1,19337371+EFFECT_COUNT_CODE_OATH) e1:SetCountLimit(1)
e1:SetTarget(c19337371.thtg) e1:SetTarget(c19337371.thtg)
e1:SetOperation(c19337371.thop) e1:SetOperation(c19337371.thop)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
...@@ -52,7 +56,8 @@ function c19337371.thfilter(c) ...@@ -52,7 +56,8 @@ function c19337371.thfilter(c)
return c:IsSetCard(0x64) and c:IsAbleToHand() return c:IsSetCard(0x64) and c:IsAbleToHand()
end end
function c19337371.thtg(e,tp,eg,ep,ev,re,r,rp,chk) function c19337371.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return Duel.GetFlagEffect(tp,19337371)==0 end
Duel.RegisterFlagEffect(tp,19337371,RESET_PHASE+PHASE_END,EFFECT_FLAG_OATH,1)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK) Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end end
function c19337371.thop(e,tp,eg,ep,ev,re,r,rp) function c19337371.thop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -44,6 +44,7 @@ function c20579538.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -44,6 +44,7 @@ function c20579538.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.BreakEffect() Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local tg=dg:Select(tp,1,1,nil) local tg=dg:Select(tp,1,1,nil)
Duel.HintSelection(tg)
Duel.SendtoDeck(tg,nil,0,REASON_EFFECT) Duel.SendtoDeck(tg,nil,0,REASON_EFFECT)
end end
end end
......
...@@ -66,6 +66,7 @@ function c25857246.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -66,6 +66,7 @@ function c25857246.operation(e,tp,eg,ep,ev,re,r,rp)
if ct>2 then ct=2 end if ct>2 then ct=2 end
local g=Duel.SelectReleaseGroupEx(tp,c25857246.filter,1,ct,nil) local g=Duel.SelectReleaseGroupEx(tp,c25857246.filter,1,ct,nil)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.HintSelection(g)
local rct=Duel.Release(g,REASON_EFFECT) local rct=Duel.Release(g,REASON_EFFECT)
Duel.Draw(tp,rct,REASON_EFFECT) Duel.Draw(tp,rct,REASON_EFFECT)
end end
......
--エンシェント·フェアリー·ドラゴン --エンシェント・フェアリー・ドラゴン
function c25862681.initial_effect(c) function c25862681.initial_effect(c)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
...@@ -11,6 +11,7 @@ function c25862681.initial_effect(c) ...@@ -11,6 +11,7 @@ function c25862681.initial_effect(c)
e1:SetCountLimit(1) e1:SetCountLimit(1)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCondition(c25862681.sumcon) e1:SetCondition(c25862681.sumcon)
e1:SetCost(c25862681.cost)
e1:SetTarget(c25862681.sumtg) e1:SetTarget(c25862681.sumtg)
e1:SetOperation(c25862681.sumop) e1:SetOperation(c25862681.sumop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -21,10 +22,15 @@ function c25862681.initial_effect(c) ...@@ -21,10 +22,15 @@ function c25862681.initial_effect(c)
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_RECOVER+CATEGORY_SEARCH) e2:SetCategory(CATEGORY_DESTROY+CATEGORY_RECOVER+CATEGORY_SEARCH)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1) e2:SetCountLimit(1)
e2:SetCost(c25862681.cost)
e2:SetTarget(c25862681.destg) e2:SetTarget(c25862681.destg)
e2:SetOperation(c25862681.desop) e2:SetOperation(c25862681.desop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c25862681.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.Hint(HINT_OPSELECTED,1-tp,e:GetDescription())
end
function c25862681.sumcon(e,tp,eg,ep,ev,re,r,rp) function c25862681.sumcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()==PHASE_MAIN1 return Duel.GetCurrentPhase()==PHASE_MAIN1
end end
......
...@@ -26,10 +26,12 @@ function c27279764.initial_effect(c) ...@@ -26,10 +26,12 @@ function c27279764.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--immune --immune
local e5=Effect.CreateEffect(c) local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CANNOT_DISABLE)
e5:SetCode(EVENT_SUMMON_SUCCESS) e5:SetRange(LOCATION_MZONE)
e5:SetOperation(c27279764.immop) e5:SetCode(EFFECT_IMMUNE_EFFECT)
e5:SetCondition(c27279764.immcon)
e5:SetValue(c27279764.efilter)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--atk/def down --atk/def down
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
...@@ -65,22 +67,14 @@ function c27279764.ttop(e,tp,eg,ep,ev,re,r,rp,c) ...@@ -65,22 +67,14 @@ function c27279764.ttop(e,tp,eg,ep,ev,re,r,rp,c)
c:SetMaterial(g) c:SetMaterial(g)
Duel.Release(g,REASON_SUMMON+REASON_MATERIAL) Duel.Release(g,REASON_SUMMON+REASON_MATERIAL)
end end
function c27279764.immop(e,tp,eg,ep,ev,re,r,rp) function c27279764.immcon(e)
local c=e:GetHandler() return bit.band(e:GetHandler():GetSummonType(),SUMMON_TYPE_NORMAL)==SUMMON_TYPE_NORMAL
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetValue(c27279764.efilter)
e1:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e1)
end end
function c27279764.efilter(e,te) function c27279764.efilter(e,te)
if te:IsActiveType(TYPE_SPELL+TYPE_TRAP) then return true end if te:IsActiveType(TYPE_SPELL+TYPE_TRAP) then return true end
if te:IsActiveType(TYPE_MONSTER) and te:IsHasType(0x7e0) then if te:IsActiveType(TYPE_MONSTER) and (te:IsHasType(0x7e0) or te:GetHandlerPlayer()~=PLAYER_NONE or te:IsHasProperty(EFFECT_FLAG_OWNER_RELATE)) then
local lv=e:GetHandler():GetLevel() local lv=e:GetHandler():GetLevel()
local ec=te:GetHandler() local ec=te:GetOwner()
if ec:IsType(TYPE_XYZ) then if ec:IsType(TYPE_XYZ) then
return ec:GetOriginalRank()<lv return ec:GetOriginalRank()<lv
else else
......
--ヴァンパイア,ドラゴン --ヴァンパイア・ドラゴン
function c36352429.initial_effect(c) function c36352429.initial_effect(c)
--search --search
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -3,7 +3,7 @@ function c41902352.initial_effect(c) ...@@ -3,7 +3,7 @@ function c41902352.initial_effect(c)
--synchro limit --synchro limit
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL) e1:SetCode(EFFECT_CANNOT_BE_SYNCHRO_MATERIAL)
e1:SetCondition(c41902352.synlimit) e1:SetCondition(c41902352.synlimit)
e1:SetValue(1) e1:SetValue(1)
......
...@@ -38,7 +38,6 @@ function c43748308.settg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -38,7 +38,6 @@ function c43748308.settg(e,tp,eg,ep,ev,re,r,rp,chk)
and Duel.IsExistingMatchingCard(c43748308.filter,tp,LOCATION_DECK,0,1,nil) end and Duel.IsExistingMatchingCard(c43748308.filter,tp,LOCATION_DECK,0,1,nil) end
end end
function c43748308.setop(e,tp,eg,ep,ev,re,r,rp) function c43748308.setop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) or e:GetHandler():IsFacedown() then return end
if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end if Duel.GetLocationCount(tp,LOCATION_SZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SET)
local g=Duel.SelectMatchingCard(tp,c43748308.filter,tp,LOCATION_DECK,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c43748308.filter,tp,LOCATION_DECK,0,1,1,nil)
......
...@@ -9,7 +9,7 @@ function c47355498.initial_effect(c) ...@@ -9,7 +9,7 @@ function c47355498.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_UPDATE_ATTACK) e2:SetCode(EFFECT_UPDATE_ATTACK)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_FZONE)
e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE) e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x2e)) e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x2e))
e2:SetValue(500) e2:SetValue(500)
...@@ -21,7 +21,7 @@ function c47355498.initial_effect(c) ...@@ -21,7 +21,7 @@ function c47355498.initial_effect(c)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_CANNOT_REMOVE) e4:SetCode(EFFECT_CANNOT_REMOVE)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_FZONE)
e4:SetTargetRange(LOCATION_GRAVE,0) e4:SetTargetRange(LOCATION_GRAVE,0)
e4:SetCondition(c47355498.contp) e4:SetCondition(c47355498.contp)
c:RegisterEffect(e4) c:RegisterEffect(e4)
...@@ -33,7 +33,7 @@ function c47355498.initial_effect(c) ...@@ -33,7 +33,7 @@ function c47355498.initial_effect(c)
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetType(EFFECT_TYPE_FIELD) e6:SetType(EFFECT_TYPE_FIELD)
e6:SetCode(EFFECT_NECRO_VALLEY) e6:SetCode(EFFECT_NECRO_VALLEY)
e6:SetRange(LOCATION_SZONE) e6:SetRange(LOCATION_FZONE)
e6:SetTargetRange(LOCATION_GRAVE,0) e6:SetTargetRange(LOCATION_GRAVE,0)
e6:SetCondition(c47355498.contp) e6:SetCondition(c47355498.contp)
c:RegisterEffect(e6) c:RegisterEffect(e6)
...@@ -44,7 +44,7 @@ function c47355498.initial_effect(c) ...@@ -44,7 +44,7 @@ function c47355498.initial_effect(c)
local e8=Effect.CreateEffect(c) local e8=Effect.CreateEffect(c)
e8:SetType(EFFECT_TYPE_FIELD) e8:SetType(EFFECT_TYPE_FIELD)
e8:SetCode(EFFECT_NECRO_VALLEY) e8:SetCode(EFFECT_NECRO_VALLEY)
e8:SetRange(LOCATION_SZONE) e8:SetRange(LOCATION_FZONE)
e8:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e8:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e8:SetTargetRange(1,0) e8:SetTargetRange(1,0)
e8:SetCondition(c47355498.contp) e8:SetCondition(c47355498.contp)
...@@ -57,7 +57,7 @@ function c47355498.initial_effect(c) ...@@ -57,7 +57,7 @@ function c47355498.initial_effect(c)
local e10=Effect.CreateEffect(c) local e10=Effect.CreateEffect(c)
e10:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e10:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e10:SetCode(EVENT_CHAIN_SOLVING) e10:SetCode(EVENT_CHAIN_SOLVING)
e10:SetRange(LOCATION_SZONE) e10:SetRange(LOCATION_FZONE)
e10:SetOperation(c47355498.disop) e10:SetOperation(c47355498.disop)
c:RegisterEffect(e10) c:RegisterEffect(e10)
end end
......
...@@ -70,7 +70,7 @@ function c52068432.remop(e,tp,eg,ep,ev,re,r,rp) ...@@ -70,7 +70,7 @@ function c52068432.remop(e,tp,eg,ep,ev,re,r,rp)
local g3=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_GRAVE,nil) local g3=Duel.GetMatchingGroup(Card.IsAbleToRemove,tp,0,LOCATION_GRAVE,nil)
if g1:GetCount()>0 and g2:GetCount()>0 and g3:GetCount()>0 then if g1:GetCount()>0 and g2:GetCount()>0 and g3:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg1=g1:Select(tp,1,1,nil) local sg1=g1:RandomSelect(tp,1)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local sg2=g2:Select(tp,1,1,nil) local sg2=g2:Select(tp,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
......
...@@ -41,7 +41,8 @@ function c58481572.hdcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -41,7 +41,8 @@ function c58481572.hdcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetCurrentPhase()~=PHASE_DRAW and eg:IsExists(c58481572.cfilter,1,nil,1-tp) return Duel.GetCurrentPhase()~=PHASE_DRAW and eg:IsExists(c58481572.cfilter,1,nil,1-tp)
end end
function c58481572.hdtg(e,tp,eg,ep,ev,re,r,rp,chk) function c58481572.hdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_HAND,1,nil) end if chk==0 then return e:GetHandler():IsRelateToEffect(e) and e:GetHandler():IsFaceup()
and Duel.IsExistingMatchingCard(Card.IsAbleToRemove,tp,0,LOCATION_HAND,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,tp,LOCATION_HAND)
end end
function c58481572.hdop(e,tp,eg,ep,ev,re,r,rp) function c58481572.hdop(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -4,7 +4,7 @@ function c5851097.initial_effect(c) ...@@ -4,7 +4,7 @@ function c5851097.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,0x1c1) e1:SetHintTiming(0,0x1c0)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--disable spsummon --disable spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
...@@ -48,7 +48,7 @@ function c60549248.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -48,7 +48,7 @@ function c60549248.thop(e,tp,eg,ep,ev,re,r,rp)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(c:GetBaseAttack()*2) e1:SetValue(c:GetBaseAttack()*2)
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetReset(RESET_EVENT+0x1ff0000)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EFFECT_SET_DEFENCE) e2:SetCode(EFFECT_SET_DEFENCE)
......
--ブラック·ガーデン --ブラックガーデン
function c71645242.initial_effect(c) function c71645242.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -110,10 +110,11 @@ function c71645242.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -110,10 +110,11 @@ function c71645242.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0) Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end end
function c71645242.spop2(e,tp,eg,ep,ev,re,r,rp) function c71645242.spop2(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end local c=e:GetHandler()
if not (c:IsRelateToEffect(e) and c:IsDestructable() and c:IsDestructable(e)) then return end
local dg=Duel.GetMatchingGroup(c71645242.desfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil) local dg=Duel.GetMatchingGroup(c71645242.desfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local atk=dg:GetSum(Card.GetAttack) local atk=dg:GetSum(Card.GetAttack)
dg:AddCard(e:GetHandler()) dg:AddCard(c)
Duel.Destroy(dg,REASON_EFFECT) Duel.Destroy(dg,REASON_EFFECT)
Duel.BreakEffect() Duel.BreakEffect()
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
......
...@@ -172,14 +172,13 @@ function c74822425.distg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -172,14 +172,13 @@ function c74822425.distg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
function c74822425.disop(e,tp,eg,ep,ev,re,r,rp) function c74822425.disop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateActivation(ev) Duel.NegateActivation(ev)
if re:GetHandler():IsRelateToEffect(re) then if re:GetHandler():IsRelateToEffect(re) and Duel.Destroy(eg,REASON_EFFECT)>0 then
Duel.Destroy(eg,REASON_EFFECT) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
end local g=Duel.SelectMatchingCard(tp,c74822425.filter,tp,LOCATION_HAND,0,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE) if g:GetCount()>0 then
local g=Duel.SelectMatchingCard(tp,c74822425.filter,tp,LOCATION_HAND,0,1,1,nil) Duel.BreakEffect()
if g:GetCount()>0 then Duel.SendtoGrave(g,REASON_EFFECT)
Duel.BreakEffect() end
Duel.SendtoGrave(g,REASON_EFFECT)
end end
end end
function c74822425.thcon(e,tp,eg,ep,ev,re,r,rp) function c74822425.thcon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -23,8 +23,7 @@ function c78610936.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -23,8 +23,7 @@ function c78610936.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel.SetChainLimit(aux.FALSE) Duel.SetChainLimit(aux.FALSE)
end end
function c78610936.spfilter(c,e,tp) function c78610936.spfilter(c,e,tp)
return c:IsLocation(LOCATION_GRAVE) and c:GetLevel()>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,1-tp) return c:IsLocation(LOCATION_GRAVE) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,1-tp) and not c:IsHasEffect(EFFECT_NECRO_VALLEY)
and not c:IsHasEffect(EFFECT_NECRO_VALLEY)
end end
function c78610936.activate(e,tp,eg,ep,ev,re,r,rp) function c78610936.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
...@@ -41,13 +40,15 @@ function c78610936.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -41,13 +40,15 @@ function c78610936.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=g:GetFirst() local tc=g:GetFirst()
while tc do while tc do
Duel.SpecialSummonStep(tc,0,tp,1-tp,false,false,POS_FACEUP_DEFENCE) Duel.SpecialSummonStep(tc,0,tp,1-tp,false,false,POS_FACEUP_DEFENCE)
local e1=Effect.CreateEffect(e:GetHandler()) if tc:GetLevel()>0 then
e1:SetType(EFFECT_TYPE_SINGLE) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetCode(EFFECT_UPDATE_LEVEL) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetValue(-1) e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetValue(-1)
tc:RegisterEffect(e1) e1:SetReset(RESET_EVENT+0x1fe0000)
tc=g:GetNext() tc:RegisterEffect(e1)
tc=g:GetNext()
end
end end
Duel.SpecialSummonComplete() Duel.SpecialSummonComplete()
end end
......
...@@ -4,7 +4,6 @@ function c82732705.initial_effect(c) ...@@ -4,7 +4,6 @@ function c82732705.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_DRAW_PHASE)
e1:SetCost(c82732705.cost) e1:SetCost(c82732705.cost)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--disable --disable
......
...@@ -231,23 +231,23 @@ EFFECT_TYPE_CONTINUOUS =0x0800 --不入连锁的诱发效果 ...@@ -231,23 +231,23 @@ EFFECT_TYPE_CONTINUOUS =0x0800 --不入连锁的诱发效果
--========== Flags ========== --效果的特殊性质 --========== Flags ========== --效果的特殊性质
EFFECT_FLAG_INITIAL =0x0001 --可以发动的 EFFECT_FLAG_INITIAL =0x0001 --可以发动的
EFFECT_FLAG_FUNC_VALUE =0x0002 -- EFFECT_FLAG_FUNC_VALUE =0x0002 --
EFFECT_FLAG_COUNT_LIMIT =0x0004 -- EFFECT_FLAG_COUNT_LIMIT =0x0004 --发动次数限制
EFFECT_FLAG_FIELD_ONLY =0x0008 --场上只有1只 EFFECT_FLAG_FIELD_ONLY =0x0008 --场上只有1只
EFFECT_FLAG_CARD_TARGET =0x0010 --取对象效果 EFFECT_FLAG_CARD_TARGET =0x0010 --取对象效果
EFFECT_FLAG_IGNORE_RANGE =0x0020 --使用限制?(禁止令 大宇宙 王宫的铁壁) EFFECT_FLAG_IGNORE_RANGE =0x0020 --影响所有区域的卡(禁止令 大宇宙 王宫的铁壁)
EFFECT_FLAG_ABSOLUTE_TARGET =0x0040 -- EFFECT_FLAG_ABSOLUTE_TARGET =0x0040 --Target Range不会因为控制权的改变而改变
EFFECT_FLAG_IGNORE_IMMUNE =0x0080 --无视效果免疫 EFFECT_FLAG_IGNORE_IMMUNE =0x0080 --无视效果免疫
EFFECT_FLAG_SET_AVAILABLE =0x0100 --不能发动? EFFECT_FLAG_SET_AVAILABLE =0x0100 --影响场上里侧的卡
EFFECT_FLAG_MULTIACT_HAND =0x0200 --手牌有多张可以同时诱发(蔷薇妖精等) EFFECT_FLAG_MULTIACT_HAND =0x0200 --手牌有多张可以同时诱发(蔷薇妖精等)
EFFECT_FLAG_CANNOT_DISABLE =0x0400 --不会被无效 EFFECT_FLAG_CANNOT_DISABLE =0x0400 --不会被无效
EFFECT_FLAG_PLAYER_TARGET =0x0800 --以玩家为对象 EFFECT_FLAG_PLAYER_TARGET =0x0800 --以玩家为对象
EFFECT_FLAG_BOTH_SIDE =0x1000 --双方都能使用(部分场地,弹压) EFFECT_FLAG_BOTH_SIDE =0x1000 --双方都能使用(部分场地,弹压)
EFFECT_FLAG_COPY_INHERIT =0x2000 --残留?持续?效果 EFFECT_FLAG_COPY_INHERIT =0x2000 --继承复制的效果的Reset属性
EFFECT_FLAG_DAMAGE_STEP =0x4000 --可以在伤害步骤发动 EFFECT_FLAG_DAMAGE_STEP =0x4000 --可以在伤害步骤发动
EFFECT_FLAG_DAMAGE_CAL =0x8000 --可以在伤害计算时发动 EFFECT_FLAG_DAMAGE_CAL =0x8000 --可以在伤害计算时发动
EFFECT_FLAG_DELAY =0x10000 --场合(不会被卡时点 EFFECT_FLAG_DELAY =0x10000 --场合(不会被卡时点
EFFECT_FLAG_SINGLE_RANGE =0x20000 --只对自己有效 EFFECT_FLAG_SINGLE_RANGE =0x20000 --只对自己有效
EFFECT_FLAG_UNCOPYABLE =0x40000 --不能复制(规则效果 EFFECT_FLAG_UNCOPYABLE =0x40000 --不能复制(效果外文字)
EFFECT_FLAG_OATH =0x80000 --誓约效果 EFFECT_FLAG_OATH =0x80000 --誓约效果
EFFECT_FLAG_SPSUM_PARAM =0x100000 --规则特殊召唤(熔岩魔神 光子杀戮者) EFFECT_FLAG_SPSUM_PARAM =0x100000 --规则特殊召唤(熔岩魔神 光子杀戮者)
EFFECT_FLAG_REPEAT =0x200000 --发动被无效后可以再次发动 EFFECT_FLAG_REPEAT =0x200000 --发动被无效后可以再次发动
...@@ -255,7 +255,7 @@ EFFECT_FLAG_NO_TURN_RESET =0x400000 --发条等“这张卡在场上只能发动 ...@@ -255,7 +255,7 @@ EFFECT_FLAG_NO_TURN_RESET =0x400000 --发条等“这张卡在场上只能发动
EFFECT_FLAG_EVENT_PLAYER =0x800000 --视为对方玩家的效果(动作?) EFFECT_FLAG_EVENT_PLAYER =0x800000 --视为对方玩家的效果(动作?)
EFFECT_FLAG_OWNER_RELATE =0x1000000 --和效果持有者相关 EFFECT_FLAG_OWNER_RELATE =0x1000000 --和效果持有者相关
EFFECT_FLAG_AVAILABLE_BD =0x2000000 --战斗伤害操作(纳祭之魔 地狱战士) EFFECT_FLAG_AVAILABLE_BD =0x2000000 --战斗伤害操作(纳祭之魔 地狱战士)
EFFECT_FLAG_CLIENT_HINT =0x4000000 --获得效果? EFFECT_FLAG_CLIENT_HINT =0x4000000 --客户端提示
EFFECT_FLAG_CHAIN_UNIQUE =0x8000000 --同一组连锁只能发动一次 EFFECT_FLAG_CHAIN_UNIQUE =0x8000000 --同一组连锁只能发动一次
EFFECT_FLAG_NAGA =0x10000000 --神卡纳迦! EFFECT_FLAG_NAGA =0x10000000 --神卡纳迦!
EFFECT_FLAG_COF =0x20000000 --邪恶的仪式 EFFECT_FLAG_COF =0x20000000 --邪恶的仪式
......
...@@ -73,7 +73,6 @@ function Auxiliary.EnableDualAttribute(c) ...@@ -73,7 +73,6 @@ function Auxiliary.EnableDualAttribute(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DUAL_SUMMONABLE) e1:SetCode(EFFECT_DUAL_SUMMONABLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
......
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