Commit c5db410d authored by salix5's avatar salix5

Merge branch 'master' into patch1

parents 5fe63cbf 32bd333f
...@@ -406,6 +406,60 @@ void ClientField::ShowSelectCard(bool buttonok) { ...@@ -406,6 +406,60 @@ void ClientField::ShowSelectCard(bool buttonok) {
else mainGame->btnSelectOK->setVisible(false); else mainGame->btnSelectOK->setVisible(false);
mainGame->PopupElement(mainGame->wCardSelect); mainGame->PopupElement(mainGame->wCardSelect);
} }
void ClientField::ShowChainCard() {
if(selectable_cards.size() <= 5) {
int startpos = 30 + 125 * (5 - selectable_cards.size()) / 2;
for(size_t i = 0; i < selectable_cards.size(); ++i) {
if(selectable_cards[i]->code)
mainGame->imageLoading.insert(std::make_pair(mainGame->btnCardSelect[i], selectable_cards[i]->code));
else
mainGame->btnCardSelect[i]->setImage(imageManager.tCover);
mainGame->btnCardSelect[i]->setRelativePosition(rect<s32>(startpos + i * 125, 55, startpos + 120 + i * 125, 225));
mainGame->btnCardSelect[i]->setPressed(false);
mainGame->btnCardSelect[i]->setVisible(true);
myswprintf(formatBuffer, L"%ls[%d]", dataManager.FormatLocation(selectable_cards[i]->location, selectable_cards[i]->sequence),
selectable_cards[i]->sequence + 1);
mainGame->stCardPos[i]->setText(formatBuffer);
mainGame->stCardPos[i]->setVisible(true);;
if(selectable_cards[i]->controler)
mainGame->stCardPos[i]->setBackgroundColor(0xffd0d0d0);
else mainGame->stCardPos[i]->setBackgroundColor(0xffffffff);
mainGame->stCardPos[i]->setRelativePosition(rect<s32>(startpos + 10 + i * 125, 30, startpos + 109 + i * 125, 50));
}
for(int i = selectable_cards.size(); i < 5; ++i) {
mainGame->btnCardSelect[i]->setVisible(false);
mainGame->stCardPos[i]->setVisible(false);
}
mainGame->scrCardList->setPos(0);
mainGame->scrCardList->setVisible(false);
} else {
for(int i = 0; i < 5; ++i) {
if(selectable_cards[i]->code)
mainGame->imageLoading.insert(std::make_pair(mainGame->btnCardSelect[i], selectable_cards[i]->code));
else
mainGame->btnCardSelect[i]->setImage(imageManager.tCover);
mainGame->btnCardSelect[i]->setRelativePosition(rect<s32>(30 + i * 125, 55, 30 + 120 + i * 125, 225));
mainGame->btnCardSelect[i]->setPressed(false);
mainGame->btnCardSelect[i]->setVisible(true);
myswprintf(formatBuffer, L"%ls[%d]", dataManager.FormatLocation(selectable_cards[i]->location, selectable_cards[i]->sequence),
selectable_cards[i]->sequence + 1);
mainGame->stCardPos[i]->setText(formatBuffer);
mainGame->stCardPos[i]->setVisible(true);
if(selectable_cards[i]->controler)
mainGame->stCardPos[i]->setBackgroundColor(0xffd0d0d0);
else mainGame->stCardPos[i]->setBackgroundColor(0xffffffff);
mainGame->stCardPos[i]->setRelativePosition(rect<s32>(40 + i * 125, 30, 139 + i * 125, 50));
}
mainGame->scrCardList->setVisible(true);
mainGame->scrCardList->setMin(0);
mainGame->scrCardList->setMax((selectable_cards.size() - 5) * 10 + 9);
mainGame->scrCardList->setPos(0);
}
if(!chain_forced)
mainGame->btnSelectOK->setVisible(true);
else mainGame->btnSelectOK->setVisible(false);
mainGame->PopupElement(mainGame->wCardSelect);
}
void ClientField::ReplaySwap() { void ClientField::ReplaySwap() {
std::swap(deck[0], deck[1]); std::swap(deck[0], deck[1]);
std::swap(hand[0], hand[1]); std::swap(hand[0], hand[1]);
......
...@@ -82,6 +82,7 @@ public: ...@@ -82,6 +82,7 @@ public:
void ClearSelect(); void ClearSelect();
void ClearChainSelect(); void ClearChainSelect();
void ShowSelectCard(bool buttonok = false); void ShowSelectCard(bool buttonok = false);
void ShowChainCard();
void ReplaySwap(); void ReplaySwap();
void RefreshAllCards(); void RefreshAllCards();
......
...@@ -1150,8 +1150,9 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) { ...@@ -1150,8 +1150,9 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
int forced = BufferIO::ReadInt8(pbuf); int forced = BufferIO::ReadInt8(pbuf);
/*int hint0 = */BufferIO::ReadInt32(pbuf); /*int hint0 = */BufferIO::ReadInt32(pbuf);
/*int hint1 = */BufferIO::ReadInt32(pbuf); /*int hint1 = */BufferIO::ReadInt32(pbuf);
int c, l, s/*, code*/, desc; int c, l, s, ss, desc;
ClientCard* pcard; ClientCard* pcard;
bool panelmode = false;
mainGame->dField.chain_forced = (forced != 0); mainGame->dField.chain_forced = (forced != 0);
mainGame->dField.activatable_cards.clear(); mainGame->dField.activatable_cards.clear();
mainGame->dField.activatable_descs.clear(); mainGame->dField.activatable_descs.clear();
...@@ -1160,17 +1161,20 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) { ...@@ -1160,17 +1161,20 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
c = mainGame->LocalPlayer(BufferIO::ReadInt8(pbuf)); c = mainGame->LocalPlayer(BufferIO::ReadInt8(pbuf));
l = BufferIO::ReadInt8(pbuf); l = BufferIO::ReadInt8(pbuf);
s = BufferIO::ReadInt8(pbuf); s = BufferIO::ReadInt8(pbuf);
ss = BufferIO::ReadInt8(pbuf);
desc = BufferIO::ReadInt32(pbuf); desc = BufferIO::ReadInt32(pbuf);
pcard = mainGame->dField.GetCard(c, l, s); pcard = mainGame->dField.GetCard(c, l, s, ss);
mainGame->dField.activatable_cards.push_back(pcard); mainGame->dField.activatable_cards.push_back(pcard);
mainGame->dField.activatable_descs.push_back(desc); mainGame->dField.activatable_descs.push_back(desc);
pcard->is_selectable = true; pcard->is_selectable = true;
pcard->is_selected = false; pcard->is_selected = false;
pcard->cmdFlag |= COMMAND_ACTIVATE; pcard->cmdFlag |= COMMAND_ACTIVATE;
if (pcard->location == LOCATION_GRAVE) if(l == LOCATION_GRAVE)
mainGame->dField.grave_act = true; mainGame->dField.grave_act = true;
if (pcard->location == LOCATION_REMOVED) if(l == LOCATION_REMOVED)
mainGame->dField.remove_act = true; mainGame->dField.remove_act = true;
if(l & 0xc1)
panelmode = true;
} }
if(!forced && (mainGame->ignore_chain || ((count == 0 || specount == 0) && !mainGame->always_chain))) { if(!forced && (mainGame->ignore_chain || ((count == 0 || specount == 0) && !mainGame->always_chain))) {
SetResponseI(-1); SetResponseI(-1);
...@@ -1190,13 +1194,22 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) { ...@@ -1190,13 +1194,22 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame->gMutex.Lock(); mainGame->gMutex.Lock();
mainGame->stHintMsg->setText(dataManager.GetSysString(550)); mainGame->stHintMsg->setText(dataManager.GetSysString(550));
mainGame->stHintMsg->setVisible(true); mainGame->stHintMsg->setVisible(true);
if(!forced) { if(panelmode) {
if(count == 0) mainGame->dField.list_command = COMMAND_ACTIVATE;
myswprintf(textBuffer, L"%ls\n%ls", dataManager.GetSysString(201), dataManager.GetSysString(202)); mainGame->dField.selectable_cards = mainGame->dField.activatable_cards;
else std::sort(mainGame->dField.selectable_cards.begin(), mainGame->dField.selectable_cards.end());
myswprintf(textBuffer, L"%ls\n%ls", event_string, dataManager.GetSysString(203)); auto eit = std::unique(mainGame->dField.selectable_cards.begin(), mainGame->dField.selectable_cards.end());
mainGame->SetStaticText(mainGame->stQMessage, 310, mainGame->textFont, (wchar_t*)textBuffer); mainGame->dField.selectable_cards.erase(eit, mainGame->dField.selectable_cards.end());
mainGame->PopupElement(mainGame->wQuery); mainGame->dField.ShowChainCard();
} else {
if(!forced) {
if(count == 0)
myswprintf(textBuffer, L"%ls\n%ls", dataManager.GetSysString(201), dataManager.GetSysString(202));
else
myswprintf(textBuffer, L"%ls\n%ls", event_string, dataManager.GetSysString(203));
mainGame->SetStaticText(mainGame->stQMessage, 310, mainGame->textFont, (wchar_t*)textBuffer);
mainGame->PopupElement(mainGame->wQuery);
}
} }
mainGame->gMutex.Unlock(); mainGame->gMutex.Unlock();
return false; return false;
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
#include <dirent.h> #include <dirent.h>
#endif #endif
const unsigned short PRO_VERSION = 0x1331; const unsigned short PRO_VERSION = 0x1332;
namespace ygo { namespace ygo {
......
...@@ -281,7 +281,7 @@ bool ReplayMode::ReplayAnalyze(char* msg, unsigned int len) { ...@@ -281,7 +281,7 @@ bool ReplayMode::ReplayAnalyze(char* msg, unsigned int len) {
case MSG_SELECT_CHAIN: { case MSG_SELECT_CHAIN: {
player = BufferIO::ReadInt8(pbuf); player = BufferIO::ReadInt8(pbuf);
count = BufferIO::ReadInt8(pbuf); count = BufferIO::ReadInt8(pbuf);
pbuf += 10 + count * 11; pbuf += 10 + count * 12;
return ReadReplayResponse(); return ReadReplayResponse();
} }
case MSG_SELECT_PLACE: case MSG_SELECT_PLACE:
......
...@@ -692,7 +692,7 @@ int SingleDuel::Analyze(char* msgbuffer, unsigned int len) { ...@@ -692,7 +692,7 @@ int SingleDuel::Analyze(char* msgbuffer, unsigned int len) {
case MSG_SELECT_CHAIN: { case MSG_SELECT_CHAIN: {
player = BufferIO::ReadInt8(pbuf); player = BufferIO::ReadInt8(pbuf);
count = BufferIO::ReadInt8(pbuf); count = BufferIO::ReadInt8(pbuf);
pbuf += 10 + count * 11; pbuf += 10 + count * 12;
WaitforResponse(player); WaitforResponse(player);
NetServer::SendBufferToPlayer(players[player], STOC_GAME_MSG, offset, pbuf - offset); NetServer::SendBufferToPlayer(players[player], STOC_GAME_MSG, offset, pbuf - offset);
return 1; return 1;
......
...@@ -213,7 +213,7 @@ bool SingleMode::SinglePlayAnalyze(char* msg, unsigned int len) { ...@@ -213,7 +213,7 @@ bool SingleMode::SinglePlayAnalyze(char* msg, unsigned int len) {
case MSG_SELECT_CHAIN: { case MSG_SELECT_CHAIN: {
player = BufferIO::ReadInt8(pbuf); player = BufferIO::ReadInt8(pbuf);
count = BufferIO::ReadInt8(pbuf); count = BufferIO::ReadInt8(pbuf);
pbuf += 10 + count * 11; pbuf += 10 + count * 12;
if(!DuelClient::ClientAnalyze(offset, pbuf - offset)) { if(!DuelClient::ClientAnalyze(offset, pbuf - offset)) {
mainGame->singleSignal.Reset(); mainGame->singleSignal.Reset();
mainGame->singleSignal.Wait(); mainGame->singleSignal.Wait();
......
...@@ -625,7 +625,7 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) { ...@@ -625,7 +625,7 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) {
case MSG_SELECT_CHAIN: { case MSG_SELECT_CHAIN: {
player = BufferIO::ReadInt8(pbuf); player = BufferIO::ReadInt8(pbuf);
count = BufferIO::ReadInt8(pbuf); count = BufferIO::ReadInt8(pbuf);
pbuf += 10 + count * 11; pbuf += 10 + count * 12;
WaitforResponse(player); WaitforResponse(player);
NetServer::SendBufferToPlayer(cur_player[player], STOC_GAME_MSG, offset, pbuf - offset); NetServer::SendBufferToPlayer(cur_player[player], STOC_GAME_MSG, offset, pbuf - offset);
return 1; return 1;
......
#[2014.7][2014.4][2014.2][2013.9][2014.7 TCG][2014.4 TCG][2014.1.1 TCG][2013.10.11 TCG][2013.3.1][2012.9.1][2012.3.1][2011.9.1] #[2014.10][2014.7][2014.4][2014.2][2013.9][2014.7 TCG][2014.4 TCG][2014.1.1 TCG][2013.10.11 TCG][2013.3.1][2012.9.1][2012.3.1][2011.9.1]
!2014.10
#forbidden
20663556 0 --イレカエル
44910027 0 --ヴィクトリー・ドラゴン
53797637 0 --炎征竜-バーナー
82301904 0 --混沌帝龍 -終焉の使者-
08131171 0 --キラー・スネーク
26202165 0 --クリッター
67441435 0 --グローアップ·バルブ
78010363 0 --黒き森のウィッチ
07391448 0 --ゴヨウ·ガーディアン
40737112 0 --混沌の黒魔術師
34124316 0 --サイバーポッド
63519819 0 --サウザンド·アイズ·サクリファイス
21593977 0 --処刑人-マキュラ
27415516 0 --水征竜-ストリーム
31560081 0 --聖なる魔術師
16923472 0 --ゼンマイハンター
91020571 0 --地征竜-リアクタン
56570271 0 --DHERO ディスクガイ
33184167 0 --同族感染ウィルス
50321796 0 --氷結界の龍 ブリューナク
78706415 0 --ファイバーポッド
93369354 0 --フィッシュボーグ-ガンナー
89185742 0 --風征竜-ライトニング
34206604 0 --魔導サイエンティスト
96782886 0 --メンタルマスター
03078576 0 --八汰烏
14878871 0 --レスキューキャット
41482598 0 --悪夢の蜃気楼
44763025 0 --いたずら好きな双子悪魔
29762407 0 --王家の神殿
17375316 0 --押収
74191942 0 --苦渋の選択
42829885 0 --強引な番兵
45986603 0 --強奪
55144522 0 --強欲な壺
04031928 0 --心変わり
12580477 0 --サンダー·ボルト
23557835 0 --次元融合
57953380 0 --生還の宝札
87910978 0 --洗脳-ブレインコントロール
60682203 0 --大寒波
69243953 0 --蝶の短剣-エルマ
79571449 0 --天使の施し
18144506 0 --ハーピィの羽根帚
70828912 0 --早すぎた埋葬
42703248 0 --ハリケーン
34906152 0 --マスドライバー
46448938 0 --魔導書の神判
77565204 0 --未来融合-フューチャー·フュージョン
46411259 0 --突然変異
85602018 0 --遺言状
27174286 0 --異次元からの帰還
93016201 0 --王宮の弾圧
61740673 0 --王宮の勅命
17484499 0 --現世と冥界の逆転
57728570 0 --死のデッキ破壊ウイルス
03280747 0 --第六感
64697231 0 --ダスト·シュート
80604091 0 --血の代償
35316708 0 --刻の封印
83555666 0 --破壊輪
28566710 0 --ラストバトル!
#limit
85103922 1 --アーティファクト-モラルタ
64034255 1 --A·ジェネクス·バードマン
45222299 1 --イビリチュア·ガストクラーケ
68184115 1 --甲虫装機 ダンセル
69207766 1 --甲虫装機 ホーネット
20366274 1 --エルシャドール・ネフィリム
94977269 1 --エルシャドール・ミドラーシュ
40044918 1 --E·HERO エアーマン
53804307 1 --焔征竜-ブラスター
74311226 1 --海皇の竜騎隊
72989439 1 --カオス·ソルジャー -開闢の使者-
90411554 1 --巌征竜-レドックス
28985331 1 --終末の騎士
00423585 1 --召喚僧サモンプリースト
81122844 1 --発条空母ゼンマイティ
65192027 1 --ダーク·アームド·ドラゴン
15341821 1 --ダンディライオン
90953320 1 --TG ハイパー·ライブラリアン
16226786 1 --深淵の暗殺者
80117527 1 --No.11 ビッグ·アイ
28297833 1 --ネクロフェイス
26400609 1 --瀑征竜-タイダル
52687916 1 --氷結界の龍 トリシューラ
33396948 1 --封印されしエクゾディア
07902349 1 --封印されし者の左腕
70903634 1 --封印されし者の右腕
44519536 1 --封印されし者の左足
08124921 1 --封印されし者の右足
50091196 1 --フォーミュラ·シンクロン
91110378 1 --光天使スローネ
22446869 1 --水精鱗-ディニクアビス
33508719 1 --メタモルポット
89399912 1 --嵐征竜-テンペスト
30929786 1 --立炎星-トウケイ
88264978 1 --レッドアイズ·ダークネスメタルドラゴン
48976825 1 --異次元からの埋葬
33782437 1 --一時休戦
66957584 1 --インフェルニティガン
19613556 1 --大嵐
81439173 1 --おろかな埋葬
23701465 1 --原初の種
83764718 1 --死者蘇生
37520316 1 --精神操作
32807846 1 --増援
54447022 1 --ソウル・チャージ
27770341 1 --超再生能力
14087893 1 --月の書
72892473 1 --手札抹殺
67169062 1 --貪欲な壺
94886282 1 --光の援軍
75500286 1 --封印の黄金櫃
53129443 1 --ブラック·ホール
15854426 1 --霞の谷の神風
43040603 1 --モンスターゲート
01475311 1 --闇の誘惑
23171610 1 --リミッター解除
62265044 1 --竜の渓谷
41620959 1 --竜の霊廟
27970830 1 --六武の門
02295440 1 --ワン·フォー·ワン
77505534 1 --堕ち影の蠢き
84749824 1 --神の警告
41420027 1 --神の宣告
36468556 1 --停戦協定
46652477 1 --転生の予言
17078030 1 --光の護封壁
32723153 1 --マジカル·エクスプロージョン
#semi limit
91279700 2 --ヴェルズ·オピオン
79979666 2 --E·HERO バブルマン
24861088 2 --先史遺産ネブラ・ディスク
37742478 2 --オネスト
85087012 2 --カードガンナー
29981921 2 --真六武衆-シエン
59509952 2 --大天使クリスティア
09411399 2 --DHERO ディアボリックガイ
01315120 2 --TG ストライカー
98777036 2 --トラゴエディア
70583986 2 --氷結界の虎王ドゥローレン
02009101 2 --BF-疾風のゲイル
92826944 2 --馬頭鬼
10028593 2 --輪廻天狗
48686504 2 --ローンファイア·ブロッサム
25377819 2 --召集の聖刻印
91623717 2 --連鎖爆撃
08949584 2 --ヒーローアライブ
98494543 2 --魔法石の採掘
29843091 2 --おジャマトリオ
29401950 2 --奈落の落とし穴
!2014.7 !2014.7
#forbidden #forbidden
20663556 0 --イレカエル 20663556 0 --イレカエル
......
...@@ -313,9 +313,7 @@ int32 field::select_chain(uint16 step, uint8 playerid, uint8 spe_count, uint8 fo ...@@ -313,9 +313,7 @@ int32 field::select_chain(uint16 step, uint8 playerid, uint8 spe_count, uint8 fo
effect* peffect = core.select_chains[i].triggering_effect; effect* peffect = core.select_chains[i].triggering_effect;
card* pcard = peffect->handler; card* pcard = peffect->handler;
pduel->write_buffer32(pcard->data.code); pduel->write_buffer32(pcard->data.code);
pduel->write_buffer8(pcard->current.controler); pduel->write_buffer32(pcard->get_info_location());
pduel->write_buffer8(pcard->current.location);
pduel->write_buffer8(pcard->current.sequence);
pduel->write_buffer32(peffect->description); pduel->write_buffer32(peffect->description);
} }
return FALSE; return FALSE;
......
...@@ -1336,6 +1336,17 @@ int32 field::process_phase_event(int16 step, int32 phase) { ...@@ -1336,6 +1336,17 @@ int32 field::process_phase_event(int16 step, int32 phase) {
core.select_chains.push_back(newchain); core.select_chains.push_back(newchain);
tf_count++; tf_count++;
} }
pr = effects.continuous_effect.equal_range(phase_event);
for(; pr.first != pr.second;) {
peffect = pr.first->second;
++pr.first;
if(peffect->get_handler_player() != check_player || !peffect->is_activateable(check_player, nil_event))
continue;
peffect->id = infos.field_id++;
newchain.triggering_effect = peffect;
core.select_chains.push_back(newchain);
cn_count++;
}
core.spe_effect[check_player] = 0; core.spe_effect[check_player] = 0;
pr = effects.trigger_o_effect.equal_range(phase_event); pr = effects.trigger_o_effect.equal_range(phase_event);
for(; pr.first != pr.second; ++pr.first) { for(; pr.first != pr.second; ++pr.first) {
...@@ -1350,17 +1361,6 @@ int32 field::process_phase_event(int16 step, int32 phase) { ...@@ -1350,17 +1361,6 @@ int32 field::process_phase_event(int16 step, int32 phase) {
to_count++; to_count++;
core.spe_effect[check_player]++; core.spe_effect[check_player]++;
} }
pr = effects.continuous_effect.equal_range(phase_event);
for(; pr.first != pr.second;) {
peffect = pr.first->second;
++pr.first;
if(peffect->get_handler_player() != check_player || !peffect->is_activateable(check_player, nil_event))
continue;
peffect->id = infos.field_id++;
newchain.triggering_effect = peffect;
core.select_chains.push_back(newchain);
cn_count++;
}
if(phase == PHASE_DRAW) if(phase == PHASE_DRAW)
core.hint_timing[infos.turn_player] = TIMING_DRAW_PHASE; core.hint_timing[infos.turn_player] = TIMING_DRAW_PHASE;
else if(phase == PHASE_STANDBY) else if(phase == PHASE_STANDBY)
...@@ -1505,6 +1505,17 @@ int32 field::process_phase_event(int16 step, int32 phase) { ...@@ -1505,6 +1505,17 @@ int32 field::process_phase_event(int16 step, int32 phase) {
core.select_chains.push_back(newchain); core.select_chains.push_back(newchain);
tf_count++; tf_count++;
} }
pr = effects.continuous_effect.equal_range(phase_event);
for(; pr.first != pr.second;) {
peffect = pr.first->second;
++pr.first;
if(peffect->get_handler_player() != check_player || !peffect->is_activateable(check_player, nil_event))
continue;
peffect->id = infos.field_id++;
newchain.triggering_effect = peffect;
core.select_chains.push_back(newchain);
cn_count++;
}
core.spe_effect[check_player] = 0; core.spe_effect[check_player] = 0;
pr = effects.trigger_o_effect.equal_range(phase_event); pr = effects.trigger_o_effect.equal_range(phase_event);
for(; pr.first != pr.second; ++pr.first) { for(; pr.first != pr.second; ++pr.first) {
...@@ -1519,17 +1530,6 @@ int32 field::process_phase_event(int16 step, int32 phase) { ...@@ -1519,17 +1530,6 @@ int32 field::process_phase_event(int16 step, int32 phase) {
to_count++; to_count++;
core.spe_effect[check_player]++; core.spe_effect[check_player]++;
} }
pr = effects.continuous_effect.equal_range(phase_event);
for(; pr.first != pr.second;) {
peffect = pr.first->second;
++pr.first;
if(peffect->get_handler_player() != check_player || !peffect->is_activateable(check_player, nil_event))
continue;
peffect->id = infos.field_id++;
newchain.triggering_effect = peffect;
core.select_chains.push_back(newchain);
cn_count++;
}
if(phase == PHASE_DRAW) if(phase == PHASE_DRAW)
core.hint_timing[infos.turn_player] = TIMING_DRAW_PHASE; core.hint_timing[infos.turn_player] = TIMING_DRAW_PHASE;
else if(phase == PHASE_STANDBY) else if(phase == PHASE_STANDBY)
......
--플랑크스케일 --プランクスケール
function c10282757.initial_effect(c) function c10282757.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Sacred Noble Knight of King Artorigus --神聖騎士王アルトリウス
function c10613952.initial_effect(c) function c10613952.initial_effect(c)
--xyz summon --xyz summon
aux.AddXyzProcedure(c,aux.XyzFilterFunctionF(c,aux.FilterBoolFunction(Card.IsSetCard,0x107a),5),2) aux.AddXyzProcedure(c,aux.XyzFilterFunctionF(c,aux.FilterBoolFunction(Card.IsSetCard,0x107a),5),2)
......
--Lady of the Lake --湖の乙女ヴィヴィアン
function c10736540.initial_effect(c) function c10736540.initial_effect(c)
--synchro limit --synchro limit
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Bujingi Pavo --武神器-イオツミ
function c10860121.initial_effect(c) function c10860121.initial_effect(c)
--spsummon --spsummon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -6,6 +6,7 @@ function c11264180.initial_effect(c) ...@@ -6,6 +6,7 @@ function c11264180.initial_effect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP) e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_FREE_CHAIN) e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(TIMING_DAMAGE_STEP)
e1:SetCondition(c11264180.condition) e1:SetCondition(c11264180.condition)
e1:SetTarget(c11264180.target) e1:SetTarget(c11264180.target)
e1:SetOperation(c11264180.activate) e1:SetOperation(c11264180.activate)
......
--Sylvan Bladefender --森羅の葉心棒 ブレイド
function c11682713.initial_effect(c) function c11682713.initial_effect(c)
--deck check --deck check
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Bujingi Raven --武神器-マフツ
function c11958188.initial_effect(c) function c11958188.initial_effect(c)
--destroy --destroy
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Moon Dance Ritual --ムーンダンスの儀式
function c14005031.initial_effect(c) function c14005031.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Mecha Phantom Beast Aerosguin --幻獣機エアロスバード
function c16943770.initial_effect(c) function c16943770.initial_effect(c)
--level --level
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--구신 노덴 --旧神ノーデン
function c17412721.initial_effect(c) function c17412721.initial_effect(c)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
......
--Escalation of the Monarchs --連撃の帝王
function c18235309.initial_effect(c) function c18235309.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -25,7 +25,7 @@ function c18235309.initial_effect(c) ...@@ -25,7 +25,7 @@ function c18235309.initial_effect(c)
end end
function c18235309.filter(c) function c18235309.filter(c)
local mi,ma=c:GetTributeRequirement() local mi,ma=c:GetTributeRequirement()
return c:IsSummonable(true,nil) and mi>0 return (c:IsSummonable(true,nil) or c:IsMSetable(true,nil)) and mi>0
end end
function c18235309.cost1(e,tp,eg,ep,ev,re,r,rp,chk) function c18235309.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
...@@ -51,7 +51,13 @@ function c18235309.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -51,7 +51,13 @@ function c18235309.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.SelectMatchingCard(tp,c18235309.filter,tp,LOCATION_HAND,0,1,1,nil) local g=Duel.SelectMatchingCard(tp,c18235309.filter,tp,LOCATION_HAND,0,1,1,nil)
local tc=g:GetFirst() local tc=g:GetFirst()
if tc then if tc then
Duel.Summon(tp,tc,true,nil) local s1=tc:IsSummonable(true,nil)
local s2=tc:IsMSetable(true,nil)
if (s1 and s2 and Duel.SelectPosition(tp,tc,POS_FACEUP_ATTACK+POS_FACEDOWN_DEFENCE)==POS_FACEUP_ATTACK) or not s2 then
Duel.Summon(tp,tc,true,nil)
else
Duel.MSet(tp,tc,true,nil)
end
end end
end end
function c18235309.condition2(e,tp,eg,ep,ev,re,r,rp) function c18235309.condition2(e,tp,eg,ep,ev,re,r,rp)
......
--Gwenhwyfar, Queen of Noble Arms --聖剣を抱く王妃ギネヴィア
function c19748583.initial_effect(c) function c19748583.initial_effect(c)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Artifact Scythe --アーティファクト-デスサイズ
function c20292186.initial_effect(c) function c20292186.initial_effect(c)
--set --set
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Sylvan Princessprout --森羅の姫芽君 スプラウト
function c20579538.initial_effect(c) function c20579538.initial_effect(c)
--deck check --deck check
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--ジャンク・アンカー
function c25148255.initial_effect(c)
--synchro
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(25148255,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetCost(c25148255.sccost)
e1:SetTarget(c25148255.sctg)
e1:SetOperation(c25148255.scop)
c:RegisterEffect(e1)
--
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetCode(20932152)
c:RegisterEffect(e2)
end
function c25148255.sccost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsDiscardable,tp,LOCATION_HAND,0,1,nil) end
Duel.DiscardHand(tp,Card.IsDiscardable,1,1,REASON_COST)
end
function c25148255.mfilter(c,e,tp,mc)
local mg=Group.FromCards(c,mc)
return c:IsSetCard(0x43) and not c:IsType(TYPE_TUNER) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and Duel.IsExistingMatchingCard(c25148255.scfilter,tp,LOCATION_EXTRA,0,1,nil,mg)
end
function c25148255.scfilter(c,mg)
return c:IsSetCard(0x100) and c:IsSynchroSummonable(nil,mg)
end
function c25148255.sctg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c25148255.mfilter(chkc,e,tp,e:GetHandler()) end
if chk==0 then return Duel.IsPlayerCanSpecialSummonCount(tp,2)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c25148255.mfilter,tp,LOCATION_GRAVE,0,1,nil,e,tp,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SMATERIAL)
Duel.SelectTarget(tp,c25148255.mfilter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp,e:GetHandler())
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c25148255.scop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if not tc:IsRelateToEffect(e) or Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)==0 then return end
if not c:IsRelateToEffect(e) then return end
local mg=Group.FromCards(c,tc)
local g=Duel.GetMatchingGroup(c25148255.scfilter,tp,LOCATION_EXTRA,0,nil,mg)
if g:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,1,1,nil)
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_IGNORE_IMMUNE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_LEAVE_FIELD_REDIRECT)
e1:SetValue(LOCATION_REMOVED)
e1:SetReset(RESET_EVENT+0x47e0000)
c:RegisterEffect(e1,true)
local e2=e1:Clone()
tc:RegisterEffect(e2,true)
Duel.SynchroSummon(tp,sg:GetFirst(),nil,mg)
end
end
--Gladiator Beast Nerokius --剣闘獣ネロキウス
function c29357956.initial_effect(c) function c29357956.initial_effect(c)
--fusion material --fusion material
c:EnableReviveLimit() c:EnableReviveLimit()
......
--아룡포효 --牙竜咆哮
function c34898052.initial_effect(c) function c34898052.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Angel of Zera --ゼラの天使
function c42216237.initial_effect(c) function c42216237.initial_effect(c)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
......
--Cockadoodledoo --こけコッコ
function c42338879.initial_effect(c) function c42338879.initial_effect(c)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--플라봇 --フラボット
function c45010690.initial_effect(c) function c45010690.initial_effect(c)
--token --token
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Noble Arms - Excaliburn --聖剣 EX-カリバーン
function c46008667.initial_effect(c) function c46008667.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Powered Inzektron --甲化鎧骨格
function c46132282.initial_effect(c) function c46132282.initial_effect(c)
--synchro summon --synchro summon
aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1) aux.AddSynchroProcedure(c,nil,aux.NonTuner(nil),1)
......
--Gravekeepers Heretic --墓守の異端者
function c46955770.initial_effect(c) function c46955770.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
......
--Sylvan Mikorange --森羅の蜜柑子 シトラ
function c47077318.initial_effect(c) function c47077318.initial_effect(c)
--deck check --deck check
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Noble Knight Borz --聖騎士ボールス
function c47120245.initial_effect(c) function c47120245.initial_effect(c)
--Normal monster --Normal monster
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Blue Flame Swordsman --蒼炎の剣士
function c50903514.initial_effect(c) function c50903514.initial_effect(c)
--atk --atk
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Noble Knight Drystan --聖騎士トリスタン
function c53550467.initial_effect(c) function c53550467.initial_effect(c)
--cannot be battle target --cannot be battle target
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--경천동지 --驚天動地
function c54407825.initial_effect(c) function c54407825.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
...@@ -7,33 +7,33 @@ function c54407825.initial_effect(c) ...@@ -7,33 +7,33 @@ function c54407825.initial_effect(c)
--to deck --to deck
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TODECK) e2:SetCategory(CATEGORY_TODECK)
e2:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetCode(EVENT_TO_GRAVE) e2:SetCode(EVENT_TO_GRAVE)
e2:SetCondition(c54407825.condition) e2:SetCondition(c54407825.condition)
e2:SetTarget(c54407825.target) e2:SetTarget(c54407825.target)
e2:SetOperation(c54407825.activate) e2:SetOperation(c54407825.operation)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c54407825.filter(c) function c54407825.filter(c)
return c:IsPreviousLocation(LOCATION_DECK) and c:IsLocation(LOCATION_GRAVE) return c:IsPreviousLocation(LOCATION_DECK)
end end
function c54407825.condition(e,tp,eg,ep,ev,re,r,rp) function c54407825.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c54407825.filter,1,nil) return eg:IsExists(c54407825.filter,1,nil)
end end
function c54407825.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c54407825.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsAbleToDeck() end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsAbleToDeck() end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,nil) end if chk==0 then return true end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil) local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,LOCATION_GRAVE,LOCATION_GRAVE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,g:GetCount(),0,0)
end end
function c54407825.activate(e,tp,eg,ep,ev,re,r,rp) function c54407825.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end if not c:IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget() local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then if tc and tc:IsRelateToEffect(e) then
Duel.SendtoDeck(tc,nil,2,REASON_EFFECT) Duel.SendtoDeck(tc,nil,2,REASON_EFFECT)
end end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--게릴라카이트 --ゲリラカイト
function c54629413.initial_effect(c) function c54629413.initial_effect(c)
--damage --damage
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Noble Knights of the Round Table --円卓の聖騎士
function c55742055.initial_effect(c) function c55742055.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Bujingi Sinyou --武神器-ツムガリ
function c56574543.initial_effect(c) function c56574543.initial_effect(c)
--atkup --atkup
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Noble Knight Brothers --聖騎士の三兄弟
function c57690191.initial_effect(c) function c57690191.initial_effect(c)
--atk limit --atk limit
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Vampire Duke --ヴァンパイア・デューク
function c58947797.initial_effect(c) function c58947797.initial_effect(c)
--spsuccess --spsuccess
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -61,14 +61,12 @@ function c59057152.desfilter(c) ...@@ -61,14 +61,12 @@ function c59057152.desfilter(c)
return c:IsFaceup() and c:IsType(TYPE_EQUIP) return c:IsFaceup() and c:IsType(TYPE_EQUIP)
end end
function c59057152.spop(e,tp,eg,ep,ev,re,r,rp) function c59057152.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)>0 then if 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,c59057152.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c59057152.spfilter,tp,LOCATION_DECK,0,1,1,nil,e,tp)
if g:GetCount()~=0 then if g:GetCount()>0 and Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_DEFENCE)~=0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_DEFENCE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
end local dg=Duel.SelectMatchingCard(tp,c59057152.desfilter,tp,LOCATION_SZONE,0,1,1,nil)
Duel.Destroy(dg,REASON_EFFECT)
end end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local dg=Duel.SelectMatchingCard(tp,c59057152.desfilter,tp,LOCATION_SZONE,0,1,1,nil)
Duel.Destroy(dg,REASON_EFFECT)
end end
...@@ -57,7 +57,7 @@ function c66165755.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -57,7 +57,7 @@ function c66165755.spop(e,tp,eg,ep,ev,re,r,rp)
tc:RegisterEffect(e3) tc:RegisterEffect(e3)
Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)
end end
function c66165755.rmop(e,tp,eg,ep,ev,re,r,rp) function c66165755.rmcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp return Duel.GetTurnPlayer()==tp
end end
function c66165755.rmop(e,tp,eg,ep,ev,re,r,rp) function c66165755.rmop(e,tp,eg,ep,ev,re,r,rp)
......
--험프티 댄디 --ハンプティ・ダンディ
function c71415349.initial_effect(c) function c71415349.initial_effect(c)
--turn set --turn set
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
...@@ -99,7 +99,8 @@ function c71645242.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc) ...@@ -99,7 +99,8 @@ function c71645242.sptg2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local g=Duel.GetMatchingGroup(c71645242.desfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil) local g=Duel.GetMatchingGroup(c71645242.desfilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil)
local atk=g:GetSum(Card.GetAttack) local atk=g:GetSum(Card.GetAttack)
local sc=g:FilterCount(Card.IsControler,nil,tp) local sc=g:FilterCount(Card.IsControler,nil,tp)
if chk==0 then return e:GetHandler():IsDestructable(e) and g:GetCount()>0 and (Duel.GetLocationCount(tp,LOCATION_MZONE)>-sc) if chk==0 then return e:GetHandler():IsDestructable() and e:GetHandler():IsDestructable(e) and g:GetCount()>0
and (Duel.GetLocationCount(tp,LOCATION_MZONE)>-sc)
and Duel.IsExistingTarget(c71645242.filter2,tp,LOCATION_GRAVE,0,1,nil,atk,e,tp) end and Duel.IsExistingTarget(c71645242.filter2,tp,LOCATION_GRAVE,0,1,nil,atk,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectTarget(tp,c71645242.filter2,tp,LOCATION_GRAVE,0,1,1,nil,atk,e,tp) local tg=Duel.SelectTarget(tp,c71645242.filter2,tp,LOCATION_GRAVE,0,1,1,nil,atk,e,tp)
......
--ビーストアイズ・ペンデュラム・ドラゴン
function c72378329.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFun2(c,c72378329.ffilter,aux.FilterBoolFunction(Card.IsRace,RACE_BEAST),false)
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(c72378329.splimit)
c:RegisterEffect(e1)
--special summon rule
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_EXTRA)
e2:SetCondition(c72378329.spcon)
e2:SetOperation(c72378329.spop)
c:RegisterEffect(e2)
--damage
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DAMAGE)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EVENT_BATTLE_DESTROYING)
e3:SetCondition(c72378329.damcon)
e3:SetTarget(c72378329.damtg)
e3:SetOperation(c72378329.damop)
c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_MATERIAL_CHECK)
e4:SetValue(c72378329.valcheck)
e4:SetLabelObject(e3)
c:RegisterEffect(e4)
end
function c72378329.ffilter(c)
return c:IsRace(RACE_DRAGON) and c:IsAttribute(ATTRIBUTE_DARK)
end
function c72378329.splimit(e,se,sp,st)
return bit.band(st,SUMMON_TYPE_FUSION)==SUMMON_TYPE_FUSION
end
function c72378329.spfilter1(c,tp)
return c:IsRace(RACE_DRAGON) and c:IsAttribute(ATTRIBUTE_DARK) and c:IsCanBeFusionMaterial()
and Duel.CheckReleaseGroup(tp,c72378329.spfilter2,1,c)
end
function c72378329.spfilter2(c)
return c:IsRace(RACE_BEAST) and c:IsCanBeFusionMaterial()
end
function c72378329.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>-2
and Duel.CheckReleaseGroup(tp,c72378329.spfilter1,1,nil,tp)
end
function c72378329.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g1=Duel.SelectReleaseGroup(tp,c72378329.spfilter1,1,1,nil,tp)
local g2=Duel.SelectReleaseGroup(tp,c72378329.spfilter2,1,1,g1:GetFirst())
g1:Merge(g2)
c:SetMaterial(g1)
Duel.Release(g1,REASON_COST)
end
function c72378329.damcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local bc=c:GetBattleTarget()
return c:IsRelateToBattle() and bc:IsType(TYPE_MONSTER)
end
function c72378329.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local dam=e:GetLabel()
Duel.SetTargetPlayer(1-tp)
Duel.SetTargetParam(dam)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,nil,0,1-tp,dam)
end
function c72378329.damop(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Damage(p,d,REASON_EFFECT)
end
function c72378329.valcheck(e,c)
local g=c:GetMaterial():Filter(Card.IsRace,nil,RACE_BEAST)
local atk=0
if g:GetCount()>0 then
atk=g:GetFirst():GetTextAttack()
if atk<0 then atk=0 end
end
e:GetLabelObject():SetLabel(atk)
end
--Sinister Yorishiro --悪魔の憑代
function c72497366.initial_effect(c) function c72497366.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Noble Knight Peredur --聖騎士パーシヴァル
function c73359475.initial_effect(c) function c73359475.initial_effect(c)
--Attribute Dark --Attribute Dark
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
......
--Xyz Encore --エクシーズ・オーバーディレイ
function c78610936.initial_effect(c) function c78610936.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Bujingi Warg --武神器-チカヘシ
function c80555062.initial_effect(c) function c80555062.initial_effect(c)
-- --
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--고스트릭 브레이크 --ゴーストリック・ブレイク
function c80802524.initial_effect(c) function c80802524.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP) e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e1:SetType(EFFECT_TYPE_ACTIVATE) e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_TO_GRAVE) e1:SetCode(EVENT_TO_GRAVE)
......
--일렉킥 파이터 --エレキック・ファイター
function c81028112.initial_effect(c) function c81028112.initial_effect(c)
--to deck --to deck
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
...@@ -6,27 +6,26 @@ function c81028112.initial_effect(c) ...@@ -6,27 +6,26 @@ function c81028112.initial_effect(c)
e1:SetCategory(CATEGORY_TODECK) e1:SetCategory(CATEGORY_TODECK)
e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e1:SetCode(EVENT_SUMMON_SUCCESS) e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET) e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCountLimit(1,81028112) e1:SetCountLimit(1,81028112)
e1:SetTarget(c81028112.tg) e1:SetTarget(c81028112.target)
e1:SetOperation(c81028112.op) e1:SetOperation(c81028112.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=e1:Clone() local e2=e1:Clone()
e2:SetCode(EVENT_SPSUMMON_SUCCESS) e2:SetCode(EVENT_SPSUMMON_SUCCESS)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c81028112.tg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c81028112.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(1-tp) and chkc:IsAbleToDeck() end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(1-tp) and chkc:IsAbleToDeck() end
if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToDeck,tp,0,LOCATION_GRAVE,1,nil) end if chk==0 then return Duel.IsExistingTarget(Card.IsAbleToDeck,tp,0,LOCATION_GRAVE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,0,LOCATION_GRAVE,1,1,nil) local g=Duel.SelectTarget(tp,Card.IsAbleToDeck,tp,0,LOCATION_GRAVE,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0) Duel.SetOperationInfo(0,CATEGORY_TODECK,g,1,0,0)
end end
function c81028112.op(e,tp,eg,ep,ev,re,r,rp) function c81028112.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS) local tc=Duel.GetFirstTarget()
local sg=g:Filter(Card.IsRelateToEffect,nil,e) if tc:IsRelateToEffect(e) then
if sg:GetCount()>0 then
local opt=Duel.SelectOption(tp,aux.Stringid(81028112,1),aux.Stringid(81028112,2)) local opt=Duel.SelectOption(tp,aux.Stringid(81028112,1),aux.Stringid(81028112,2))
Duel.SendtoDeck(sg,nil,opt,REASON_EFFECT) Duel.SendtoDeck(tc,nil,opt,REASON_EFFECT)
end end
end end
--Avalon --約束の地-アヴァロン-
function c82140600.initial_effect(c) function c82140600.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Vampire Vamp --ヴァンプ・オブ・ヴァンパイア
function c82962242.initial_effect(c) function c82962242.initial_effect(c)
--equip --equip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Ignoble Knight of High Laundsallyn --魔聖騎士皇ランスロット
function c83519853.initial_effect(c) function c83519853.initial_effect(c)
c:SetUniqueOnField(1,0,83519853) c:SetUniqueOnField(1,0,83519853)
--synchro summon --synchro summon
......
--Archfiend Giant --デーモンの巨神
function c84341431.initial_effect(c) function c84341431.initial_effect(c)
--destroy replace --destroy replace
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Ghostrick Yeti --ゴーストリック・イエティ
function c84472026.initial_effect(c) function c84472026.initial_effect(c)
--summon limit --summon limit
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--The First Monarch --始源の帝王
function c8522996.initial_effect(c) function c8522996.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Ghostrick Ghoul --ゴーストリック・グール
function c85463083.initial_effect(c) function c85463083.initial_effect(c)
--summon limit --summon limit
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Harpie Lady Phoenix Formation --ハーピィ・レディ -鳳凰の陣-
function c86308219.initial_effect(c) function c86308219.initial_effect(c)
--Activate --Activate
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Tour Bus To Forbidden Realms --魔界発冥界行きバス
function c89732524.initial_effect(c) function c89732524.initial_effect(c)
--flip --flip
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--Noble Knight Eachtar --聖騎士エクター・ド・マリス
function c93085839.initial_effect(c) function c93085839.initial_effect(c)
--special summon --special summon
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
......
--プリミティブ・バタフライ
function c98154550.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_SPSUMMON_PROC)
e1:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e1:SetRange(LOCATION_HAND)
e1:SetCondition(c98154550.spcon)
c:RegisterEffect(e1)
--level
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(98154550,0))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetTarget(c98154550.target)
e2:SetOperation(c98154550.operation)
c:RegisterEffect(e2)
end
function c98154550.spcon(e,c)
if c==nil then return true end
return Duel.GetFieldGroupCount(c:GetControler(),LOCATION_MZONE,0)==0
and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
end
function c98154550.filter(c)
return c:IsFaceup() and c:GetLevel()>0 and c:IsRace(RACE_INSECT)
end
function c98154550.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c98154550.filter,tp,LOCATION_MZONE,0,1,nil) end
end
function c98154550.operation(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c98154550.filter,tp,LOCATION_MZONE,0,nil)
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000)
tc:RegisterEffect(e1)
tc=g:GetNext()
end
end
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