Commit bfaeaf5a authored by salix5's avatar salix5

GetOwnerPlayer

owner player: the player who activate the effect
handler player: the controller of the handler
parent d838e8dc
......@@ -40,7 +40,7 @@ int32 scriptlib::effect_clone(lua_State *L) {
*ceffect = *peffect;
ceffect->ref_handle = ref;
ceffect->handler = 0;
ceffect->effect_owner = PLAYER_NONE;
ceffect->effect_owner = peffect->effect_owner;
if(peffect->condition) {
lua_rawgeti(L, LUA_REGISTRYINDEX, peffect->condition);
ceffect->condition = luaL_ref(L, LUA_REGISTRYINDEX);
......
......@@ -4456,6 +4456,7 @@ int32 field::add_chain(uint16 step) {
if(!(peffect->flag & EFFECT_FLAG_FIELD_ONLY) && (!(peffect->type & 0x2a0) || (peffect->code & EVENT_PHASE) == EVENT_PHASE)) {
peffect->handler->create_relation(peffect);
}
peffect->effect_owner = clit.triggering_player;
if(peffect->cost) {
core.sub_solving_event.push_back(clit.evt);
add_process(PROCESSOR_EXECUTE_COST, 0, peffect, 0, clit.triggering_player, 0);
......
......@@ -58,6 +58,6 @@ end
function c259314.eqlimit(e,c)
return c:IsSetCard(0x56)
end
function c259314.efilter(e,re)
return e:GetOwnerPlayer()~=re:GetOwnerPlayer()
function c259314.efilter(e,re,rp)
return e:GetHandlerPlayer()~=rp
end
......@@ -42,5 +42,5 @@ function c31476755.desop(e,tp,eg,ep,ev,re,r,rp)
end
end
function c31476755.efilter(e,re)
return e:GetHandlerPlayer()~=re:GetHandlerPlayer() and re:IsActiveType(TYPE_SPELL)
return e:GetHandlerPlayer()~=re:GetOwnerPlayer() and re:IsActiveType(TYPE_SPELL)
end
......@@ -42,10 +42,11 @@ function c32754886.activate(e,tp,eg,ep,ev,re,r,rp)
e4:SetCode(EFFECT_IMMUNE_EFFECT)
e4:SetValue(c32754886.efilter)
e4:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END)
e4:SetOwnerPlayer(tp)
tc:RegisterEffect(e4)
tc=g:GetNext()
end
end
function c32754886.efilter(e,re)
return e:GetHandlerPlayer()~=re:GetHandlerPlayer()
return e:GetOwnerPlayer()~=re:GetOwnerPlayer()
end
......@@ -115,8 +115,8 @@ end
function c48680970.etarget(e,c)
return c:IsCode(46986414)
end
function c48680970.efilter(e,re,rp)
return re:GetHandlerPlayer()~=e:GetHandlerPlayer()
function c48680970.efilter(e,re)
return re:GetOwnerPlayer()~=e:GetHandlerPlayer()
end
function c48680970.descon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
......
......@@ -22,6 +22,7 @@ function c77797992.initial_effect(c)
c:RegisterEffect(e2)
local e3=e2:Clone()
e3:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e3:SetValue(1)
c:RegisterEffect(e3)
end
function c77797992.cona(e)
......
......@@ -60,7 +60,7 @@ function c81810441.eqlimit(e,c)
return c:IsSetCard(0x9c)
end
function c81810441.efilter(e,re)
return e:GetHandlerPlayer()~=re:GetHandlerPlayer()
return e:GetHandlerPlayer()~=re:GetOwnerPlayer()
end
function c81810441.cfilter(c)
return c:IsFaceup() and not c:IsSetCard(0x9c)
......
......@@ -56,5 +56,9 @@ function c85080444.indop(e,tp,eg,ep,ev,re,r,rp)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetValue(c85080444.tgvalue)
Duel.RegisterEffect(e2,tp)
end
function c85080444.tgvalue(e,re,rp)
return rp~=e:GetHandlerPlayer()
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