diff --git a/CHANGELOG.md b/CHANGELOG.md index b7e3add7..bd9c59b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,22 @@ ___ +## v0.2.0 + +修复了标准版吕布属性杀不触发无双、貂蝉决斗可被无懈。 + +由于标准包更加完善了,所以增加一位中版本号。 + +1. 获得了中文名“新月杀” +2. 房间可设置密码 +3. 手牌上限不等于HP时会显示 +4. 修禁用铁锁无法重铸 +5. 修视为技按钮一直亮着 +6. 使命技机制,完善游戏逻辑 +7. 拖孩 + +___ + ## v0.1.9 1. 实现移动场上一张牌 diff --git a/CMakeLists.txt b/CMakeLists.txt index 0b5d09b7..48e82714 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) -project(FreeKill VERSION 0.1.9) +project(FreeKill VERSION 0.2.0) add_definitions(-DFK_VERSION=\"${CMAKE_PROJECT_VERSION}\") find_package(Qt6 REQUIRED COMPONENTS diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index bff59b9f..6f28b41f 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -3,8 +3,8 @@ + android:versionCode="200" + android:versionName="0.2.0"> diff --git a/image/logo/freekill.png b/image/logo/freekill.png deleted file mode 120000 index 350f2e3a..00000000 --- a/image/logo/freekill.png +++ /dev/null @@ -1 +0,0 @@ -/home/notify/develop/FreeKill/image/icon.png \ No newline at end of file diff --git a/image/logo/freekill.png b/image/logo/freekill.png new file mode 100644 index 00000000..53f9e066 Binary files /dev/null and b/image/logo/freekill.png differ diff --git a/image/splash.jpg b/image/splash.jpg index 06e1250a..f385629c 100644 Binary files a/image/splash.jpg and b/image/splash.jpg differ diff --git a/lang/zh_CN.ts b/lang/zh_CN.ts index 12ef92d2..b6d68107 100644 --- a/lang/zh_CN.ts +++ b/lang/zh_CN.ts @@ -183,6 +183,10 @@ room password error 房间密码错误 + + no such room + 房间不存在 + diff --git a/lua/client/i18n/zh_CN.lua b/lua/client/i18n/zh_CN.lua index 4be1ab2d..864153a8 100644 --- a/lua/client/i18n/zh_CN.lua +++ b/lua/client/i18n/zh_CN.lua @@ -208,19 +208,18 @@ FreeKill使用的是libgit2的C API,与此同时使用Git完成拓展包的下 ["$NoWinner"] = "平局!", ["Back To Lobby"] = "返回大厅", - ["Bulletin Info"] = "

更新说明

\ - 1. 实现移动场上一张牌;
\ - 2. 实现用作记录牌名并可查看的mark;
\ - 3. 将askForChoice和interaction的文本解析方式改为prompt;
\ - 4. 新增属性将牌移至牌堆指定索引位置;
\ - 5. 修改时机“游戏开始时”至正确位置;
\ - 6. 优化衍生牌逻辑;
\ - 7. 新增“卡牌展示后”时机;
\ - 8. 修改qml文件结构;
\ - 9. 新增手气卡机制;
\ - 10. 新增大厅表情功能;
\ - 11. 新增选将时技能描述查看,以及查看卡牌描述的功能;
\ - 12. 查看角色技能描述侧栏新增“送花”和“砸蛋”功能。", + ["Bulletin Info"] = [==[

v0.2.0 更新说明

+ 修复了标准版吕布属性杀不触发无双、貂蝉决斗可被无懈。
+ + 由于标准包更加完善了,所以增加一位中版本号。
+ + 1. 获得了中文名“新月杀”
+ 2. 房间可设置密码
+ 3. 手牌上限不等于HP时会显示
+ 4. 修禁用铁锁无法重铸
+ 5. 修视为技按钮一直亮着
+ 6. 使命技机制,完善游戏逻辑
+ 7. 砸拖鞋
]==], } -- Game concepts diff --git a/lua/core/player.lua b/lua/core/player.lua index e4aafb81..6b4d3f4d 100644 --- a/lua/core/player.lua +++ b/lua/core/player.lua @@ -425,11 +425,14 @@ end --- 获取其他玩家是否在玩家的攻击距离内。 ---@param other Player @ 其他玩家 -function Player:inMyAttackRange(other) +---@param fixLimit number|null @ 卡牌距离限制增加专用 +function Player:inMyAttackRange(other, fixLimit) if self == other then return false end + fixLimit = fixLimit or 0 + local status_skills = Fk:currentRoom().status_skills[AttackRangeSkill] or {} for _, skill in ipairs(status_skills) do if skill:withinAttackRange(self, other) then @@ -438,7 +441,7 @@ function Player:inMyAttackRange(other) end local baseAttackRange = self:getAttackRange() - return self:distanceTo(other) <= baseAttackRange + return self:distanceTo(other) <= (baseAttackRange + fixLimit) end --- 增加玩家使用特定牌的历史次数。 diff --git a/packages/maneuvering/init.lua b/packages/maneuvering/init.lua index 47b2c0e7..0faca90d 100644 --- a/packages/maneuvering/init.lua +++ b/packages/maneuvering/init.lua @@ -276,7 +276,7 @@ local supplyShortageSkill = fk.CreateActiveSkill{ local player = Fk:currentRoom():getPlayerById(to_select) if Self ~= player then return not player:hasDelayedTrick("supply_shortage") and - Self:distanceTo(player) <= self:getDistanceLimit(Self, card, Fk:currentRoom():getPlayerById(to_select)) + Self:distanceTo(player) <= self:getDistanceLimit(Self, card, player) end end return false diff --git a/packages/standard_cards/init.lua b/packages/standard_cards/init.lua index 753603e6..3fc213bb 100644 --- a/packages/standard_cards/init.lua +++ b/packages/standard_cards/init.lua @@ -38,10 +38,7 @@ local slashSkill = fk.CreateActiveSkill{ target_filter = function(self, to_select, selected, _, card) if #selected < self:getMaxTargetNum(Self, card) then local player = Fk:currentRoom():getPlayerById(to_select) - return Self ~= player and - (self:getDistanceLimit(Self, card, Fk:currentRoom():getPlayerById(to_select)) -- for no distance limit for slash - + Self:getAttackRange() - >= Self:distanceTo(player)) + return Self ~= player and Self:inMyAttackRange(player, self:getDistanceLimit(Self, card, player)) end end, on_effect = function(self, room, effect) @@ -229,7 +226,7 @@ local snatchSkill = fk.CreateActiveSkill{ local player = Fk:currentRoom():getPlayerById(to_select) return Self ~= player and - Self:distanceTo(player) <= self:getDistanceLimit(Self, card, Fk:currentRoom():getPlayerById(to_select)) and -- for no distance limit for snatch + Self:distanceTo(player) <= self:getDistanceLimit(Self, card, player) and -- for no distance limit for snatch not player:isAllNude() end end,