- 修复ak和咆哮失效
- 修复服务端调viewAs的时候缺个Self
- 修复不能显示数字型标记
- 新函数player:gainAnExtraTurn,可用来进行额外回合
This commit is contained in:
notify 2023-03-13 20:51:12 +08:00 committed by GitHub
parent 63ae487230
commit 694deecdf1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 22 additions and 3 deletions

View File

@ -150,6 +150,7 @@ Fk:loadTranslationTable{
-- phase -- phase
["#PhaseSkipped"] = "%from 跳过了 %arg", ["#PhaseSkipped"] = "%from 跳过了 %arg",
["#GainAnExtraTurn"] = "%from 开始进行一个额外的回合",
-- useCard -- useCard
["#UseCard"] = "%from 使用了牌 %card", ["#UseCard"] = "%from 使用了牌 %card",

View File

@ -1,5 +1,6 @@
---@class Skill : Object ---@class Skill : Object
---@field name string ---@field name string
---@field trueName string
---@field package Package ---@field package Package
---@field frequency Frequency ---@field frequency Frequency
---@field visible boolean ---@field visible boolean
@ -30,6 +31,9 @@ function Skill:initialize(name, frequency)
self.anim_type = "" self.anim_type = ""
self.related_skills = {} self.related_skills = {}
local name_splited = name:split("__")
self.trueName = name_splited[#name_splited]
if string.sub(name, 1, 1) == "#" then if string.sub(name, 1, 1) == "#" then
self.visible = false self.visible = false
end end

View File

@ -994,6 +994,7 @@ function Room:handleUseCardReply(player, data)
end) end)
return nil return nil
elseif skill:isInstanceOf(ViewAsSkill) then elseif skill:isInstanceOf(ViewAsSkill) then
Self = player
local c = skill:viewAs(selected_cards) local c = skill:viewAs(selected_cards)
if c then if c then
self:useSkill(player, skill) self:useSkill(player, skill)

View File

@ -433,6 +433,19 @@ function ServerPlayer:skip(phase)
end end
end end
function ServerPlayer:gainAnExtraTurn()
local room = self.room
room:sendLog{
type = "#GainAnExtraTurn",
from = self.id
}
local current = room.current
room.current = self
GameEvent(GameEvent.Turn):exec()
room.current = current
end
function ServerPlayer:drawCards(num, skillName, fromPlace) function ServerPlayer:drawCards(num, skillName, fromPlace)
return self.room:drawCards(self, num, skillName, fromPlace) return self.room:drawCards(self, num, skillName, fromPlace)
end end

View File

@ -3,7 +3,7 @@ local extension = Package:new("maneuvering", Package.CardPack)
local slash = Fk:cloneCard("slash") local slash = Fk:cloneCard("slash")
local thunderSlashSkill = fk.CreateActiveSkill{ local thunderSlashSkill = fk.CreateActiveSkill{
name = "thunder_slash_skill", name = "thunder__slash_skill",
max_phase_use_time = 1, max_phase_use_time = 1,
target_num = 1, target_num = 1,
can_use = slash.skill.canUse, can_use = slash.skill.canUse,
@ -40,7 +40,7 @@ extension:addCards{
} }
local fireSlashSkill = fk.CreateActiveSkill{ local fireSlashSkill = fk.CreateActiveSkill{
name = "fire_slash_skill", name = "fire__slash_skill",
max_phase_use_time = 1, max_phase_use_time = 1,
target_num = 1, target_num = 1,
can_use = slash.skill.canUse, can_use = slash.skill.canUse,

View File

@ -843,7 +843,7 @@ callbacks["SetPlayerMark"] = function(jsonData) {
let data = JSON.parse(jsonData); let data = JSON.parse(jsonData);
let player = getPhotoOrSelf(data[0]); let player = getPhotoOrSelf(data[0]);
let mark = data[1]; let mark = data[1];
let value = data[2]; let value = data[2].toString();
if (value == 0) { if (value == 0) {
player.markArea.removeMark(mark); player.markArea.removeMark(mark);
} else { } else {