Commit 0f462e36 authored by mercury233's avatar mercury233

fix

parent 902edd7d
--ランタン・シャーク --ランタン・シャーク
--not fully implemented --
--Scripted by mallu11 --Scripted by mallu11
function c101012018.initial_effect(c) function c101012018.initial_effect(c)
--spsummon --spsummon
...@@ -24,22 +24,6 @@ function c101012018.initial_effect(c) ...@@ -24,22 +24,6 @@ function c101012018.initial_effect(c)
e3:SetRange(LOCATION_MZONE) e3:SetRange(LOCATION_MZONE)
e3:SetValue(c101012018.xyzlv) e3:SetValue(c101012018.xyzlv)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--
if not c101012018.global_check then
c101012018.global_check=true
Duel.RegisterFlagEffect(0,101012018,0,0,1,5)
Duel.RegisterFlagEffect(1,101012018,0,0,1,5)
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_FREE_CHAIN)
ge1:SetCountLimit(10)
ge1:SetOperation(c101012018.xyzlvop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
Duel.RegisterEffect(ge2,1)
c101012018.xyzlvop(ge1,0)
c101012018.xyzlvop(ge2,1)
end
end end
function c101012018.spfilter(c,e,tp) function c101012018.spfilter(c,e,tp)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsLevelAbove(3) and c:IsLevelBelow(5) and not c:IsCode(101012018) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE) return c:IsAttribute(ATTRIBUTE_WATER) and c:IsLevelAbove(3) and c:IsLevelBelow(5) and not c:IsCode(101012018) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP_DEFENSE)
...@@ -69,22 +53,11 @@ function c101012018.splimit(e,c) ...@@ -69,22 +53,11 @@ function c101012018.splimit(e,c)
return not c:IsType(TYPE_XYZ) and c:IsLocation(LOCATION_EXTRA) return not c:IsType(TYPE_XYZ) and c:IsLocation(LOCATION_EXTRA)
end end
function c101012018.xyzlv(e,c,rc) function c101012018.xyzlv(e,c,rc)
if rc:IsAttribute(ATTRIBUTE_WATER) then if rc:IsAttribute(ATTRIBUTE_WATER) and rc:IsRank(3) then
return c:GetLevel()+0x10000*Duel.GetFlagEffectLabel(tp,101012018) return c:GetLevel()+0x10000*3
elseif rc:IsAttribute(ATTRIBUTE_WATER) and rc:IsRank(5) then
return c:GetLevel()+0x10000*5
else else
return c:GetLevel() return c:GetLevel()
end end
end end
function c101012018.xyzlvop(e,tp,eg,ep,ev,re,r,rp)
local lv=8-Duel.GetFlagEffectLabel(tp,101012018)
Duel.SetFlagEffectLabel(tp,101012018,lv)
local olde=e:GetLabelObject()
if olde then olde:Reset() end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetDescription(aux.Stringid(101012018,lv))
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
e:SetLabelObject(e1)
end
--カッター・シャーク --カッター・シャーク
--not fully implemented --
--Scripted by mallu111, xyz lv workaround by mercury233 --Scripted by mallu11
function c101012019.initial_effect(c) function c101012019.initial_effect(c)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -21,22 +21,6 @@ function c101012019.initial_effect(c) ...@@ -21,22 +21,6 @@ function c101012019.initial_effect(c)
e2:SetRange(LOCATION_MZONE) e2:SetRange(LOCATION_MZONE)
e2:SetValue(c101012019.xyzlv) e2:SetValue(c101012019.xyzlv)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--
if not c101012019.global_check then
c101012019.global_check=true
Duel.RegisterFlagEffect(0,101012019,0,0,1,5)
Duel.RegisterFlagEffect(1,101012019,0,0,1,5)
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_FREE_CHAIN)
ge1:SetCountLimit(10)
ge1:SetOperation(c101012019.xyzlvop)
Duel.RegisterEffect(ge1,0)
local ge2=ge1:Clone()
Duel.RegisterEffect(ge2,1)
c101012019.xyzlvop(ge1,0)
c101012019.xyzlvop(ge2,1)
end
end end
function c101012019.tgfilter(c,e,tp) function c101012019.tgfilter(c,e,tp)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_WATER) and c:IsLevelAbove(1) and Duel.IsExistingMatchingCard(c101012019.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp,c:GetLevel(),c:GetCode()) return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_WATER) and c:IsLevelAbove(1) and Duel.IsExistingMatchingCard(c101012019.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp,c:GetLevel(),c:GetCode())
...@@ -82,22 +66,11 @@ function c101012019.splimit(e,c) ...@@ -82,22 +66,11 @@ function c101012019.splimit(e,c)
return not c:IsType(TYPE_XYZ) and c:IsLocation(LOCATION_EXTRA) return not c:IsType(TYPE_XYZ) and c:IsLocation(LOCATION_EXTRA)
end end
function c101012019.xyzlv(e,c,rc) function c101012019.xyzlv(e,c,rc)
if rc:IsAttribute(ATTRIBUTE_WATER) then if rc:IsAttribute(ATTRIBUTE_WATER) and rc:IsRank(3) then
return c:GetLevel()+0x10000*Duel.GetFlagEffectLabel(tp,101012019) return c:GetLevel()+0x10000*3
elseif rc:IsAttribute(ATTRIBUTE_WATER) and rc:IsRank(5) then
return c:GetLevel()+0x10000*5
else else
return c:GetLevel() return c:GetLevel()
end end
end end
function c101012019.xyzlvop(e,tp,eg,ep,ev,re,r,rp)
local lv=8-Duel.GetFlagEffectLabel(tp,101012019)
Duel.SetFlagEffectLabel(tp,101012019,lv)
local olde=e:GetLabelObject()
if olde then olde:Reset() end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_CLIENT_HINT)
e1:SetDescription(aux.Stringid(101012019,lv))
e1:SetReset(RESET_PHASE+PHASE_END)
e1:SetTargetRange(1,0)
Duel.RegisterEffect(e1,tp)
e:SetLabelObject(e1)
end
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