Commit 52d40b8a authored by mercury233's avatar mercury233

update new card

parent 5282b32d
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
101106202 101106202
101106203 101106203
#extra #extra
101106045
101106039 101106039
101106050 101106050
101106041 101106041
......
...@@ -16,6 +16,7 @@ function c101106028.initial_effect(c) ...@@ -16,6 +16,7 @@ function c101106028.initial_effect(c)
e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE) e2:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_GRAVE) e2:SetRange(LOCATION_GRAVE)
e2:SetCondition(c101106028.hspcon) e2:SetCondition(c101106028.hspcon)
e2:SetTarget(c101106028.hsptg)
e2:SetOperation(c101106028.hspop) e2:SetOperation(c101106028.hspop)
c:RegisterEffect(e2) c:RegisterEffect(e2)
--negate --negate
...@@ -48,19 +49,32 @@ end ...@@ -48,19 +49,32 @@ end
function c101106028.hspfilter(c) function c101106028.hspfilter(c)
return c:IsRace(RACE_MACHINE) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost() return c:IsRace(RACE_MACHINE) and c:IsType(TYPE_MONSTER) and c:IsAbleToRemoveAsCost()
end end
function c101106028.hspcheck(g)
Duel.SetSelectedCard(g)
return g:CheckWithSumGreater(Card.GetLevel,12)
end
function c101106028.hspcon(e,c) function c101106028.hspcon(e,c)
if c==nil then return true end if c==nil then return true end
local tp=c:GetControler() local tp=c:GetControler()
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE) local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
if ft<=0 then return false end if ft<=0 then return false end
local g=Duel.GetMatchingGroup(c101106028.hspfilter,tp,LOCATION_GRAVE,0,c) local g=Duel.GetMatchingGroup(c101106028.hspfilter,tp,LOCATION_GRAVE,0,c)
return g:CheckWithSumGreater(Card.GetLevel,12) return g:CheckSubGroup(c101106028.hspcheck,1,#g)
end end
function c101106028.hspop(e,tp,eg,ep,ev,re,r,rp,c) function c101106028.hsptg(e,tp,eg,ep,ev,re,r,rp,chk,c)
local g=Duel.GetMatchingGroup(c101106028.hspfilter,tp,LOCATION_GRAVE,0,c) local g=Duel.GetMatchingGroup(c101106028.hspfilter,tp,LOCATION_GRAVE,0,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE) Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local mg=g:SelectWithSumGreater(tp,Card.GetLevel,12) local sg=g:SelectSubGroup(tp,c101106028.hspcheck,true,1,#g)
Duel.Remove(mg,POS_FACEUP,REASON_COST) if sg then
sg:KeepAlive()
e:SetLabelObject(sg)
return true
else return false end
end
function c101106028.hspop(e,tp,eg,ep,ev,re,r,rp,c)
local sg=e:GetLabelObject()
Duel.Remove(sg,POS_FACEUP,REASON_COST)
sg:DeleteGroup()
end end
function c101106028.negcost(e,tp,eg,ep,ev,re,r,rp,chk) function c101106028.negcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end if chk==0 then return true end
...@@ -84,30 +98,22 @@ function c101106028.spcon(e,tp,eg,ep,ev,re,r,rp) ...@@ -84,30 +98,22 @@ function c101106028.spcon(e,tp,eg,ep,ev,re,r,rp)
return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0 return bit.band(r,REASON_EFFECT+REASON_BATTLE)~=0
end end
function c101106028.spfilter(c,e,tp) function c101106028.spfilter(c,e,tp)
return c:IsSetCard(0x36) and c:IsType(TYPE_MONSTER) and c:IsLevelAbove(1) return c:IsSetCard(0x36) and c:IsLevelAbove(1) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end end
function c101106028.sptg(e,tp,eg,ep,ev,re,r,rp,chk) function c101106028.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0 if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c101106028.spfilter,tp,LOCATION_REMOVED,0,1,nil,e,tp) end and Duel.IsExistingMatchingCard(c101106028.spfilter,tp,LOCATION_REMOVED,0,1,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_REMOVED) Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_REMOVED)
end end
function c101106028.spcheck(g)
return g:GetSum(Card.GetLevel)<=12
end
function c101106028.spop(e,tp,eg,ep,ev,re,r,rp) function c101106028.spop(e,tp,eg,ep,ev,re,r,rp)
local ft=math.min((Duel.GetLocationCount(tp,LOCATION_MZONE)),3) local ft=math.min((Duel.GetLocationCount(tp,LOCATION_MZONE)),3)
local lv=12
local tg=Duel.GetMatchingGroup(c101106028.spfilter,tp,LOCATION_REMOVED,0,nil,e,tp) local tg=Duel.GetMatchingGroup(c101106028.spfilter,tp,LOCATION_REMOVED,0,nil,e,tp)
if ft<=0 then return end if ft<=0 or #tg==0 then return end
if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end if Duel.IsPlayerAffectedByEffect(tp,59822133) then ft=1 end
local g=Group.CreateGroup() Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
while tg:GetCount()>0 and ft>0 and lv>0 do local g=tg:SelectSubGroup(tp,c101106028.spcheck,false,1,ft)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=tg:Select(tp,1,1,nil)
local tc=sg:GetFirst()
g:Merge(sg)
ft=ft-1
lv=lv-tc:GetLevel()
tg:Remove(Card.IsLevelAbove,nil,lv+1)
tg:RemoveCard(tc)
end
Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP) Duel.SpecialSummon(g,0,tp,tp,false,false,POS_FACEUP)
end end
--絶火の魔神ゾロア
--scripted by XyLeN
function c101106045.initial_effect(c)
--synchro summon
aux.AddSynchroProcedure(c,aux.FilterBoolFunction(Card.IsRace,RACE_SPELLCASTER),aux.NonTuner(nil),1)
c:EnableReviveLimit()
--equip
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(101106045,0))
e1:SetCategory(CATEGORY_EQUIP)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e1:SetCode(EVENT_SPSUMMON_SUCCESS)
e1:SetCondition(c101106045.eqcon)
e1:SetTarget(c101106045.eqtg)
e1:SetOperation(c101106045.eqop)
c:RegisterEffect(e1)
--actlimit
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_ACTIVATE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetRange(LOCATION_MZONE)
e2:SetTargetRange(0,1)
e2:SetValue(c101106045.actlimit)
c:RegisterEffect(e2)
--spsummon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(101106045,1))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_IGNITION)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_GRAVE)
e3:SetCountLimit(1,101106045)
e3:SetTarget(c101106045.sptg)
e3:SetOperation(c101106045.spop)
c:RegisterEffect(e3)
end
function c101106045.eqcon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsSummonType(SUMMON_TYPE_SYNCHRO)
end
function c101106045.eqfilter(c,ec)
return c:IsSetCard(0x150) and not c:IsForbidden()
end
function c101106045.eqtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_SZONE)>0
and Duel.IsExistingMatchingCard(c101106045.eqfilter,tp,LOCATION_EXTRA,0,1,nil,e:GetHandler()) end
Duel.SetOperationInfo(0,CATEGORY_EQUIP,nil,1,tp,LOCATION_EXTRA)
end
function c101106045.eqop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_SZONE)>0 and c:IsFaceup() and c:IsRelateToEffect(e) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_EQUIP)
local g=Duel.SelectMatchingCard(tp,c101106045.eqfilter,tp,LOCATION_EXTRA,0,1,1,nil,c)
if g:GetCount()>0 then
Duel.Equip(tp,g:GetFirst(),c)
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT+EFFECT_FLAG_OWNER_RELATE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
e1:SetValue(c101106045.eqlimit)
e1:SetLabelObject(c)
g:GetFirst():RegisterEffect(e1)
end
end
end
function c101106045.eqlimit(e,c)
return c==e:GetLabelObject()
end
function c101106045.cfilter(c,rtype)
return c:IsFaceup() and c:IsSetCard(0x150) and c:GetOriginalType()&rtype>0
end
function c101106045.actlimit(e,re,rp)
local tp=e:GetHandlerPlayer()
local rtype=bit.band(re:GetHandler():GetType(),TYPE_FUSION|TYPE_SYNCHRO|TYPE_XYZ|TYPE_LINK)
return re:IsActiveType(TYPE_MONSTER) and Duel.IsExistingMatchingCard(c101106045.cfilter,tp,LOCATION_SZONE,0,1,nil,rtype)
end
function c101106045.desfilter(c,tp)
return c:IsFaceup() and c:IsSetCard(0x150) and Duel.GetMZoneCount(tp,c)>0
end
function c101106045.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
local c=e:GetHandler()
if chkc then return chkc:IsOnField() and chkc:IsControler(tp) and c101106045.desfilter(chkc,tp) end
if chk==0 then return Duel.IsExistingTarget(c101106045.desfilter,tp,LOCATION_ONFIELD,0,1,nil,tp)
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g=Duel.SelectTarget(tp,c101106045.desfilter,tp,LOCATION_ONFIELD,0,1,1,nil,tp)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c101106045.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and Duel.Destroy(tc,REASON_EFFECT)~=0 then
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)
end
end
end
...@@ -37,9 +37,9 @@ A.下载补丁之后,里面有cdb、picture、script和deck文件夹,把这4 ...@@ -37,9 +37,9 @@ A.下载补丁之后,里面有cdb、picture、script和deck文件夹,把这4
也可以解压后移动到YGOPro2的文件夹。 也可以解压后移动到YGOPro2的文件夹。
Q.我是YGOMobile用户,请详细教我怎么安装。 Q.我是YGOMobile用户,请详细教我怎么安装。
A.下载补丁之后,里面有expansions和deck文件夹,把这2个文件夹全部解压到YGOMobile文件夹。 A.下载补丁之后,解压到任意位置并打开 expansions 里的 ygo233.com-pre-release.ypk 文件自动安装。
也可以解压后打开 ygo233.com-pre-release.ypk 文件自动安装。
安装完成后,请打开YGOMobile,点击左下角菜单,点击设置,选中使用额外卡库,并重启YGOMobile。 安装完成后,请打开YGOMobile,点击左下角菜单,点击设置,选中使用额外卡库,并重启YGOMobile。
如需获得新卡列表,请打开 deck 里的卡组文件。
Q.怎么更新先行卡补丁? Q.怎么更新先行卡补丁?
A.重新安装补丁,安装时选择替换原有文件即可。 A.重新安装补丁,安装时选择替换原有文件即可。
...@@ -62,10 +62,6 @@ A.本补丁附带新卡列表的卡组。 ...@@ -62,10 +62,6 @@ A.本补丁附带新卡列表的卡组。
请确保你把文件解压到了游戏文件夹里,而不是新建了一个文件夹。 请确保你把文件解压到了游戏文件夹里,而不是新建了一个文件夹。
可能需要重启游戏才能重新载入数据库。 可能需要重启游戏才能重新载入数据库。
Q.手机上一解压就出新文件夹怎么办?
A.请使用正常的压缩文件管理器。
或者将解压出的文件移动到正确的地方并替换原有文件。注意部分手机自带的文件管理器不会替换文件,此时请更换正常的文件管理器。
Q.安装先行卡补丁后大部分文字都变成了问号怎么办? Q.安装先行卡补丁后大部分文字都变成了问号怎么办?
A.这是由于安装方法错误导致。 A.这是由于安装方法错误导致。
请注意expansions文件夹就是一个新的文件夹,而不是用其中的文件替换YGOPro原有的文件。 请注意expansions文件夹就是一个新的文件夹,而不是用其中的文件替换YGOPro原有的文件。
...@@ -99,7 +95,7 @@ A.删除expansions文件夹中 ygo233.com-pre-release.ypk,并清空script文 ...@@ -99,7 +95,7 @@ A.删除expansions文件夹中 ygo233.com-pre-release.ypk,并清空script文
数据整理: 数据整理:
[Mercury233](https://mercury233.me/),[Loki](https://twitter.com/Daniel17173),伤心暗星尘,duel球球,天天的希望,[Nanahira](https://nanahira.momobako.com/),银龙幽影,今泉红太狼,罗伽 [Mercury233](https://mercury233.me/),[Loki](https://twitter.com/Daniel17173),伤心暗星尘,duel球球,天天的希望,[Nanahira](https://nanahira.momobako.com/),银龙幽影,今泉红太狼,罗伽,Justfish
资料来源: 资料来源:
......
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