Index: script/c0.lua ================================================================== --- script/c0.lua +++ script/c0.lua @@ -3,102 +3,117 @@ fun = {} str["Debug.ReloadFieldBegin"] = Debug.ReloadFieldBegin Debug.ReloadFieldBegin = function(str_1, str_2) --{ + str["不洗牌"] = str_1 & DUEL_PSEUDO_SHUFFLE str["无BP"] = str_1 & DUEL_ATTACK_FIRST_TURN if str_2 then --{ - if str_2 == 3 then --{ - str["规则"] = "大师3 " - - --} - - elseif str_2 == 4 then --{ - str["规则"] = "新大师 " - - --} - - elseif str_2 == 5 then --{ - str["规则"] = "大师2020 " - - --} - - end --} - - else --{ - str["规则"] = "大师2020 " - - end --} - - str["Debug.ReloadFieldBegin"](str_1, str_2) - - end --} - -fun["通关邀请"] = function() --{ + + if str_2 == 3 then --{ + + str["规则"] = "大师3 " + + --} + + elseif str_2 == 4 then --{ + + str["规则"] = "新大师 " + + --} + + elseif str_2 == 5 then --{ + + str["规则"] = "大师2020 " + + --} + + end --} + + else --{ + + str["规则"] = "大师2020 " + + end --} + + str["Debug.ReloadFieldBegin"](str_1, str_2) + + end --} + +fun["通关邀请"] = function() --{ + effect_1 = Effect.GlobalEffect() effect_1:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS) effect_1:SetCode(EVENT_DAMAGE) function cache_1() --{ + cache_1 = Duel.GetLP(1) if cache_1 <= 0 then --{ + if cache_1 < 0 then --{ + Debug.ShowHint("QB:「你居然二解了,请加群告诉我怎么二解。」") end --} - + cache_1 = true --} - + else --{ + cache_1 = false end --} - + return cache_1 end --} effect_1:SetCondition(cache_1) function cache_1() --{ + Debug.ShowHint("残局群181175613") end --} - + effect_1:SetOperation(cache_1) Duel.RegisterEffect(effect_1 , 0) end --} - + fun["是否效果卡"] = function(card) --{ + cache_1 = Card.IsType(card, TYPE_SPELL) cache_2 = Card.IsType(card, TYPE_TRAP) cache_3 = Card.IsType(card, TYPE_EFFECT) if cache_1 or cache_2 or cache_3 then --{ + return true end --} - + cache_1 = Card.IsType(card, TYPE_PENDULUM) if cache_1 then --{ + cache_1 = Card.IsCode(card, 28363749) cache_2 = Card.IsCode(card, 19474136) cache_3 = Card.IsCode(card, 17390179) @@ -107,34 +122,39 @@ if cache_1 or cache_2 or cache_3 or cache_4 then --{ + --} - + else --{ + return true end --} - + end --} - + return false end --} fun["开局说明"] = function() --{ + if str["开局说明吗"] == 1 then --{ + return --} - + else --{ + str["开局说明吗"] = 1 end --} - + cache_1 = 0 cache_1 = cache_1 + LOCATION_DECK cache_1 = cache_1 + LOCATION_HAND cache_1 = cache_1 + LOCATION_MZONE cache_1 = cache_1 + LOCATION_SZONE @@ -145,63 +165,72 @@ str["这个残局的效果卡数量"] = Duel.GetMatchingGroupCount(fun["是否效果卡"],0,cache_1,cache_1,nil) cache_1 = Duel.GetOverlayGroup(0, LOCATION_MZONE, LOCATION_MZONE) for k in aux.Next(cache_1) do --{ + cache_1 = fun["是否效果卡"](k) if cache_1 then --{ + str["这个残局的效果卡数量"] = str["这个残局的效果卡数量"] + 1 end --} - + end --} - + str["开局说明"] ="" str["开局说明"] = str["开局说明"] .. str["这个残局的效果卡数量"] str["开局说明"] = str["开局说明"] .. "卡 " str["开局说明"] = str["开局说明"] .. str["规则"] if str["不洗牌"] == 0 then --{ + --} - + else --{ + str["开局说明"] = str["开局说明"] .. "伪洗牌 " end --} - + if str["无BP"] == 0 then --{ + str["开局说明"] = str["开局说明"] .. "无BP " end --} - + if str["开局添加手卡"] then --{ + str["开局说明"] = str["开局说明"] .. "选" str["开局说明"] = str["开局说明"] .. str["开局添加手卡"] str["开局说明"] = str["开局说明"] .. "卡 " end --} - + if str["禁格"] then --{ + str["开局说明"] = str["开局说明"] .. "禁" str["开局说明"] = str["开局说明"] .. str["禁格"] str["开局说明"] = str["开局说明"] .. "格 " end --} - + if str["印卡"] then --{ + str["开局说明"] = str["开局说明"] .. "印卡 " end --} - + Debug.ShowHint(str["开局说明"]) fun["通关邀请"]() end --} - + fun["开局添加手卡"] = function(str_1) --{ + str["开局添加手卡"] = str_1 effect_1 = Effect.GlobalEffect() effect_1:SetType(EFFECT_TYPE_FIELD @@ -210,28 +239,32 @@ effect_1:SetCode(EVENT_ADJUST) effect_1:SetCountLimit(1) function cache_1() --{ + if str["已添加手卡"] == 1 then --{ + return false --} - + else --{ + str["已添加手卡"] = 1 return true end --} - + end--} - + effect_1:SetCondition(cache_1) function cache_1(effect_event , player_who_activate_the_effect) --{ + str["玩家选定的卡"] = Duel.SelectMatchingCard(player_who_activate_the_effect , Card.IsAbleToHand , player_who_activate_the_effect , LOCATION_DECK , 0 @@ -242,21 +275,22 @@ Duel.SendtoHand(str["玩家选定的卡"] , nil , REASON_RULE) end --} - + effect_1:SetOperation(cache_1) Duel.RegisterEffect(effect_1 , 0) fun["开局说明"]() end --} - + fun["禁格"] = function(str_1) --{ + str["禁格"] = str_1 effect_1 = Effect.GlobalEffect() effect_1:SetType(EFFECT_TYPE_FIELD) @@ -266,22 +300,25 @@ effect_1:SetValue(str_1) Duel.RegisterEffect(effect_1,0) end --} - + fun["印卡"] = function(str_1, str_2, str_3) --{ + str["印卡"] = 1 if str_3 then --{ + --} - + else --{ + str_3 = str_2 end --} - + str["当前印卡数"] = 1 effect_1 = Effect.CreateEffect(str_1) effect_1:SetType(EFFECT_TYPE_IGNITION) @@ -290,60 +327,67 @@ + EFFECT_FLAG_UNCOPYABLE + EFFECT_FLAG_CANNOT_NEGATE + EFFECT_FLAG_CANNOT_DISABLE) cache_1 = function() --{ + Duel.SetChainLimit(aux.FALSE) return true end --} - + effect_1:SetTarget(cache_1) effect_1:SetRange(LOCATION_EXTRA) function print_hand(effect_event , player_who_activate_the_effect) --{ + announce_card = Duel.AnnounceCard(player_who_activate_the_effect) card = Duel.CreateToken(player_who_activate_the_effect , announce_card) if str["当前印卡数"] <= str_2 then --{ + str["当前印卡数"] = str["当前印卡数"] + 1 Duel.SendtoHand(card,nil,REASON_RULE) --} - + else --{ + if str["当前印卡数"] <= str_3 then --{ + str["当前印卡数"] = str["当前印卡数"] + 1 Duel.Remove(card,POS_FACEUP,REASON_RULE) Duel.SendtoDeck(card,player_who_activate_the_effect,0,REASON_RULE) --} - + else --{ + Debug.ShowHint("印卡过多!") end --} - + end --} - + end --} - + effect_1:SetOperation(print_hand) str_1:RegisterEffect(effect_1) end --} - + fun["全部回到卡组"] = function() --{ + Debug.ShowHint("胜利条件:让对方的卡回到卡组。") effect_1 = Effect.GlobalEffect() effect_1:SetType(EFFECT_TYPE_FIELD @@ -350,10 +394,11 @@ + EFFECT_TYPE_CONTINUOUS) effect_1:SetCode(EVENT_ADJUST) cache_1 = function() --{ + cache_1 = 0 cache_1 = cache_1 + LOCATION_HAND cache_1 = cache_1 + LOCATION_MZONE cache_1 = cache_1 + LOCATION_SZONE cache_1 = cache_1 + LOCATION_GRAVE @@ -360,32 +405,34 @@ cache_1 = cache_1 + LOCATION_REMOVED cache_1 = Duel.GetFieldGroupCount(1,cache_1,0) if cache_1 == 0 then --{ + return true --} - + else --{ + return false end --} - + end --} - + effect_1:SetCondition(cache_1) cache_1 = function() --{ + Debug.ShowHint("目标已达成!") Duel.SetLP(1,0) end --} - + effect_1:SetOperation(cache_1) Duel.RegisterEffect(effect_1,0) end --} - - +