Commit c099dac0 authored by Nemo Ma's avatar Nemo Ma

fix

parent d75169bb
......@@ -1046,6 +1046,54 @@
30015045 0
30015080 0
30015100 0
#221101
60001167 0
60001168 0
60001169 0
60001170 0
60001171 0
60001172 0
60001173 0
60001174 0
60001175 0
60001179 0
60001190 0
60001191 0
60001192 0
60001193 0
72101201 0
72101202 0
72101203 0
72101204 0
72101205 0
72101206 0
72101207 0
72101208 0
72101209 0
72101210 0
72101211 0
72101213 0
72101215 0
72101216 0
72101218 0
72101221 0
72101222 0
72101223 0
72101225 0
72101226 0
72101228 0
72101229 0
72101231 0
72101233 0
114514 0
22348006 0
33701454 1
60009999 0
87490010 0
14000219 1
31400112 1
60002096 1
60009999 0
#221023
9300012 0
9910433 0
......@@ -4872,6 +4920,7 @@
90700030 0
67200710 0
44910027 0
60009999 0
!THE WILDEST LIST
#forbidden
44910027 0
......
--波动中枢·物质波调谐器
local m=11451456
local cm=_G["c"..m]
local cm,m=GetID()
--local prime={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997}
function cm.initial_effect(c)
--link summon
......@@ -51,15 +50,12 @@ function cm.hint(e,tp,eg,ep,ev,re,r,rp)
e3:SetDescription(aux.Stringid(m,1))
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_SPSUMMON_PROC_G)
e3:SetCondition(cm.debcon)
e3:SetRange(0xff)
e3:SetOperation(cm.debug)
Duel.RegisterEffect(e3,tp)
e:GetHandler():RegisterEffect(e3)
end
end
function cm.debcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
function cm.debug(e,tp,eg,ep,ev,re,r,rp)
function cm.debug(e,tp,eg,ep,ev,re,r,rp,c,sg,og)
local g=Duel.GetMatchingGroup(Card.IsFaceup,0,LOCATION_MZONE,LOCATION_MZONE,nil)
Debug.Message("场上的表侧表示怪兽合计等级:"..g:GetSum(Card.GetLevel))
end
......
......@@ -58,8 +58,8 @@ function cm.initial_effect(c)
c:RegisterEffect(e5)
if not cm.pendulum_link then
cm.pendulum_link=true
_GetLink=Card.GetLink
Card.GetLink=function(tc) if tc:GetOriginalCode()==m and tc:IsLocation(LOCATION_PZONE) then return 2 else return _GetLink(tc) end end
_GetLinkCount=Auxiliary.GetLinkCount
Auxiliary.GetLinkCount=function(tc) if tc:GetOriginalCode()==m and tc:IsLocation(LOCATION_PZONE) then return 0x20001 else return _GetLinkCount(tc) end end
end
end
function cm.lcheck(g)
......
......@@ -33,13 +33,13 @@ function cm.actcon(e)
return Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
local ct=Duel.GetMatchingGroupCount(Card.IsPublic,tp,LOCATION_HAND,LOCATION_HAND,nil)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=ct+4 and Duel.IsPlayerCanDiscardDeck(tp,ct+4) end
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,ct+4)
local ct=Duel.GetMatchingGroupCount(Card.IsPublic,tp,LOCATION_HAND,0,nil)*4
if chk==0 then return ct>0 and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=ct and Duel.IsPlayerCanDiscardDeck(tp,ct) end
Duel.SetOperationInfo(0,CATEGORY_DECKDES,nil,0,tp,ct)
end
function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local ct=Duel.GetMatchingGroupCount(Card.IsPublic,tp,LOCATION_HAND,LOCATION_HAND,nil)
Duel.DiscardDeck(tp,ct+4,REASON_EFFECT)
local ct=Duel.GetMatchingGroupCount(Card.IsPublic,tp,LOCATION_HAND,0,nil)*4
Duel.DiscardDeck(tp,ct,REASON_EFFECT)
--summon proc
local e2=Effect.CreateEffect(e:GetHandler())
e2:SetDescription(aux.Stringid(m,0))
......
......@@ -52,8 +52,8 @@ function cm.drcon(e,tp,eg,ep,ev,re,r,rp)
end
function cm.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) and c:GetFlagEffect(m)==0 end
c:RegisterFlagEffect(m,RESET_CHAIN,0,1)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) and Duel.GetFlagEffect(tp,m)==0 end
Duel.RegisterFlagEffect(tp,m,RESET_CHAIN,0,1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function cm.drop(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -56,7 +56,7 @@ function cm.adchange(e,tp,eg,ep,ev,re,r,rp)
end
function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local at=Duel.GetAttacker()
return at:GetControler()~=tp and Duel.GetAttackTarget()==nil
return at:GetControler()~=tp and Duel.GetAttackTarget()==nil and at:GetAttack()>=Duel.GetLP(tp)
end
function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
......@@ -57,9 +57,9 @@ function cm.AllGlobalCheck(c)
end
cm[4]=Duel.SendtoGrave
Duel.SendtoGrave=function(target,reason)
if reason&REASON_RULE==0 then
if reason&REASON_RULE~=0 then
local tg=Group.__add(target,target)
local g=tg:Filter(function(c)return c:IsLocation(LOCATION_OVERLAY) and c.main_peacecho and not c:IsHasEffect(EFFECT_TO_GRAVE_REDIRECT) and c:IsAbleToDeck()end,nil)
local g=tg:Filter(function(c)return c.main_peacecho and not c:IsHasEffect(EFFECT_TO_GRAVE_REDIRECT) and c:IsAbleToDeck()end,nil)
for tc in aux.Next(g) do
Duel.Hint(HINT_CARD,0,tc:GetOriginalCodeRule())
Duel.SendtoDeck(tc,nil,1,reason)
......@@ -159,6 +159,15 @@ function cm.Peacecho(c,typ)
e6:SetTarget(cm.PeacechoDrawTarget3)
e6:SetOperation(cm.PeacechoDrawOperation3)
c:RegisterEffect(e6)
local e7=Effect.CreateEffect(c)
e7:SetType(EFFECT_TYPE_FIELD)
e7:SetCode(EFFECT_ACTIVATE_COST)
e7:SetRange(LOCATION_FZONE)
e7:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE)
e7:SetTargetRange(1,0)
e7:SetTarget(cm.Peacechofieldcosttg)
e7:SetOperation(cm.Peacechofieldcostop)
c:RegisterEffect(e7)
end
local e9=Effect.CreateEffect(c)
e9:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
......@@ -167,6 +176,13 @@ function cm.Peacecho(c,typ)
e9:SetOperation(cm.UpRegi)
c:RegisterEffect(e9)
end
function cm.Peacechofieldcosttg(e,te,tp)
return te:IsActiveType(TYPE_FIELD) and te:IsHasType(EFFECT_TYPE_ACTIVATE)
end
function cm.Peacechofieldcostop(e,tp,eg,ep,ev,re,r,rp)
Duel.SendtoDeck(e:GetHandler(),nil,1,REASON_RULE)
e:GetHandler():ReverseInDeck()
end
function cm.RePeacechotg1(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler()
if chk==0 then return not c:IsLocation(LOCATION_DECK) and c:GetDestination()==LOCATION_GRAVE and not c:IsHasEffect(EFFECT_TO_GRAVE_REDIRECT) and c:IsAbleToDeck() end
......
local m=53707012
local cm=_G["c"..m]
cm.name="清响未完篇 天涣霄世礼"
cm.main_peacecho=true
if not pcall(function() require("expansions/script/c53702500") end) then require("script/c53702500") end
function cm.initial_effect(c)
SNNM.Peacecho(c,TYPE_MONSTER)
SNNM.AllGlobalCheck(c)
Duel.EnableGlobalFlag(GLOBALFLAG_DECK_REVERSE_CHECK)
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_DRAW+CATEGORY_DECKDES)
......
......@@ -24,8 +24,8 @@ function c60001175.initial_effect(c)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(60001175,1))
e3:SetCategory(CATEGORY_TOHAND)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,60001175)
e3:SetTarget(c60001175.hstg)
......
--隐劫神「1」克里斯汀·奥契
local m=60002096
local cm=_G["c"..m]
cm.name="隐劫神「1」克里斯汀·奥契"
function cm.initial_effect(c)
--link summon
c:EnableReviveLimit()
aux.AddLinkProcedure(c,cm.mfilter,1,1)
--spsummon condition
local e0=Effect.CreateEffect(c)
e0:SetType(EFFECT_TYPE_SINGLE)
e0:SetCode(EFFECT_SPSUMMON_COST)
e0:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e0:SetCost(cm.spcost)
c:RegisterEffect(e0)
--battle indes
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetValue(1)
c:RegisterEffect(e1)
--immune
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetValue(cm.efilter)
c:RegisterEffect(e2)
--draw
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(m,1))
e3:SetCategory(CATEGORY_DRAW)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetRange(LOCATION_MZONE)
e3:SetCountLimit(1)
e3:SetCondition(cm.drcon)
e3:SetTarget(cm.drtg)
e3:SetOperation(cm.drop)
c:RegisterEffect(e3)
--to hand
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(m,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(cm.thtg2)
e1:SetOperation(cm.thop2)
c:RegisterEffect(e1)
end
function cm.spcost(e,c,tp,st)
if bit.band(st,SUMMON_TYPE_LINK)~=SUMMON_TYPE_LINK then return true end
return Duel.IsExistingMatchingCard(cm.spfilter,tp,LOCATION_GRAVE,0,1,nil)
end
function cm.spfilter(c)
return (c:IsSetCard(0x6a2) or c:IsSetCard(0x6a3) or c:IsSetCard(0x6a4) or c:IsSetCard(0x62c))
end
function cm.mfilter(c)
return not c:IsCode(m)
end
function cm.efilter(e,te)
return te:GetOwner()~=e:GetOwner()
end
function cm.drcfilter(c,tp)
return c:IsPreviousLocation(LOCATION_PZONE) and c:IsPreviousControler(tp)
end
function cm.drcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(cm.drcfilter,1,nil,tp)
end
function cm.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function cm.drop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
end
function cm.thfilter2(c)
return (c:IsSetCard(0x6a2) or c:IsSetCard(0x6a3) or c:IsSetCard(0x6a4) or c:IsSetCard(0x62c)) and c:IsAbleToHand()
end
function cm.thtg2(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c7808cm0961.thfilter2,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function cm.thop2(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,cm.thfilter2,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
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