Commit fc752b9c authored by nanahira's avatar nanahira

update

parent 137a540e
--奇迹糕点 誓言皇后 --奇迹糕点 誓言皇后
function c12000052.initial_effect(c) function c12000052.initial_effect(c)
c:EnableReviveLimit()
local e1=Effect.CreateEffect(c) local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON) e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION) e1:SetType(EFFECT_TYPE_IGNITION)
......
...@@ -17,6 +17,7 @@ function c17060903.initial_effect(c) ...@@ -17,6 +17,7 @@ function c17060903.initial_effect(c)
e2:SetType(EFFECT_TYPE_QUICK_O) e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetCode(EVENT_FREE_CHAIN) e2:SetCode(EVENT_FREE_CHAIN)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCondition(aux.exccon)
e2:SetHintTiming(0,0x1c0) e2:SetHintTiming(0,0x1c0)
e2:SetCost(aux.bfgcost) e2:SetCost(aux.bfgcost)
e2:SetOperation(c17060903.downop) e2:SetOperation(c17060903.downop)
......
...@@ -9,6 +9,7 @@ function c17060905.initial_effect(c) ...@@ -9,6 +9,7 @@ function c17060905.initial_effect(c)
e1:SetRange(LOCATION_PZONE) e1:SetRange(LOCATION_PZONE)
e1:SetCountLimit(1,17060905) e1:SetCountLimit(1,17060905)
e1:SetCondition(c17060905.effcon) e1:SetCondition(c17060905.effcon)
e1:SetTarget(c17060905.efftg)
e1:SetOperation(c17060905.effop) e1:SetOperation(c17060905.effop)
c:RegisterEffect(e1) c:RegisterEffect(e1)
--destroy --destroy
...@@ -38,27 +39,34 @@ end ...@@ -38,27 +39,34 @@ end
function c17060905.effcon(e,tp,eg,ep,ev,re,r,rp) function c17060905.effcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_PZONE,0,1,e:GetHandler()) return Duel.IsExistingMatchingCard(Card.IsFaceup,tp,LOCATION_PZONE,0,1,e:GetHandler())
end end
function c17060905.efftg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsDestructable() end
Duel.SetOperationInfo(0,CATEGORY_DESTROY,e:GetHandler(),1,0,0)
end
function c17060905.effop(e,tp,eg,ep,ev,re,r,rp) function c17060905.effop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstMatchingCard(nil,tp,LOCATION_PZONE,0,e:GetHandler()) if not e:GetHandler():IsRelateToEffect(e) then return end
local e1=Effect.CreateEffect(e:GetHandler()) if Duel.Destroy(e:GetHandler(),REASON_EFFECT)~=0 then
e1:SetType(EFFECT_TYPE_SINGLE) local tc=Duel.GetFirstMatchingCard(nil,tp,LOCATION_PZONE,0,e:GetHandler())
e1:SetCode(EFFECT_UPDATE_LSCALE) local e1=Effect.CreateEffect(e:GetHandler())
e1:SetValue(4) e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetReset(RESET_EVENT+0x1fe0000) e1:SetCode(EFFECT_UPDATE_LSCALE)
tc:RegisterEffect(e1) e1:SetValue(4)
local e2=e1:Clone() e1:SetReset(RESET_EVENT+0x1fe0000)
e2:SetCode(EFFECT_UPDATE_RSCALE) tc:RegisterEffect(e1)
tc:RegisterEffect(e2) local e2=e1:Clone()
local e3=Effect.CreateEffect(tc) e2:SetCode(EFFECT_UPDATE_RSCALE)
e3:SetDescription(aux.Stringid(17060905,2)) tc:RegisterEffect(e2)
e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CLIENT_HINT) local e3=Effect.CreateEffect(tc)
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS) e3:SetDescription(aux.Stringid(17060905,2))
e3:SetCode(EFFECT_DESTROY_REPLACE) e3:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_CLIENT_HINT)
e3:SetRange(LOCATION_PZONE) e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e3:SetTarget(c17060905.reptg) e3:SetCode(EFFECT_DESTROY_REPLACE)
e3:SetValue(c17060905.repval) e3:SetRange(LOCATION_PZONE)
e3:SetOperation(c17060905.repop) e3:SetTarget(c17060905.reptg)
tc:RegisterEffect(e3) e3:SetValue(c17060905.repval)
e3:SetOperation(c17060905.repop)
tc:RegisterEffect(e3)
end
end end
function c17060905.repfilter(c,tp) function c17060905.repfilter(c,tp)
return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsLocation(LOCATION_MZONE+LOCATION_PZONE) return c:IsFaceup() and c:IsType(TYPE_PENDULUM) and c:IsLocation(LOCATION_MZONE+LOCATION_PZONE)
......
...@@ -639,10 +639,7 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) { ...@@ -639,10 +639,7 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) {
case 2: case 2:
case 3: case 3:
case 5: case 5:
//modded case 10: {
case 10:
case 11:
case 12: {
NetServer::SendBufferToPlayer(cur_player[player], STOC_GAME_MSG, offset, pbuf - offset); NetServer::SendBufferToPlayer(cur_player[player], STOC_GAME_MSG, offset, pbuf - offset);
break; break;
} }
...@@ -658,6 +655,18 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) { ...@@ -658,6 +655,18 @@ int TagDuel::Analyze(char* msgbuffer, unsigned int len) {
NetServer::ReSendToPlayer(*oit); NetServer::ReSendToPlayer(*oit);
#ifdef YGOPRO_SERVER_MODE #ifdef YGOPRO_SERVER_MODE
NetServer::ReSendToPlayers(cache_recorder, replay_recorder); NetServer::ReSendToPlayers(cache_recorder, replay_recorder);
#endif
break;
}
//modded
case 11:
case 12: {
for(int i = 0; i < 4; ++i)
NetServer::SendBufferToPlayer(players[i], STOC_GAME_MSG, offset, pbuf - offset);
for(auto oit = observers.begin(); oit != observers.end(); ++oit)
NetServer::ReSendToPlayer(*oit);
#ifdef YGOPRO_SERVER_MODE
NetServer::ReSendToPlayers(cache_recorder, replay_recorder);
#endif #endif
break; break;
} }
......
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