Commit e6da49ec authored by Chrono-Genex's avatar Chrono-Genex Committed by GitHub

add EFFECT_LIMIT_SPECIAL_SUMMON_POSITION (#1829)

parent 7ab29686
...@@ -34,7 +34,7 @@ function c11366199.initial_effect(c) ...@@ -34,7 +34,7 @@ function c11366199.initial_effect(c)
e6:SetCode(EFFECT_CANNOT_TURN_SET) e6:SetCode(EFFECT_CANNOT_TURN_SET)
c:RegisterEffect(e6) c:RegisterEffect(e6)
local e7=e4:Clone() local e7=e4:Clone()
e7:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e7:SetCode(EFFECT_LIMIT_SPECIAL_SUMMON_POSITION)
e7:SetTarget(c11366199.sumlimit) e7:SetTarget(c11366199.sumlimit)
c:RegisterEffect(e7) c:RegisterEffect(e7)
end end
......
...@@ -54,7 +54,7 @@ function c17663375.thop(e,tp,eg,ep,ev,re,r,rp) ...@@ -54,7 +54,7 @@ function c17663375.thop(e,tp,eg,ep,ev,re,r,rp)
e3:SetCode(EFFECT_CANNOT_TURN_SET) e3:SetCode(EFFECT_CANNOT_TURN_SET)
Duel.RegisterEffect(e3,tp) Duel.RegisterEffect(e3,tp)
local e4=e1:Clone() local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e4:SetCode(EFFECT_LIMIT_SPECIAL_SUMMON_POSITION)
e4:SetTarget(c17663375.sumlimit) e4:SetTarget(c17663375.sumlimit)
Duel.RegisterEffect(e4,tp) Duel.RegisterEffect(e4,tp)
end end
......
...@@ -46,7 +46,7 @@ function c22211622.initial_effect(c) ...@@ -46,7 +46,7 @@ function c22211622.initial_effect(c)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
function c22211622.splimcon(e) function c22211622.splimcon(e)
return Duel.IsExistingMatchingCard(Card.IsStatus,e:GetHandlerPlayer(),LOCATION_MZONE,0,1,nil,STATUS_EFFECT_ENABLED) return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_MZONE,0)>0
end end
function c22211622.splimit(e,c,sump,sumtype,sumpos,targetp) function c22211622.splimit(e,c,sump,sumtype,sumpos,targetp)
return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM return bit.band(sumtype,SUMMON_TYPE_PENDULUM)==SUMMON_TYPE_PENDULUM
......
...@@ -41,7 +41,7 @@ function c3900605.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -41,7 +41,7 @@ function c3900605.operation(e,tp,eg,ep,ev,re,r,rp)
e3:SetCode(EFFECT_CANNOT_TURN_SET) e3:SetCode(EFFECT_CANNOT_TURN_SET)
Duel.RegisterEffect(e3,tp) Duel.RegisterEffect(e3,tp)
local e4=e1:Clone() local e4=e1:Clone()
e4:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e4:SetCode(EFFECT_LIMIT_SPECIAL_SUMMON_POSITION)
e4:SetTarget(c3900605.sumlimit) e4:SetTarget(c3900605.sumlimit)
Duel.RegisterEffect(e4,tp) Duel.RegisterEffect(e4,tp)
end end
......
...@@ -38,28 +38,32 @@ function c43577607.initial_effect(c) ...@@ -38,28 +38,32 @@ function c43577607.initial_effect(c)
e4:SetCondition(c43577607.effcon) e4:SetCondition(c43577607.effcon)
e4:SetLabel(4) e4:SetLabel(4)
c:RegisterEffect(e4) c:RegisterEffect(e4)
--poschange local e5=e4:Clone()
local e5=Effect.CreateEffect(c) e5:SetCode(EFFECT_LIMIT_SPECIAL_SUMMON_POSITION)
e5:SetType(EFFECT_TYPE_FIELD) e5:SetTarget(c43577607.sumlimit)
e5:SetCode(EFFECT_SET_POSITION)
e5:SetRange(LOCATION_SZONE)
e5:SetTargetRange(0,LOCATION_MZONE)
e5:SetValue(POS_FACEUP_ATTACK)
e5:SetCondition(c43577607.effcon)
e5:SetLabel(4)
c:RegisterEffect(e5) c:RegisterEffect(e5)
--destroy --poschange
local e6=Effect.CreateEffect(c) local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(43577607,0)) e6:SetType(EFFECT_TYPE_FIELD)
e6:SetCategory(CATEGORY_DESTROY) e6:SetCode(EFFECT_SET_POSITION)
e6:SetType(EFFECT_TYPE_IGNITION)
e6:SetRange(LOCATION_SZONE) e6:SetRange(LOCATION_SZONE)
e6:SetTargetRange(0,LOCATION_MZONE)
e6:SetValue(POS_FACEUP_ATTACK)
e6:SetCondition(c43577607.effcon) e6:SetCondition(c43577607.effcon)
e6:SetCost(c43577607.descost) e6:SetLabel(4)
e6:SetTarget(c43577607.destg)
e6:SetOperation(c43577607.desop)
e6:SetLabel(5)
c:RegisterEffect(e6) c:RegisterEffect(e6)
--destroy
local e7=Effect.CreateEffect(c)
e7:SetDescription(aux.Stringid(43577607,0))
e7:SetCategory(CATEGORY_DESTROY)
e7:SetType(EFFECT_TYPE_IGNITION)
e7:SetRange(LOCATION_SZONE)
e7:SetCondition(c43577607.effcon)
e7:SetCost(c43577607.descost)
e7:SetTarget(c43577607.destg)
e7:SetOperation(c43577607.desop)
e7:SetLabel(5)
c:RegisterEffect(e7)
end end
function c43577607.confilter(c) function c43577607.confilter(c)
return c:IsSetCard(0x9e) and c:IsType(TYPE_MONSTER) return c:IsSetCard(0x9e) and c:IsType(TYPE_MONSTER)
...@@ -86,6 +90,9 @@ end ...@@ -86,6 +90,9 @@ end
function c43577607.repop(e,tp,eg,ep,ev,re,r,rp) function c43577607.repop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoGrave(e:GetHandler(),REASON_EFFECT) Duel.SendtoGrave(e:GetHandler(),REASON_EFFECT)
end end
function c43577607.sumlimit(e,c,sump,sumtype,sumpos,targetp)
return (sumpos&POS_FACEDOWN)>0
end
function c43577607.descost(e,tp,eg,ep,ev,re,r,rp,chk) function c43577607.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST) Duel.SendtoGrave(e:GetHandler(),REASON_COST)
......
...@@ -37,7 +37,7 @@ end ...@@ -37,7 +37,7 @@ end
function s.activate(e,tp,eg,ep,ev,re,r,rp) function s.activate(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD) e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_SPECIAL_SUMMON) e1:SetCode(EFFECT_LIMIT_SPECIAL_SUMMON_POSITION)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(0,1) e1:SetTargetRange(0,1)
e1:SetTarget(s.splimit) e1:SetTarget(s.splimit)
......
...@@ -576,6 +576,7 @@ EFFECT_SET_BATTLE_DEFENSE =363 --战斗的伤害计算用设置的守备力 ...@@ -576,6 +576,7 @@ EFFECT_SET_BATTLE_DEFENSE =363 --战斗的伤害计算用设置的守备力
EFFECT_OVERLAY_RITUAL_MATERIAL =364 --此卡的超量素材也能用于仪式召唤 EFFECT_OVERLAY_RITUAL_MATERIAL =364 --此卡的超量素材也能用于仪式召唤
EFFECT_CHANGE_GRAVE_ATTRIBUTE =365 --墓地的卡将会改变属性(升级转变) EFFECT_CHANGE_GRAVE_ATTRIBUTE =365 --墓地的卡将会改变属性(升级转变)
EFFECT_CHANGE_GRAVE_RACE =366 --墓地的卡将会改变种族(升级转变) EFFECT_CHANGE_GRAVE_RACE =366 --墓地的卡将会改变种族(升级转变)
EFFECT_LIMIT_SPECIAL_SUMMON_POSITION =368 --不能以特定表示形式特殊召唤
--下面是诱发效果的诱发事件、时点 (如果是TYPE_SINGLE则自己发生以下事件后触发,如果TYPE_FIELD则场上任何卡发生以下事件都触发) --下面是诱发效果的诱发事件、时点 (如果是TYPE_SINGLE则自己发生以下事件后触发,如果TYPE_FIELD则场上任何卡发生以下事件都触发)
EVENT_STARTUP =1000 --N/A EVENT_STARTUP =1000 --N/A
......
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