Commit 2db8e3e2 authored by argon.sun's avatar argon.sun

fix

parent e154aed2
...@@ -1175,9 +1175,11 @@ int32 scriptlib::duel_negate_related_chain(lua_State *L) { ...@@ -1175,9 +1175,11 @@ int32 scriptlib::duel_negate_related_chain(lua_State *L) {
check_param(L, PARAM_TYPE_CARD, 1); check_param(L, PARAM_TYPE_CARD, 1);
card* pcard = *(card**)lua_touserdata(L, 1); card* pcard = *(card**)lua_touserdata(L, 1);
uint32 reset_flag = lua_tointeger(L, 2); uint32 reset_flag = lua_tointeger(L, 2);
duel * pduel = pcard->pduel; duel* pduel = pcard->pduel;
if(pduel->game_field->core.current_chain.size() < 2) if(pduel->game_field->core.current_chain.size() < 2)
return FALSE; return FALSE;
if(!pcard->is_affect_by_effect(pduel->game_field->core.reason_effect))
return 0;
effect* negeff = pduel->new_effect(); effect* negeff = pduel->new_effect();
negeff->owner = pduel->game_field->core.reason_effect->handler; negeff->owner = pduel->game_field->core.reason_effect->handler;
negeff->type = EFFECT_TYPE_SINGLE; negeff->type = EFFECT_TYPE_SINGLE;
......
...@@ -2872,7 +2872,7 @@ int32 field::move_to_field(uint16 step, card * target, uint32 enable, uint32 ret ...@@ -2872,7 +2872,7 @@ int32 field::move_to_field(uint16 step, card * target, uint32 enable, uint32 ret
} else { } else {
card* pcard; card* pcard;
if((pcard = get_field_card(playerid, LOCATION_SZONE, 5))) { if((pcard = get_field_card(playerid, LOCATION_SZONE, 5))) {
destroy(pcard, 0, REASON_RULE, PLAYER_NONE); destroy(pcard, 0, REASON_RULE, pcard->current.controler);
adjust_all(); adjust_all();
} }
} }
......
...@@ -4172,12 +4172,11 @@ int32 field::solve_chain(uint16 step, uint32 skip_new) { ...@@ -4172,12 +4172,11 @@ int32 field::solve_chain(uint16 step, uint32 skip_new) {
if((pcard->data.type & TYPE_FIELD) && (cait->triggering_effect->type & EFFECT_TYPE_ACTIVATE) && !pcard->is_status(STATUS_LEAVE_CONFIRMED) if((pcard->data.type & TYPE_FIELD) && (cait->triggering_effect->type & EFFECT_TYPE_ACTIVATE) && !pcard->is_status(STATUS_LEAVE_CONFIRMED)
&& pcard->is_has_relation(cait->triggering_effect) && player[1 - pcard->current.controler].list_szone[5] && pcard->is_has_relation(cait->triggering_effect) && player[1 - pcard->current.controler].list_szone[5]
&& player[1 - pcard->current.controler].list_szone[5]->is_position(POS_FACEUP)) && player[1 - pcard->current.controler].list_szone[5]->is_position(POS_FACEUP))
destroy(player[1 - pcard->current.controler].list_szone[5], 0, REASON_RULE, 0); destroy(player[1 - pcard->current.controler].list_szone[5], 0, REASON_RULE, 1 - pcard->current.controler);
pcard->release_relation(cait->triggering_effect); pcard->release_relation(cait->triggering_effect);
if(cait->target_cards) if(cait->target_cards)
pduel->delete_group(cait->target_cards); pduel->delete_group(cait->target_cards);
chain::opmap::iterator oit; for(auto oit = cait->opinfos.begin(); oit != cait->opinfos.end(); ++oit) {
for(oit = cait->opinfos.begin(); oit != cait->opinfos.end(); ++oit) {
if(oit->second.op_cards) if(oit->second.op_cards)
pduel->delete_group(oit->second.op_cards); pduel->delete_group(oit->second.op_cards);
} }
......
...@@ -54,7 +54,7 @@ function c33981008.drop(e,tp,eg,ep,ev,re,r,rp) ...@@ -54,7 +54,7 @@ function c33981008.drop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c33981008.spcon(e,tp,eg,ep,ev,re,r,rp) function c33981008.spcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsReason(REASON_DESTROY) and rp==1-tp return e:GetHandler():IsReason(REASON_DESTROY) and not e:GetHandler():IsReason(REASON_RULE) and rp==1-tp
end end
function c33981008.ctfilter(c) function c33981008.ctfilter(c)
return c:IsSetCard(0x106e) and c:IsType(TYPE_SPELL) return c:IsSetCard(0x106e) and c:IsType(TYPE_SPELL)
......
...@@ -33,5 +33,5 @@ function c41090784.poop(e,tp,eg,ep,ev,re,r,rp) ...@@ -33,5 +33,5 @@ function c41090784.poop(e,tp,eg,ep,ev,re,r,rp)
end end
end end
function c41090784.indval(e,re,rp) function c41090784.indval(e,re,rp)
return re:GetOwner():IsType(TYPE_SPELL+TYPE_TRAP) return re:IsActiveType(TYPE_SPELL+TYPE_TRAP)
end end
...@@ -3,11 +3,11 @@ ...@@ -3,11 +3,11 @@
use_d3d = 0 use_d3d = 0
antialias = 2 antialias = 2
errorlog = 1 errorlog = 1
nickname = Player nickname = Sert
gamename = Game gamename = Game
lastdeck = sample 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
lastip = 127.0.0.1 lastip = 220.243.98.220
lastport = 7911 lastport = 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