Changelog: v0.2.1

This commit is contained in:
notify 2023-06-04 20:00:35 +08:00
parent 5ad2f870d5
commit 8056579476
10 changed files with 122 additions and 20 deletions

View File

@ -2,6 +2,31 @@
___ ___
## v0.2.1
大引流之后的第一次更新。感觉很仓促。
1. 扣上限心碎
2. 进服维护的各种跟后端稳定性有关的代码
3. 断线重连/旁观时候计入技能次数
4. ban人和banip相应的也有解禁
5. 开房设置现在可以滑动
6. 完善网络错误报错
7. 现在开始游戏之前需要等待和所有人准备
8. 指示掉线之人和走小道之人
9. 掉线和走小道的人不再被AI接管
10. 延时锦囊牌素材从拓展包找
11. 拓展包管理界面UI优化下载失败的包可以在管理拓展包中删除
12. 手牌上限显示:体力值为负数和手牌上限为无限时显示优化
13. 观星新增提示,修复观星
14. 手牌上限技中,增加不计入手牌上限技
15. 修复变更武将
16. 修复奸雄和救援
17. 修复选角色的cancelble
18. 增强谋徐盛
___
## v0.2.0 ## v0.2.0
修复了标准版吕布属性杀不触发无双、貂蝉决斗可被无懈。 修复了标准版吕布属性杀不触发无双、貂蝉决斗可被无懈。

View File

@ -2,7 +2,7 @@
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.16)
project(FreeKill VERSION 0.2.0) project(FreeKill VERSION 0.2.1)
add_definitions(-DFK_VERSION=\"${CMAKE_PROJECT_VERSION}\") add_definitions(-DFK_VERSION=\"${CMAKE_PROJECT_VERSION}\")
find_package(Qt6 REQUIRED COMPONENTS find_package(Qt6 REQUIRED COMPONENTS

View File

@ -33,13 +33,14 @@ Item {
flickableDirection: Flickable.VerticalFlick flickableDirection: Flickable.VerticalFlick
width: parent.width - 10 width: parent.width - 10
height: parent.height - 10 height: parent.height - 10
contentWidth: flickableContainer.width contentHeight: bulletin_info.height
contentHeight: flickableContainer.height
clip: true clip: true
Text { Text {
anchors.fill: parent id: bulletin_info
width: parent.width
wrapMode: TextEdit.WrapAnywhere wrapMode: TextEdit.WrapAnywhere
textFormat: Text.MarkdownText
text: Backend.translate('Bulletin Info') text: Backend.translate('Bulletin Info')
} }
} }

View File

@ -112,6 +112,25 @@ Item {
ClientInstance.notifyServer("Ready", ""); ClientInstance.notifyServer("Ready", "");
} }
} }
Rectangle {
x: parent.width / 2 + 80
y: parent.height / 2
color: "snow"
opacity: 0.8
radius: 6
height: childrenRect.height + 16
width: childrenRect.width + 16
visible: !isStarted
Text {
x: 8; y: 8
Component.onCompleted: {
let data = JSON.parse(Backend.callLuaFunction("GetRoomConfig", []));
text = "手气卡次数:" + data.luckTime + "<br />出手时间:" + config.roomTimeout
+ "<br />选将框数:" + data.generalNum
}
}
}
states: [ states: [
State { name: "notactive" }, // Normal status State { name: "notactive" }, // Normal status
@ -873,6 +892,7 @@ Item {
} }
} }
mainStack.pop(); mainStack.pop();
Backend.callLuaFunction("ResetClientLua", []);
mainStack.push(room); mainStack.push(room);
mainStack.currentItem.loadPlayerData(datalist); mainStack.currentItem.loadPlayerData(datalist);
} }
@ -882,7 +902,7 @@ Item {
if (d.id == Self.id) { if (d.id == Self.id) {
roomScene.isOwner = d.isOwner; roomScene.isOwner = d.isOwner;
} else { } else {
callbacks["AddPlayer"](JSON.stringify([d.id, d.name, d.avatar, d.ready])); Backend.callLuaFunction("ResetAddPlayer", [JSON.stringify([d.id, d.name, d.avatar, d.ready])]);
} }
Logic.getPhotoModel(d.id).isOwner = d.isOwner; Logic.getPhotoModel(d.id).isOwner = d.isOwner;
}); });

View File

@ -25,6 +25,7 @@ GraphicsBox {
MetroButton { MetroButton {
text: Backend.translate("Back To Room") text: Backend.translate("Back To Room")
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
visible: !config.observing
onClicked: { onClicked: {
roomScene.resetToInit(); roomScene.resetToInit();

View File

@ -3,8 +3,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.notify.FreeKill" package="org.notify.FreeKill"
android:installLocation="preferExternal" android:installLocation="preferExternal"
android:versionCode="200" android:versionCode="201"
android:versionName="0.2.0"> android:versionName="0.2.1">
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

View File

@ -212,6 +212,7 @@ fk.client_callback["EnterRoom"] = function(jsonData)
ClientInstance.discard_pile = {} ClientInstance.discard_pile = {}
local data = json.decode(jsonData)[3] local data = json.decode(jsonData)[3]
ClientInstance.room_settings = data
Fk.disabled_packs = data.disabledPack Fk.disabled_packs = data.disabledPack
Fk.disabled_generals = data.disabledGenerals Fk.disabled_generals = data.disabledGenerals
ClientInstance:notifyUI("EnterRoom", jsonData) ClientInstance:notifyUI("EnterRoom", jsonData)
@ -296,7 +297,17 @@ fk.client_callback["PropertyUpdate"] = function(jsonData)
-- jsonData: [ int id, string property_name, value ] -- jsonData: [ int id, string property_name, value ]
local data = json.decode(jsonData) local data = json.decode(jsonData)
local id, name, value = data[1], data[2], data[3] local id, name, value = data[1], data[2], data[3]
ClientInstance:getPlayerById(id)[name] = value local p = ClientInstance:getPlayerById(id)
p[name] = value
if name == "dead" then
if value == true then
table.removeOne(ClientInstance.alive_players, p)
else
table.insertIfNeed(ClientInstance.alive_players, p)
end
end
ClientInstance:notifyUI("PropertyUpdate", jsonData) ClientInstance:notifyUI("PropertyUpdate", jsonData)
ClientInstance:notifyUI("MaxCard", json.encode{ ClientInstance:notifyUI("MaxCard", json.encode{
pcardMax = ClientInstance:getPlayerById(id):getMaxCards(), pcardMax = ClientInstance:getPlayerById(id):getMaxCards(),

View File

@ -494,4 +494,26 @@ function GetPlayerHandcards(pid)
return json.encode(p.player_cards[Player.Hand]) return json.encode(p.player_cards[Player.Hand])
end end
function ResetClientLua()
local data = ClientInstance.room_settings
Self = ClientPlayer:new(fk.Self)
ClientInstance = Client:new() -- clear old client data
ClientInstance.players = {Self}
ClientInstance.alive_players = {Self}
ClientInstance.discard_pile = {}
ClientInstance.room_settings = data
Fk.disabled_packs = data.disabledPack
Fk.disabled_generals = data.disabledGenerals
-- ClientInstance:notifyUI("EnterRoom", jsonData)
end
function ResetAddPlayer(j)
fk.client_callback["AddPlayer"](j)
end
function GetRoomConfig()
return json.encode(ClientInstance.room_settings)
end
dofile "lua/client/i18n/init.lua" dofile "lua/client/i18n/init.lua"

View File

@ -214,18 +214,30 @@ FreeKill使用的是libgit2的C API与此同时使用Git完成拓展包的下
["Back To Room"] = "回到房间", ["Back To Room"] = "回到房间",
["Back To Lobby"] = "返回大厅", ["Back To Lobby"] = "返回大厅",
["Bulletin Info"] = [==[<h2>v0.2.0 </h2> ["Bulletin Info"] = [==[
<br/> ## v0.2.1
<br/>
1. <br/> -
2. <br/> -
3. HP时会显示<br/> - 线/
4. <br/> - ban人和banip
5. <br/> -
6. 使<br/> -
7. <br/>]==], -
- 线
- 线AI接管
-
- UI优化
-
-
-
-
-
- cancelble
-
]==],
} }
-- Game concepts -- Game concepts

View File

@ -58,6 +58,7 @@ local test_filter = fk.CreateFilterSkill{
} }
local control = fk.CreateActiveSkill{ local control = fk.CreateActiveSkill{
name = "control", name = "control",
anim_type = "control",
can_use = function(self, player) can_use = function(self, player)
return true return true
end, end,
@ -168,6 +169,7 @@ local test_trig = fk.CreateTriggerSkill{
} }
local damage_maker = fk.CreateActiveSkill{ local damage_maker = fk.CreateActiveSkill{
name = "damage_maker", name = "damage_maker",
anim_type = "offensive",
can_use = function(self, player) can_use = function(self, player)
return true return true
end, end,
@ -256,12 +258,20 @@ Fk:loadTranslationTable{
["test_filter"] = "破军", ["test_filter"] = "破军",
[":test_filter"] = "你的点数大于11的牌视为无中生有。", [":test_filter"] = "你的点数大于11的牌视为无中生有。",
["mouxusheng"] = "谋徐盛", ["mouxusheng"] = "谋徐盛",
--["cheat"] = "开", -- ["cheat"] = "开",
[":cheat"] = "出牌阶段,你可以获得一张想要的牌。", [":cheat"] = "出牌阶段,你可以获得一张想要的牌。",
--["#test_trig-ask"] = "你可弃置一张手牌", --["#test_trig-ask"] = "你可弃置一张手牌",
["control"] = "控制", ["control"] = "控制",
["damage_maker"] = "制伤器", [":control"] = "出牌阶段,你可以控制/解除控制若干名其他角色。",
["test_vs"] = "视为",
[":test_vs"] = "你可以将牌当包含无懈在内的某张锦囊使用。",
["damage_maker"] = "制伤",
[":damage_maker"] = "出牌阶段,你可以进行一次伤害制造器。",
["change_hero"] = "变更", ["change_hero"] = "变更",
[":change_hero"] = "出牌阶段,你可以变更一名角色武将牌。",
} }
return { extension } return { extension }