Commit a349882a authored by argon.sun's avatar argon.sun

tag

parent efe3de3c
...@@ -369,8 +369,8 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) { ...@@ -369,8 +369,8 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
if(!mainGame->dInfo.is_tag) { if(!mainGame->dInfo.is_tag) {
selftype = pkt->type & 0xf; selftype = pkt->type & 0xf;
is_host = (pkt->type >> 4) & 0xf; is_host = (pkt->type >> 4) & 0xf;
mainGame->btnHostPrepKick[2]->setVisible(true); mainGame->btnHostPrepKick[2]->setVisible(false);
mainGame->btnHostPrepKick[3]->setVisible(true); mainGame->btnHostPrepKick[3]->setVisible(false);
if(is_host) { if(is_host) {
mainGame->btnHostPrepStart->setVisible(true); mainGame->btnHostPrepStart->setVisible(true);
mainGame->btnHostPrepKick[0]->setVisible(true); mainGame->btnHostPrepKick[0]->setVisible(true);
...@@ -2676,6 +2676,7 @@ int DuelClient::ClientAnalyze(char* msg, unsigned int len) { ...@@ -2676,6 +2676,7 @@ int DuelClient::ClientAnalyze(char* msg, unsigned int len) {
} }
for (auto cit = mainGame->dField.extra[player].begin(); cit != mainGame->dField.extra[player].end(); ++cit) { for (auto cit = mainGame->dField.extra[player].begin(); cit != mainGame->dField.extra[player].end(); ++cit) {
ClientCard* pcard = *cit; ClientCard* pcard = *cit;
pcard->code = 0;
mainGame->dField.GetCardLocation(pcard, &pcard->curPos, &pcard->curRot); mainGame->dField.GetCardLocation(pcard, &pcard->curPos, &pcard->curRot);
if(player == 0) pcard->curPos.Y += 2.0f; if(player == 0) pcard->curPos.Y += 2.0f;
else pcard->curPos.Y -= 3.0f; else pcard->curPos.Y -= 3.0f;
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
#include <dirent.h> #include <dirent.h>
#endif #endif
const unsigned short PRO_VERSION = 0x1272; const unsigned short PRO_VERSION = 0x1280;
namespace ygo { namespace ygo {
......
...@@ -159,6 +159,7 @@ public: ...@@ -159,6 +159,7 @@ public:
#define EFFECT_FLAG_AVAILABLE_BD 0x2000000 // #define EFFECT_FLAG_AVAILABLE_BD 0x2000000 //
#define EFFECT_FLAG_CLIENT_HINT 0x4000000 // #define EFFECT_FLAG_CLIENT_HINT 0x4000000 //
#define EFFECT_FLAG_CHAIN_UNIQUE 0x8000000 // #define EFFECT_FLAG_CHAIN_UNIQUE 0x8000000 //
#define EFFECT_FLAG_NAGA 0x10000000 //
//========== Codes ========== //========== Codes ==========
#define EFFECT_IMMUNE_EFFECT 1 // #define EFFECT_IMMUNE_EFFECT 1 //
#define EFFECT_DISABLE 2 // #define EFFECT_DISABLE 2 //
......
...@@ -1689,7 +1689,7 @@ int32 field::is_player_can_remove(uint8 playerid, card * pcard) { ...@@ -1689,7 +1689,7 @@ int32 field::is_player_can_remove(uint8 playerid, card * pcard) {
} }
return TRUE; return TRUE;
} }
int32 field::is_chain_negatable(uint8 chaincount) { int32 field::is_chain_negatable(uint8 chaincount, uint8 naga_check) {
effect_set eset; effect_set eset;
if(chaincount < 0 && chaincount > core.current_chain.size()) if(chaincount < 0 && chaincount > core.current_chain.size())
return FALSE; return FALSE;
...@@ -1698,6 +1698,8 @@ int32 field::is_chain_negatable(uint8 chaincount) { ...@@ -1698,6 +1698,8 @@ int32 field::is_chain_negatable(uint8 chaincount) {
peffect = core.current_chain.back().triggering_effect; peffect = core.current_chain.back().triggering_effect;
else else
peffect = core.current_chain[chaincount - 1].triggering_effect; peffect = core.current_chain[chaincount - 1].triggering_effect;
if(naga_check && peffect->flag & EFFECT_FLAG_NAGA)
return FALSE;
if(peffect->flag & EFFECT_FLAG_CANNOT_DISABLE) if(peffect->flag & EFFECT_FLAG_CANNOT_DISABLE)
return FALSE; return FALSE;
filter_field_effect(EFFECT_CANNOT_INACTIVATE, &eset); filter_field_effect(EFFECT_CANNOT_INACTIVATE, &eset);
...@@ -1708,7 +1710,7 @@ int32 field::is_chain_negatable(uint8 chaincount) { ...@@ -1708,7 +1710,7 @@ int32 field::is_chain_negatable(uint8 chaincount) {
} }
return TRUE; return TRUE;
} }
int32 field::is_chain_disablable(uint8 chaincount) { int32 field::is_chain_disablable(uint8 chaincount, uint8 naga_check) {
effect_set eset; effect_set eset;
if(chaincount < 0 && chaincount > core.current_chain.size()) if(chaincount < 0 && chaincount > core.current_chain.size())
return FALSE; return FALSE;
...@@ -1717,6 +1719,8 @@ int32 field::is_chain_disablable(uint8 chaincount) { ...@@ -1717,6 +1719,8 @@ int32 field::is_chain_disablable(uint8 chaincount) {
peffect = core.current_chain.back().triggering_effect; peffect = core.current_chain.back().triggering_effect;
else else
peffect = core.current_chain[chaincount - 1].triggering_effect; peffect = core.current_chain[chaincount - 1].triggering_effect;
if(naga_check && peffect->flag & EFFECT_FLAG_NAGA)
return FALSE;
if(peffect->flag & EFFECT_FLAG_CANNOT_DISABLE) if(peffect->flag & EFFECT_FLAG_CANNOT_DISABLE)
return FALSE; return FALSE;
filter_field_effect(EFFECT_CANNOT_DISEFFECT, &eset); filter_field_effect(EFFECT_CANNOT_DISEFFECT, &eset);
......
...@@ -354,8 +354,8 @@ public: ...@@ -354,8 +354,8 @@ public:
int32 is_player_can_send_to_hand(uint8 playerid, card* pcard); int32 is_player_can_send_to_hand(uint8 playerid, card* pcard);
int32 is_player_can_send_to_deck(uint8 playerid, card* pcard); int32 is_player_can_send_to_deck(uint8 playerid, card* pcard);
int32 is_player_can_remove(uint8 playerid, card* pcard); int32 is_player_can_remove(uint8 playerid, card* pcard);
int32 is_chain_negatable(uint8 chaincount); int32 is_chain_negatable(uint8 chaincount, uint8 naga_check = FALSE);
int32 is_chain_disablable(uint8 chaincount); int32 is_chain_disablable(uint8 chaincount, uint8 naga_check = FALSE);
int32 check_chain_target(uint8 chaincount, card* pcard); int32 check_chain_target(uint8 chaincount, card* pcard);
void add_process(uint16 type, uint16 step, effect* peffect, group* target, ptr arg1, ptr arg2); void add_process(uint16 type, uint16 step, effect* peffect, group* target, ptr arg1, ptr arg2);
......
...@@ -2687,14 +2687,14 @@ int32 scriptlib::duel_is_chain_negatable(lua_State * L) { ...@@ -2687,14 +2687,14 @@ int32 scriptlib::duel_is_chain_negatable(lua_State * L) {
check_param_count(L, 1); check_param_count(L, 1);
int32 chaincount = lua_tointeger(L, 1); int32 chaincount = lua_tointeger(L, 1);
duel* pduel = interpreter::get_duel_info(L); duel* pduel = interpreter::get_duel_info(L);
lua_pushboolean(L, pduel->game_field->is_chain_negatable(chaincount)); lua_pushboolean(L, pduel->game_field->is_chain_negatable(chaincount, TRUE));
return 1; return 1;
} }
int32 scriptlib::duel_is_chain_disablable(lua_State * L) { int32 scriptlib::duel_is_chain_disablable(lua_State * L) {
check_param_count(L, 1); check_param_count(L, 1);
int32 chaincount = lua_tointeger(L, 1); int32 chaincount = lua_tointeger(L, 1);
duel* pduel = interpreter::get_duel_info(L); duel* pduel = interpreter::get_duel_info(L);
lua_pushboolean(L, pduel->game_field->is_chain_disablable(chaincount)); lua_pushboolean(L, pduel->game_field->is_chain_disablable(chaincount, TRUE));
return 1; return 1;
} }
int32 scriptlib::duel_check_chain_target(lua_State *L) { int32 scriptlib::duel_check_chain_target(lua_State *L) {
......
...@@ -29,6 +29,8 @@ int32 field::negate_chain(uint8 chaincount) { ...@@ -29,6 +29,8 @@ int32 field::negate_chain(uint8 chaincount) {
} }
pduel->write_buffer8(MSG_CHAIN_NEGATED); pduel->write_buffer8(MSG_CHAIN_NEGATED);
pduel->write_buffer8(chaincount); pduel->write_buffer8(chaincount);
if(pchain.triggering_effect->flag & EFFECT_FLAG_NAGA)
return FALSE;
return TRUE; return TRUE;
} }
return FALSE; return FALSE;
...@@ -46,6 +48,8 @@ int32 field::disable_chain(uint8 chaincount) { ...@@ -46,6 +48,8 @@ int32 field::disable_chain(uint8 chaincount) {
core.current_chain[chaincount - 1].disable_player = core.reason_player; core.current_chain[chaincount - 1].disable_player = core.reason_player;
pduel->write_buffer8(MSG_CHAIN_DISABLED); pduel->write_buffer8(MSG_CHAIN_DISABLED);
pduel->write_buffer8(chaincount); pduel->write_buffer8(chaincount);
if(pchain.triggering_effect->flag & EFFECT_FLAG_NAGA)
return FALSE;
return TRUE; return TRUE;
} }
return FALSE; return FALSE;
......
...@@ -67,5 +67,6 @@ function c12644061.damcost(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -67,5 +67,6 @@ function c12644061.damcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.SendtoGrave(g,REASON_COST) Duel.SendtoGrave(g,REASON_COST)
end end
function c12644061.damop(e,tp,eg,ep,ev,re,r,rp) function c12644061.damop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
Duel.ChangeBattleDamage(tp,0) Duel.ChangeBattleDamage(tp,0)
end end
...@@ -29,8 +29,8 @@ function c3370104.initial_effect(c) ...@@ -29,8 +29,8 @@ function c3370104.initial_effect(c)
end end
function c3370104.distg(e,c) function c3370104.distg(e,c)
if c:GetCardTargetCount()~=1 then return false end if c:GetCardTargetCount()~=1 then return false end
local tc=c:GetCardTarget():GetFirst() local tc=c:GetFirstCardTarget()
return tc:IsControler(e:GetHandler():GetControler()) and tc:IsRace(RACE_MACHINE) return tc:IsControler(e:GetHandlerPlayer()) and tc:IsRace(RACE_MACHINE)
end end
function c3370104.disop(e,tp,eg,ep,ev,re,r,rp) function c3370104.disop(e,tp,eg,ep,ev,re,r,rp)
if re:IsActiveType(TYPE_MONSTER) then return end if re:IsActiveType(TYPE_MONSTER) then return end
......
...@@ -41,7 +41,7 @@ function c47297616.initial_effect(c) ...@@ -41,7 +41,7 @@ function c47297616.initial_effect(c)
end end
function c47297616.codisable(e,tp,eg,ep,ev,re,r,rp) function c47297616.codisable(e,tp,eg,ep,ev,re,r,rp)
return (re:IsHasType(EFFECT_TYPE_ACTIVATE) or re:IsActiveType(TYPE_MONSTER)) return (re:IsHasType(EFFECT_TYPE_ACTIVATE) or re:IsActiveType(TYPE_MONSTER))
and not e:GetHandler():IsStatus(STATUS_CHAINING) and Duel.IsChainNegatable(ev) and not e:GetHandler():IsStatus(STATUS_CHAINING)
end end
function c47297616.tgdisable(e,tp,eg,ep,ev,re,r,rp,chk) function c47297616.tgdisable(e,tp,eg,ep,ev,re,r,rp,chk)
local c=e:GetHandler() local c=e:GetHandler()
...@@ -56,21 +56,22 @@ function c47297616.opdisable(e,tp,eg,ep,ev,re,r,rp) ...@@ -56,21 +56,22 @@ function c47297616.opdisable(e,tp,eg,ep,ev,re,r,rp)
if not c:IsFaceup() or c:GetDefence()<500 or c:GetAttack()< 500 or not c:IsRelateToEffect(e) or Duel.GetCurrentChain()~=ev+1 then if not c:IsFaceup() or c:GetDefence()<500 or c:GetAttack()< 500 or not c:IsRelateToEffect(e) or Duel.GetCurrentChain()~=ev+1 then
return return
end end
Duel.NegateActivation(ev) if Duel.NegateActivation(ev) then
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT) e1:SetProperty(EFFECT_FLAG_COPY_INHERIT)
e1:SetReset(RESET_EVENT+0x1ff0000) e1:SetReset(RESET_EVENT+0x1ff0000)
e1:SetCode(EFFECT_UPDATE_ATTACK) e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-500) e1:SetValue(-500)
c:RegisterEffect(e1) c:RegisterEffect(e1)
local e2=Effect.CreateEffect(c) local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE) e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_COPY_INHERIT) e2:SetProperty(EFFECT_FLAG_COPY_INHERIT)
e2:SetReset(RESET_EVENT+0x1ff0000) e2:SetReset(RESET_EVENT+0x1ff0000)
e2:SetCode(EFFECT_UPDATE_DEFENCE) e2:SetCode(EFFECT_UPDATE_DEFENCE)
e2:SetValue(-500) e2:SetValue(-500)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end
end end
function c47297616.cdspsum(e) function c47297616.cdspsum(e)
return e:GetHandler():IsReason(REASON_DESTROY) return e:GetHandler():IsReason(REASON_DESTROY)
......
...@@ -19,7 +19,7 @@ function c49681811.initial_effect(c) ...@@ -19,7 +19,7 @@ function c49681811.initial_effect(c)
local e3=Effect.CreateEffect(c) local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD) e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_SELF_DESTROY) e3:SetCode(EFFECT_SELF_DESTROY)
e3:SetRange(LOCATION_SZONE) e3:SetRange(LOCATION_MZONE)
e3:SetTargetRange(LOCATION_SZONE,LOCATION_SZONE) e3:SetTargetRange(LOCATION_SZONE,LOCATION_SZONE)
e3:SetTarget(c49681811.distg) e3:SetTarget(c49681811.distg)
c:RegisterEffect(e3) c:RegisterEffect(e3)
......
...@@ -102,7 +102,6 @@ function c5861892.negcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -102,7 +102,6 @@ function c5861892.negcon(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
if not g or not g:IsContains(c) then return false end if not g or not g:IsContains(c) then return false end
return c:GetFlagEffectLabel(36690018)==0 and (re:IsHasType(EFFECT_TYPE_ACTIVATE) or re:IsActiveType(TYPE_MONSTER)) return c:GetFlagEffectLabel(36690018)==0 and (re:IsHasType(EFFECT_TYPE_ACTIVATE) or re:IsActiveType(TYPE_MONSTER))
and Duel.IsChainNegatable(ev)
end end
function c5861892.negtg(e,tp,eg,ep,ev,re,r,rp,chk) function c5861892.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
...@@ -116,15 +115,16 @@ function c5861892.negop(e,tp,eg,ep,ev,re,r,rp) ...@@ -116,15 +115,16 @@ function c5861892.negop(e,tp,eg,ep,ev,re,r,rp)
if not c:IsFaceup() or c:GetAttack()<1000 or not c:IsRelateToEffect(e) or Duel.GetCurrentChain()~=ev+1 then if not c:IsFaceup() or c:GetAttack()<1000 or not c:IsRelateToEffect(e) or Duel.GetCurrentChain()~=ev+1 then
return return
end end
Duel.NegateActivation(ev) if Duel.NegateActivation(ev) then
if re:GetHandler():IsRelateToEffect(re) then if re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(re:GetHandler(),REASON_EFFECT) Duel.Destroy(re:GetHandler(),REASON_EFFECT)
end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT)
e1:SetReset(RESET_EVENT+0x1ff0000)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-1000)
c:RegisterEffect(e1)
end end
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT)
e1:SetReset(RESET_EVENT+0x1ff0000)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(-1000)
c:RegisterEffect(e1)
end end
...@@ -25,7 +25,7 @@ function c70676581.initial_effect(c) ...@@ -25,7 +25,7 @@ function c70676581.initial_effect(c)
local e4=Effect.CreateEffect(c) local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD) e4:SetType(EFFECT_TYPE_FIELD)
e4:SetCode(EFFECT_SELF_DESTROY) e4:SetCode(EFFECT_SELF_DESTROY)
e4:SetRange(LOCATION_SZONE) e4:SetRange(LOCATION_MZONE)
e4:SetTargetRange(LOCATION_SZONE,LOCATION_SZONE) e4:SetTargetRange(LOCATION_SZONE,LOCATION_SZONE)
e4:SetTarget(c70676581.distg) e4:SetTarget(c70676581.distg)
c:RegisterEffect(e4) c:RegisterEffect(e4)
...@@ -42,19 +42,18 @@ function c70676581.initial_effect(c) ...@@ -42,19 +42,18 @@ function c70676581.initial_effect(c)
c:RegisterEffect(e5) c:RegisterEffect(e5)
end end
function c70676581.distg(e,c) function c70676581.distg(e,c)
if c:GetCardTargetCount()==0 then return false end if c:GetCardTargetCount()==0 or not c:IsType(TYPE_SPELL) then return false end
local tc=c:GetCardTarget():GetFirst() return c:GetCardTarget():IsExists(c70676581.disfilter,1,nil,e:GetHandlerPlayer())
return tc:IsControler(e:GetHandlerPlayer()) and tc:IsAttribute(ATTRIBUTE_DARK)
end end
function c70676581.disfilter(c,tp) function c70676581.disfilter(c,tp)
return c:IsControler(tp) and c:IsLocation(LOCATION_MZONE) and c:IsAttribute(ATTRIBUTE_DARK) return c:IsControler(tp) and c:IsFaceup() and c:IsLocation(LOCATION_MZONE) and c:IsAttribute(ATTRIBUTE_DARK)
end end
function c70676581.disop(e,tp,eg,ep,ev,re,r,rp) function c70676581.disop(e,tp,eg,ep,ev,re,r,rp)
if not re:IsActiveType(TYPE_SPELL) then return end if not re:IsActiveType(TYPE_SPELL) then return end
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return end if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return end
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
if not g or g:GetCount()==0 then return end if not g or g:GetCount()==0 then return end
if g:IsExists(c70676581.disfilter,1,nil) then if g:IsExists(c70676581.disfilter,1,nil,tp) then
Duel.NegateEffect(ev) Duel.NegateEffect(ev)
if re:GetHandler():IsRelateToEffect(re) then if re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(re:GetHandler(),REASON_EFFECT) Duel.Destroy(re:GetHandler(),REASON_EFFECT)
......
...@@ -21,7 +21,7 @@ function c78700060.initial_effect(c) ...@@ -21,7 +21,7 @@ function c78700060.initial_effect(c)
c:RegisterEffect(e2) c:RegisterEffect(e2)
end end
function c78700060.condition(e,tp,eg,ep,ev,re,r,rp) function c78700060.condition(e,tp,eg,ep,ev,re,r,rp)
return re:IsActiveType(TYPE_MONSTER) and Duel.IsChainNegatable(ev) return re:IsActiveType(TYPE_MONSTER)
end end
function c78700060.cost(e,tp,eg,ep,ev,re,r,rp,chk) function c78700060.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsReleaseable() end if chk==0 then return e:GetHandler():IsReleaseable() end
...@@ -37,8 +37,7 @@ end ...@@ -37,8 +37,7 @@ end
function c78700060.operation(e,tp,eg,ep,ev,re,r,rp) function c78700060.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if Duel.GetCurrentChain()~=ev+1 then return end if Duel.GetCurrentChain()~=ev+1 then return end
Duel.NegateActivation(ev) if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
if re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(eg,REASON_EFFECT) Duel.Destroy(eg,REASON_EFFECT)
end end
end end
...@@ -28,7 +28,7 @@ function c79473793.negcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -28,7 +28,7 @@ function c79473793.negcon(e,tp,eg,ep,ev,re,r,rp)
if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end if not re:IsHasProperty(EFFECT_FLAG_CARD_TARGET) then return false end
local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS) local g=Duel.GetChainInfo(ev,CHAININFO_TARGET_CARDS)
if not g or not g:IsContains(c) then return false end if not g or not g:IsContains(c) then return false end
return re:IsHasType(EFFECT_TYPE_ACTIVATE) and Duel.IsChainNegatable(ev) return re:IsHasType(EFFECT_TYPE_ACTIVATE)
end end
function c79473793.negtg(e,tp,eg,ep,ev,re,r,rp,chk) function c79473793.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
...@@ -38,8 +38,7 @@ function c79473793.negtg(e,tp,eg,ep,ev,re,r,rp,chk) ...@@ -38,8 +38,7 @@ function c79473793.negtg(e,tp,eg,ep,ev,re,r,rp,chk)
end end
end end
function c79473793.negop(e,tp,eg,ep,ev,re,r,rp) function c79473793.negop(e,tp,eg,ep,ev,re,r,rp)
Duel.NegateActivation(ev) if Duel.NegateActivation(ev) and re:GetHandler():IsRelateToEffect(re) then
if re:GetHandler():IsRelateToEffect(re) then
Duel.Destroy(re:GetHandler(),REASON_EFFECT) Duel.Destroy(re:GetHandler(),REASON_EFFECT)
end end
end end
......
...@@ -237,6 +237,7 @@ EFFECT_FLAG_OWNER_RELATE =0x1000000 -- ...@@ -237,6 +237,7 @@ EFFECT_FLAG_OWNER_RELATE =0x1000000 --
EFFECT_FLAG_AVAILABLE_BD =0x2000000 -- EFFECT_FLAG_AVAILABLE_BD =0x2000000 --
EFFECT_FLAG_CLIENT_HINT =0x4000000 -- EFFECT_FLAG_CLIENT_HINT =0x4000000 --
EFFECT_FLAG_CHAIN_UNIQUE =0x8000000 -- EFFECT_FLAG_CHAIN_UNIQUE =0x8000000 --
EFFECT_FLAG_NAGA =0x10000000 --
--========== Codes ========== --========== Codes ==========
EFFECT_IMMUNE_EFFECT =1 -- EFFECT_IMMUNE_EFFECT =1 --
EFFECT_DISABLE =2 -- EFFECT_DISABLE =2 --
......
...@@ -5,7 +5,7 @@ antialias = 2 ...@@ -5,7 +5,7 @@ antialias = 2
errorlog = 1 errorlog = 1
nickname = Player nickname = Player
gamename = Game gamename = Game
lastdeck = T1 lastdeck = sample
textfont = c:/windows/fonts/simsun.ttc 14 textfont = c:/windows/fonts/simsun.ttc 14
numfont = c:/windows/fonts/arialbd.ttf numfont = c:/windows/fonts/arialbd.ttf
serverport = 7911 serverport = 7911
......
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