Commit de09dd25 authored by mercury233's avatar mercury233
parents 83c3ff40 0093ef28
......@@ -243,6 +243,13 @@ void field::send_to(card_set* targets, effect* reason_effect, uint32 reason, uin
pcard->current.reason_effect = reason_effect;
pcard->current.reason_player = reason_player;
p = playerid;
/*
* if playerid not given, will send card from Deck to Hand,
* also that card is in Triggering Player's Deck,
* then send it to Triggering Player's Hand, insdead of Owner's Hand.
*/
if(p == PLAYER_NONE && (destination & LOCATION_HAND) && (pcard->current.location & LOCATION_DECK) && pcard->current.controler == reason_player)
p = reason_player;
if(destination & (LOCATION_GRAVE + LOCATION_REMOVED) || p == PLAYER_NONE)
p = pcard->owner;
if(destination != LOCATION_REMOVED)
......
......@@ -9,7 +9,7 @@ function c15582767.initial_effect(c)
c:RegisterEffect(e1)
--destroy
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(15582767,1))
e2:SetDescription(aux.Stringid(15582767,0))
e2:SetCategory(CATEGORY_DESTROY+CATEGORY_DRAW)
e2:SetType(EFFECT_TYPE_QUICK_O)
e2:SetRange(LOCATION_SZONE)
......@@ -30,7 +30,7 @@ function c15582767.target1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return true end
if Duel.GetFlagEffect(tp,15582767)==0 and Duel.IsPlayerCanDraw(tp,1)
and Duel.IsExistingTarget(c15582767.filter,tp,LOCATION_SZONE,0,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(15582767,0)) then
and Duel.SelectYesNo(tp,94) then
e:SetCategory(CATEGORY_DESTROY+CATEGORY_DRAW)
e:SetProperty(EFFECT_FLAG_CARD_TARGET)
Duel.RegisterFlagEffect(tp,15582767,RESET_PHASE+PHASE_END,0,1)
......
......@@ -33,7 +33,7 @@ function c18235309.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
local ph=Duel.GetCurrentPhase()
if (tn~=tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2 or ph==PHASE_BATTLE))
and Duel.IsExistingMatchingCard(c18235309.filter,tp,LOCATION_HAND,0,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(18235309,1)) then
and Duel.SelectYesNo(tp,94) then
e:SetLabel(1)
end
end
......@@ -41,7 +41,7 @@ function c18235309.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
if e:GetLabel()~=1 then return end
e:GetHandler():RegisterFlagEffect(18235309,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(18235309,2))
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,65)
Duel.SetOperationInfo(0,CATEGORY_SUMMON,nil,1,0,0)
end
function c18235309.activate(e,tp,eg,ep,ev,re,r,rp)
......
......@@ -53,22 +53,22 @@ function c20426907.distg1(e,tp,eg,ep,ev,re,r,rp,chk)
if res then
local tc=teg:GetFirst()
if tc:IsLevelBelow(4) and not tc:IsType(TYPE_NORMAL)
and Duel.SelectYesNo(tp,aux.Stringid(20426907,0)) then
and Duel.SelectYesNo(tp,94) then
e:SetLabel(1)
Duel.SetTargetCard(teg)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,teg,1,0,0)
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(20426907,1))
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,65)
end
return
end
res,teg,tep,tev,tre,tr,trp=Duel.CheckEvent(EVENT_SPSUMMON_SUCCESS,true)
if res then
local g=teg:Filter(c20426907.filter,nil)
if g:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(20426907,0)) then
if g:GetCount()>0 and Duel.SelectYesNo(tp,94) then
e:SetLabel(2)
Duel.SetTargetCard(g)
Duel.SetOperationInfo(0,CATEGORY_DISABLE,g,g:GetCount(),0,0)
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(20426907,1))
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,65)
end
end
end
......
......@@ -40,7 +40,7 @@ function c28265983.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local res,teg,tep,tev,tre,tr,trp=Duel.CheckEvent(EVENT_RECOVER,true)
local b1=res and c28265983.descon1(e,tp,teg,tep,tev,tre,tr,trp) and c28265983.destg1(e,tp,teg,tep,tev,tre,tr,trp,0)
local b2=c28265983.descon2(e,tp,eg,ep,ev,re,r,rp) and c28265983.descost2(e,tp,eg,ep,ev,re,r,rp,0) and c28265983.destg2(e,tp,eg,ep,ev,re,r,rp,0)
if (b1 or b2) and Duel.SelectYesNo(tp,aux.Stringid(28265983,0)) then
if (b1 or b2) and Duel.SelectYesNo(tp,94) then
local opt=0
if b1 and b2 then
opt=Duel.SelectOption(tp,aux.Stringid(28265983,1),aux.Stringid(28265983,2))
......
......@@ -62,5 +62,5 @@ function c28325165.activate(e,tp,eg,ep,ev,re,r,rp)
end
end
function c28325165.efilter(e,te)
return te:GetOwnerPlayer()~=e:GetHandlerPlayer()
return te:GetOwnerPlayer()~=e:GetOwnerPlayer()
end
......@@ -35,7 +35,7 @@ function c37209439.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local b1=c37209439.negcon(e,tp,eg,ep,ev,re,r,rp)
local b2=c37209439.damcon(e,tp,eg,ep,ev,re,r,rp) and Duel.GetCurrentPhase()==PHASE_STANDBY
if (b1 or b2) and Duel.SelectYesNo(tp,aux.Stringid(37209439,2)) then
if (b1 or b2) and Duel.SelectYesNo(tp,94) then
local c=e:GetHandler()
local op=0
if b1 and b2 then
......
......@@ -48,7 +48,7 @@ function c3734202.target(e,tp,eg,ep,ev,re,r,rp,chk)
local b2=Duel.CheckReleaseGroup(tp,c3734202.cfilter2,1,nil)
and Duel.IsExistingMatchingCard(c3734202.spfilter2,tp,LOCATION_DECK,0,1,nil,e,tp)
if Duel.GetFlagEffect(tp,3734202)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
and (b1 or b2) and Duel.SelectYesNo(tp,aux.Stringid(3734202,3)) then
and (b1 or b2) and Duel.SelectYesNo(tp,94) then
local opt=0
if b1 and b2 then
opt=Duel.SelectOption(tp,aux.Stringid(3734202,0),aux.Stringid(3734202,1))
......
......@@ -21,7 +21,7 @@ function c43509019.cbtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local bt=Duel.GetAttackTarget()
if Duel.CheckEvent(EVENT_ATTACK_ANNOUNCE) and bt and bt:IsFaceup() and bt:IsLevelBelow(4) and bt:IsType(TYPE_TOON)
and bt:GetControler()==e:GetHandlerPlayer() and Duel.SelectYesNo(tp,aux.Stringid(43509019,1)) then
and bt:GetControler()==e:GetHandlerPlayer() and Duel.SelectYesNo(tp,94) then
e:SetLabel(1)
else e:SetLabel(0) end
end
......
......@@ -28,9 +28,9 @@ function c5026221.target1(e,tp,eg,ep,ev,re,r,rp,chk)
if ((tn==tp and (ph==PHASE_MAIN1 or ph==PHASE_MAIN2)) or (tn~=tp and ph==PHASE_BATTLE))
and Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c5026221.filter,tp,LOCATION_HAND,0,1,nil,e,tp)
and Duel.SelectYesNo(tp,aux.Stringid(5026221,1)) then
and Duel.SelectYesNo(tp,94) then
e:GetHandler():RegisterFlagEffect(5026221,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,aux.Stringid(5026221,2))
e:GetHandler():RegisterFlagEffect(0,RESET_CHAIN,EFFECT_FLAG_CLIENT_HINT,1,0,65)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_HAND)
end
end
......
......@@ -7,7 +7,7 @@ function c68084557.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_DRAW)
e1:SetDescription(aux.Stringid(68084557,0))
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET+EFFECT_FLAG_DAMAGE_STEP)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_EQUIP)
e1:SetCountLimit(1,68084557)
......
......@@ -39,7 +39,7 @@ function c92266279.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local b1=c92266279.thcost(e,tp,eg,ep,ev,re,r,rp,0) and c92266279.thtg(e,tp,eg,ep,ev,re,r,rp,0)
local b2=c92266279.reccon(e,tp,eg,ep,ev,re,r,rp) and c92266279.rectg(e,tp,eg,ep,ev,re,r,rp,0)
if (b1 or b2) and Duel.SelectYesNo(tp,aux.Stringid(92266279,0)) then
if (b1 or b2) and Duel.SelectYesNo(tp,94) then
local opt=0
if b1 and b2 then
opt=Duel.SelectOption(tp,aux.Stringid(92266279,1),aux.Stringid(92266279,2))
......
......@@ -22,8 +22,7 @@ end
function c96015976.target1(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and c96015976.filter(chkc) end
if chk==0 then return true end
if Duel.IsExistingTarget(c96015976.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil)
and Duel.SelectYesNo(tp,aux.Stringid(96015976,1)) then
if Duel.IsExistingTarget(c96015976.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,nil) and Duel.SelectYesNo(tp,94) then
e:SetProperty(EFFECT_FLAG_CARD_TARGET)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_FACEUP)
Duel.SelectTarget(tp,c96015976.filter,tp,LOCATION_MZONE,LOCATION_MZONE,1,1,nil)
......
......@@ -59,7 +59,7 @@ function c9765723.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
and Duel.IsExistingMatchingCard(c9765723.cfilter,tp,LOCATION_HAND,0,1,nil)
and Duel.IsExistingTarget(Card.IsDestructable,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,nil)
local b2=Duel.GetTurnPlayer()==tp and ph==PHASE_STANDBY
if (b1 or b2) and ph~=PHASE_DAMAGE and Duel.SelectYesNo(tp,aux.Stringid(9765723,2)) then
if (b1 or b2) and ph~=PHASE_DAMAGE and Duel.SelectYesNo(tp,94) then
local op=0
if b1 and b2 then op=Duel.SelectOption(tp,aux.Stringid(9765723,0),aux.Stringid(9765723,1))
elseif b1 then op=Duel.SelectOption(tp,aux.Stringid(9765723,0))
......
--Card id
MIN_ID =1000 --4 digit, by DataManager::GetDesc()
MAX_ID =999999999 --9 digit, by Auxiliary.Stringid(), field::select_chain()
--Locations 区域
LOCATION_DECK =0x01 --卡组
LOCATION_HAND =0x02 --手牌
......
#The first line is used for comment
#line doesn't start with '!' is also neglected
#called by DataManager::GetSysString(), DataManager::GetDesc()
#system
!system 1 通常召唤
!system 2 特殊召唤
......@@ -32,6 +33,7 @@
!system 62 表效果适用中
!system 63 里效果适用中
!system 64 二重状态
!system 65 使用效果
!system 70 怪物卡
!system 71 魔法卡
!system 72 陷阱卡
......@@ -41,6 +43,7 @@
!system 91 是否使用额外的召唤机会?
!system 92 是否要解放对方怪兽进行上级召唤?
!system 93 是否要继续选择素材?
!system 94 是否现在使用这张卡的效果?
!system 100 先攻
!system 101 后攻
!system 200 是否在[%ls]发动[%ls]的效果?
......@@ -246,7 +249,7 @@
!system 1233 每回合抽卡:
!system 1234 主机名称:
!system 1235 主机密码:
!system 1236 允许启动效果优先权
!system 1236 旧规则(先攻抽卡、启动效果优先权等)
!system 1237 每回合时间:
!system 1240 OCG
!system 1241 TCG
......
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