Commit 957d4a5f authored by salix5's avatar salix5

EVENT_LEVEL_UP

parent 0bde25d6
...@@ -1040,6 +1040,10 @@ int32 card::add_effect(effect* peffect) { ...@@ -1040,6 +1040,10 @@ int32 card::add_effect(effect* peffect) {
pduel->write_buffer8(CHINT_DESC_ADD); pduel->write_buffer8(CHINT_DESC_ADD);
pduel->write_buffer32(peffect->description); pduel->write_buffer32(peffect->description);
} }
if(peffect->type & EFFECT_TYPE_SINGLE && peffect->code == EFFECT_UPDATE_LEVEL && !(peffect->flag & EFFECT_FLAG_SINGLE_RANGE) && peffect->value > 0) {
pduel->game_field->raise_single_event(this, 0, EVENT_LEVEL_UP, peffect, 0, 0, 0, 0);
pduel->game_field->process_single_event();
}
return peffect->id; return peffect->id;
} }
void card::remove_effect(effect* peffect) { void card::remove_effect(effect* peffect) {
......
...@@ -36,11 +36,11 @@ function c29088922.value(e,c) ...@@ -36,11 +36,11 @@ function c29088922.value(e,c)
return c:GetLevel()*300 return c:GetLevel()*300
end end
function c29088922.lvcon(e,tp,eg,ep,ev,re,r,rp) function c29088922.lvcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and e:GetHandler():GetLevel()<12 return Duel.GetTurnPlayer()==tp and e:GetHandler():IsLevelAbove(1) and e:GetHandler():IsLevelBelow(11)
end end
function c29088922.lvop(e,tp,eg,ep,ev,re,r,rp) function c29088922.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsFacedown() or not c:IsRelateToEffect(e) then return end if c:IsFacedown() or not c:IsRelateToEffect(e) or c:IsLevelAbove(12) then return end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL) e1:SetCode(EFFECT_UPDATE_LEVEL)
......
...@@ -37,11 +37,11 @@ function c34471458.value(e,c) ...@@ -37,11 +37,11 @@ function c34471458.value(e,c)
return c:GetLevel()*200 return c:GetLevel()*200
end end
function c34471458.lvcon(e,tp,eg,ep,ev,re,r,rp) function c34471458.lvcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and e:GetHandler():GetLevel()<12 return Duel.GetTurnPlayer()==tp and e:GetHandler():IsLevelAbove(1) and e:GetHandler():IsLevelBelow(11)
end end
function c34471458.lvop(e,tp,eg,ep,ev,re,r,rp) function c34471458.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsFacedown() or not c:IsRelateToEffect(e) then return end if c:IsFacedown() or not c:IsRelateToEffect(e) or c:IsLevelAbove(12) then return end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL) e1:SetCode(EFFECT_UPDATE_LEVEL)
......
...@@ -38,11 +38,11 @@ function c55586621.value(e,c) ...@@ -38,11 +38,11 @@ function c55586621.value(e,c)
return c:GetLevel()*400 return c:GetLevel()*400
end end
function c55586621.lvcon(e,tp,eg,ep,ev,re,r,rp) function c55586621.lvcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and e:GetHandler():GetLevel()<12 return Duel.GetTurnPlayer()==tp and e:GetHandler():IsLevelAbove(1) and e:GetHandler():IsLevelBelow(11)
end end
function c55586621.lvop(e,tp,eg,ep,ev,re,r,rp) function c55586621.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsFacedown() or not c:IsRelateToEffect(e) then return end if c:IsFacedown() or not c:IsRelateToEffect(e) or c:IsLevelAbove(12) then return end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL) e1:SetCode(EFFECT_UPDATE_LEVEL)
......
...@@ -37,11 +37,11 @@ function c71870152.value(e,c) ...@@ -37,11 +37,11 @@ function c71870152.value(e,c)
return c:GetLevel()*200 return c:GetLevel()*200
end end
function c71870152.lvcon(e,tp,eg,ep,ev,re,r,rp) function c71870152.lvcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and e:GetHandler():GetLevel()<12 return Duel.GetTurnPlayer()==tp and e:GetHandler():IsLevelAbove(1) and e:GetHandler():IsLevelBelow(11)
end end
function c71870152.lvop(e,tp,eg,ep,ev,re,r,rp) function c71870152.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsFacedown() or not c:IsRelateToEffect(e) then return end if c:IsFacedown() or not c:IsRelateToEffect(e) or c:IsLevelAbove(12) then return end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL) e1:SetCode(EFFECT_UPDATE_LEVEL)
......
...@@ -35,11 +35,11 @@ function c82693917.value(e,c) ...@@ -35,11 +35,11 @@ function c82693917.value(e,c)
return c:GetLevel()*300 return c:GetLevel()*300
end end
function c82693917.lvcon(e,tp,eg,ep,ev,re,r,rp) function c82693917.lvcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and e:GetHandler():GetLevel()<12 return Duel.GetTurnPlayer()==tp and e:GetHandler():IsLevelAbove(1) and e:GetHandler():IsLevelBelow(11)
end end
function c82693917.lvop(e,tp,eg,ep,ev,re,r,rp) function c82693917.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsFacedown() or not c:IsRelateToEffect(e) then return end if c:IsFacedown() or not c:IsRelateToEffect(e) or c:IsLevelAbove(12) then return end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL) e1:SetCode(EFFECT_UPDATE_LEVEL)
......
...@@ -36,18 +36,17 @@ function c82971335.value(e,c) ...@@ -36,18 +36,17 @@ function c82971335.value(e,c)
return c:GetLevel()*400 return c:GetLevel()*400
end end
function c82971335.lvcon(e,tp,eg,ep,ev,re,r,rp) function c82971335.lvcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()==tp and e:GetHandler():GetLevel()<12 return Duel.GetTurnPlayer()==tp and e:GetHandler():IsLevelAbove(1) and e:GetHandler():IsLevelBelow(11)
end end
function c82971335.lvop(e,tp,eg,ep,ev,re,r,rp) function c82971335.lvop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler() local c=e:GetHandler()
if c:IsFacedown() or not c:IsRelateToEffect(e) then return end if c:IsFacedown() or not c:IsRelateToEffect(e) or c:IsLevelAbove(12) then return end
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UPDATE_LEVEL) e1:SetCode(EFFECT_UPDATE_LEVEL)
e1:SetValue(1) e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1ff0000) e1:SetReset(RESET_EVENT+0x1ff0000)
c:RegisterEffect(e1) c:RegisterEffect(e1)
Duel.RaiseSingleEvent(c,EVENT_LEVEL_UP,e,0,0,0,0,0)
end end
function c82971335.damtg(e,tp,eg,ep,ev,re,r,rp,chk) function c82971335.damtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
......
...@@ -27,5 +27,4 @@ function c94068856.activate(e,tp,eg,ep,ev,re,r,rp) ...@@ -27,5 +27,4 @@ function c94068856.activate(e,tp,eg,ep,ev,re,r,rp)
e1:SetValue(3) e1:SetValue(3)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END) e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1) tc:RegisterEffect(e1)
Duel.RaiseSingleEvent(tc,EVENT_LEVEL_UP,e,0,0,0,0,0)
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