Commit fce1e956 authored by TanakaKotoha's avatar TanakaKotoha

amd yes 4

parent b467140e
No preview for this file type
--葱喵的现实世界
function c960005.initial_effect(c)
--Activate
local e0=Effect.CreateEffect(c)
e0:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e0:SetType(EFFECT_TYPE_ACTIVATE)
e0:SetCode(EVENT_FREE_CHAIN)
e0:SetOperation(c960005.activate)
c:RegisterEffect(e0)
--disable
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(c960005.activate)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_DISABLE)
e1:SetRange(LOCATION_SZONE)
e1:SetTargetRange(LOCATION_SZONE,LOCATION_SZONE)
e1:SetTarget(c960005.distarget)
c:RegisterEffect(e1)
--disable
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_DISABLE)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(LOCATION_FZONE+LOCATION_GRAVE,LOCATION_FZONE+LOCATION_GRAVE)
e2:SetTarget(c960005.distarget)
c:RegisterEffect(e2)
--disable effect
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_CHAIN_SOLVING)
e3:SetRange(LOCATION_SZONE)
e3:SetOperation(c960005.disoperation)
c:RegisterEffect(e3)
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e7:SetCode(EVENT_CHAIN_SOLVING)
e7:SetRange(LOCATION_SZONE)
e7:SetOperation(c960005.disop)
c:RegisterEffect(e7)
--maintain
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
......@@ -32,13 +32,13 @@ function c960005.initial_effect(c)
e4:SetOperation(c960005.mtop)
c:RegisterEffect(e4)
--reverse damage
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_REVERSE_DAMAGE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTargetRange(1,0)
e1:SetRange(LOCATION_SZONE)
e1:SetValue(1)
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_REVERSE_DAMAGE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,0)
e2:SetRange(LOCATION_SZONE)
e2:SetValue(1)
c:RegisterEffect(e1)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
......@@ -51,33 +51,32 @@ function c960005.initial_effect(c)
--change lp
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(960005,0))
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_TO_GRAVE)
e1:SetCondition(c960005.lpcon)
e1:SetOperation(c960005.lpop)
c:RegisterEffect(e1)
--activate Zombie World
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(960005,0))
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_MZONE+LOCATION_GRAVE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetCountLimit(1,960005)
e3:SetCost(aux.bfgcost)
e3:SetTarget(c960005.actg)
e3:SetOperation(c960005.acop)
c:RegisterEffect(e3)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(960005,0))
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetRange(LOCATION_SZONE+LOCATION_GRAVE)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetCountLimit(1,960005)
e5:SetCost(aux.bfgcost)
e5:SetOperation(c960005.acop)
c:RegisterEffect(e5)
end
function c960005.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_MUSIC,0,aux.Stringid(960005,2))
end
function c960005.distarget(e,c)
return c~=e:GetHandler() and c:IsType(TYPE_FIELD)
return c:IsType(TYPE_FIELD)
end
function c960005.disoperation(e,tp,eg,ep,ev,re,r,rp)
function c960005.disop(e,tp,eg,ep,ev,re,r,rp)
local tl=Duel.GetChainInfo(ev,CHAININFO_TRIGGERING_LOCATION)
if bit.band(tl,LOCATION_FZONE+LOCATION_GRAVE)~=0 and re:IsActiveType(TYPE_FIELD) then
if (tl==LOCATION_GRAVE or t1==LOCATION_FZONE) and re:IsActiveType(TYPE_FIELD) then
Duel.NegateEffect(ev)
end
end
......@@ -95,14 +94,11 @@ function c960005.lpop(e,tp,eg,ep,ev,re,r,rp)
Duel.SetLP(tp,1-tp,8000)
end
function c960005.filter(c,tp)
return c:IsCode(960005) and c:GetActivateEffect() and c:GetActivateEffect():IsActivatable(tp,true,true)
end
function c960005.actg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c960005.filter,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,nil,tp) end
return c:IsCode(960002) and c:GetActivateEffect() and c:GetActivateEffect():IsActivatable(tp,true,true)
end
function c960005.acop(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOFIELD)
local tc=Duel.SelectMatchingCard(tp,c960005.filter,tp,LOCATION_HAND+LOCATION_DECK,0,1,1,nil,tp):GetFirst()
local tc=Duel.SelectMatchingCard(tp,c960005.filter,tp,LOCATION_GRAVE+LOCATION_DECK,0,1,1,nil,tp):GetFirst()
if tc then
local fc=Duel.GetFieldCard(tp,LOCATION_SZONE,5)
if fc then
......@@ -117,4 +113,4 @@ function c960005.acop(e,tp,eg,ep,ev,re,r,rp)
if cost then cost(te,tep,eg,ep,ev,re,r,rp,1) end
Duel.RaiseEvent(tc,4179255,te,0,tp,tp,Duel.GetCurrentChain())
end
end
end
\ No newline at end of file
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