Commit f75ff8ae authored by nanahira's avatar nanahira

Merge branch 'master' of github.com:Fluorohydride/ygopro-scripts

parents cdd2dcca 323a0f02
......@@ -21,7 +21,7 @@ function s.initial_effect(c)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetRange(LOCATION_SZONE)
e3:SetRange(LOCATION_MZONE)
e3:SetCode(EVENT_CHAIN_END)
e3:SetOperation(s.limop2)
c:RegisterEffect(e3)
......
......@@ -35,7 +35,7 @@ function c10497636.initial_effect(c)
--
if not c10497636.global_check then
c10497636.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_BATTLE_CONFIRM)
ge1:SetOperation(c10497636.checkop)
......
......@@ -27,7 +27,7 @@ function c18558867.initial_effect(c)
c:RegisterEffect(e2)
if not c18558867.global_check then
c18558867.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_BATTLE_CONFIRM)
ge1:SetOperation(c18558867.checkop)
......
......@@ -46,7 +46,7 @@ function c18969888.initial_effect(c)
c:RegisterEffect(e4)
if not c18969888.global_check then
c18969888.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_ATTACK_ANNOUNCE)
ge1:SetOperation(c18969888.checkop)
......
......@@ -15,7 +15,7 @@ function c197042.initial_effect(c)
c:RegisterEffect(e1)
if not c197042.global_check then
c197042.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SPSUMMON_SUCCESS)
ge1:SetCondition(c197042.checkcon)
......
......@@ -26,7 +26,7 @@ function s.initial_effect(c)
c:RegisterEffect(e2)
if not s.global_check then
s.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_ATTACK_ANNOUNCE)
ge1:SetOperation(s.checkop)
......
......@@ -24,7 +24,7 @@ function s.initial_effect(c)
c:RegisterEffect(e2)
if not s.global_check then
s.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_BATTLED)
ge1:SetOperation(s.checkop)
......
......@@ -70,6 +70,7 @@ function c27642961.drcon(e,tp,eg,ep,ev,re,r,rp)
local rc=re:GetHandler()
return eg:IsExists(c27642961.cfilter,1,nil,tp)
and rc and rc:IsSetCard(0xee) and rc:IsControler(tp) and re:IsActiveType(TYPE_MONSTER)
and re:GetActivateLocation()==LOCATION_MZONE
end
return false
end
......
......@@ -26,12 +26,12 @@ function c27769400.initial_effect(c)
c27769400[0]=Group.CreateGroup()
c27769400[0]:KeepAlive()
c27769400[1]=0
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_PHASE_START+PHASE_BATTLE_START)
ge1:SetOperation(c27769400.checkop1)
Duel.RegisterEffect(ge1,0)
local ge2=Effect.GlobalEffect()
local ge2=Effect.CreateEffect(c)
ge2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge2:SetCode(EVENT_BATTLE_DESTROYED)
ge2:SetOperation(c27769400.checkop2)
......
......@@ -20,7 +20,7 @@ function c34620088.initial_effect(c)
c:RegisterEffect(e2)
if not c34620088.global_check then
c34620088.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD)
ge1:SetCode(EFFECT_TO_GRAVE_REDIRECT)
ge1:SetTargetRange(LOCATION_OVERLAY,LOCATION_OVERLAY)
......
......@@ -13,7 +13,7 @@ function c35756798.initial_effect(c)
c:RegisterEffect(e1)
if not c35756798.global_check then
c35756798.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_TO_GRAVE)
ge1:SetCondition(c35756798.checkcon)
......
......@@ -26,8 +26,7 @@ function s.initial_effect(c)
c:RegisterEffect(e2)
end
function s.cfilter(c,re)
if not c:IsType(TYPE_SPELL+TYPE_TRAP) or not c:IsReason(REASON_COST) then return false end
if c:IsPreviousLocation(LOCATION_ONFIELD) and c:GetPreviousTypeOnField()&(TYPE_SPELL+TYPE_TRAP)==0 then return false end
if c:GetOriginalType()&(TYPE_SPELL+TYPE_TRAP)==0 or not re then return false end
local recode=re:GetCode()
return re:IsActivated()
or recode==EFFECT_TRAP_ACT_IN_HAND
......@@ -36,7 +35,7 @@ function s.cfilter(c,re)
or recode==EFFECT_QP_ACT_IN_SET_TURN
end
function s.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(s.cfilter,1,nil,re) and r&REASON_COST>0
return r&REASON_COST>0 and eg:IsExists(s.cfilter,1,nil,re)
end
function s.tgfilter(c)
return c:IsRace(RACE_ILLUSION+RACE_SPELLCASTER) and c:IsType(TYPE_MONSTER) and c:IsAbleToGrave()
......
......@@ -13,7 +13,7 @@ function c41850466.initial_effect(c)
c:RegisterEffect(e1)
if not c41850466.global_check then
c41850466.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_DESTROYED)
ge1:SetOperation(c41850466.checkop)
......
......@@ -27,7 +27,7 @@ function c42228966.initial_effect(c)
c:RegisterEffect(e3)
if not c42228966.global_check then
c42228966.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_BATTLED)
ge1:SetOperation(c42228966.checkop)
......
......@@ -78,7 +78,7 @@ function s.setop(e,tp,eg,ep,ev,re,r,rp)
end
end
function s.thcon(e,tp,eg,ep,ev,re,r,rp)
return eg:FilterCount(aux.TRUE,nil,e:GetHandler())>0
return eg:FilterCount(aux.TRUE,e:GetHandler())>0
end
function s.thtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsOnField() and chkc:IsAbleToHand() end
......
......@@ -16,7 +16,7 @@ function s.initial_effect(c)
c:RegisterEffect(e1)
if not s.global_check then
s.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_DESTROYED)
ge1:SetOperation(s.checkop)
......
......@@ -25,7 +25,7 @@ function s.initial_effect(c)
c:RegisterEffect(e2)
if not s.global_check then
s.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_BATTLED)
ge1:SetOperation(s.checkop)
......
......@@ -32,7 +32,7 @@ function c54040484.countcon1(e,tp,eg,ep,ev,re,r,rp)
return eg:IsContains(e:GetHandler())
end
function c54040484.countcon2(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetAttacker():IsControler(1-tp)
return Duel.GetAttacker():IsControler(1-tp) and e:GetHandler()==Duel.GetAttackTarget()
end
function c54040484.tgfilter(c)
return c:IsCode(6007213,32491822,69890967) and c:IsAbleToGrave()
......
......@@ -37,7 +37,7 @@ function s.initial_effect(c)
aux.RegisterMergedDelayedEvent(c,id,EVENT_SPSUMMON_SUCCESS)
if not s.global_check then
s.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_CHAINING)
ge1:SetCondition(s.checkcon)
......@@ -51,7 +51,7 @@ end
function s.checkop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFlagEffect(rp,id)==0 then
Duel.RegisterFlagEffect(rp,id,0,0,0)
local e1=Effect.GlobalEffect()
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAIN_NEGATED)
e1:SetOperation(s.rsop)
......
......@@ -2,7 +2,6 @@
function c58775978.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_POSITION)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c58775978.target)
......
......@@ -31,10 +31,10 @@ function c66675911.filter(c)
return c:IsFaceup() and c:IsSetCard(0x9d)
end
function c66675911.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c66675911.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c66675911.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c66675911.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c66675911.filter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c66675911.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
Duel.SelectTarget(tp,c66675911.filter,tp,LOCATION_MZONE,0,1,1,nil)
end
function c66675911.operation(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
......
......@@ -34,7 +34,7 @@ function c67100549.initial_effect(c)
c:RegisterEffect(e3)
if not c67100549.global_check then
c67100549.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_TO_GRAVE)
ge1:SetCondition(c67100549.checkcon)
......
......@@ -23,7 +23,7 @@ function c72554862.initial_effect(c)
c:RegisterEffect(e2)
if not c72554862.global_check then
c72554862.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_BATTLE_CONFIRM)
ge1:SetOperation(c72554862.checkop)
......
......@@ -65,6 +65,9 @@ function s.anfilter(c,tp)
return c:IsSetCard(0x1cd) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
and not s.announced_set[tp][c:GetCode()]
end
function s.anexfilter(c,code)
return c:IsFaceup() and c:IsCode(code)
end
function s.thfilter(c,code)
return c:IsSetCard(0x1cd) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
and c:IsCode(code)
......
......@@ -34,7 +34,7 @@ function s.initial_effect(c)
c:RegisterEffect(e3)
if not s.global_check then
s.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_BATTLED)
ge1:SetOperation(s.checkop)
......
......@@ -51,7 +51,7 @@ function c80949182.initial_effect(c)
c80949182.global_check=true
c80949182[0]=-1
c80949182[1]=-1
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_BATTLE_DAMAGE)
ge1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CANNOT_DISABLE)
......
......@@ -30,7 +30,7 @@ function c82570174.initial_effect(c)
c:RegisterEffect(e2)
if not c82570174.global_check then
c82570174.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_ATTACK_ANNOUNCE)
ge1:SetOperation(c82570174.checkop)
......
......@@ -29,7 +29,7 @@ function c90448279.initial_effect(c)
c:RegisterEffect(e2)
if not c90448279.global_check then
c90448279.global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_BATTLED)
ge1:SetOperation(c90448279.checkop)
......
......@@ -1886,7 +1886,7 @@ end
function Auxiliary.EnablePendulumAttribute(c,reg)
if not Auxiliary.PendulumChecklist then
Auxiliary.PendulumChecklist=0
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_PHASE_START+PHASE_DRAW)
ge1:SetOperation(Auxiliary.PendulumReset)
......
......@@ -1669,7 +1669,7 @@ function Auxiliary.RegisterMergedDelayedEvent_ToSingleCard(c,code,events)
--use global effect to raise event for face-down cards
if not Auxiliary.merge_single_global_check then
Auxiliary.merge_single_global_check=true
local ge1=Effect.GlobalEffect()
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_CHAIN_END)
ge1:SetOperation(Auxiliary.RegisterMergedDelayedEvent_ToSingleCard_RaiseEvent)
......
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