Commit b65abdd3 authored by VanillaSalt's avatar VanillaSalt
parent b6b302fb
#[2013.9][2013.10.11 TCG][2013.3.1][2012.9.1][2012.3.1][2011.9.1] #[2013.9][2014.1.1 TCG][2013.10.11 TCG][2013.3.1][2012.9.1][2012.3.1][2011.9.1]
!2013.9 !2013.9
#forbidden #forbidden
20663556 0 --イレカエル 20663556 0 --イレカエル
...@@ -153,6 +153,169 @@ ...@@ -153,6 +153,169 @@
53582587 2 --激流葬 53582587 2 --激流葬
29401950 2 --奈落の落とし穴 29401950 2 --奈落の落とし穴
!2014.1.1 TCG
#forbidden
20663556 0 --イレカエル
53797637 0 --炎征竜-バーナー
40044918 0 --E·HERO エアーマン
44910027 0 --ヴィクトリー・ドラゴン
82301904 0 --混沌帝龍 -終焉の使者-
08131171 0 --キラー・スネーク
26202165 0 --クリッター
78010363 0 --黒き森のウィッチ
67441435 0 --グローアップ·バルブ
07391448 0 --ゴヨウ·ガーディアン
40737112 0 --混沌の黒魔術師
34124316 0 --サイバーポッド
63519819 0 --サウザンド·アイズ·サクリファイス
81122844 0 --発条空母ゼンマイティ
21593977 0 --処刑人-マキュラ
27415516 0 --水征竜-ストリーム
32646477 0 --ダーク·ダイブ·ボンバー
91020571 0 --地征竜-リアクタン
56570271 0 --DHERO ディスクガイ
69015963 0 --デビル·フランケン
33184167 0 --同族感染ウィルス
54719828 0 --No.16 色の支配者ショック·ルーラー
52687916 0 --氷結界の龍 トリシューラ
50321796 0 --氷結界の龍 ブリューナク
78706415 0 --ファイバーポッド
93369354 0 --フィッシュボーグ-ガンナー
89185742 0 --風征竜-ライトニング
34206604 0 --魔導サイエンティスト
96782886 0 --メンタルマスター
03078576 0 --八汰烏
14878871 0 --レスキューキャット
41482598 0 --悪夢の蜃気楼
44763025 0 --いたずら好きな双子悪魔
19613556 0 --大嵐
29762407 0 --王家の神殿
17375316 0 --押収
74191942 0 --苦渋の選択
42829885 0 --強引な番兵
45986603 0 --強奪
55144522 0 --強欲な壺
04031928 0 --心変わり
12580477 0 --サンダー·ボルト
23557835 0 --次元融合
83764718 0 --死者蘇生
57953380 0 --生還の宝札
87910978 0 --洗脳-ブレインコントロール
60682203 0 --大寒波
67169062 0 --貪欲な壺
27770341 0 --超再生能力
69243953 0 --蝶の短剣-エルマ
72892473 0 --手札抹殺
79571449 0 --天使の施し
42703248 0 --ハリケーン
18144506 0 --ハーピィの羽根帚
70828912 0 --早すぎた埋葬
34906152 0 --マスドライバー
46448938 0 --魔導書の神判
77565204 0 --未来融合-フューチャー·フュージョン
27970830 0 --六武の門
46411259 0 --突然変異
85602018 0 --遺言状
62265044 0 --竜の渓谷
27174286 0 --異次元からの帰還
61740673 0 --王宮の勅命
93016201 0 --王宮の弾圧
41420027 0 --神の宣告
17484499 0 --現世と冥界の逆転
57728570 0 --死のデッキ破壊ウイルス
57585212 0 --自爆スイッチ
03280747 0 --第六感
64697231 0 --ダスト·シュート
35316708 0 --刻の封印
80604091 0 --血の代償
83555666 0 --破壊輪
28566710 0 --ラストバトル!
#limit
64034255 1 --A·ジェネクス·バードマン
45222299 1 --イビリチュア·ガストクラーケ
11877465 1 --イビリチュア·マインドオーガス
68184115 1 --甲虫装機 ダンセル
69207766 1 --甲虫装機 ホーネット
01662004 1 --炎星師-チョウテン
53804307 1 --焔征竜-ブラスター
37742478 1 --オネスト
74311226 1 --海皇の竜騎隊
72989439 1 --カオス·ソルジャー -開闢の使者-
90411554 1 --巌征竜-レドックス
41470137 1 --剣闘獣ベストロウリィ
78868119 1 --深海のディーヴァ
29981921 1 --真六武衆-シエン
31560081 1 --聖なる魔術師
59297550 1 --ゼンマイマジシャン
65192027 1 --ダーク·アームド·ドラゴン
15341821 1 --ダンディライオン
90953320 1 --TG ハイパー·ライブラリアン
14943837 1 --デブリ·ドラゴン
16226786 1 --深淵の暗殺者
80344569 1 --N·グラン·モール
28297833 1 --ネクロフェイス
26400609 1 --瀑征竜-タイダル
70583986 1 --氷結界の虎王ドゥローレン
33396948 1 --封印されしエクゾディア
07902349 1 --封印されし者の左腕
70903634 1 --封印されし者の右腕
44519536 1 --封印されし者の左足
08124921 1 --封印されし者の右足
50091196 1 --フォーミュラ·シンクロン
02009101 1 --BF-疾風のゲイル
44330098 1 --冥府の使者ゴーズ
33508719 1 --メタモルポット
71564252 1 --ライオウ
89399912 1 --嵐征竜-テンペスト
85138716 1 --レスキューラビット
88264978 1 --レッドアイズ·ダークネスメタルドラゴン
48976825 1 --異次元からの埋葬
33782437 1 --一時休戦
66957584 1 --インフェルニティガン
23701465 1 --原初の種
72405967 1 --王家の生け贄
81439173 1 --おろかな埋葬
97997309 1 --ゲーテの魔導書
45725480 1 --七星の宝刀
95308449 1 --終焉のカウントダウン
37520316 1 --精神操作
32807846 1 --増援
14087893 1 --月の書
81674782 1 --次元の裂け目
94886282 1 --光の援軍
75500286 1 --封印の黄金櫃
53129443 1 --ブラック·ホール
15854426 1 --霞の谷の神風
43040603 1 --モンスターゲート
01475311 1 --闇の誘惑
23171610 1 --リミッター解除
02295440 1 --ワン·フォー·ワン
84749824 1 --神の警告
94192409 1 --強制脱出装置
53582587 1 --激流葬
73599290 1 --ソウルドレイン
36468556 1 --停戦協定
46652477 1 --転生の予言
29401950 1 --奈落の落とし穴
17078030 1 --光の護封壁
30241314 1 --マクロコスモス
32723153 1 --マジカル·エクスプロージョン
54974237 1 --闇のデッキ破壊ウイルス
#semi limit
85087012 2 --カードガンナー
09596126 2 --カオス·ソーサラー
00423585 2 --召喚僧サモンプリースト
98777036 2 --トラゴエディア
10028593 2 --輪廻天狗
48686504 2 --ローンファイア·ブロッサム
46052429 2 --高等儀式術
98494543 2 --魔法石の採掘
58577036 2 --名推理
91623717 2 --連鎖爆撃
29843091 2 --おジャマトリオ
70342110 2 --次元幽閉
44095762 2 --聖なるバリア-ミラーフォース-
!2013.10.11 TCG !2013.10.11 TCG
#forbidden #forbidden
20663556 0 --イレカエル 20663556 0 --イレカエル
......
...@@ -2156,8 +2156,8 @@ int32 card::is_capable_be_effect_target(effect* peffect, uint8 playerid) { ...@@ -2156,8 +2156,8 @@ int32 card::is_capable_be_effect_target(effect* peffect, uint8 playerid) {
} }
return TRUE; return TRUE;
} }
int32 card::is_can_be_fusion_material() { int32 card::is_can_be_fusion_material(uint8 ignore_mon) {
if(!(get_type()&TYPE_MONSTER)) if(!ignore_mon && !(get_type() & TYPE_MONSTER))
return FALSE; return FALSE;
if(is_affected_by_effect(EFFECT_FORBIDDEN)) if(is_affected_by_effect(EFFECT_FORBIDDEN))
return FALSE; return FALSE;
......
...@@ -235,7 +235,7 @@ public: ...@@ -235,7 +235,7 @@ public:
int32 is_control_can_be_changed(); int32 is_control_can_be_changed();
int32 is_capable_be_battle_target(card* pcard); int32 is_capable_be_battle_target(card* pcard);
int32 is_capable_be_effect_target(effect* peffect, uint8 playerid); int32 is_capable_be_effect_target(effect* peffect, uint8 playerid);
int32 is_can_be_fusion_material(); int32 is_can_be_fusion_material(uint8 ignore_mon = FALSE);
int32 is_can_be_synchro_material(card* scard, card* tuner = 0); int32 is_can_be_synchro_material(card* scard, card* tuner = 0);
int32 is_can_be_xyz_material(card* scard); int32 is_can_be_xyz_material(card* scard);
}; };
......
...@@ -1698,7 +1698,10 @@ int32 scriptlib::card_is_can_be_fusion_material(lua_State *L) { ...@@ -1698,7 +1698,10 @@ int32 scriptlib::card_is_can_be_fusion_material(lua_State *L) {
check_param_count(L, 1); check_param_count(L, 1);
check_param(L, PARAM_TYPE_CARD, 1); check_param(L, PARAM_TYPE_CARD, 1);
card* pcard = *(card**) lua_touserdata(L, 1); card* pcard = *(card**) lua_touserdata(L, 1);
lua_pushboolean(L, pcard->is_can_be_fusion_material()); uint32 ign = FALSE;
if(lua_gettop(L) >= 2)
ign = lua_toboolean(L, 2);
lua_pushboolean(L, pcard->is_can_be_fusion_material(ign));
return 1; return 1;
} }
int32 scriptlib::card_is_can_be_synchro_material(lua_State *L) { int32 scriptlib::card_is_can_be_synchro_material(lua_State *L) {
......
...@@ -111,8 +111,7 @@ function c12670770.spcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -111,8 +111,7 @@ function c12670770.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.RegisterEffect(e1,tp) Duel.RegisterEffect(e1,tp)
end end
function c12670770.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c12670770.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return true end
and Duel.IsExistingMatchingCard(c12670770.spfilter,tp,LOCATION_REMOVED,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_REMOVED) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_REMOVED)
end end
function c12670770.desfilter(c) function c12670770.desfilter(c)
......
...@@ -30,9 +30,7 @@ function c13455953.sumop(e,tp,eg,ep,ev,re,r,rp) ...@@ -30,9 +30,7 @@ function c13455953.sumop(e,tp,eg,ep,ev,re,r,rp)
end end
function c13455953.thcon(e,tp,eg,ep,ev,re,r,rp) function c13455953.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local pos=c:GetPreviousPosition() return c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP)
if c:IsReason(REASON_BATTLE) then pos=c:GetBattlePosition() end
return c:IsPreviousLocation(LOCATION_ONFIELD) and bit.band(pos,POS_FACEUP)~=0
end end
function c13455953.filter(c) function c13455953.filter(c)
return c:IsSetCard(0x5042) and c:IsAbleToHand() return c:IsSetCard(0x5042) and c:IsAbleToHand()
......
...@@ -12,7 +12,7 @@ function c23323812.initial_effect(c) ...@@ -12,7 +12,7 @@ function c23323812.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c23323812.filter(c,tp) function c23323812.filter(c,tp)
return c:GetPreviousControler()==tp and bit.band(c:GetBattlePosition(),POS_FACEUP)~=0 return c:GetPreviousControler()==tp and c:IsPreviousPosition(POS_FACEUP)
and c==Duel.GetAttackTarget() and c:IsRace(RACE_PSYCHO) and c==Duel.GetAttackTarget() and c:IsRace(RACE_PSYCHO)
end end
function c23323812.condition(e,tp,eg,ep,ev,re,r,rp) function c23323812.condition(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -14,11 +14,7 @@ function c24419823.initial_effect(c) ...@@ -14,11 +14,7 @@ function c24419823.initial_effect(c)
end end
function c24419823.thcon(e,tp,eg,ep,ev,re,r,rp) function c24419823.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsLocation(LOCATION_DECK) then return false end return not c:IsLocation(LOCATION_DECK) and c:IsPreviousPosition(POS_FACEUP)
if Duel.GetCurrentPhase()==PHASE_DAMAGE and c:GetPreviousLocation()==LOCATION_MZONE then
return bit.band(c:GetBattlePosition(),POS_FACEUP)~=0
end
return bit.band(c:GetPreviousPosition(),POS_FACEUP)~=0
end end
function c24419823.filter(c) function c24419823.filter(c)
return c:IsType(TYPE_FIELD) and c:IsAbleToHand() return c:IsType(TYPE_FIELD) and c:IsAbleToHand()
......
...@@ -38,7 +38,7 @@ function c27346636.splimit(e,se,sp,st) ...@@ -38,7 +38,7 @@ function c27346636.splimit(e,se,sp,st)
return e:GetHandler():GetLocation()~=LOCATION_EXTRA return e:GetHandler():GetLocation()~=LOCATION_EXTRA
end end
function c27346636.spfilter1(c,tp) function c27346636.spfilter1(c,tp)
return c:IsCode(78868776) and c:IsAbleToDeckAsCost() and c:IsCanBeFusionMaterial() return c:IsCode(78868776) and c:IsAbleToDeckAsCost() and c:IsCanBeFusionMaterial(true)
and Duel.IsExistingMatchingCard(c27346636.spfilter2,tp,LOCATION_MZONE,0,2,c) and Duel.IsExistingMatchingCard(c27346636.spfilter2,tp,LOCATION_MZONE,0,2,c)
end end
function c27346636.spfilter2(c) function c27346636.spfilter2(c)
......
...@@ -19,6 +19,7 @@ function c2830693.initial_effect(c) ...@@ -19,6 +19,7 @@ function c2830693.initial_effect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_ATTACK_ANNOUNCE) e2:SetCode(EVENT_ATTACK_ANNOUNCE)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetProperty(EFFECT_FLAG_CHAIN_UNIQUE)
e2:SetCondition(c2830693.spcon) e2:SetCondition(c2830693.spcon)
e2:SetCost(c2830693.spcost) e2:SetCost(c2830693.spcost)
e2:SetTarget(c2830693.sptg) e2:SetTarget(c2830693.sptg)
......
...@@ -69,11 +69,8 @@ function c30604579.disop(e,tp,eg,ep,ev,re,r,rp) ...@@ -69,11 +69,8 @@ function c30604579.disop(e,tp,eg,ep,ev,re,r,rp)
end end
function c30604579.regop(e,tp,eg,ep,ev,re,r,rp) function c30604579.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local ctl=c:GetPreviousControler() if rp~=tp and c:GetPreviousControler()==tp and c:IsReason(REASON_DESTROY)
local pos=c:GetPreviousPosition() and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP) then
if c:IsReason(REASON_BATTLE) then pos=c:GetBattlePosition() end
if ctl==tp and rp~=tp and c:IsReason(REASON_DESTROY)
and bit.band(c:GetPreviousLocation(),LOCATION_ONFIELD)~=0 and bit.band(pos,POS_FACEUP)~=0 then
c:RegisterFlagEffect(30604579,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1) c:RegisterFlagEffect(30604579,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
end end
end end
......
...@@ -68,8 +68,8 @@ function c31480215.splimit(e,c,tp,sumtp,sumpos) ...@@ -68,8 +68,8 @@ function c31480215.splimit(e,c,tp,sumtp,sumpos)
return not c:IsAttribute(ATTRIBUTE_WIND) return not c:IsAttribute(ATTRIBUTE_WIND)
end end
function c31480215.lvcost(e,tp,eg,ep,ev,re,r,rp,chk) function c31480215.lvcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,31480215)==0 and Duel.CheckReleaseGroup(tp,Card.IsSetCard,1,nil,0x101b) end if chk==0 then return Duel.GetFlagEffect(tp,31480215)==0 and Duel.CheckReleaseGroup(tp,Card.IsSetCard,1,e:GetHandler(),0x101b) end
local g=Duel.SelectReleaseGroup(tp,Card.IsSetCard,1,1,nil,0x101b) local g=Duel.SelectReleaseGroup(tp,Card.IsSetCard,1,1,e:GetHandler(),0x101b)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
Duel.RegisterFlagEffect(tp,31480215,RESET_PHASE+PHASE_END,0,1) Duel.RegisterFlagEffect(tp,31480215,RESET_PHASE+PHASE_END,0,1)
end end
......
...@@ -39,12 +39,7 @@ end ...@@ -39,12 +39,7 @@ end
function c31516413.hspop(e,tp,eg,ep,ev,re,r,rp,c) function c31516413.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectReleaseGroup(c:GetControler(),Card.IsSetCard,1,1,nil,0x69) local g=Duel.SelectReleaseGroup(c:GetControler(),Card.IsSetCard,1,1,nil,0x69)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
local e1=Effect.CreateEffect(c) c:RegisterFlagEffect(0,RESET_EVENT+0x4fc0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(31516413,2))
e1:SetDescription(aux.Stringid(31516413,2))
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetReset(RESET_EVENT+0x4fc0000)
c:RegisterEffect(e1)
end end
function c31516413.descost(e,tp,eg,ep,ev,re,r,rp,chk) function c31516413.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,Card.IsSetCard,1,e:GetHandler(),0x69) end if chk==0 then return Duel.CheckReleaseGroupEx(tp,Card.IsSetCard,1,e:GetHandler(),0x69) end
......
...@@ -39,12 +39,7 @@ end ...@@ -39,12 +39,7 @@ end
function c3300267.hspop(e,tp,eg,ep,ev,re,r,rp,c) function c3300267.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local g=Duel.SelectReleaseGroup(c:GetControler(),Card.IsSetCard,1,1,nil,0x69) local g=Duel.SelectReleaseGroup(c:GetControler(),Card.IsSetCard,1,1,nil,0x69)
Duel.Release(g,REASON_COST) Duel.Release(g,REASON_COST)
local e1=Effect.CreateEffect(c) c:RegisterFlagEffect(0,RESET_EVENT+0x4fc0000,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(3300267,2))
e1:SetDescription(aux.Stringid(3300267,2))
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CLIENT_HINT)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetReset(RESET_EVENT+0x4fc0000)
c:RegisterEffect(e1)
end end
function c3300267.descost(e,tp,eg,ep,ev,re,r,rp,chk) function c3300267.descost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroupEx(tp,Card.IsSetCard,1,e:GetHandler(),0x69) end if chk==0 then return Duel.CheckReleaseGroupEx(tp,Card.IsSetCard,1,e:GetHandler(),0x69) end
......
...@@ -43,8 +43,8 @@ function c3370104.disop(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,8 +43,8 @@ function c3370104.disop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c3370104.condition(e,tp,eg,ep,ev,re,r,rp) function c3370104.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLocation(LOCATION_GRAVE) and e:GetHandler():IsReason(REASON_BATTLE) local c=e:GetHandler()
and bit.band(e:GetHandler():GetBattlePosition(),POS_FACEUP)~=0 return c:IsLocation(LOCATION_GRAVE) and c:IsReason(REASON_BATTLE) and c:IsPreviousPosition(POS_FACEUP)
end end
function c3370104.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c3370104.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
......
...@@ -13,15 +13,9 @@ function c3536537.initial_effect(c) ...@@ -13,15 +13,9 @@ function c3536537.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c3536537.descon(e,tp,eg,ep,ev,re,r,rp) function c3536537.descon(e,tp,eg,ep,ev,re,r,rp)
if bit.band(r,REASON_DESTROY)==0 then return false end local c=e:GetHandler()
if bit.band(r,REASON_BATTLE)~=0 then return rp~=tp and c:GetPreviousControler()==tp and bit.band(r,REASON_DESTROY)~=0
return bit.band(e:GetHandler():GetBattlePosition(),POS_FACEUP)~=0 and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP)
and e:GetHandler():GetPreviousControler()==tp and rp~=tp
else
return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
and e:GetHandler():IsPreviousPosition(POS_FACEUP)
and e:GetHandler():GetPreviousControler()==tp and rp~=tp
end
end end
function c3536537.filter(c) function c3536537.filter(c)
return c:IsFaceup() and c:IsLevelAbove(5) and bit.band(c:GetSummonType(),SUMMON_TYPE_SPECIAL)~=0 and c:IsDestructable() return c:IsFaceup() and c:IsLevelAbove(5) and bit.band(c:GetSummonType(),SUMMON_TYPE_SPECIAL)~=0 and c:IsDestructable()
......
...@@ -14,12 +14,8 @@ function c40343749.initial_effect(c) ...@@ -14,12 +14,8 @@ function c40343749.initial_effect(c)
end end
function c40343749.condition(e,tp,eg,ep,ev,re,r,rp) function c40343749.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsReason(REASON_BATTLE) then return rp~=tp and c:IsReason(REASON_DESTROY) and c:IsPreviousPosition(POS_FACEUP)
return c:GetReasonPlayer()~=tp and bit.band(c:GetBattlePosition(),POS_FACEUP)~=0 and c:IsPreviousLocation(LOCATION_ONFIELD) and c:GetPreviousControler()==tp
else
return rp~=tp and c:IsReason(REASON_DESTROY) and c:IsPreviousPosition(POS_FACEUP)
and c:IsPreviousLocation(LOCATION_ONFIELD) and c:GetPreviousControler()==tp
end
end end
function c40343749.filter(c,e,tp) function c40343749.filter(c,e,tp)
return c:IsSetCard(0x80) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x80) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
...@@ -25,7 +25,6 @@ end ...@@ -25,7 +25,6 @@ end
function c43642620.dmcon(e,tp,eg,ep,ev,re,r,rp) function c43642620.dmcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsReason(REASON_DESTROY) and c:IsPreviousPosition(POS_FACEUP) return c:IsReason(REASON_DESTROY) and c:IsPreviousPosition(POS_FACEUP)
and (not c:IsReason(REASON_BATTLE) or bit.band(c:GetBattlePosition(),POS_FACEUP)~=0)
end end
function c43642620.dmtg(e,tp,eg,ep,ev,re,r,rp,chk) function c43642620.dmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -27,8 +27,8 @@ function c44364207.indesval(e,re) ...@@ -27,8 +27,8 @@ function c44364207.indesval(e,re)
return re:GetHandler():IsType(TYPE_TRAP) return re:GetHandler():IsType(TYPE_TRAP)
end end
function c44364207.condition(e,tp,eg,ep,ev,re,r,rp) function c44364207.condition(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLocation(LOCATION_GRAVE) and e:GetHandler():IsReason(REASON_BATTLE) local c=e:GetHandler()
and bit.band(e:GetHandler():GetBattlePosition(),POS_FACEUP)~=0 return c:IsLocation(LOCATION_GRAVE) and c:IsReason(REASON_BATTLE) and c:IsPreviousPosition(POS_FACEUP)
end end
function c44364207.filter(c) function c44364207.filter(c)
return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:GetLevel()==4 and c:IsAbleToHand() return c:IsRace(RACE_MACHINE) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:GetLevel()==4 and c:IsAbleToHand()
......
...@@ -14,10 +14,7 @@ function c46572756.initial_effect(c) ...@@ -14,10 +14,7 @@ function c46572756.initial_effect(c)
end end
function c46572756.condition(e,tp,eg,ep,ev,re,r,rp) function c46572756.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local pos=c:GetPreviousPosition() return c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsReason(REASON_DESTROY) and c:IsPreviousPosition(POS_FACEUP)
if Duel.GetCurrentPhase()==PHASE_DAMAGE and c==Duel.GetAttackTarget() then pos=c:GetBattlePosition() end
return c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsReason(REASON_DESTROY)
and bit.band(pos,POS_FACEUP)~=0
end end
function c46572756.filter(c) function c46572756.filter(c)
return c:IsSetCard(0x2) and c:IsAbleToDeck() return c:IsSetCard(0x2) and c:IsAbleToDeck()
......
...@@ -46,7 +46,7 @@ function c48156348.splimit(e,se,sp,st) ...@@ -46,7 +46,7 @@ function c48156348.splimit(e,se,sp,st)
return e:GetHandler():GetLocation()~=LOCATION_EXTRA return e:GetHandler():GetLocation()~=LOCATION_EXTRA
end end
function c48156348.spfilter1(c,tp) function c48156348.spfilter1(c,tp)
return c:IsCode(41470137) and c:IsAbleToDeckAsCost() and c:IsCanBeFusionMaterial() return c:IsCode(41470137) and c:IsAbleToDeckAsCost() and c:IsCanBeFusionMaterial(true)
and Duel.IsExistingMatchingCard(c48156348.spfilter2,tp,LOCATION_MZONE,0,1,c) and Duel.IsExistingMatchingCard(c48156348.spfilter2,tp,LOCATION_MZONE,0,1,c)
end end
function c48156348.spfilter2(c) function c48156348.spfilter2(c)
......
...@@ -25,7 +25,8 @@ end ...@@ -25,7 +25,8 @@ end
function c50074392.spcon(e,c) function c50074392.spcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
return Duel.IsExistingMatchingCard(c50074392.cfilter,tp,LOCATION_MZONE,0,1,nil,RACE_FISH) return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c50074392.cfilter,tp,LOCATION_MZONE,0,1,nil,RACE_FISH)
and Duel.IsExistingMatchingCard(c50074392.cfilter,tp,LOCATION_MZONE,0,1,nil,RACE_WINDBEAST) and Duel.IsExistingMatchingCard(c50074392.cfilter,tp,LOCATION_MZONE,0,1,nil,RACE_WINDBEAST)
end end
function c50074392.lvcon(e,tp,eg,ep,ev,re,r,rp) function c50074392.lvcon(e,tp,eg,ep,ev,re,r,rp)
......
...@@ -27,10 +27,8 @@ function c51402908.initial_effect(c) ...@@ -27,10 +27,8 @@ function c51402908.initial_effect(c)
end end
function c51402908.spr(e,tp,eg,ep,ev,re,r,rp) function c51402908.spr(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local pos=c:GetPreviousPosition()
if Duel.GetCurrentPhase()==PHASE_DAMAGE then pos=c:GetBattlePosition() end
if c:IsReason(REASON_DESTROY) and c:IsPreviousLocation(LOCATION_ONFIELD) if c:IsReason(REASON_DESTROY) and c:IsPreviousLocation(LOCATION_ONFIELD)
and bit.band(pos,POS_FACEUP)~=0 then and c:IsPreviousPosition(POS_FACEUP) then
c:RegisterFlagEffect(51402908,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,2) c:RegisterFlagEffect(51402908,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,2)
end end
end end
......
...@@ -15,9 +15,7 @@ function c56840658.initial_effect(c) ...@@ -15,9 +15,7 @@ function c56840658.initial_effect(c)
end end
function c56840658.condition(e,tp,eg,ep,ev,re,r,rp) function c56840658.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsPreviousLocation(LOCATION_ONFIELD) then return false end return c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP)
if bit.band(r,REASON_BATTLE)~=0 then return bit.band(c:GetBattlePosition(),POS_FACEUP)~=0
else return bit.band(c:GetPreviousPosition(),POS_FACEUP)~=0 end
end end
function c56840658.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c56840658.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end if chk==0 then return Duel.IsPlayerCanDraw(tp,1) end
......
...@@ -29,7 +29,6 @@ end ...@@ -29,7 +29,6 @@ end
function c58185394.dmcon(e,tp,eg,ep,ev,re,r,rp) function c58185394.dmcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsReason(REASON_DESTROY) and c:IsPreviousPosition(POS_FACEUP) return c:IsReason(REASON_DESTROY) and c:IsPreviousPosition(POS_FACEUP)
and (not c:IsReason(REASON_BATTLE) or bit.band(c:GetBattlePosition(),POS_FACEUP)~=0)
end end
function c58185394.dmtg(e,tp,eg,ep,ev,re,r,rp,chk) function c58185394.dmtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -94,6 +94,7 @@ function c59281922.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -94,6 +94,7 @@ function c59281922.operation(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE) e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(1) e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END) e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
......
...@@ -14,7 +14,7 @@ end ...@@ -14,7 +14,7 @@ end
function c59312550.condition(e,tp,eg,ep,ev,re,r,rp) function c59312550.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsLocation(LOCATION_GRAVE) and c:IsReason(REASON_BATTLE) return c:IsLocation(LOCATION_GRAVE) and c:IsReason(REASON_BATTLE)
and c:GetBattlePosition()==POS_FACEUP_ATTACK and c:GetPreviousControler()==tp and c:IsPreviousPosition(POS_FACEUP_ATTACK) and c:GetPreviousControler()==tp
end end
function c59312550.filter(c,e,tp) function c59312550.filter(c,e,tp)
return c:IsSetCard(0x22) and c:IsAttackBelow(1700) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x22) and c:IsAttackBelow(1700) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
...@@ -68,11 +68,8 @@ function c67098114.disop(e,tp,eg,ep,ev,re,r,rp) ...@@ -68,11 +68,8 @@ function c67098114.disop(e,tp,eg,ep,ev,re,r,rp)
end end
function c67098114.regop(e,tp,eg,ep,ev,re,r,rp) function c67098114.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local ctl=c:GetPreviousControler() if rp~=tp and c:GetPreviousControler()==tp and c:IsReason(REASON_DESTROY)
local pos=c:GetPreviousPosition() and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP) then
if c:IsReason(REASON_BATTLE) then pos=c:GetBattlePosition() end
if ctl==tp and rp~=tp and c:IsReason(REASON_DESTROY)
and c:IsPreviousLocation(LOCATION_ONFIELD) and bit.band(pos,POS_FACEUP)~=0 then
c:RegisterFlagEffect(67098114,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1) c:RegisterFlagEffect(67098114,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
end end
end end
......
...@@ -5,8 +5,8 @@ function c73146473.initial_effect(c) ...@@ -5,8 +5,8 @@ function c73146473.initial_effect(c)
e1:SetDescription(aux.Stringid(73146473,0)) e1:SetDescription(aux.Stringid(73146473,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCost(c73146473.spcost)
e1:SetTarget(c73146473.sptg) e1:SetTarget(c73146473.sptg)
e1:SetOperation(c73146473.spop) e1:SetOperation(c73146473.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
...@@ -22,25 +22,28 @@ function c73146473.initial_effect(c) ...@@ -22,25 +22,28 @@ function c73146473.initial_effect(c)
e2:SetOperation(c73146473.thop) e2:SetOperation(c73146473.thop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c73146473.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGraveAsCost,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGraveAsCost,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SendtoGrave(g,REASON_COST)
end
function c73146473.filter(c,e,tp) function c73146473.filter(c,e,tp)
return c:IsSetCard(0x1f) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0x1f) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c73146473.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c73146473.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
and Duel.IsExistingTarget(nil,tp,LOCATION_MZONE,0,1,nil)
and Duel.IsExistingMatchingCard(c73146473.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c73146473.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectTarget(tp,nil,tp,LOCATION_MZONE,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end end
function c73146473.spop(e,tp,eg,ep,ev,re,r,rp) function c73146473.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) then return end
Duel.SendtoGrave(tc,REASON_EFFECT)
if not tc:IsLocation(LOCATION_GRAVE) or Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c73146473.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c73146473.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then if g:GetCount()>0 then
Duel.BreakEffect()
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
end end
......
...@@ -18,12 +18,7 @@ function c76891401.synfilter(c) ...@@ -18,12 +18,7 @@ function c76891401.synfilter(c)
return c:GetLevel()==3 return c:GetLevel()==3
end end
function c76891401.filter(c) function c76891401.filter(c)
if not c:IsLevelBelow(3) then return false end return c:IsLevelBelow(3) and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP)
local loc=c:GetPreviousLocation()
if not (bit.band(loc,LOCATION_ONFIELD)>0) then return false end
local pos=c:GetPreviousPosition()
if c:IsReason(REASON_BATTLE) then pos=c:GetBattlePosition() end
return bit.band(pos,POS_FACEUP)>0
end end
function c76891401.atkcon(e,tp,eg,ep,ev,re,r,rp) function c76891401.atkcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c76891401.filter,1,nil) return eg:IsExists(c76891401.filter,1,nil)
...@@ -32,7 +27,7 @@ function c76891401.atkop(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -32,7 +27,7 @@ function c76891401.atkop(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK) e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
e1:SetValue(3000) e1:SetValue(3000)
c:RegisterEffect(e1) c:RegisterEffect(e1)
......
...@@ -26,11 +26,9 @@ end ...@@ -26,11 +26,9 @@ end
function c80402389.check(e,tp,eg,ep,ev,re,r,rp) function c80402389.check(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local tc=eg:GetFirst() local tc=eg:GetFirst()
local ph=Duel.GetCurrentPhase()
while tc do while tc do
local pos=(ph==PHASE_DAMAGE) and tc:GetBattlePosition() or tc:GetPreviousPosition()
if tc:IsPreviousLocation(LOCATION_MZONE) and tc:IsReason(REASON_DESTROY) if tc:IsPreviousLocation(LOCATION_MZONE) and tc:IsReason(REASON_DESTROY)
and tc:IsRace(RACE_INSECT) and tc:GetLevel()~=0 and bit.band(pos,POS_FACEUP)~=0 then and tc:IsRace(RACE_INSECT) and tc:GetLevel()~=0 and tc:IsPreviousPosition(POS_FACEUP) then
Duel.RaiseSingleEvent(c,80402389,e,r,rp,tc:GetControler(),tc:GetLevel()) Duel.RaiseSingleEvent(c,80402389,e,r,rp,tc:GetControler(),tc:GetLevel())
end end
tc=eg:GetNext() tc=eg:GetNext()
......
...@@ -13,8 +13,7 @@ function c83982270.initial_effect(c) ...@@ -13,8 +13,7 @@ function c83982270.initial_effect(c)
end end
function c83982270.condition(e,tp,eg,ep,ev,re,r,rp) function c83982270.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsLocation(LOCATION_GRAVE) and c:IsReason(REASON_BATTLE) return c:IsLocation(LOCATION_GRAVE) and c:IsReason(REASON_BATTLE) and c:IsPreviousPosition(POS_FACEUP)
and bit.band(c:GetBattlePosition(),POS_FACEUP)~=0
end end
function c83982270.target(e,tp,eg,ep,ev,re,r,rp,chk) function c83982270.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -13,9 +13,8 @@ function c87340664.initial_effect(c) ...@@ -13,9 +13,8 @@ function c87340664.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c87340664.condition(e,tp,eg,ep,ev,re,r,rp) function c87340664.condition(e,tp,eg,ep,ev,re,r,rp)
e:SetLabel(1-e:GetHandler():GetPreviousControler()) e:SetLabel(e:GetHandler():GetReasonPlayer())
return e:GetHandler():IsReason(REASON_BATTLE) return e:GetHandler():IsReason(REASON_BATTLE) and e:GetHandler():IsPreviousPosition(POS_FACEUP)
and bit.band(e:GetHandler():GetBattlePosition(),POS_FACEUP)~=0
end end
function c87340664.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c87340664.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -16,8 +16,7 @@ function c88753985.initial_effect(c) ...@@ -16,8 +16,7 @@ function c88753985.initial_effect(c)
end end
function c88753985.regop(e,tp,eg,ep,ev,re,r,rp) function c88753985.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsLocation(LOCATION_GRAVE) and c:IsReason(REASON_BATTLE) if c:IsLocation(LOCATION_GRAVE) and c:IsReason(REASON_BATTLE) and c:IsPreviousPosition(POS_FACEUP) then
and bit.band(c:GetBattlePosition(),POS_FACEUP)~=0 then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(88753985,0)) e1:SetDescription(aux.Stringid(88753985,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
......
...@@ -47,7 +47,7 @@ function c90957527.splimit(e,se,sp,st) ...@@ -47,7 +47,7 @@ function c90957527.splimit(e,se,sp,st)
return e:GetHandler():GetLocation()~=LOCATION_EXTRA return e:GetHandler():GetLocation()~=LOCATION_EXTRA
end end
function c90957527.spfilter1(c,tp) function c90957527.spfilter1(c,tp)
return c:IsCode(79580323) and c:IsAbleToDeckAsCost() and c:IsCanBeFusionMaterial() return c:IsCode(79580323) and c:IsAbleToDeckAsCost() and c:IsCanBeFusionMaterial(true)
and Duel.IsExistingMatchingCard(c90957527.spfilter2,tp,LOCATION_MZONE,0,1,c) and Duel.IsExistingMatchingCard(c90957527.spfilter2,tp,LOCATION_MZONE,0,1,c)
end end
function c90957527.spfilter2(c) function c90957527.spfilter2(c)
......
...@@ -62,11 +62,8 @@ function c93483212.imfilter(e,re) ...@@ -62,11 +62,8 @@ function c93483212.imfilter(e,re)
end end
function c93483212.regop(e,tp,eg,ep,ev,re,r,rp) function c93483212.regop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
local ctl=c:GetPreviousControler() if rp~=tp and c:GetPreviousControler()==tp and c:IsReason(REASON_DESTROY)
local pos=c:GetPreviousPosition() and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP) then
if c:IsReason(REASON_BATTLE) then pos=c:GetBattlePosition() end
if ctl==tp and rp~=tp and c:IsReason(REASON_DESTROY)
and bit.band(c:GetPreviousLocation(),LOCATION_ONFIELD)~=0 and bit.band(pos,POS_FACEUP)~=0 then
c:RegisterFlagEffect(93483212,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1) c:RegisterFlagEffect(93483212,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
end end
end end
......
...@@ -28,7 +28,7 @@ function c98024118.indcon(e) ...@@ -28,7 +28,7 @@ function c98024118.indcon(e)
end end
function c98024118.filter(c,tp) function c98024118.filter(c,tp)
return c:IsLocation(LOCATION_GRAVE) and c:IsReason(REASON_BATTLE) and c:IsType(TYPE_TUNER) return c:IsLocation(LOCATION_GRAVE) and c:IsReason(REASON_BATTLE) and c:IsType(TYPE_TUNER)
and c:GetPreviousControler()==tp and bit.band(c:GetBattlePosition(),POS_FACEUP)~=0 and c:GetPreviousControler()==tp and c:IsPreviousPosition(POS_FACEUP)
end end
function c98024118.damcon(e,tp,eg,ep,ev,re,r,rp) function c98024118.damcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c98024118.filter,1,nil,tp) return eg:IsExists(c98024118.filter,1,nil,tp)
......
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