-
Notifications
You must be signed in to change notification settings - Fork 134
/
c56346071.lua
30 lines (30 loc) · 1.04 KB
/
c56346071.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--トーテム・ファイブ
function c56346071.initial_effect(c)
--destroy
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY+CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c56346071.descon)
e1:SetTarget(c56346071.destg)
e1:SetOperation(c56346071.desop)
c:RegisterEffect(e1)
end
function c56346071.descon(e,tp,eg,ep,ev,re,r,rp)
return eg:GetCount()==5 and eg:IsContains(e:GetHandler())
end
function c56346071.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,g:GetCount()*500)
end
function c56346071.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
Duel.Destroy(g,REASON_EFFECT)
local sg=Duel.GetOperatedGroup()
if sg:GetCount()>0 then
Duel.Damage(1-tp,sg:GetCount()*500,REASON_EFFECT)
end
end