Skip to content

Commit c488001

Browse files
authored
Update "Abyss Actor - Wild Hope (Anime)"
- Pendulum/Monster effects should only activate if destroyed in matching locations - Minor script modernization/cleanup
1 parent 8437412 commit c488001

File tree

1 file changed

+37
-34
lines changed

1 file changed

+37
-34
lines changed

unofficial/c511009066.lua

Lines changed: 37 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,60 @@
1-
--Abyss Actor Wild Hope
1+
--魔界劇団-ワイルド・ホープ (Anime)
2+
--Abyss Actor - Wild Hope (Anime)
23
local s,id=GetID()
34
function s.initial_effect(c)
4-
--pendulum summon
5+
--Pendulum procedure
56
Pendulum.AddProcedure(c)
6-
--spsummon
7-
local e3=Effect.CreateEffect(c)
8-
e3:SetDescription(aux.Stringid(41546,0))
9-
e3:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
10-
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
11-
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
12-
e3:SetCode(EVENT_DESTROYED)
13-
e3:SetTarget(s.sptg)
14-
e3:SetOperation(s.spop)
15-
c:RegisterEffect(e3)
16-
--spsummon
17-
local e4=Effect.CreateEffect(c)
18-
e4:SetDescription(aux.Stringid(67808837,0))
19-
e4:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
20-
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
21-
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
22-
e4:SetCode(EVENT_DESTROYED)
23-
e4:SetTarget(s.sptg2)
24-
e4:SetOperation(s.spop2)
25-
c:RegisterEffect(e4)
7+
--Add 1 "Abyss Actor" Pendulum monster from your Extra Deck to your hand
8+
local e1=Effect.CreateEffect(c)
9+
e1:SetDescription(aux.Stringid(41546,0))
10+
e1:SetCategory(CATEGORY_TOHAND)
11+
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
12+
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
13+
e1:SetCode(EVENT_DESTROYED)
14+
e1:SetCondition(function(e) return e:GetHandler():IsPreviousLocation(LOCATION_PZONE) end)
15+
e1:SetTarget(s.thfromextg)
16+
e1:SetOperation(s.thfromexop)
17+
c:RegisterEffect(e1)
18+
--Add 1 "Abyss Actor" monster from your Deck to your hand
19+
local e2=Effect.CreateEffect(c)
20+
e2:SetDescription(aux.Stringid(67808837,0))
21+
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
22+
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
23+
e2:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY)
24+
e2:SetCode(EVENT_DESTROYED)
25+
e2:SetCondition(function(e) return e:GetHandler():IsPreviousLocation(LOCATION_MZONE) end)
26+
e2:SetTarget(s.thfrommdtg)
27+
e2:SetOperation(s.thfrommdop)
28+
c:RegisterEffect(e2)
2629
end
27-
s.listed_series={0x10ec}
28-
function s.thfilter1(c)
30+
s.listed_series={SET_ABYSS_ACTOR}
31+
function s.thfromexfilter(c)
2932
return c:IsSetCard(SET_ABYSS_ACTOR) and c:IsFaceup() and c:IsAbleToHand()
3033
end
31-
function s.thfilter2(c)
34+
function s.thfrommdfilter(c)
3235
return c:IsSetCard(SET_ABYSS_ACTOR) and c:IsMonster() and c:IsAbleToHand()
3336
end
34-
function s.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
35-
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter1,tp,LOCATION_EXTRA,0,1,nil) end
37+
function s.thfromextg(e,tp,eg,ep,ev,re,r,rp,chk)
38+
if chk==0 then return Duel.IsExistingMatchingCard(s.thfromexfilter,tp,LOCATION_EXTRA,0,1,nil) end
3639
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_EXTRA)
3740
end
38-
function s.spop(e,tp,eg,ep,ev,re,r,rp)
41+
function s.thfromexop(e,tp,eg,ep,ev,re,r,rp)
3942
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
40-
local g=Duel.SelectMatchingCard(tp,s.thfilter1,tp,LOCATION_EXTRA,0,1,1,nil)
43+
local g=Duel.SelectMatchingCard(tp,s.thfromexfilter,tp,LOCATION_EXTRA,0,1,1,nil)
4144
if #g>0 then
4245
Duel.SendtoHand(g,nil,REASON_EFFECT)
4346
Duel.ConfirmCards(1-tp,g)
4447
end
4548
end
46-
function s.sptg2(e,tp,eg,ep,ev,re,r,rp,chk)
47-
if chk==0 then return Duel.IsExistingMatchingCard(s.thfilter2,tp,LOCATION_DECK,0,1,nil) end
49+
function s.thfrommdtg(e,tp,eg,ep,ev,re,r,rp,chk)
50+
if chk==0 then return Duel.IsExistingMatchingCard(s.thfrommdfilter,tp,LOCATION_DECK,0,1,nil) end
4851
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
4952
end
50-
function s.spop2(e,tp,eg,ep,ev,re,r,rp)
53+
function s.thfrommdop(e,tp,eg,ep,ev,re,r,rp)
5154
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
52-
local g=Duel.SelectMatchingCard(tp,s.thfilter2,tp,LOCATION_DECK,0,1,1,nil)
55+
local g=Duel.SelectMatchingCard(tp,s.thfrommdfilter,tp,LOCATION_DECK,0,1,1,nil)
5356
if #g>0 then
5457
Duel.SendtoHand(g,nil,REASON_EFFECT)
5558
Duel.ConfirmCards(1-tp,g)
5659
end
57-
end
60+
end

0 commit comments

Comments
 (0)