Commit 4f533571 authored by argon.sun's avatar argon.sun

fix

parent e33d4b1b
...@@ -419,7 +419,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) ...@@ -419,7 +419,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
irr::gui::IGUIElement* ele = dev->getGUIEnvironment()->getFocus(); irr::gui::IGUIElement* ele = dev->getGUIEnvironment()->getFocus();
if(!ele) if(!ele)
break; break;
irr::core::position2di pos = ele->getAbsolutePosition().getCenter(); irr::core::position2di pos = ele->getAbsolutePosition().UpperLeftCorner;
CANDIDATEFORM cd; CANDIDATEFORM cd;
cd.dwIndex = 0; cd.dwIndex = 0;
cd.dwStyle = CFS_CANDIDATEPOS; cd.dwStyle = CFS_CANDIDATEPOS;
......
...@@ -207,6 +207,9 @@ bool Game::Initialize() { ...@@ -207,6 +207,9 @@ bool Game::Initialize() {
chkAutoChain = env->addCheckBox(false, rect<s32>(20, 80, 280, 105), tabSystem, -1, dataManager.GetSysString(1276)); chkAutoChain = env->addCheckBox(false, rect<s32>(20, 80, 280, 105), tabSystem, -1, dataManager.GetSysString(1276));
chkAutoChain->setChecked(true); chkAutoChain->setChecked(true);
chkWaitChain = env->addCheckBox(false, rect<s32>(20, 110, 280, 135), tabSystem, -1, dataManager.GetSysString(1277)); chkWaitChain = env->addCheckBox(false, rect<s32>(20, 110, 280, 135), tabSystem, -1, dataManager.GetSysString(1277));
chkIgnore1 = env->addCheckBox(false, rect<s32>(20, 170, 280, 195), tabSystem, -1, dataManager.GetSysString(1290));
chkIgnore2 = env->addCheckBox(false, rect<s32>(20, 200, 280, 225), tabSystem, -1, dataManager.GetSysString(1291));
chkIgnore2->setChecked(true);
// //
wHand = env->addWindow(rect<s32>(500, 450, 825, 605), false, L""); wHand = env->addWindow(rect<s32>(500, 450, 825, 605), false, L"");
wHand->getCloseButton()->setVisible(false); wHand->getCloseButton()->setVisible(false);
...@@ -434,6 +437,13 @@ bool Game::Initialize() { ...@@ -434,6 +437,13 @@ bool Game::Initialize() {
btnReplayStep = env->addButton(rect<s32>(5, 55, 85, 75), wReplayControl, BUTTON_REPLAY_STEP, dataManager.GetSysString(1345)); btnReplayStep = env->addButton(rect<s32>(5, 55, 85, 75), wReplayControl, BUTTON_REPLAY_STEP, dataManager.GetSysString(1345));
btnReplaySwap = env->addButton(rect<s32>(5, 80, 85, 100), wReplayControl, BUTTON_REPLAY_SWAP, dataManager.GetSysString(1346)); btnReplaySwap = env->addButton(rect<s32>(5, 80, 85, 100), wReplayControl, BUTTON_REPLAY_SWAP, dataManager.GetSysString(1346));
btnReplayExit = env->addButton(rect<s32>(5, 105, 85, 125), wReplayControl, BUTTON_REPLAY_EXIT, dataManager.GetSysString(1347)); btnReplayExit = env->addButton(rect<s32>(5, 105, 85, 125), wReplayControl, BUTTON_REPLAY_EXIT, dataManager.GetSysString(1347));
//chat
wChat = env->addWindow(rect<s32>(305, 615, 1020, 640), false, L"");
wChat->getCloseButton()->setVisible(false);
wChat->setDraggable(false);
// wChat->setDrawBackground(false);
wChat->setDrawTitlebar(false);
ebChatInput = env->addEditBox(L"", rect<s32>(3, 2, 710, 22), true, wChat, EDITBOX_CHAT);
// //
btnLeaveGame = env->addButton(rect<s32>(205, 5, 295, 80), 0, BUTTON_LEAVE_GAME, L""); btnLeaveGame = env->addButton(rect<s32>(205, 5, 295, 80), 0, BUTTON_LEAVE_GAME, L"");
btnLeaveGame->setVisible(false); btnLeaveGame->setVisible(false);
...@@ -780,6 +790,7 @@ void Game::CloseDuelWindow() { ...@@ -780,6 +790,7 @@ void Game::CloseDuelWindow() {
stHintMsg->setVisible(false); stHintMsg->setVisible(false);
btnSideOK->setVisible(false); btnSideOK->setVisible(false);
btnLeaveGame->setVisible(false); btnLeaveGame->setVisible(false);
wChat->setVisible(false);
lstLog->clear(); lstLog->clear();
logParam.clear(); logParam.clear();
lstHostList->clear(); lstHostList->clear();
......
...@@ -368,6 +368,7 @@ extern Game* mainGame; ...@@ -368,6 +368,7 @@ extern Game* mainGame;
#define LISTBOX_REPLAY_LIST 130 #define LISTBOX_REPLAY_LIST 130
#define BUTTON_LOAD_REPLAY 131 #define BUTTON_LOAD_REPLAY 131
#define BUTTON_CANCEL_REPLAY 132 #define BUTTON_CANCEL_REPLAY 132
#define EDITBOX_CHAT 140
#define BUTTON_MSG_OK 200 #define BUTTON_MSG_OK 200
#define BUTTON_YES 201 #define BUTTON_YES 201
#define BUTTON_NO 202 #define BUTTON_NO 202
......
...@@ -61,7 +61,7 @@ irr::video::ITexture* ImageManager::GetTexture(int code) { ...@@ -61,7 +61,7 @@ irr::video::ITexture* ImageManager::GetTexture(int code) {
img = driver->getTexture(file); img = driver->getTexture(file);
} }
if(img == NULL) { if(img == NULL) {
tMap[code] = tUnknown; tMap[code] = NULL;
return tUnknown; return tUnknown;
} else { } else {
tMap[code] = img; tMap[code] = img;
...@@ -86,7 +86,7 @@ irr::video::ITexture* ImageManager::GetTextureThumb(int code) { ...@@ -86,7 +86,7 @@ irr::video::ITexture* ImageManager::GetTextureThumb(int code) {
img = driver->getTexture(file); img = driver->getTexture(file);
} }
if(img == NULL) { if(img == NULL) {
tThumb[code] = tUnknown; tThumb[code] = NULL;
return tUnknown; return tUnknown;
} else { } else {
tThumb[code] = img; tThumb[code] = img;
......
...@@ -359,6 +359,7 @@ public: ...@@ -359,6 +359,7 @@ public:
#define EVENT_CHAIN_END 1026 #define EVENT_CHAIN_END 1026
#define EVENT_CHAINING 1027 #define EVENT_CHAINING 1027
#define EVENT_BECOME_TARGET 1028 #define EVENT_BECOME_TARGET 1028
#define EVENT_DESTROYED 1029
#define EVENT_ADJUST 1040 #define EVENT_ADJUST 1040
#define EVENT_SUMMON_SUCCESS 1100 #define EVENT_SUMMON_SUCCESS 1100
#define EVENT_FLIP_SUMMON_SUCCESS 1101 #define EVENT_FLIP_SUMMON_SUCCESS 1101
......
...@@ -1433,7 +1433,9 @@ int32 scriptlib::card_add_counter(lua_State *L) { ...@@ -1433,7 +1433,9 @@ int32 scriptlib::card_add_counter(lua_State *L) {
card* pcard = *(card**) lua_touserdata(L, 1); card* pcard = *(card**) lua_touserdata(L, 1);
uint32 countertype = lua_tointeger(L, 2); uint32 countertype = lua_tointeger(L, 2);
uint32 count = lua_tointeger(L, 3); uint32 count = lua_tointeger(L, 3);
lua_pushboolean(L, pcard->add_counter(countertype, count)); if(pcard->is_affect_by_effect(pcard->pduel->game_field->core.reason_effect))
lua_pushboolean(L, pcard->add_counter(countertype, count));
else lua_pushboolean(L, 0);
return 1; return 1;
} }
int32 scriptlib::card_remove_counter(lua_State *L) { int32 scriptlib::card_remove_counter(lua_State *L) {
......
...@@ -2410,7 +2410,7 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3 ...@@ -2410,7 +2410,7 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3
} }
case 5: { case 5: {
uint8 nloc; uint8 nloc;
card_set tohand, todeck, tograve, remove, released; card_set tohand, todeck, tograve, remove, released, destroyed;
card_set equipings, overlays; card_set equipings, overlays;
for(auto cit = targets->container.begin(); cit != targets->container.end(); ++cit) { for(auto cit = targets->container.begin(); cit != targets->container.end(); ++cit) {
card* pcard = *cit; card* pcard = *cit;
...@@ -2451,6 +2451,10 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3 ...@@ -2451,6 +2451,10 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3
released.insert(pcard); released.insert(pcard);
raise_single_event(pcard, 0, EVENT_RELEASE, pcard->current.reason_effect, pcard->current.reason, pcard->current.reason_player, 0, 0); raise_single_event(pcard, 0, EVENT_RELEASE, pcard->current.reason_effect, pcard->current.reason, pcard->current.reason_player, 0, 0);
} }
if(pcard->current.reason & REASON_DESTROY) {
destroyed.insert(pcard);
raise_single_event(pcard, 0, EVENT_DESTROYED, pcard->current.reason_effect, pcard->current.reason, pcard->current.reason_player, 0, 0);
}
if(pcard->xyz_materials.size()) { if(pcard->xyz_materials.size()) {
for(auto clit = pcard->xyz_materials.begin(); clit != pcard->xyz_materials.end(); ++clit) for(auto clit = pcard->xyz_materials.begin(); clit != pcard->xyz_materials.end(); ++clit)
overlays.insert(*clit); overlays.insert(*clit);
...@@ -2466,6 +2470,8 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3 ...@@ -2466,6 +2470,8 @@ int32 field::send_to(uint16 step, group * targets, effect * reason_effect, uint3
raise_event(&remove, EVENT_REMOVE, reason_effect, reason, reason_player, 0, 0); raise_event(&remove, EVENT_REMOVE, reason_effect, reason, reason_player, 0, 0);
if(released.size()) if(released.size())
raise_event(&released, EVENT_RELEASE, reason_effect, reason, reason_player, 0, 0); raise_event(&released, EVENT_RELEASE, reason_effect, reason, reason_player, 0, 0);
if(destroyed.size())
raise_event(&released, EVENT_DESTROYED, reason_effect, reason, reason_player, 0, 0);
process_single_event(); process_single_event();
process_instant_event(); process_instant_event();
if(equipings.size()) if(equipings.size())
......
...@@ -27,20 +27,10 @@ function c12652643.initial_effect(c) ...@@ -27,20 +27,10 @@ function c12652643.initial_effect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON) e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP) e4:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e4:SetCode(EVENT_DESTROY) e4:SetCode(EVENT_DESTROYED)
e4:SetCondition(c12652643.spcon)
e4:SetTarget(c12652643.sptg) e4:SetTarget(c12652643.sptg)
e4:SetOperation(c12652643.spop) e4:SetOperation(c12652643.spop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(12652643,0))
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetProperty(EFFECT_FLAG_CARD_TARGET)
e5:SetCode(EVENT_BATTLE_DESTROYED)
e5:SetTarget(c12652643.sptg)
e5:SetOperation(c12652643.spop)
c:RegisterEffect(e5)
end end
c12652643.material_count=1 c12652643.material_count=1
c12652643.material={83104731} c12652643.material={83104731}
...@@ -63,9 +53,6 @@ end ...@@ -63,9 +53,6 @@ end
function c12652643.spfilter(c,e,tp) function c12652643.spfilter(c,e,tp)
return c:IsCode(83104731) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) return c:IsCode(83104731) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
end end
function c12652643.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsReason(REASON_EFFECT)
end
function c12652643.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c12652643.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c12652643.spfilter(chkc,e,tp) end if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and c12652643.spfilter(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
......
...@@ -47,7 +47,7 @@ function c131182.initial_effect(c) ...@@ -47,7 +47,7 @@ function c131182.initial_effect(c)
e7:SetCategory(CATEGORY_DESTROY) e7:SetCategory(CATEGORY_DESTROY)
e7:SetProperty(EFFECT_FLAG_CARD_TARGET) e7:SetProperty(EFFECT_FLAG_CARD_TARGET)
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e7:SetCode(EVENT_DESTROY) e7:SetCode(EVENT_DESTROYED)
e7:SetCondition(c131182.descon) e7:SetCondition(c131182.descon)
e7:SetTarget(c131182.destg) e7:SetTarget(c131182.destg)
e7:SetOperation(c131182.desop) e7:SetOperation(c131182.desop)
...@@ -82,7 +82,7 @@ function c131182.spop(e,tp,eg,ep,ev,re,r,rp) ...@@ -82,7 +82,7 @@ function c131182.spop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c131182.descon(e,tp,eg,ep,ev,re,r,rp) function c131182.descon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(r,REASON_EFFECT) and re:GetHandler():IsType(TYPE_SPELL+TYPE_TRAP) return not bit.band(r,REASON_BATTLE) and re:IsActiveType(TYPE_SPELL+TYPE_TRAP)
end end
function c131182.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c131182.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and chkc:IsDestructable() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(1-tp) and chkc:IsDestructable() end
......
...@@ -8,15 +8,14 @@ function c13995824.initial_effect(c) ...@@ -8,15 +8,14 @@ function c13995824.initial_effect(c)
e1:SetDescription(aux.Stringid(13995824,0)) e1:SetDescription(aux.Stringid(13995824,0))
e1:SetCategory(CATEGORY_DECKDES) e1:SetCategory(CATEGORY_DECKDES)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_DESTROY) e1:SetCode(EVENT_DESTROYED)
e1:SetCondition(c13995824.ddcon) e1:SetCondition(c13995824.ddcon)
e1:SetTarget(c13995824.ddtg) e1:SetTarget(c13995824.ddtg)
e1:SetOperation(c13995824.ddop) e1:SetOperation(c13995824.ddop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c13995824.ddcon(e,tp,eg,ep,ev,re,r,rp) function c13995824.ddcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() return rp~=tp and e:GetHandler():GetPreviousControler()==tp
return c:GetOwner()==c:GetControler() and rp~=tp
end end
function c13995824.ddtg(e,tp,eg,ep,ev,re,r,rp,chk) function c13995824.ddtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -40,7 +40,7 @@ function c14553285.initial_effect(c) ...@@ -40,7 +40,7 @@ function c14553285.initial_effect(c)
e5:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE) e5:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e5:SetCategory(CATEGORY_SPECIAL_SUMMON) e5:SetCategory(CATEGORY_SPECIAL_SUMMON)
e5:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP) e5:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e5:SetCode(EVENT_DESTROY) e5:SetCode(EVENT_LEAVE_FIELD)
e5:SetCondition(c14553285.spcon) e5:SetCondition(c14553285.spcon)
e5:SetTarget(c14553285.sptg) e5:SetTarget(c14553285.sptg)
e5:SetOperation(c14553285.spop) e5:SetOperation(c14553285.spop)
...@@ -72,7 +72,7 @@ function c14553285.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -72,7 +72,7 @@ function c14553285.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(g,REASON_EFFECT) Duel.Destroy(g,REASON_EFFECT)
end end
function c14553285.spcon(e,tp,eg,ep,ev,re,r,rp) function c14553285.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsOnField() return e:GetHandler():IsReason(REASON_DESTROY)
end end
function c14553285.spfilter(c,e,tp) function c14553285.spfilter(c,e,tp)
return c:IsCode(31924889) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(31924889) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
...@@ -11,9 +11,7 @@ function c16067089.initial_effect(c) ...@@ -11,9 +11,7 @@ function c16067089.initial_effect(c)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c16067089.cfilter(c,tp) function c16067089.cfilter(c,tp)
return c:IsCode(72677437) and c:GetPreviousControler()==tp return c:IsCode(72677437) and c:IsControler(tp) and c:IsOnField() and c:IsFaceup()
and c:IsPreviousLocation(LOCATION_ONFIELD)
and c:IsPreviousPosition(POS_FACEUP)
end end
function c16067089.condition(e,tp,eg,ep,ev,re,r,rp) function c16067089.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c16067089.cfilter,1,nil,tp) return eg:IsExists(c16067089.cfilter,1,nil,tp)
......
...@@ -24,7 +24,7 @@ function c1764972.initial_effect(c) ...@@ -24,7 +24,7 @@ function c1764972.initial_effect(c)
e3:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP) e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e3:SetCode(EVENT_DESTROY) e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetCondition(c1764972.spcon2) e3:SetCondition(c1764972.spcon2)
e3:SetTarget(c1764972.sptg2) e3:SetTarget(c1764972.sptg2)
e3:SetOperation(c1764972.spop2) e3:SetOperation(c1764972.spop2)
...@@ -88,7 +88,7 @@ function c1764972.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -88,7 +88,7 @@ function c1764972.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(dg,REASON_EFFECT) Duel.Destroy(dg,REASON_EFFECT)
end end
function c1764972.spcon2(e,tp,eg,ep,ev,re,r,rp) function c1764972.spcon2(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsOnField() return e:GetHandler():IsReason(REASON_DESTROY)
end end
function c1764972.spfilter2(c,e,tp) function c1764972.spfilter2(c,e,tp)
return c:IsCode(6021033) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(6021033) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
...@@ -11,9 +11,6 @@ function c25262697.initial_effect(c) ...@@ -11,9 +11,6 @@ function c25262697.initial_effect(c)
e1:SetOperation(c25262697.posop) e1:SetOperation(c25262697.posop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c25262697.costfilter(c)
return c:IsFaceup() and c:IsSetCard(0x2e)
end
function c25262697.poscon(e,tp,eg,ep,ev,re,r,rp,chk) function c25262697.poscon(e,tp,eg,ep,ev,re,r,rp,chk)
return Duel.GetEnvironment()==47355498 return Duel.GetEnvironment()==47355498
end end
......
...@@ -17,6 +17,7 @@ function c25518020.initial_effect(c) ...@@ -17,6 +17,7 @@ function c25518020.initial_effect(c)
--add counter --add counter
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetProperty(EFFECT_FLAG_DELAY)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetCode(EVENT_DESTROY) e3:SetCode(EVENT_DESTROY)
e3:SetCondition(c25518020.ctcon) e3:SetCondition(c25518020.ctcon)
......
...@@ -7,7 +7,6 @@ function c26704411.initial_effect(c) ...@@ -7,7 +7,6 @@ function c26704411.initial_effect(c)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_BATTLE_DESTROYING) e1:SetCode(EVENT_BATTLE_DESTROYING)
e1:SetCountLimit(1)
e1:SetCondition(c26704411.con) e1:SetCondition(c26704411.con)
e1:SetCost(c26704411.cost) e1:SetCost(c26704411.cost)
e1:SetTarget(c26704411.tg) e1:SetTarget(c26704411.tg)
......
...@@ -41,12 +41,12 @@ function c28124263.filter(c,e,tp) ...@@ -41,12 +41,12 @@ function c28124263.filter(c,e,tp)
and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and not c:IsHasEffect(EFFECT_NECRO_VALLEY) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) and not c:IsHasEffect(EFFECT_NECRO_VALLEY)
end end
function c28124263.tga(e,tp,eg,ep,ev,re,r,rp,chk) function c28124263.tga(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c28124263.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c28124263.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND+LOCATION_GRAVE)
end end
function c28124263.opa(e,tp,eg,ep,ev,re,r,rp) function c28124263.opa(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)==0 then return end 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,c28124263.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp) local g=Duel.SelectMatchingCard(tp,c28124263.filter,tp,LOCATION_HAND+LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
......
...@@ -31,7 +31,7 @@ function c29843091.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -31,7 +31,7 @@ function c29843091.activate(e,tp,eg,ep,ev,re,r,rp)
token:RegisterEffect(e1,true) token:RegisterEffect(e1,true)
local e2=Effect.CreateEffect(e:GetHandler()) local e2=Effect.CreateEffect(e:GetHandler())
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_DESTROY) e2:SetCode(EVENT_DESTROYED)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e2:SetOperation(c29843091.tokendes) e2:SetOperation(c29843091.tokendes)
token:RegisterEffect(e2,true) token:RegisterEffect(e2,true)
......
...@@ -36,5 +36,6 @@ function c35059553.value(e) ...@@ -36,5 +36,6 @@ function c35059553.value(e)
end end
function c35059553.condition(e) function c35059553.condition(e)
local tp=e:GetHandlerPlayer() local tp=e:GetHandlerPlayer()
return Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)<=Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE) local ct=Duel.GetFieldGroupCount(tp,LOCATION_MZONE,0)
return ct~=0 and ct<=Duel.GetFieldGroupCount(tp,0,LOCATION_MZONE)
end end
...@@ -23,7 +23,7 @@ function c37169670.initial_effect(c) ...@@ -23,7 +23,7 @@ function c37169670.initial_effect(c)
e3:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP) e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e3:SetCode(EVENT_DESTROY) e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetCondition(c37169670.spcon) e3:SetCondition(c37169670.spcon)
e3:SetTarget(c37169670.sptg) e3:SetTarget(c37169670.sptg)
e3:SetOperation(c37169670.spop) e3:SetOperation(c37169670.spop)
...@@ -44,7 +44,7 @@ function c37169670.damop(e,tp,eg,ep,ev,re,r,rp) ...@@ -44,7 +44,7 @@ function c37169670.damop(e,tp,eg,ep,ev,re,r,rp)
Duel.Recover(tp,d2,REASON_EFFECT) Duel.Recover(tp,d2,REASON_EFFECT)
end end
function c37169670.spcon(e,tp,eg,ep,ev,re,r,rp) function c37169670.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsOnField() return e:GetHandler():IsReason(REASON_DESTROY)
end end
function c37169670.spfilter(c,e,tp) function c37169670.spfilter(c,e,tp)
return c:IsCode(95526884) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(95526884) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
...@@ -14,5 +14,5 @@ function c38033121.val(e,c) ...@@ -14,5 +14,5 @@ function c38033121.val(e,c)
end end
function c38033121.filter(c) function c38033121.filter(c)
local code=c:GetCode() local code=c:GetCode()
return code==46986414 or code==40737112 return code==46986414 or code==30208479
end end
...@@ -14,5 +14,5 @@ function c38033122.val(e,c) ...@@ -14,5 +14,5 @@ function c38033122.val(e,c)
end end
function c38033122.filter(c) function c38033122.filter(c)
local code=c:GetCode() local code=c:GetCode()
return code==46986414 or code==40737112 return code==46986414 or code==30208479
end end
...@@ -14,5 +14,5 @@ function c38033123.val(e,c) ...@@ -14,5 +14,5 @@ function c38033123.val(e,c)
end end
function c38033123.filter(c) function c38033123.filter(c)
local code=c:GetCode() local code=c:GetCode()
return code==46986414 or code==40737112 return code==46986414 or code==30208479
end end
...@@ -14,5 +14,5 @@ function c38033124.val(e,c) ...@@ -14,5 +14,5 @@ function c38033124.val(e,c)
end end
function c38033124.filter(c) function c38033124.filter(c)
local code=c:GetCode() local code=c:GetCode()
return code==46986414 or code==40737112 return code==46986414 or code==30208479
end end
...@@ -31,7 +31,7 @@ function c38898779.initial_effect(c) ...@@ -31,7 +31,7 @@ function c38898779.initial_effect(c)
e4:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON) e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP) e4:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e4:SetCode(EVENT_DESTROY) e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetCondition(c38898779.spcon) e4:SetCondition(c38898779.spcon)
e4:SetTarget(c38898779.sptg) e4:SetTarget(c38898779.sptg)
e4:SetOperation(c38898779.spop) e4:SetOperation(c38898779.spop)
...@@ -55,7 +55,7 @@ function c38898779.atkval(e,c) ...@@ -55,7 +55,7 @@ function c38898779.atkval(e,c)
return Duel.GetMatchingGroupCount(Card.IsRace,e:GetHandler():GetControler(),LOCATION_GRAVE,0,nil,RACE_WARRIOR)*-100 return Duel.GetMatchingGroupCount(Card.IsRace,e:GetHandler():GetControler(),LOCATION_GRAVE,0,nil,RACE_WARRIOR)*-100
end end
function c38898779.spcon(e,tp,eg,ep,ev,re,r,rp) function c38898779.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsOnField() return e:GetHandler():IsReason(REASON_DESTROY)
end end
function c38898779.spfilter(c,e,tp) function c38898779.spfilter(c,e,tp)
return c:IsCode(23693634) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(23693634) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
...@@ -16,15 +16,10 @@ function c39823987.initial_effect(c) ...@@ -16,15 +16,10 @@ function c39823987.initial_effect(c)
--spsummon --spsummon
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e2:SetCode(EVENT_DESTROY) e2:SetCode(EVENT_DESTROYED)
e2:SetCondition(c39823987.regcon) e2:SetCondition(c39823987.regcon)
e2:SetOperation(c39823987.regop) e2:SetOperation(c39823987.regop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e3:SetCode(EVENT_BATTLE_DESTROYED)
e3:SetOperation(c39823987.regop)
c:RegisterEffect(e3)
end end
function c39823987.descon(e,tp,eg,ep,ev,re,r,rp) function c39823987.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsLocation(LOCATION_GRAVE) and e:GetHandler():IsReason(REASON_BATTLE) return e:GetHandler():IsLocation(LOCATION_GRAVE) and e:GetHandler():IsReason(REASON_BATTLE)
...@@ -46,7 +41,7 @@ function c39823987.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,7 +41,7 @@ function c39823987.desop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c39823987.regcon(e,tp,eg,ep,ev,re,r,rp) function c39823987.regcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsOnField() and e:GetHandler():IsReason(REASON_EFFECT) return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end end
function c39823987.regop(e,tp,eg,ep,ev,re,r,rp) function c39823987.regop(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
......
...@@ -28,7 +28,7 @@ function c41517968.initial_effect(c) ...@@ -28,7 +28,7 @@ function c41517968.initial_effect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e4:SetCategory(CATEGORY_DESTROY) e4:SetCategory(CATEGORY_DESTROY)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET) e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetCode(EVENT_DESTROY) e4:SetCode(EVENT_DESTROYED)
e4:SetTarget(c41517968.destg) e4:SetTarget(c41517968.destg)
e4:SetOperation(c41517968.desop) e4:SetOperation(c41517968.desop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
......
...@@ -4,13 +4,13 @@ function c45801022.initial_effect(c) ...@@ -4,13 +4,13 @@ function c45801022.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(45801022,0)) e1:SetDescription(aux.Stringid(45801022,0))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_DESTROY) e1:SetCode(EVENT_DESTROYED)
e1:SetCondition(c45801022.condition) e1:SetCondition(c45801022.condition)
e1:SetOperation(c45801022.operation) e1:SetOperation(c45801022.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c45801022.condition(e,tp,eg,ep,ev,re,r,rp) function c45801022.condition(e,tp,eg,ep,ev,re,r,rp)
return rp~=tp and e:GetHandler():GetOwner()==e:GetHandler():GetControler() return rp~=tp and e:GetHandler():GetPreviousControler()==tp
end end
function c45801022.operation(e,tp,eg,ep,ev,re,r,rp) function c45801022.operation(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
......
...@@ -4,13 +4,13 @@ function c46897277.initial_effect(c) ...@@ -4,13 +4,13 @@ function c46897277.initial_effect(c)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(46897277,0)) e1:SetDescription(aux.Stringid(46897277,0))
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_DESTROY) e1:SetCode(EVENT_DESTROYED)
e1:SetCondition(c46897277.condition) e1:SetCondition(c46897277.condition)
e1:SetOperation(c46897277.operation) e1:SetOperation(c46897277.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c46897277.condition(e,tp,eg,ep,ev,re,r,rp) function c46897277.condition(e,tp,eg,ep,ev,re,r,rp)
return rp~=tp and e:GetHandler():GetOwner()==e:GetHandler():GetControler() return rp~=tp and e:GetHandler():GetPreviousControler()==tp
end end
function c46897277.operation(e,tp,eg,ep,ev,re,r,rp) function c46897277.operation(e,tp,eg,ep,ev,re,r,rp)
local e1=Effect.CreateEffect(e:GetHandler()) local e1=Effect.CreateEffect(e:GetHandler())
......
...@@ -9,15 +9,14 @@ function c49389523.initial_effect(c) ...@@ -9,15 +9,14 @@ function c49389523.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP) e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_DESTROY) e1:SetCode(EVENT_DESTROYED)
e1:SetCondition(c49389523.spcon) e1:SetCondition(c49389523.spcon)
e1:SetTarget(c49389523.sptg) e1:SetTarget(c49389523.sptg)
e1:SetOperation(c49389523.spop) e1:SetOperation(c49389523.spop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c49389523.spcon(e,tp,eg,ep,ev,re,r,rp) function c49389523.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() return rp~=tp and e:GetHandler():GetPreviousControler()==tp
return c:GetOwner()==c:GetControler() and rp~=tp
end end
function c49389523.filter(c,e,tp) function c49389523.filter(c,e,tp)
local code=c:GetCode() local code=c:GetCode()
......
...@@ -14,7 +14,7 @@ function c50078509.initial_effect(c) ...@@ -14,7 +14,7 @@ function c50078509.initial_effect(c)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e2:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCode(EVENT_DESTROY) e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetCondition(c50078509.descon) e2:SetCondition(c50078509.descon)
e2:SetOperation(c50078509.desop) e2:SetOperation(c50078509.desop)
e2:SetLabelObject(e1) e2:SetLabelObject(e1)
...@@ -36,10 +36,9 @@ function c50078509.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -36,10 +36,9 @@ function c50078509.operation(e,tp,eg,ep,ev,re,r,rp)
if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then if c:IsRelateToEffect(e) and tc:IsFaceup() and tc:IsRelateToEffect(e) then
c:SetCardTarget(tc) c:SetCardTarget(tc)
e:SetLabelObject(tc) e:SetLabelObject(tc)
tc:CreateRelation(c,RESET_EVENT+0x1fe0000)
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE) e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_OWNER_RELATE)
e1:SetRange(LOCATION_MZONE) e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_DISABLE) e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetReset(RESET_EVENT+0x1fe0000)
...@@ -51,14 +50,13 @@ function c50078509.operation(e,tp,eg,ep,ev,re,r,rp) ...@@ -51,14 +50,13 @@ function c50078509.operation(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c50078509.rcon(e) function c50078509.rcon(e)
local c=e:GetOwner() return e:GetOwner():IsHasCardTarget(e:GetHandler())
return c:IsHasCardTarget(e:GetHandler()) and not c:IsDisabled()
end end
function c50078509.descon(e,tp,eg,ep,ev,re,r,rp) function c50078509.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsStatus(STATUS_DESTROY_CONFIRMED) then return false end if c:IsStatus(STATUS_DESTROY_CONFIRMED) then return false end
local tc=e:GetLabelObject():GetLabelObject() local tc=e:GetLabelObject():GetLabelObject()
return tc and eg:IsContains(tc) and tc:IsRelateToCard(c) and c:IsHasCardTarget(tc) return tc and eg:IsContains(tc) and tc:IsReason(REASON_DESTROY) and c:IsHasCardTarget(tc)
end end
function c50078509.desop(e,tp,eg,ep,ev,re,r,rp) function c50078509.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(e:GetHandler(), REASON_EFFECT) Duel.Destroy(e:GetHandler(), REASON_EFFECT)
......
...@@ -18,7 +18,7 @@ function c50433147.initial_effect(c) ...@@ -18,7 +18,7 @@ function c50433147.initial_effect(c)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(50433147,0)) e3:SetDescription(aux.Stringid(50433147,0))
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetCode(EVENT_DESTROY) e3:SetCode(EVENT_DESTROYED)
e3:SetCondition(c50433147.descon) e3:SetCondition(c50433147.descon)
e3:SetTarget(c50433147.destg) e3:SetTarget(c50433147.destg)
e3:SetOperation(c50433147.desop) e3:SetOperation(c50433147.desop)
...@@ -28,7 +28,7 @@ function c50433147.indtg(e,c) ...@@ -28,7 +28,7 @@ function c50433147.indtg(e,c)
return c:IsSetCard(0x42) return c:IsSetCard(0x42)
end end
function c50433147.descon(e,tp,eg,ep,ev,re,r,rp) function c50433147.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsOnField() return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end end
function c50433147.desfilter(c) function c50433147.desfilter(c)
return c:IsFaceup() and c:IsSetCard(0x42) and c:IsDestructable() return c:IsFaceup() and c:IsSetCard(0x42) and c:IsDestructable()
......
...@@ -8,6 +8,7 @@ function c5973663.initial_effect(c) ...@@ -8,6 +8,7 @@ function c5973663.initial_effect(c)
--add counter --add counter
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCode(EVENT_DESTROY) e2:SetCode(EVENT_DESTROY)
e2:SetOperation(c5973663.ctop) e2:SetOperation(c5973663.ctop)
......
...@@ -38,7 +38,7 @@ function c61257789.initial_effect(c) ...@@ -38,7 +38,7 @@ function c61257789.initial_effect(c)
e4:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE) e4:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON) e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP) e4:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e4:SetCode(EVENT_DESTROY) e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetCondition(c61257789.spcon) e4:SetCondition(c61257789.spcon)
e4:SetTarget(c61257789.sptg) e4:SetTarget(c61257789.sptg)
e4:SetOperation(c61257789.spop) e4:SetOperation(c61257789.spop)
...@@ -77,7 +77,7 @@ function c61257789.sumop(e,tp,eg,ep,ev,re,r,rp) ...@@ -77,7 +77,7 @@ function c61257789.sumop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c61257789.spcon(e,tp,eg,ep,ev,re,r,rp) function c61257789.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsOnField() return e:GetHandler():IsReason(REASON_DESTROY)
end end
function c61257789.spfilter(c,e,tp) function c61257789.spfilter(c,e,tp)
return c:IsCode(44508094) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(44508094) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
...@@ -16,7 +16,7 @@ function c64163367.initial_effect(c) ...@@ -16,7 +16,7 @@ function c64163367.initial_effect(c)
e2:SetDescription(aux.Stringid(64163367,0)) e2:SetDescription(aux.Stringid(64163367,0))
e2:SetCategory(CATEGORY_COUNTER) e2:SetCategory(CATEGORY_COUNTER)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_DESTROY) e2:SetCode(EVENT_LEAVE_FIELD)
e2:SetCondition(c64163367.ctcon2) e2:SetCondition(c64163367.ctcon2)
e2:SetOperation(c64163367.ctop2) e2:SetOperation(c64163367.ctop2)
c:RegisterEffect(e2) c:RegisterEffect(e2)
...@@ -27,7 +27,7 @@ end ...@@ -27,7 +27,7 @@ end
function c64163367.ctcon2(e,tp,eg,ep,ev,re,r,rp) function c64163367.ctcon2(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetHandler():GetCounter(0xe) local ct=e:GetHandler():GetCounter(0xe)
e:SetLabel(ct) e:SetLabel(ct)
return ct>0 return e:GetHandler():IsReason(REASON_DESTROY) and ct>0
end end
function c64163367.ctop2(e,tp,eg,ep,ev,re,r,rp) function c64163367.ctop2(e,tp,eg,ep,ev,re,r,rp)
local ct=e:GetLabel() local ct=e:GetLabel()
......
...@@ -18,20 +18,11 @@ function c66818682.initial_effect(c) ...@@ -18,20 +18,11 @@ function c66818682.initial_effect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON) e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY) e2:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DELAY)
e2:SetCode(EVENT_DESTROY) e2:SetCode(EVENT_DESTROYED)
e2:SetCondition(c66818682.spcon) e2:SetCondition(c66818682.spcon)
e2:SetTarget(c66818682.sptg) e2:SetTarget(c66818682.sptg)
e2:SetOperation(c66818682.spop) e2:SetOperation(c66818682.spop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(66818682,1))
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetCode(EVENT_BATTLE_DESTROYED)
e3:SetTarget(c66818682.sptg)
e3:SetOperation(c66818682.spop)
c:RegisterEffect(e3)
end end
function c66818682.rectg(e,tp,eg,ep,ev,re,r,rp,chk) function c66818682.rectg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
...@@ -46,7 +37,7 @@ function c66818682.recop(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,7 +37,7 @@ function c66818682.recop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c66818682.spcon(e,tp,eg,ep,ev,re,r,rp) function c66818682.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsOnField() and e:GetHandler():IsReason(REASON_EFFECT) return e:GetHandler():IsPreviousLocation(LOCATION_ONFIELD)
end end
function c66818682.spfilter(c,e,tp) function c66818682.spfilter(c,e,tp)
return c:IsCode(39823987) and c:IsCanBeSpecialSummoned(e,0,tp,true,false) return c:IsCode(39823987) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
......
...@@ -24,24 +24,17 @@ function c69243953.initial_effect(c) ...@@ -24,24 +24,17 @@ function c69243953.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
--tohand --tohand
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e4:SetDescription(aux.Stringid(69243953,0))
e4:SetCode(EVENT_DESTROY) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e4:SetProperty(EFFECT_FLAG_CANNOT_DISABLE) e4:SetCategory(CATEGORY_TOHAND)
e4:SetOperation(c69243953.checkeq) e4:SetCode(EVENT_LEAVE_FIELD)
e4:SetCondition(c69243953.retcon)
e4:SetTarget(c69243953.rettg)
e4:SetOperation(c69243953.retop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e5:SetCategory(CATEGORY_TOHAND)
e5:SetDescription(aux.Stringid(69243953,0))
e5:SetCode(EVENT_TO_GRAVE)
e5:SetCondition(c69243953.retcon)
e5:SetTarget(c69243953.rettg)
e5:SetOperation(c69243953.retop)
e5:SetLabelObject(e4)
c:RegisterEffect(e5)
end end
function c69243953.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc) function c69243953.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:GetLocation()==LOCATION_MZONE and chkc:IsFaceup() end if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsFaceup() end
if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end if chk==0 then return Duel.IsExistingTarget(Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil) Duel.SelectTarget(tp,Card.IsFaceup,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
...@@ -61,7 +54,7 @@ function c69243953.checkeq(e,tp,eg,ep,ev,re,r,rp) ...@@ -61,7 +54,7 @@ function c69243953.checkeq(e,tp,eg,ep,ev,re,r,rp)
end end
function c69243953.retcon(e,tp,eg,ep,ev,re,r,rp) function c69243953.retcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:IsPreviousLocation(LOCATION_SZONE) and c:IsReason(REASON_DESTROY) and e:GetLabelObject():GetLabel()==1 return c:IsLocation(LOCATION_GRAVE) and c:IsReason(REASON_DESTROY) and c:GetEquipTarget()~=nil
end end
function c69243953.rettg(e,tp,eg,ep,ev,re,r,rp,chk) function c69243953.rettg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end if chk==0 then return e:GetHandler():IsAbleToHand() end
......
...@@ -24,7 +24,7 @@ function c77336644.initial_effect(c) ...@@ -24,7 +24,7 @@ function c77336644.initial_effect(c)
e3:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE) e3:SetType(EFFECT_TYPE_TRIGGER_O+EFFECT_TYPE_SINGLE)
e3:SetCategory(CATEGORY_SPECIAL_SUMMON) e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP) e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e3:SetCode(EVENT_DESTROY) e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetCondition(c77336644.spcon) e3:SetCondition(c77336644.spcon)
e3:SetTarget(c77336644.sptg) e3:SetTarget(c77336644.sptg)
e3:SetOperation(c77336644.spop) e3:SetOperation(c77336644.spop)
...@@ -43,7 +43,7 @@ function c77336644.desop(e,tp,eg,ep,ev,re,r,rp) ...@@ -43,7 +43,7 @@ function c77336644.desop(e,tp,eg,ep,ev,re,r,rp)
Duel.Destroy(g,REASON_EFFECT) Duel.Destroy(g,REASON_EFFECT)
end end
function c77336644.spcon(e,tp,eg,ep,ev,re,r,rp) function c77336644.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsOnField() return e:GetHandler():IsReason(REASON_DESTROY)
end end
function c77336644.spfilter(c,e,tp) function c77336644.spfilter(c,e,tp)
return c:IsCode(70902743) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsCode(70902743) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
...@@ -15,20 +15,10 @@ function c7736719.initial_effect(c) ...@@ -15,20 +15,10 @@ function c7736719.initial_effect(c)
e2:SetCategory(CATEGORY_DRAW) e2:SetCategory(CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET) e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetCode(EVENT_DESTROY) e2:SetCode(EVENT_DESTROYED)
e2:SetCondition(c7736719.drcon)
e2:SetTarget(c7736719.drtg) e2:SetTarget(c7736719.drtg)
e2:SetOperation(c7736719.drop) e2:SetOperation(c7736719.drop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(7736719,1))
e3:SetCategory(CATEGORY_DRAW)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetCode(EVENT_BATTLE_DESTROYED)
e3:SetTarget(c7736719.drtg)
e3:SetOperation(c7736719.drop)
c:RegisterEffect(e3)
end end
function c7736719.target(e,tp,eg,ep,ev,re,r,rp,chk) function c7736719.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) if chk==0 then return Duel.IsPlayerCanDraw(tp,2)
...@@ -46,9 +36,6 @@ function c7736719.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -46,9 +36,6 @@ function c7736719.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.BreakEffect() Duel.BreakEffect()
Duel.Draw(tp,2,REASON_EFFECT) Duel.Draw(tp,2,REASON_EFFECT)
end end
function c7736719.drcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsReason(REASON_EFFECT)
end
function c7736719.drtg(e,tp,eg,ep,ev,re,r,rp,chk) function c7736719.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
Duel.SetTargetPlayer(tp) Duel.SetTargetPlayer(tp)
......
...@@ -25,7 +25,7 @@ function c78082039.initial_effect(c) ...@@ -25,7 +25,7 @@ function c78082039.initial_effect(c)
c:RegisterEffect(e3) c:RegisterEffect(e3)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS) e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_DESTROY) e4:SetCode(EVENT_DESTROYED)
e4:SetOperation(c78082039.desop) e4:SetOperation(c78082039.desop)
c:RegisterEffect(e4) c:RegisterEffect(e4)
end end
......
...@@ -35,7 +35,7 @@ function c79229522.spfilter1(c,tp) ...@@ -35,7 +35,7 @@ function c79229522.spfilter1(c,tp)
and Duel.IsExistingMatchingCard(c79229522.spfilter2,tp,LOCATION_MZONE,LOCATION_MZONE,1,c,tp) and Duel.IsExistingMatchingCard(c79229522.spfilter2,tp,LOCATION_MZONE,LOCATION_MZONE,1,c,tp)
end end
function c79229522.spfilter2(c,tp) function c79229522.spfilter2(c,tp)
return c:IsRace(RACE_MACHINE) and c:IsCanBeFusionMaterial() and (c:IsControler(tp) or c:IsFaceup()) return c:IsRace(RACE_MACHINE) and c:IsAbleToGraveAsCost() and c:IsCanBeFusionMaterial() and (c:IsControler(tp) or c:IsFaceup())
end end
function c79229522.sprcon(e,c) function c79229522.sprcon(e,c)
if c==nil then return true end if c==nil then return true end
......
...@@ -38,7 +38,7 @@ function c79798060.initial_effect(c) ...@@ -38,7 +38,7 @@ function c79798060.initial_effect(c)
e7:SetDescription(aux.Stringid(79798060,0)) e7:SetDescription(aux.Stringid(79798060,0))
e7:SetCategory(CATEGORY_DESTROY) e7:SetCategory(CATEGORY_DESTROY)
e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e7:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e7:SetCode(EVENT_DESTROY) e7:SetCode(EVENT_DESTROYED)
e7:SetCondition(c79798060.descon) e7:SetCondition(c79798060.descon)
e7:SetTarget(c79798060.destg) e7:SetTarget(c79798060.destg)
e7:SetOperation(c79798060.desop) e7:SetOperation(c79798060.desop)
...@@ -64,7 +64,7 @@ function c79798060.sdcon(e) ...@@ -64,7 +64,7 @@ function c79798060.sdcon(e)
end end
function c79798060.descon(e,tp,eg,ep,ev,re,r,rp) function c79798060.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return (not c:IsOnField() or c:IsFaceup()) and (not re or re:GetHandler()~=c) return not c:IsReason(REASON_BATTLE) and re and re:GetHandler()~=c
end end
function c79798060.destg(e,tp,eg,ep,ev,re,r,rp,chk) function c79798060.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -20,7 +20,7 @@ function c80551130.initial_effect(c) ...@@ -20,7 +20,7 @@ function c80551130.initial_effect(c)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_SZONE)
e3:SetCode(EVENT_DESTROY) e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetCondition(c80551130.descon2) e3:SetCondition(c80551130.descon2)
e3:SetOperation(c80551130.desop2) e3:SetOperation(c80551130.desop2)
c:RegisterEffect(e3) c:RegisterEffect(e3)
......
...@@ -14,7 +14,7 @@ function c83039729.initial_effect(c) ...@@ -14,7 +14,7 @@ function c83039729.initial_effect(c)
e2:SetCategory(CATEGORY_TOHAND) e2:SetCategory(CATEGORY_TOHAND)
e2:SetProperty(EFFECT_FLAG_CARD_TARGET) e2:SetProperty(EFFECT_FLAG_CARD_TARGET)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F) e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e2:SetCode(EVENT_DESTROY) e2:SetCode(EVENT_DESTROYED)
e2:SetCondition(c83039729.thcon) e2:SetCondition(c83039729.thcon)
e2:SetTarget(c83039729.thtg) e2:SetTarget(c83039729.thtg)
e2:SetOperation(c83039729.thop) e2:SetOperation(c83039729.thop)
...@@ -51,7 +51,7 @@ function c83039729.spcon(e,c) ...@@ -51,7 +51,7 @@ function c83039729.spcon(e,c)
end end
function c83039729.thcon(e,tp,eg,ep,ev,re,r,rp) function c83039729.thcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
return c:GetOwner()==c:GetControler() and bit.band(r,REASON_EFFECT)>0 and rp~=tp and rp~=PLAYER_NONE return not c:IsReason(REASON_BATTLE) and rp==1-tp and c:GetPreviousControler()==tp
end end
function c83039729.filter(c) function c83039729.filter(c)
return c:IsSetCard(0x3d) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand() return c:IsSetCard(0x3d) and c:IsType(TYPE_MONSTER) and c:IsAbleToHand()
......
...@@ -6,20 +6,22 @@ function c87836938.initial_effect(c) ...@@ -6,20 +6,22 @@ function c87836938.initial_effect(c)
e1:SetCategory(CATEGORY_DRAW) e1:SetCategory(CATEGORY_DRAW)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_PLAYER_TARGET) e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_PLAYER_TARGET)
e1:SetCode(EVENT_DESTROY) e1:SetCode(EVENT_LEAVE_FIELD)
e1:SetCondition(c87836938.drcon) e1:SetCondition(c87836938.drcon)
e1:SetTarget(c87836938.drtg) e1:SetTarget(c87836938.drtg)
e1:SetOperation(c87836938.drop) e1:SetOperation(c87836938.drop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c87836938.drcon(e,tp,eg,ep,ev,re,r,rp) function c87836938.drcon(e,tp,eg,ep,ev,re,r,rp)
local et=e:GetHandler():GetEquipCount() local c=e:GetHandler()
e:SetLabel(et) local et=c:GetEquipCount()
return et>0 and e:GetHandler():IsReason(REASON_EFFECT) if et>0 and c:IsReason(REASON_EFFECT) and c:IsLocation(LOCAITON_GRAVE) then
e:SetLabel(et)
return true
else return false end
end end
function c87836938.drtg(e,tp,eg,ep,ev,re,r,rp,chk) function c87836938.drtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsLocation(LOCATION_GRAVE) if chk==0 then return Duel.IsPlayerCanDraw(tp,e:GetLabel()) end
and Duel.IsPlayerCanDraw(tp,e:GetLabel()) end
Duel.SetTargetPlayer(tp) Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(e:GetLabel()) Duel.SetTargetParam(e:GetLabel())
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,e:GetLabel()) Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,e:GetLabel())
......
...@@ -119,5 +119,5 @@ function c90960358.val(e,c) ...@@ -119,5 +119,5 @@ function c90960358.val(e,c)
end end
function c90960358.filter(c) function c90960358.filter(c)
local code=c:GetCode() local code=c:GetCode()
return code==46986414 or code==40737112 return code==46986414 or code==30208479
end end
...@@ -6,14 +6,14 @@ function c97885363.initial_effect(c) ...@@ -6,14 +6,14 @@ function c97885363.initial_effect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O) e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP) e1:SetProperty(EFFECT_FLAG_DELAY+EFFECT_FLAG_DAMAGE_STEP)
e1:SetCode(EVENT_DESTROY) e1:SetCode(EVENT_DESTROYED)
e1:SetCondition(c97885363.condition) e1:SetCondition(c97885363.condition)
e1:SetTarget(c97885363.target) e1:SetTarget(c97885363.target)
e1:SetOperation(c97885363.operation) e1:SetOperation(c97885363.operation)
c:RegisterEffect(e1) c:RegisterEffect(e1)
end end
function c97885363.condition(e,tp,eg,ep,ev,re,r,rp) function c97885363.condition(e,tp,eg,ep,ev,re,r,rp)
return rp~=tp and e:GetHandler():GetOwner()==e:GetHandler():GetControler() return rp~=tp and e:GetHandler():GetPreviousControler()==tp
end end
function c97885363.filter(c,e,tp) function c97885363.filter(c,e,tp)
return c:IsSetCard(0xe) and c:IsCanBeSpecialSummoned(e,0,tp,false,false) return c:IsSetCard(0xe) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
......
...@@ -7,6 +7,7 @@ function c99342953.initial_effect(c) ...@@ -7,6 +7,7 @@ function c99342953.initial_effect(c)
--counter --counter
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e2:SetProperty(EFFECT_FLAG_DELAY)
e2:SetRange(LOCATION_SZONE) e2:SetRange(LOCATION_SZONE)
e2:SetCode(EVENT_DESTROY) e2:SetCode(EVENT_DESTROY)
e2:SetOperation(c99342953.ctop) e2:SetOperation(c99342953.ctop)
......
...@@ -437,6 +437,7 @@ EVENT_CHAIN_DISABLED =1025 ...@@ -437,6 +437,7 @@ EVENT_CHAIN_DISABLED =1025
EVENT_CHAIN_END =1026 EVENT_CHAIN_END =1026
EVENT_CHAINING =1027 EVENT_CHAINING =1027
EVENT_BECOME_TARGET =1028 EVENT_BECOME_TARGET =1028
EVENT_DESTROYED =1029
EVENT_ADJUST =1040 EVENT_ADJUST =1040
EVENT_SUMMON_SUCCESS =1100 EVENT_SUMMON_SUCCESS =1100
EVENT_FLIP_SUMMON_SUCCESS =1101 EVENT_FLIP_SUMMON_SUCCESS =1101
......
...@@ -262,6 +262,8 @@ ...@@ -262,6 +262,8 @@
!system 1277 没有可连锁的卡时延迟回应 !system 1277 没有可连锁的卡时延迟回应
!system 1280 标准对战 !system 1280 标准对战
!system 1281 自定义 !system 1281 自定义
!system 1290 忽略对方发言
!system 1291 忽略观战者发言
!system 1300 禁限卡表: !system 1300 禁限卡表:
!system 1301 卡组列表: !system 1301 卡组列表:
!system 1302 保存 !system 1302 保存
......
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