Skip to content

Commit 6b68ac9

Browse files
committed
Individual Action Field script added
1 parent cbeda7e commit 6b68ac9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+2095
-30
lines changed
Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ if not ActionDuel then
77
local e1=Effect.GlobalEffect()
88
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_IGNORE_IMMUNE+EFFECT_FLAG_NO_TURN_RESET)
99
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
10-
e1:SetCode(EVENT_ADJUST)
10+
e1:SetCode(EVENT_PREDRAW)
1111
e1:SetCountLimit(1)
1212
e1:SetOperation(ActionDuel.op)
1313
Duel.RegisterEffect(e1,0)
1414
-- Add Action Card
1515
local e2=Effect.GlobalEffect()
16-
e2:SetDescription(aux.Stringid(301,0))
16+
e2:SetDescription(aux.Stringid(151000000,0))
1717
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
1818
e2:SetRange(LOCATION_FZONE)
1919
e2:SetCode(EVENT_FREE_CHAIN)
@@ -55,25 +55,24 @@ if not ActionDuel then
5555
local announceFilter={TYPE_ACTION,OPCODE_ISTYPE,TYPE_FIELD,OPCODE_ISTYPE,OPCODE_AND}
5656
while #actionFieldToBeUsed==0 do
5757
for p=0,1 do
58-
if Duel.SelectYesNo(p,aux.Stringid(301,3)) then
59-
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(301,4))
58+
if Duel.SelectYesNo(p,aux.Stringid(151000000,3) then
59+
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(151000000,4))
6060
local af=Duel.AnnounceCard(p,table.unpack(announceFilter))
6161
table.insert(actionFieldToBeUsed,af)
6262
end
6363
end
6464
if #actionFieldToBeUsed>0 then break
65-
else Duel.Hint(HINT_MESSAGE,0,aux.Stringid(301,5)) Duel.Hint(HINT_MESSAGE,1,aux.Stringid(301,5)) end
65+
else Duel.Hint(HINT_MESSAGE,0,aux.Stringid(151000000,5)) Duel.Hint(HINT_MESSAGE,1,aux.Stringid(151000000,5)) end
6666
end
6767
if #actionFieldToBeUsed>1 then
68-
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(301,6))
69-
Duel.Hint(HINT_MESSAGE,1,aux.Stringid(301,6))
68+
Duel.Hint(HINT_MESSAGE,0,aux.Stringid(151000000,6))
69+
Duel.Hint(HINT_MESSAGE,1,aux.Stringid(151000000,6))
7070
local coin=Duel.TossCoin(0,1)
7171
table.remove(actionFieldToBeUsed,coin+1)
7272
end
7373
Duel.Hint(HINT_CARD,0,actionFieldToBeUsed[1])
7474
for p=0,1 do
7575
local tc=Duel.CreateToken(p,actionFieldToBeUsed[1])
76-
e:SetLabelObject(tc)
7776
--redirect
7877
local e1=Effect.CreateEffect(tc)
7978
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
@@ -135,7 +134,7 @@ if not ActionDuel then
135134
end
136135
--Check whether tp already has an Action Card in hand
137136
function ActionDuel.handcheck(tp)
138-
if Duel.IsPlayerAffectedByEffect(tp,150000000) then
137+
if Duel.IsPlayerAffectedByEffect(tp,151000000) then
139138
return Duel.IsExistingMatchingCard(ActionDuel.acfilter,tp,LOCATION_HAND,0,2,nil)
140139
else
141140
return Duel.IsExistingMatchingCard(ActionDuel.acfilter,tp,LOCATION_HAND,0,1,nil)
@@ -144,7 +143,7 @@ if not ActionDuel then
144143
function ActionDuel.condition(e,tp,eg,ep,ev,re,r,rp)
145144
return (not ActionDuel.handcheck(tp) or string.find(e:GetLabelObject():GetLabelObject().af,'m'))
146145
and Duel.GetFlagEffect(e:GetHandlerPlayer(),320)==0
147-
and Duel.GetFlagEffect(e:GetHandlerPlayer(),301)==0
146+
and Duel.GetFlagEffect(e:GetHandlerPlayer(),151000000)==0
148147
and not e:GetHandler():IsStatus(STATUS_CHAINING)
149148
end
150149
function ActionDuel.target(e,tp,eg,ep,ev,re,r,rp,chk)
@@ -156,12 +155,12 @@ if not ActionDuel then
156155
e:SetLabel(t[ac])
157156
end
158157
function ActionDuel.operation(e,tp,eg,ep,ev,re,r,rp)
159-
if Duel.GetCurrentChain()>0 and not Duel.SelectYesNo(tp,aux.Stringid(301,0)) then return end
158+
if Duel.GetCurrentChain()>0 and not Duel.SelectYesNo(tp,aux.Stringid(151000000,0)) then return end
160159
local originalField=e:GetLabelObject():GetLabelObject()
161160
if ActionDuel.handcheck(tp) and not string.find(originalField.af,'m') then return end
162161
local hintp,token,tokenp={}
163162
if not ActionDuel.handcheck(1-tp) and not (string.find(originalField.af,'t') and Duel.GetLP(tp)>Duel.GetLP(1-tp))
164-
and Duel.SelectYesNo(1-tp,aux.Stringid(301,1)) then
163+
and Duel.SelectYesNo(1-tp,aux.Stringid(151000000,1)) then
165164
local rps=Duel.RockPaperScissors(false)
166165
if rps<2 then
167166
tokenp=rps
@@ -172,8 +171,8 @@ if not ActionDuel then
172171
end
173172
if Duel.GetRandomNumber(0,1)==0 then table.insert(hintp,tp) end
174173
for _,p in ipairs(hintp) do
175-
Duel.Hint(HINT_MESSAGE,p,aux.Stringid(301,2))
176-
Duel.RegisterFlagEffect(p,301,RESET_PHASE+PHASE_END,0,1)
174+
Duel.Hint(HINT_MESSAGE,p,aux.Stringid(151000000,2))
175+
Duel.RegisterFlagEffect(p,151000000,RESET_PHASE+PHASE_END,0,1)
177176
end
178177
if tokenp then
179178
token=Duel.CreateToken(tokenp,e:GetLabel())
@@ -237,12 +236,12 @@ if not ActionDuel then
237236
return c:IsType(TYPE_ACTION) and c:IsType(TYPE_FIELD)
238237
end
239238

240-
CARD_ACTION_COVER=301
239+
CARD_ACTION_COVER=151000000
241240
CARD_VANILLA_MODE=511004400
242241
CARD_POTENTIAL_YELL=511004399
243242
CARD_ABILITY_YELL=511004401
244243
CARD_ABILITY_YELL=511004401
245-
CARD_EARTHBOUND_TUNDRA=150000000
244+
CARD_EARTHBOUND_TUNDRA=151000000
246245

247246
local OCGActionFields={
248247
4064256,
@@ -270,7 +269,7 @@ if not ActionDuel then
270269
10080320,
271270
7617062,
272271
37694547,
273-
33017655,
272+
31510000007655,
274273
56594520,
275274
87430998,
276275
62265044,

unofficial/c151000001.lua

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,25 @@
1-
--アスレチック・サーカス
2-
--Acrobatic Circus
1+
--アシッドレイン (Action Field)
2+
--Acidic Downpour (Action Field)
33
local s,id=GetID()
4-
54
function s.initial_effect(c)
6-
Duel.LoadCardScript("c301.lua")
5+
--Activate
6+
local e1=Effect.CreateEffect(c)
7+
e1:SetType(EFFECT_TYPE_ACTIVATE)
8+
e1:SetCode(EVENT_FREE_CHAIN)
9+
c:RegisterEffect(e1)
10+
--Atk up
11+
local e2=Effect.CreateEffect(c)
12+
e2:SetType(EFFECT_TYPE_FIELD)
13+
e2:SetRange(LOCATION_FZONE)
14+
e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
15+
e2:SetCode(EFFECT_UPDATE_ATTACK)
16+
e2:SetTarget(aux.TargetBoolFunction(Card.IsAttribute,ATTRIBUTE_EARTH))
17+
e2:SetValue(-500)
18+
c:RegisterEffect(e2)
19+
--Def down
20+
local e3=e2:Clone()
21+
e3:SetCode(EFFECT_UPDATE_DEFENSE)
22+
e3:SetValue(400)
23+
c:RegisterEffect(e3)
724
end
8-
9-
s.af="a"
10-
11-
s.tableAction = {
12-
150000024,
13-
150000033,
14-
150000042,
15-
150000071
16-
}
25+
s.af="a"

unofficial/c151000002.lua

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
--アスレチック・サーカス
2+
--Acrobatic Circus
3+
local s,id=GetID()
4+
function s.initial_effect(c)
5+
--Activate
6+
local e1=Effect.CreateEffect(c)
7+
e1:SetType(EFFECT_TYPE_ACTIVATE)
8+
e1:SetCode(EVENT_FREE_CHAIN)
9+
c:RegisterEffect(e1)
10+
end
11+
s.af="a"
12+
s.tableAction = {
13+
150000024,
14+
150000033,
15+
150000042,
16+
150000071
17+
}

unofficial/c151000003.lua

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
--アマゾネスの里 (Action Field)
2+
--Amazoness Village (Action Field)
3+
local s,id=GetID()
4+
function s.initial_effect(c)
5+
--Activate
6+
local e1=Effect.CreateEffect(c)
7+
e1:SetType(EFFECT_TYPE_ACTIVATE)
8+
e1:SetCode(EVENT_FREE_CHAIN)
9+
c:RegisterEffect(e1)
10+
--atkup
11+
local e2=Effect.CreateEffect(c)
12+
e2:SetType(EFFECT_TYPE_FIELD)
13+
e2:SetCode(EFFECT_UPDATE_ATTACK)
14+
e2:SetRange(LOCATION_FZONE)
15+
e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
16+
e2:SetTarget(aux.TargetBoolFunction(Card.IsSetCard,0x4))
17+
e2:SetValue(200)
18+
c:RegisterEffect(e2)
19+
--special summon
20+
local e3=Effect.CreateEffect(c)
21+
e3:SetDescription(aux.Stringid(id,0))
22+
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
23+
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
24+
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP)
25+
e3:SetRange(LOCATION_FZONE)
26+
e3:SetCode(EVENT_TO_GRAVE)
27+
e3:SetCountLimit(1)
28+
e3:SetCondition(s.condition)
29+
e3:SetTarget(s.target)
30+
e3:SetOperation(s.operation)
31+
c:RegisterEffect(e3)
32+
end
33+
s.af="a"
34+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
35+
local lv=0
36+
local tc=eg:GetFirst()
37+
for tc in aux.Next(eg) do
38+
if tc:IsReason(REASON_DESTROY) and tc:IsSetCard(0x4) and not tc:IsPreviousLocation(LOCATION_SZONE) then
39+
local tlv=tc:GetLevel()
40+
if tlv>lv then lv=tlv end
41+
end
42+
end
43+
if lv>0 then e:SetLabel(lv) end
44+
return lv>0
45+
end
46+
function s.spfilter(c,e,tp,lv)
47+
return c:IsLevelBelow(lv) and c:IsSetCard(0x4) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
48+
end
49+
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
50+
if chk==0 then return e:GetHandler():IsRelateToEffect(e) and not e:GetHandler():IsStatus(STATUS_CHAINING)
51+
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
52+
and Duel.IsExistingMatchingCard(s.spfilter,tp,LOCATION_DECK,0,1,nil,e,tp,e:GetLabel()) end
53+
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_DECK)
54+
end
55+
function s.operation(e,tp,eg,ep,ev,re,r,rp)
56+
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
57+
if not e:GetHandler():IsRelateToEffect(e) then return end
58+
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
59+
local g=Duel.SelectMatchingCard(tp,s.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp,e:GetLabel())
60+
if #g>0 then
61+
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
62+
end
63+
end

unofficial/c151000004.lua

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
--仙界竹林
2+
--Bamboo Battleground
3+
local s,id=GetID()
4+
function s.initial_effect(c)
5+
--Activate
6+
local e1=Effect.CreateEffect(c)
7+
e1:SetType(EFFECT_TYPE_ACTIVATE)
8+
e1:SetCode(EVENT_FREE_CHAIN)
9+
c:RegisterEffect(e1)
10+
end
11+
s.af="a"
12+
s.tableAction = {
13+
150000024,150000024,
14+
150000041
15+
}

unofficial/c151000005.lua

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
--脳開発研究所 (Action Field)
2+
--Brain Research Lab (Action Field)
3+
local s,id=GetID()
4+
function s.initial_effect(c)
5+
c:EnableCounterPermit(0x4)
6+
--Activate
7+
local e1=Effect.CreateEffect(c)
8+
e1:SetType(EFFECT_TYPE_ACTIVATE)
9+
e1:SetCode(EVENT_FREE_CHAIN)
10+
c:RegisterEffect(e1)
11+
--extra summon
12+
local e2=Effect.CreateEffect(c)
13+
e2:SetType(EFFECT_TYPE_FIELD)
14+
e2:SetRange(LOCATION_FZONE)
15+
e2:SetDescription(aux.Stringid(id,0))
16+
e2:SetTargetRange(LOCATION_HAND+LOCATION_MZONE,LOCATION_HAND+LOCATION_MZONE)
17+
e2:SetCode(EFFECT_EXTRA_SUMMON_COUNT)
18+
e2:SetTarget(aux.TargetBoolFunction(Card.IsRace,RACE_PSYCHIC))
19+
e2:SetOperation(s.esop)
20+
c:RegisterEffect(e2)
21+
local e3=Effect.CreateEffect(c)
22+
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
23+
e3:SetRange(LOCATION_FZONE)
24+
e3:SetCode(EVENT_SUMMON_SUCCESS)
25+
e3:SetCondition(s.ctcon)
26+
e3:SetOperation(s.ctop)
27+
c:RegisterEffect(e3)
28+
--lpcost replace
29+
local e4=Effect.CreateEffect(c)
30+
e4:SetDescription(aux.Stringid(id,1))
31+
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
32+
e4:SetRange(LOCATION_FZONE)
33+
e4:SetCode(EFFECT_LPCOST_REPLACE)
34+
e4:SetCondition(s.lrcon)
35+
e4:SetOperation(s.lrop)
36+
c:RegisterEffect(e4)
37+
--damage
38+
local e5=Effect.CreateEffect(c)
39+
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
40+
e5:SetCode(EVENT_LEAVE_FIELD_P)
41+
e5:SetOperation(s.damp)
42+
c:RegisterEffect(e5)
43+
local e6=Effect.CreateEffect(c)
44+
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
45+
e6:SetCode(EVENT_LEAVE_FIELD)
46+
e6:SetOperation(s.damop)
47+
e6:SetLabelObject(e5)
48+
c:RegisterEffect(e6)
49+
end
50+
s.af="a"
51+
s.counter_list={0x4}
52+
function s.esop(e,tp,eg,ep,ev,re,r,rp,c)
53+
c:RegisterFlagEffect(id,RESET_EVENT+RESETS_STANDARD-RESET_TOFIELD+RESET_PHASE+PHASE_END,0,1)
54+
end
55+
function s.ctcon(e,tp,eg,ep,ev,re,r,rp)
56+
return eg:GetFirst():GetFlagEffect(id)~=0
57+
end
58+
function s.ctop(e,tp,eg,ep,ev,re,r,rp)
59+
e:GetHandler():AddCounter(0x4,1)
60+
eg:GetFirst():ResetFlagEffect(id)
61+
end
62+
function s.lrcon(e,tp,eg,ep,ev,re,r,rp)
63+
if tp~=ep then return false end
64+
local lp=Duel.GetLP(ep)
65+
if lp<ev then return false end
66+
if not re or not re:IsHasType(0x7e0) then return false end
67+
local rc=re:GetHandler()
68+
return rc:IsLocation(LOCATION_MZONE) and rc:IsRace(RACE_PSYCHIC)
69+
end
70+
function s.lrop(e,tp,eg,ep,ev,re,r,rp)
71+
e:GetHandler():AddCounter(0x4,1)
72+
end
73+
function s.damp(e,tp,eg,ep,ev,re,r,rp)
74+
local c=e:GetHandler()
75+
local ct=c:GetCounter(0x4)
76+
e:SetLabel(ct)
77+
end
78+
function s.damop(e,tp,eg,ep,ev,re,r,rp)
79+
local ct=e:GetLabelObject():GetLabel()
80+
if ct>0 then
81+
Duel.Damage(tp,ct*1000,REASON_EFFECT)
82+
end
83+
end

unofficial/c151000006.lua

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
--絶海の孤島
2+
--Calamity Cove
3+
local s,id=GetID()
4+
function s.initial_effect(c)
5+
--Activate
6+
local e1=Effect.CreateEffect(c)
7+
e1:SetType(EFFECT_TYPE_ACTIVATE)
8+
e1:SetCode(EVENT_FREE_CHAIN)
9+
c:RegisterEffect(e1)
10+
end
11+
s.af="a"

unofficial/c151000007.lua

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
--断層地帯 (Action Field)
2+
--Canyon (Action Field)
3+
local s,id=GetID()
4+
function s.initial_effect(c)
5+
--activate
6+
local e1=Effect.CreateEffect(c)
7+
e1:SetType(EFFECT_TYPE_ACTIVATE)
8+
e1:SetCode(EVENT_FREE_CHAIN)
9+
c:RegisterEffect(e1)
10+
--damage amp
11+
local e2=Effect.CreateEffect(c)
12+
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
13+
e2:SetRange(LOCATION_FZONE)
14+
e2:SetCode(EVENT_PRE_BATTLE_DAMAGE)
15+
e2:SetCondition(s.dcon)
16+
e2:SetOperation(s.dop)
17+
c:RegisterEffect(e2)
18+
end
19+
s.af="a"
20+
function s.dcon(e,tp,eg,ep,ev,re,r,rp)
21+
return eg:GetFirst():IsDefensePos() and eg:GetFirst():IsRace(RACE_ROCK)
22+
end
23+
function s.dop(e,tp,eg,ep,ev,re,r,rp)
24+
Duel.DoubleBattleDamage(ep)
25+
end

unofficial/c151000008.lua

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
--辺境の牙王城
2+
--Castle of Chaos
3+
local s,id=GetID()
4+
function s.initial_effect(c)
5+
--Activate
6+
local e1=Effect.CreateEffect(c)
7+
e1:SetType(EFFECT_TYPE_ACTIVATE)
8+
e1:SetCode(EVENT_FREE_CHAIN)
9+
c:RegisterEffect(e1)
10+
end
11+
s.af="a"
12+
s.tableAction = {
13+
150000024,150000024,150000024,150000024,
14+
150000042,150000042,150000042
15+
}

0 commit comments

Comments
 (0)