Skip to content

Commit 1fcec6f

Browse files
committed
Updated handling of ATK Up effects
1 parent 4d24716 commit 1fcec6f

25 files changed

+107
-35
lines changed

unofficial/c150000002.lua

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
--突撃
2-
--Assault
2+
--Charge Recklessly
33
local s,id=GetID()
44
function s.initial_effect(c)
55
--Activate
@@ -11,12 +11,13 @@ function s.initial_effect(c)
1111
c:RegisterEffect(e1)
1212
end
1313
function s.condition(e,tp,eg,ep,ev,re,r,rp)
14+
if not (Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated()) then return false end
1415
local tc=Duel.GetAttacker()
1516
local at=Duel.GetAttackTarget()
1617
if not at or tc:IsFacedown() or at:IsFacedown() then return false end
1718
if tc:IsControler(1-tp) then tc=at end
1819
e:SetLabelObject(tc)
19-
return tc:IsControler(tp) and tc:IsLocation(LOCATION_MZONE)
20+
return tc:IsControler(tp) and tc:IsLocation(LOCATION_MZONE)
2021
end
2122
function s.activate(e,tp,eg,ep,ev,re,r,rp)
2223
local c=e:GetHandler()

unofficial/c150000003.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ function s.initial_effect(c)
1111
c:RegisterEffect(e1)
1212
end
1313
function s.condition(e,tp,eg,ep,ev,re,r,rp)
14+
if not (Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated()) then return false end
1415
local tc=Duel.GetAttacker()
1516
local at=Duel.GetAttackTarget()
1617
if not at or tc:IsFacedown() or at:IsFacedown() then return false end

unofficial/c150000012.lua

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,19 @@ local s,id=GetID()
44
function s.initial_effect(c)
55
--Activate
66
local e1=Effect.CreateEffect(c)
7+
e1:SetCategory(CATEGORY_ATKCHANGE)
78
e1:SetType(EFFECT_TYPE_ACTIVATE)
9+
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
10+
e1:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+0x1c0)
811
e1:SetCode(EVENT_FREE_CHAIN)
9-
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
1012
e1:SetCondition(s.condition)
1113
e1:SetTarget(s.target)
1214
e1:SetOperation(s.activate)
1315
c:RegisterEffect(e1)
1416
end
1517
function s.condition(e,tp,eg,ep,ev,re,r,rp)
1618
return Duel.IsAbleToEnterBP() or (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE)
19+
and (Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated())
1720
end
1821
function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
1922
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end

unofficial/c150000013.lua

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,24 @@ local s,id=GetID()
44
function s.initial_effect(c)
55
--Activate
66
local e1=Effect.CreateEffect(c)
7+
e1:SetCategory(CATEGORY_ATKCHANGE)
78
e1:SetType(EFFECT_TYPE_ACTIVATE)
89
e1:SetCode(EVENT_FREE_CHAIN)
10+
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
11+
e1:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+0x1c0)
12+
e1:SetCondition(s.condition)
913
e1:SetTarget(s.target)
1014
e1:SetOperation(s.activate)
1115
c:RegisterEffect(e1)
1216
end
17+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
18+
return Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated()
19+
end
1320
function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
1421
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() and c:IsControler(tp) end
1522
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,0,1,nil) end
1623
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
17-
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,0,1,1,nil)
24+
Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,0,1,1,nil)
1825
end
1926
function s.activate(e,tp,eg,ep,ev,re,r,rp)
2027
local tc=Duel.GetFirstTarget()

unofficial/c150000025.lua

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,27 @@ local s,id=GetID()
44
function s.initial_effect(c)
55
--Activate
66
local e1=Effect.CreateEffect(c)
7-
e1:SetType(EFFECT_TYPE_ACTIVATE)
8-
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
97
e1:SetCategory(CATEGORY_ATKCHANGE)
8+
e1:SetType(EFFECT_TYPE_ACTIVATE)
9+
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
10+
e1:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+0x1c0)
1011
e1:SetCode(EVENT_FREE_CHAIN)
11-
e1:SetTarget(s.target)
1212
e1:SetCondition(s.condition)
13-
e1:SetOperation(s.operation)
13+
e1:SetTarget(s.target)
14+
e1:SetOperation(s.activate)
1415
c:RegisterEffect(e1)
1516
end
1617
function s.condition(e,tp,eg,ep,ev,re,r,rp)
1718
return Duel.IsAbleToEnterBP() or (Duel.GetCurrentPhase()>=PHASE_BATTLE_START and Duel.GetCurrentPhase()<=PHASE_BATTLE)
19+
and (Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated())
1820
end
1921
function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
2022
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and chkc:IsFaceup() end
2123
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
2224
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
2325
local g=Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
2426
end
25-
function s.operation(e,tp,eg,ep,ev,re,r,rp)
27+
function s.activate(e,tp,eg,ep,ev,re,r,rp)
2628
local tc=Duel.GetFirstTarget()
2729
if tc and tc:IsFaceup() and tc:IsRelateToEffect(e) then
2830
local e1=Effect.CreateEffect(tc)

unofficial/c150000028.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ function s.initial_effect(c)
77
e1:SetCategory(CATEGORY_ATKCHANGE)
88
e1:SetType(EFFECT_TYPE_ACTIVATE)
99
e1:SetCode(EVENT_FREE_CHAIN)
10+
e1:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+0x1c0)
1011
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
11-
e1:SetHintTiming(TIMING_DAMAGE_STEP)
1212
e1:SetCondition(s.condition)
1313
e1:SetTarget(s.target)
1414
e1:SetOperation(s.activate)

unofficial/c150000030.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ function s.initial_effect(c)
66
local e1=Effect.CreateEffect(c)
77
e1:SetCategory(CATEGORY_ATKCHANGE)
88
e1:SetType(EFFECT_TYPE_ACTIVATE)
9-
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_CARD_TARGET)
9+
e1:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+0x1c0)
10+
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
1011
e1:SetCode(EVENT_FREE_CHAIN)
11-
e1:SetHintTiming(TIMING_DAMAGE_STEP)
1212
e1:SetCondition(s.condition)
1313
e1:SetTarget(s.target)
1414
e1:SetOperation(s.activate)

unofficial/c150000033.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ function s.initial_effect(c)
66
local e1=Effect.CreateEffect(c)
77
e1:SetCategory(CATEGORY_ATKCHANGE)
88
e1:SetType(EFFECT_TYPE_ACTIVATE)
9+
e1:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+0x1c0)
910
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
1011
e1:SetCode(EVENT_FREE_CHAIN)
11-
e1:SetHintTiming(TIMING_DAMAGE_STEP)
1212
e1:SetCondition(s.condition)
1313
e1:SetTarget(s.target)
1414
e1:SetOperation(s.activate)

unofficial/c150000038.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,19 @@ local s,id=GetID()
44
function s.initial_effect(c)
55
--Activate
66
local e1=Effect.CreateEffect(c)
7+
e1:SetCategory(CATEGORY_ATKCHANGE)
78
e1:SetType(EFFECT_TYPE_ACTIVATE)
89
e1:SetCode(EVENT_FREE_CHAIN)
10+
e1:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+0x1c0)
911
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
12+
e1:SetCondition(s.condition)
1013
e1:SetTarget(s.target)
1114
e1:SetOperation(s.activate)
1215
c:RegisterEffect(e1)
1316
end
17+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
18+
return Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated()
19+
end
1420
function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
1521
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() and c:IsControler(tp) end
1622
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,0,1,nil) end

unofficial/c150000046.lua

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,16 @@ function s.initial_effect(c)
77
e1:SetCategory(CATEGORY_ATKCHANGE)
88
e1:SetType(EFFECT_TYPE_ACTIVATE)
99
e1:SetCode(EVENT_FREE_CHAIN)
10-
e1:SetHintTiming(TIMING_DAMAGE_STEP)
10+
e1:SetHintTiming(TIMING_DAMAGE_STEP,TIMING_DAMAGE_STEP+0x1c0)
1111
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
12+
e1:SetCondition(s.condition)
1213
e1:SetTarget(s.target)
1314
e1:SetOperation(s.activate)
1415
c:RegisterEffect(e1)
1516
end
17+
function s.condition(e,tp,eg,ep,ev,re,r,rp)
18+
return Duel.GetCurrentPhase()~=PHASE_DAMAGE or not Duel.IsDamageCalculated()
19+
end
1620
function s.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
1721
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and chkc:IsFaceup() end
1822
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,0,1,nil) end
@@ -29,4 +33,4 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
2933
e1:SetReset(RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END)
3034
tc:RegisterEffect(e1)
3135
end
32-
end
36+
end

0 commit comments

Comments
 (0)