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

fix

parent 484d9807
......@@ -492,6 +492,7 @@ void Game::MainLoop() {
irr::core::matrix4 mProjection;
BuildProjectionMatrix(mProjection, -0.81f, 0.44f, -0.42f, 0.42f, 1.0f, 100.0f);
camera->setProjectionMatrix(mProjection);
mProjection.buildCameraLookAtMatrixLH(vector3df(3.95f, 8.0f, 7.8f), vector3df(3.95f, 0, 0), vector3df(0, 0, 1));
camera->setViewMatrixAffector(mProjection);
smgr->setAmbientLight(SColorf(1.0f, 1.0f, 1.0f));
......
......@@ -16,18 +16,19 @@ function c11501629.initial_effect(c)
e2:SetOperation(c11501629.ctop)
c:RegisterEffect(e2)
--damage
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(11501629,0))
e2:SetCategory(CATEGORY_DAMAGE)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetRange(LOCATION_SZONE)
e2:SetCode(EVENT_FREE_CHAIN)
e2:SetCondition(c11501629.damcon)
e2:SetCost(c11501629.damcost)
e2:SetTarget(c11501629.damtg)
e2:SetOperation(c11501629.damop)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(11501629,0))
e3:SetCategory(CATEGORY_DAMAGE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetRange(LOCATION_SZONE)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetHintTiming(TIMING_STANDBY_PHASE)
e3:SetCondition(c11501629.damcon)
e3:SetCost(c11501629.damcost)
e3:SetTarget(c11501629.damtg)
e3:SetOperation(c11501629.damop)
c:RegisterEffect(e3)
end
function c11501629.ctfilter(c)
return c:IsFaceup() and c:IsLocation(LOCATION_MZONE) and c:IsAttribute(ATTRIBUTE_FIRE) and c:IsReason(REASON_EFFECT)
......
......@@ -28,30 +28,19 @@ function c12958919.initial_effect(c)
c:RegisterEffect(e2)
if not c12958919.global_check then
c12958919.global_check=true
c12958919[0]=true
c12958919[1]=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_ATTACK_ANNOUNCE)
ge1:SetOperation(c12958919.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=Effect.CreateEffect(c)
ge2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge2:SetCode(EVENT_PHASE_START+PHASE_DRAW)
ge2:SetOperation(c12958919.clear)
Duel.RegisterEffect(ge2,0)
end
end
function c12958919.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
if tc:IsSetCard(0x49) then
c12958919[tc:GetControler()]=false
Duel.RegisterFlagEffect(tc:GetControler(),12958919,RESET_PHASE+PHASE_END,0,1)
end
end
function c12958919.clear(e,tp,eg,ep,ev,re,r,rp)
c12958919[0]=true
c12958919[1]=true
end
function c12958919.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsPlayerCanSpecialSummonMonster(tp,12958920,0x49,0x4011,500,500,4,RACE_FIEND,ATTRIBUTE_DARK) end
......@@ -77,7 +66,7 @@ function c12958919.damcon(e,tp,eg,ep,ev,re,r,rp)
return tp==Duel.GetTurnPlayer()
end
function c12958919.damcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return c12958919[tp] end
if chk==0 then return Duel.GetFlagEffect(tp,12958920)==0 end
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD)
e1:SetCode(EFFECT_CANNOT_ATTACK_ANNOUNCE)
......
......@@ -13,35 +13,31 @@ function c3972721.initial_effect(c)
c:RegisterEffect(e1)
if not c3972721.global_check then
c3972721.global_check=true
c3972721[0]=false
c3972721[1]=false
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_DESTROYED)
ge1:SetOperation(c3972721.checkop)
Duel.RegisterEffect(ge1,0)
local ge2=Effect.CreateEffect(c)
ge2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge2:SetCode(EVENT_PHASE_START+PHASE_DRAW)
ge2:SetOperation(c3972721.clear)
Duel.RegisterEffect(ge2,0)
end
end
function c3972721.checkop(e,tp,eg,ep,ev,re,r,rp)
local tc=eg:GetFirst()
if tc:IsType(TYPE_SYNCHRO) and tc:IsPreviousLocation(LOCATION_MZONE)
and ((tc:IsReason(REASON_BATTLE) and bit.band(tc:GetBattlePosition(),POS_FACEUP)~=0)
or (not tc:IsReason(REASON_BATTLE) and tc:IsPreviousPosition(POS_FACEUP)))
and tc:GetPreviousControler()~=tc:GetReasonPlayer() then
c3972721[tc:GetReasonPlayer()]=true
local p1=false
local p2=false
while tc do
if tc:IsType(TYPE_SYNCHRO) and tc:IsPreviousLocation(LOCATION_MZONE)
and ((tc:IsReason(REASON_BATTLE) and bit.band(tc:GetBattlePosition(),POS_FACEUP)~=0)
or (not tc:IsReason(REASON_BATTLE) and tc:IsPreviousPosition(POS_FACEUP)))
and tc:GetPreviousControler()~=tc:GetReasonPlayer() then
if tc:GetReasonPlayer()==0 then p1=true else p2=true end
end
tc=eg:GetNext()
end
end
function c3972721.clear(e,tp,eg,ep,ev,re,r,rp)
c3972721[0]=false
c3972721[1]=false
if p1 then Duel.RegisterFlagEffect(0,3972721,RESET_PHASE+PHASE_END,0,1) end
if p2 then Duel.RegisterFlagEffect(1,3972721,RESET_PHASE+PHASE_END,0,1) end
end
function c3972721.condition(e,tp,eg,ep,ev,re,r,rp)
return c3972721[tp]
return Duel.GetFlagEffect(tp,3972721)~=0
end
function c3972721.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) 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