Commit 69765dd7 authored by argon.sun's avatar argon.sun

new scripts

parent 64b788f5
......@@ -93,27 +93,28 @@ bool Game::Initialize() {
cbTurnTime->addItem(L"3分钟");
cbTurnTime->addItem(L"1分钟");
cbTurnTime->setVisible(false);
env->addStaticText(L"游戏名:", rect<s32>(10, 190, 100, 210), false, false, tabLanS);
ebServerName = env->addEditBox(L"Game", rect<s32>(100, 185, 240, 210), true, tabLanS);
env->addStaticText(L"游戏名:", rect<s32>(10, 205, 100, 225), false, false, tabLanS);
ebServerName = env->addEditBox(L"Game", rect<s32>(100, 205, 240, 225), true, tabLanS);
ebServerName->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER);
env->addStaticText(L"密码:", rect<s32>(10, 220, 100, 240), false, false, tabLanS);
ebServerPass = env->addEditBox(L"", rect<s32>(100, 215, 240, 240), true, tabLanS);
env->addStaticText(L"密码:", rect<s32>(10, 230, 100, 250), false, false, tabLanS);
ebServerPass = env->addEditBox(L"", rect<s32>(100, 230, 240, 250), true, tabLanS);
ebServerPass->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER);
btnLanStartServer = env->addButton(rect<s32>(320, 185, 460, 210), tabLanS, BUTTON_LAN_START_SERVER, L"建立主机!");
btnLanCancelServer = env->addButton(rect<s32>(320, 215, 460, 240), tabLanS, BUTTON_LAN_CANCEL_SERVER, L"取消主机");
btnLanStartServer = env->addButton(rect<s32>(350, 195, 460, 220), tabLanS, BUTTON_LAN_START_SERVER, L"建立主机");
btnLanCancelServer = env->addButton(rect<s32>(350, 225, 460, 250), tabLanS, BUTTON_LAN_CANCEL_SERVER, L"取消主机");
btnLanCancelServer->setEnabled(false);
lstServerList = env->addListBox(rect<s32>(10, 10, 460, 136), tabLanC, LISTBOX_SERVER_LIST, true);
lstServerList->setItemHeight(18);
btnRefreshList = env->addButton(rect<s32>(180, 145, 280, 170), tabLanC, BUTTON_LAN_REFRESH, L"刷新");
env->addStaticText(L"主机地址:", rect<s32>(10, 190, 120, 210), false, false, tabLanC);
ebJoinIP = env->addEditBox(L"", rect<s32>(100, 185, 240, 210), true, tabLanC);
chkStOnly = env->addCheckBox(true, rect<s32>(10, 180, 220, 200), tabLanC, -1, L"只连接标准模式的主机");
env->addStaticText(L"主机地址:", rect<s32>(10, 205, 120, 225), false, false, tabLanC);
ebJoinIP = env->addEditBox(L"", rect<s32>(100, 205, 240, 225), true, tabLanC);
ebJoinIP->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER);
ebJoinPort = env->addEditBox(L"", rect<s32>(245, 185, 305, 210), true, tabLanC);
ebJoinPort = env->addEditBox(L"", rect<s32>(245, 205, 305, 225), true, tabLanC);
ebJoinPort->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER);
env->addStaticText(L"游戏密码:", rect<s32>(10, 220, 120, 240), false, false, tabLanC);
ebJoinPass = env->addEditBox(L"", rect<s32>(100, 215, 240, 240), true, tabLanC);
env->addStaticText(L"游戏密码:", rect<s32>(10, 230, 120, 250), false, false, tabLanC);
ebJoinPass = env->addEditBox(L"", rect<s32>(100, 230, 240, 250), true, tabLanC);
ebJoinPass->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER);
btnLanConnect = env->addButton(rect<s32>(320, 215, 460, 240), tabLanC, BUTTON_LAN_CONNECT, L"加入游戏!");
btnLanConnect = env->addButton(rect<s32>(350, 225, 460, 250), tabLanC, BUTTON_LAN_CONNECT, L"加入游戏");
lstReplayList = env->addListBox(rect<s32>(10, 10, 460, 190), tabReplay, LISTBOX_REPLAY_LIST, true);
lstReplayList->setItemHeight(18);
btnLoadReplay = env->addButton(rect<s32>(180, 200, 280, 225), tabReplay, BUTTON_LOAD_REPLAY, L"载入录像");
......
......@@ -213,6 +213,7 @@ public:
irr::gui::IGUIEditBox* ebJoinIP;
irr::gui::IGUIEditBox* ebJoinPort;
irr::gui::IGUIEditBox* ebJoinPass;
irr::gui::IGUICheckBox* chkStOnly;
irr::gui::IGUIButton* btnLanConnect;
irr::gui::IGUIListBox* lstReplayList;
irr::gui::IGUIButton* btnLoadReplay;
......
......@@ -261,6 +261,16 @@ int NetManager::ListenThread(void* np) {
net->sRemote = accept(net->sListen, 0, 0);
continue;
}
int mode = ReadInt16(pbuf);
if(mode == 1 && (net->hInfo.no_chain_hint || net->hInfo.no_check_deck || net->hInfo.no_shuffle_deck || net->hInfo.no_shuffle_player || net->hInfo.attack_ft
|| net->hInfo.start_lp != 8000 || net->hInfo.start_hand != 5 || net->hInfo.draw_count != 1 )) {
psbuf = net->send_buf;
WriteInt8(psbuf, 0x4);
send(net->sRemote, net->send_buf, 1, 0);
closesocket(net->sRemote);
net->sRemote = accept(net->sListen, 0, 0);
continue;
}
wchar_t cn = ReadInt16(pbuf);
int off = 0;
while(cn != 0 && off < 19) {
......@@ -348,6 +358,7 @@ int NetManager::JoinThread(void* adr) {
}
char* pbuf = pnet->send_buf;
NetManager::WriteInt16(pbuf, PROTO_VERSION);
NetManager::WriteInt16(pbuf, mainGame->chkStOnly->isChecked() ? 1 : 0);
const wchar_t* pname = mainGame->ebJoinPass->getText();
int i = 0;
while(pname[i] != 0 && i < 19)
......@@ -385,13 +396,17 @@ int NetManager::JoinThread(void* adr) {
wchar_t errorbuf[32];
myswprintf(errorbuf, L"当前版本(0x%X)与主机版本(0x%X)不匹配", PROTO_VERSION, (int)(*(short*)&pnet->recv_buf[1]));
mainGame->stModeStatus->setText(errorbuf);
} else if(pnet->recv_buf[0] == 0x2) {
} else if(pnet->recv_buf[0] == 0x2)
mainGame->stModeStatus->setText(L"无效卡组或者卡组不符合禁卡表规范");
} else
else if(pnet->recv_buf[0] == 0x3)
mainGame->stModeStatus->setText(L"密码错误");
else if(pnet->recv_buf[0] == 0x4)
mainGame->stModeStatus->setText(L"主机非标准对战模式,拒绝连接");
else mainGame->stModeStatus->setText(L"未知错误");
}
return 0;
}
mainGame->stModeStatus->setText(L"");
wchar_t* pn = (wchar_t*)&pnet->recv_buf[1];
int pi = 0;
while(pn[pi] && pi < 19) {
......
......@@ -2937,10 +2937,19 @@ int32 field::process_battle_command(uint16 step) {
core.units.begin()->peffect = (effect*)reason_card;
if(reason_card)
core.units.begin()->arg1 = reason_card->current.controler;
if(core.battle_damage[0])
if(core.battle_damage[0]) {
raise_single_event(core.attacker, EVENT_PRE_BATTLE_DAMAGE, 0, 0, reason_card->current.controler, 0, core.battle_damage[0]);
if(core.attack_target)
raise_single_event(core.attack_target, EVENT_PRE_BATTLE_DAMAGE, 0, 0, reason_card->current.controler, 0, core.battle_damage[0]);
raise_event((card*)reason_card, EVENT_PRE_BATTLE_DAMAGE, 0, 0, reason_card->current.controler, 0, core.battle_damage[0]);
if(core.battle_damage[1])
raise_event((card*)reason_card, EVENT_PRE_BATTLE_DAMAGE, 0, 0, reason_card->current.controler, 1, core.battle_damage[0]);
}
if(core.battle_damage[1]) {
raise_single_event(core.attacker, EVENT_PRE_BATTLE_DAMAGE, 0, 0, reason_card->current.controler, 1, core.battle_damage[1]);
if(core.attack_target)
raise_single_event(core.attack_target, EVENT_PRE_BATTLE_DAMAGE, 0, 0, reason_card->current.controler, 1, core.battle_damage[1]);
raise_event((card*)reason_card, EVENT_PRE_BATTLE_DAMAGE, 0, 0, reason_card->current.controler, 1, core.battle_damage[1]);
}
process_single_event();
process_instant_event();
pduel->write_buffer8(MSG_HINT);
pduel->write_buffer8(HINT_EVENT);
......
--フォトン·クラッシャー
function c1362589.initial_effect(c)
--to defence
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_DAMAGE_STEP_END)
e1:SetCondition(c1362589.poscon)
e1:SetOperation(c1362589.posop)
c:RegisterEffect(e1)
end
function c1362589.poscon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler()==Duel.GetAttacker() and e:GetHandler():IsRelateToBattle()
end
function c1362589.posop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsAttack() then
Duel.ChangePosition(c,POS_FACEUP_DEFENCE)
end
end
--ロード·オブ·ドラゴン-ドラゴンの支配者-
function c17985575.initial_effect(c)
--cannot be target
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e1:SetProperty(EFFECT_FLAG_IGNORE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetTarget(c17985575.etarget)
e1:SetValue(1)
c:RegisterEffect(e1)
end
function c17985575.etarget(e,c)
return c:IsRace(RACE_DRAGON)
end
--リロード
function c22589918.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c22589918.target)
e1:SetOperation(c22589918.activate)
c:RegisterEffect(e1)
end
function c22589918.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp)
and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.SetTargetPlayer(tp)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_HAND)
end
function c22589918.activate(e,tp,eg,ep,ev,re,r,rp)
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
local g=Duel.GetFieldGroup(p,LOCATION_HAND,0)
if g:GetCount()==0 then return end
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
Duel.ShuffleDeck(p)
Duel.BreakEffect()
Duel.Draw(p,g:GetCount(),REASON_EFFECT)
end
--救援光
function c2362787.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c2362787.cost)
e1:SetTarget(c2362787.target)
e1:SetOperation(c2362787.activate)
c:RegisterEffect(e1)
end
function c2362787.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckLPCost(tp,800) end
Duel.PayLPCost(tp,800)
end
function c2362787.filter(c)
return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsAbleToHand()
end
function c2362787.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_REMOVED) and c2362787.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c2362787.filter,tp,LOCATION_REMOVED,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectTarget(tp,c2362787.filter,tp,LOCATION_REMOVED,0,1,1,nil)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
end
function c2362787.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) then
Duel.SendtoHand(tc,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,tc)
end
end
--エクシーズ·リボーン
function c26708437.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE)
e1:SetTarget(c26708437.target)
e1:SetOperation(c26708437.activate)
c:RegisterEffect(e1)
end
function c26708437.filter(c,e,tp)
return c:IsType(TYPE_XYZ) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c26708437.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c26708437.filter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingTarget(c26708437.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,c26708437.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function c26708437.activate(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.SpecialSummon(tc,0,tp,tp,false,false,POS_FACEUP)~=0
and c:IsRelateToEffect(e) then
c:CancelToGrave()
Duel.Overlay(tc,Group.FromCards(c))
end
end
--フォトン·ケルベロス
function c28990150.initial_effect(c)
--actlimit
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_SUMMON_SUCCESS)
e3:SetOperation(c28990150.atkop)
c:RegisterEffect(e3)
end
function c28990150.atkop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EFFECT_CANNOT_ACTIVATE)
e1:SetRange(LOCATION_MZONE)
e1:SetTargetRange(1,1)
e1:SetValue(c28990150.aclimit)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
e:GetHandler():RegisterEffect(e1)
end
function c28990150.aclimit(e,re,tp)
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and re:GetHandler():IsType(TYPE_TRAP)
end
--ツイン·フォトン·リザード
function c29455728.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunRep(c,aux.FilterBoolFunction(Card.IsSetCard,0x55),2,true)
--spsummon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(29455728,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c29455728.cost)
e1:SetTarget(c29455728.target)
e1:SetOperation(c29455728.operation)
c:RegisterEffect(e1)
end
function c29455728.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleaseable() end
Duel.Release(e:GetHandler(),REASON_COST)
end
function c29455728.mgfilter(c,e,tp,fusc)
return not c:IsControler(tp) or not c:IsLocation(LOCATION_GRAVE)
or bit.band(c:GetReason(),0x40008)~=0x40008 or c:GetReasonCard()~=fusc
or not c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c29455728.target(e,tp,eg,ep,ev,re,r,rp,chk)
local g=e:GetHandler():GetMaterial()
if chk==0 then return g:GetCount()>0 and Duel.GetLocationCount(tp,LOCATION_MZONE)+1>=g:GetCount()
and bit.band(e:GetHandler():GetSummonType(),SUMMON_TYPE_FUSION)==SUMMON_TYPE_FUSION
and not g:IsExists(c29455728.mgfilter,1,nil,e,tp,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,g:GetCount(),0,0)
end
function c29455728.operation(e,tp,eg,ep,ev,re,r,rp)
local g=e:GetHandler():GetMaterial()
if Duel.GetLocationCount(tp,LOCATION_MZONE)>=g:GetCount()
and not g:IsExists(c29455728.mgfilter,1,nil,e,tp,e:GetHandler()) then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
--聖鳥クレイン
function c30914564.initial_effect(c)
--draw
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(30914564,0))
e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetTarget(c30914564.target)
e1:SetOperation(c30914564.operation)
c:RegisterEffect(e1)
end
function c30914564.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(1)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function c30914564.operation(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
Duel.Draw(p,d,REASON_EFFECT)
end
--フォトン·リード
function c35848254.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c35848254.target)
e1:SetOperation(c35848254.activate)
c:RegisterEffect(e1)
end
function c35848254.filter(c,e,tp)
return c:IsLevelBelow(4) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c35848254.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c35848254.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c35848254.activate(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c35848254.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP_ATTACK)
end
end
--黒竜の雛
function c36262024.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(36262024,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c36262024.spcost)
e1:SetTarget(c36262024.sptg)
e1:SetOperation(c36262024.spop)
c:RegisterEffect(e1)
end
function c36262024.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
Duel.SendtoGrave(e:GetHandler(),REASON_COST)
end
function c36262024.filter(c,e,tp)
return c:GetCode()==74677422 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c36262024.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c36262024.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c36262024.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c36262024.filter,tp,LOCATION_HAND,0,1,1,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
--フォトン·レオ
function c38757297.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(38757297,0))
e1:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SUMMON_SUCCESS)
e1:SetTarget(c38757297.target)
e1:SetOperation(c38757297.activate)
c:RegisterEffect(e1)
end
function c38757297.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(1-tp)
and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,0,LOCATION_HAND,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,1-tp,LOCATION_HAND)
end
function c38757297.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetFieldGroup(tp,0,LOCATION_HAND)
if g:GetCount()==0 then return end
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
Duel.ShuffleDeck(1-tp)
Duel.BreakEffect()
Duel.Draw(1-tp,g:GetCount(),REASON_EFFECT)
end
--フォトン·リザード
function c38973775.initial_effect(c)
--search
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(38973775,0))
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCost(c38973775.cost)
e1:SetTarget(c38973775.target)
e1:SetOperation(c38973775.operation)
c:RegisterEffect(e1)
end
function c38973775.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleaseable() end
Duel.Release(e:GetHandler(),REASON_COST)
end
function c38973775.filter(c)
return c:IsLevelBelow(4) and c:IsSetCard(0x55) and c:IsAbleToHand()
end
function c38973775.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFlagEffect(tp,38973775)==0
and Duel.IsExistingMatchingCard(c38973775.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,g,1,0,0)
Duel.RegisterFlagEffect(tp,38973775,RESET_PHASE+PHASE_END,0,1)
end
function c38973775.operation(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c38973775.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
--ドラゴンを呼ぶ笛
function c43973174.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCondition(c43973174.condition)
e1:SetTarget(c43973174.target)
e1:SetOperation(c43973174.activate)
c:RegisterEffect(e1)
end
function c43973174.cfilter(c)
return c:IsFaceup() and c:IsCode(17985575)
end
function c43973174.condition(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(c43973174.cfilter,tp,LOCATION_MZONE,0,1,nil)
end
function c43973174.filter(c,e,tp)
return c:IsRace(RACE_DRAGON) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
function c43973174.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c43973174.filter,tp,LOCATION_HAND,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
function c43973174.activate(e,tp,eg,ep,ev,re,r,rp)
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft==0 then return end
if ft>2 then ft=2 end
if not Duel.IsExistingMatchingCard(c43973174.cfilter,tp,LOCATION_MZONE,0,1,nil) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c43973174.filter,tp,LOCATION_HAND,0,1,ft,nil,e,tp)
if g:GetCount()>0 then
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end
end
--黒炎弾
function c52684508.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DAMAGE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c52684508.cost)
e1:SetTarget(c52684508.target)
e1:SetOperation(c52684508.activate)
c:RegisterEffect(e1)
if not c52684508.global_check then
c52684508.global_check=true
c52684508[0]=true
c52684508[1]=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_ATTACK_ANNOUNCE)
ge1:SetOperation(c52684508.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=Effect.CreateEffect(c)
ge2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge2:SetCode(EVENT_PHASE_START+PHASE_DRAW)
ge2:SetOperation(c52684508.clear)
Duel.RegisterEffect(ge2,0)
end
end
function c52684508.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
if tc:IsCode(74677422) then
c52684508[tc:GetControler()]=false
end
end
function c52684508.clear(e,tp,eg,ep,ev,re,r,rp)
c52684508[0]=true
c52684508[1]=true
end
function c52684508.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return c52684508[tp] end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ATTACK_ANNOUNCE)
e1:SetProperty(EFFECT_FLAG_OATH)
e1:SetTarget(aux.TargetBoolFunction(Card.IsCode,74677422))
e1:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e1:SetReset(RESET_PHASE+RESET_END)
Duel.RegisterEffect(e1,tp)
end
function c52684508.filter(c)
return c:IsFaceup() and c:IsCode(74677422)
end
function c52684508.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) and c52684508.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c52684508.filter,tp,LOCATION_MZONE,0,1,nil) end
local g=Duel.SelectTarget(tp,c52684508.filter,tp,LOCATION_MZONE,0,1,1,nil)
end
function c52684508.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc and tc:IsFaceup() and tc:IsRelateToEffect(e) then
Duel.Damage(1-tp,tc:GetBaseAttack(),REASON_EFFECT)
end
end
--光子化
function c57115864.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_ATTACK_ANNOUNCE)
e1:SetCondition(c57115864.condition)
e1:SetTarget(c57115864.target)
e1:SetOperation(c57115864.activate)
c:RegisterEffect(e1)
end
function c57115864.condition(e,tp,eg,ep,ev,re,r,rp)
return tp~=Duel.GetTurnPlayer()
end
function c57115864.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local tg=Duel.GetAttacker()
if chkc then return chkc==tg end
if chk==0 then return tg:IsOnField() and tg:IsCanBeEffectTarget(e) end
Duel.SetTargetCard(tg)
end
function c57115864.filter(c)
return c:IsFaceup() and c:IsAttribute(ATTRIBUTE_LIGHT)
end
function c57115864.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.DisableAttack()
local tc=Duel.GetFirstTarget()
if tc:IsFaceup() and tc:IsRelateToEffect(e) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectMatchingCard(tp,c57115864.filter,tp,LOCATION_MZONE,0,1,1,nil)
local ac=g:GetFirst()
if ac then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(tc:GetAttack())
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,2)
ac:RegisterEffect(e1)
end
end
end
......@@ -26,14 +26,13 @@ end
function c58120309.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_DISABLE,eg,1,0,0)
local loc=eg:GetFirst():GetLocation()
if eg:GetFirst():IsDestructable() and loc~=LOCATION_DECK then
eg:GetFirst():CreateEffectRelation(e)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,eg,1,0,0)
end
end
function c58120309.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateActivation(ev)
Duel.NegateEffect(ev)
local ec=eg:GetFirst()
local loc=ec:GetLocation()
if ec:IsRelateToEffect(e) and loc~=LOCATION_DECK then
......
--フォトン·サークラー
function c64145892.initial_effect(c)
--damage reduce
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_SINGLE)
e1:SetCode(EVENT_PRE_BATTLE_DAMAGE)
e1:SetCondition(c64145892.rdcon)
e1:SetOperation(c64145892.rdop)
c:RegisterEffect(e1)
end
function c64145892.rdcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return ep==tp and (c==Duel.GetAttacker() or c==Duel.GetAttackTarget())
end
function c64145892.rdop(e,tp,eg,ep,ev,re,r,rp)
Duel.ChangeBattleDamage(ep,Duel.GetBattleDamage(ep)/2)
end
--サイバー·ドラゴン
function c65367484.initial_effect(c)
c:EnableReviveLimit()
--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(c65367484.spcon)
c:RegisterEffect(e1)
--cannot attack
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_CANNOT_ATTACK)
e2:SetCondition(c65367484.atcon)
c:RegisterEffect(e2)
end
function c65367484.spcon(e,c)
if c==nil then return true end
return Duel.GetFieldGroupCount(c:GetControler(),LOCATION_MZONE,0,nil)==0
and Duel.GetLocationCount(c:GetControler(),LOCATION_MZONE)>0
end
function c65367484.atcon(e)
return Duel.GetFieldGroupCount(e:GetHandlerPlayer(),LOCATION_MZONE,0)>1
end
......@@ -52,7 +52,7 @@ function c66976526.cfilter(c,tp)
return c:IsSetCard(0x11) and c:IsControler(tp) and ((pp==0x1 and np==0x4) or (pp==0x4 and np==0x1) or (pp==0x8 and np==0x1))
end
function c66976526.drcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c85541675.cfilter,1,nil,tp)
return eg:IsExists(c66976526.cfilter,1,nil,tp)
end
function c66976526.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not e:GetHandler():IsStatus(STATUS_CHAINING) and Duel.IsPlayerCanDraw(tp,1) end
......
--フォトン·ブースター
function c71233859.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_ATKCHANGE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c71233859.target)
e1:SetOperation(c71233859.activate)
c:RegisterEffect(e1)
end
function c71233859.filter(c)
return c:IsFaceup() and not c:IsType(TYPE_TOKEN) and c:IsLevelBelow(4) and c:IsAttribute(ATTRIBUTE_LIGHT)
end
function c71233859.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c71233859.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c71233859.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
local g=Duel.SelectTarget(tp,c71233859.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
end
function c71233859.afilter(c,code)
return c:IsFaceup() and c:IsCode(code)
end
function c71233859.activate(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsFacedown() or not tc:IsRelateToEffect(e) then return end
local g=Duel.GetMatchingGroup(c71233859.afilter,tp,LOCATION_MZONE,LOCATION_MZONE,nil,tc:GetCode())
local tc=g:GetFirst()
while tc do
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK_FINAL)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END)
e1:SetValue(2000)
tc:RegisterEffect(e1)
tc=g:GetNext()
end
end
--忍び寄る闇
function c78811937.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c78811937.cost)
e1:SetTarget(c78811937.target)
e1:SetOperation(c78811937.activate)
c:RegisterEffect(e1)
end
function c78811937.cfilter(c)
return c:IsAttribute(ATTRIBUTE_DARK) and c:IsAbleToRemoveAsCost()
end
function c78811937.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c78811937.cfilter,tp,LOCATION_GRAVE,0,2,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local rg=Duel.SelectMatchingCard(tp,c78811937.cfilter,tp,LOCATION_GRAVE,0,2,2,nil)
Duel.Remove(rg,POS_FACEUP,REASON_COST)
end
function c78811937.filter(c)
return c:GetLevel()==4 and c:IsAttribute(ATTRIBUTE_DARK) and c:IsAbleToHand()
end
function c78811937.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c78811937.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c78811937.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c78811937.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
end
end
--バーストブレス
function c80163754.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DESTROY)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetHintTiming(0,TIMING_END_PHASE+0x1c0)
e1:SetLabel(1)
e1:SetCost(c80163754.cost)
e1:SetTarget(c80163754.target)
e1:SetOperation(c80163754.activate)
c:RegisterEffect(e1)
end
function c80163754.cfilter(c,def)
return c:IsRace(RACE_DRAGON) and c:IsAttackAbove(def)
end
function c80163754.filter(c,atk)
return c:IsFaceup() and c:IsDestructable() and (not atk or c:IsDefenceBelow(atk))
end
function c80163754.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then
local g=Duel.GetMatchingGroup(c80163754.filter,tp,0,LOCATION_MZONE,nil)
if g:GetCount()==0 then return false end
local mg=g:GetMinGroup(Card.GetDefence)
e:SetLabel(0)
return Duel.CheckReleaseGroup(tp,c80163754.cfilter,1,nil,g:GetFirst():GetDefence())
end
local g=Duel.GetMatchingGroup(c80163754.filter,tp,0,LOCATION_MZONE,nil)
local mg=g:GetMinGroup(Card.GetDefence)
local rg=Duel.SelectReleaseGroup(tp,c80163754.cfilter,1,1,nil,g:GetFirst():GetDefence())
e:SetLabel(rg:GetFirst():GetAttack())
Duel.Release(rg,REASON_COST)
end
function c80163754.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetLabel()==0 end
local dg=Duel.GetMatchingGroup(c80163754.filter,tp,0,LOCATION_MZONE,nil,e:GetLabel())
Duel.SetOperationInfo(0,CATEGORY_DESTROY,dg,dg:GetCount(),0,0)
end
function c80163754.activate(e,tp,eg,ep,ev,re,r,rp)
local dg=Duel.GetMatchingGroup(c80163754.filter,tp,0,LOCATION_MZONE,nil,e:GetLabel())
Duel.Destroy(dg,REASON_EFFECT)
end
--打ち出の小槌
function c85852291.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TODECK+CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c85852291.target)
e1:SetOperation(c85852291.activate)
c:RegisterEffect(e1)
end
function c85852291.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp)
and Duel.IsExistingMatchingCard(Card.IsAbleToDeck,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.SetTargetPlayer(tp)
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,1,tp,LOCATION_HAND)
end
function c85852291.activate(e,tp,eg,ep,ev,re,r,rp)
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TODECK)
local g=Duel.SelectMatchingCard(p,c85852291.filter,p,LOCATION_HAND,0,1,63,nil)
if g:GetCount()==0 then return end
Duel.SendtoDeck(g,nil,2,REASON_EFFECT)
Duel.ShuffleDeck(p)
Duel.BreakEffect()
Duel.Draw(p,g:GetCount(),REASON_EFFECT)
end
--フォトン·ベール
function c9354555.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TODECK+CATEGORY_TOHAND+CATEGORY_SEARCH)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetTarget(c9354555.target)
e1:SetOperation(c9354555.activate)
c:RegisterEffect(e1)
end
function c9354555.filter1(c)
return c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsAbleToDeck()
end
function c9354555.filter2(c)
return c:IsLevelBelow(4) and c:IsAttribute(ATTRIBUTE_LIGHT) and c:IsAbleToHand()
end
function c9354555.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c9354555.filter1,tp,LOCATION_HAND,0,3,nil)
and Duel.IsExistingMatchingCard(c9354555.filter2,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TODECK,nil,3,tp,LOCATION_HAND)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end
function c9354555.activate(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(c9354555.filter1,tp,LOCATION_HAND,0,nil)
if g:GetCount()<3 then return end
Duel.SendtoDeck(g:Select(tp,3,3,nil),nil,2,REASON_EFFECT)
local sg=Duel.GetMatchingGroup(c9354555.filter2,tp,LOCATION_DECK,0,nil)
if sg:GetCount()==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local hg=sg:Select(tp,1,1,nil)
sg:RemoveCard(hg:GetFirst())
sg=sg:Filter(Card.IsCode,nil,hg:GetFirst():GetCode())
if sg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(9354555,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local tg=sg:Select(tp,1,2,nil)
hg:Merge(tg)
end
Duel.SendtoHand(hg,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,hg)
end
--大革命返し
function c99188141.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_NEGATE+CATEGORY_REMOVE)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_CHAINING)
e1:SetCondition(c99188141.condition)
e1:SetTarget(c99188141.target)
e1:SetOperation(c99188141.activate)
c:RegisterEffect(e1)
end
function c99188141.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if (Duel.GetChainInfo(ev,CHAININFO_TYPE)~=TYPE_MONSTER and not re:IsHasType(EFFECT_TYPE_ACTIVATE))
or not Duel.IsChainInactivatable(ev) then return false end
local ex,tg,tc=Duel.GetOperationInfo(ev,CATEGORY_DESTROY)
return ex and tg~=nil and tc+tg:FilterCount(Card.IsOnField,nil)-tg:GetCount()>1
end
function c99188141.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return re:GetHandler():IsAbleToRemove() end
Duel.SetOperationInfo(0,CATEGORY_NEGATE,eg,1,0,0)
if re:GetHandler():IsRelateToEffect(re) then
Duel.SetOperationInfo(0,CATEGORY_REMOVE,eg,1,0,0)
end
end
function c99188141.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateActivation(ev)
if re:GetHandler():IsRelateToEffect(re) then
Duel.Remove(re:GetHandler(),POS_FACEUP,REASON_EFFECT)
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