diff --git a/CHANGELOG.md b/CHANGELOG.md index ea54081e..65ba6acb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,27 @@ ___ +## v0.2.6 + +新功能: + +* 可以用cardMark在牌上写字了,目前没有提供任何自动清理措施 +* 没用的托管按钮改成了反选按钮 +* 新增“酒杯”交互表情 + +bug修复: + +* 修复pattern相关的bug +* 修复锁视串房bug +* 拼点牌套壳了一层虚拟牌 +* 修复客户端cost_data等 + +值得注意的地方: + +使用卡牌之前会根据锁视技重新决定使用的卡牌;因此锁视技只判断手牌的话必然失效! + +___ + ## v0.2.5 修复了堆积如山的bug diff --git a/CMakeLists.txt b/CMakeLists.txt index 3816bcd9..233915df 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) -project(FreeKill VERSION 0.2.5) +project(FreeKill VERSION 0.2.6) add_definitions(-DFK_VERSION=\"${CMAKE_PROJECT_VERSION}\") find_package(Qt6 REQUIRED COMPONENTS diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index d57380b0..f8bd57b7 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -3,8 +3,8 @@ + android:versionCode="206" + android:versionName="0.2.6"> diff --git a/lua/client/i18n/zh_CN.lua b/lua/client/i18n/zh_CN.lua index 29082efb..1a890b4a 100644 --- a/lua/client/i18n/zh_CN.lua +++ b/lua/client/i18n/zh_CN.lua @@ -224,32 +224,9 @@ FreeKill使用的是libgit2的C API,与此同时使用Git完成拓展包的下 ["Back To Lobby"] = "返回大厅", ["Bulletin Info"] = [==[ -## v0.2.4 + ## v0.2.6 -又一周过去了 - -1. 修武将一览死亡语音bug -2. 在线人数不足10时播报上下线 -3. askfordiscard禁止编辑已传入的maxNum/minNum -4. getSuitString可以返回符号 -5. 添加getSuitCompletedString,可显示完整的 **花色+点数** -6. Dockerfile,有需要的就用用吧 -7. 可用武将不足时不可创房并警告 -8. 修复帷幕能被挂闪的bug -9. 【杀】的限制更多 -10. 无目标AOE不可以被使用 -11. 主动技可以传更详细的ComboBox -12. 新增exclusive_targets,可限定使用牌的目标(优先级高于一切目标筛选) -13. 多线程改为协程调度器 -14. 给interaction喂nil或者空choices可以禁止出interaction小黑框 -15. 可以给主动技/视为技上prompt -16. 装备的技能现在会独立显示在最下方 -17. 顶号机制,登陆账号时会使同名账号下线 -18. 创房时可以全选或者反选 -19. 修复重连重置限定技bug以及若干与旁观有关的bug -20. 同步拓展包时若hash相同,则自动跳过 -21. 对局中可查看胜率、逃率 -22. 武将一览现在可以根据名字搜索武将 + 新增反选卡牌功能和连续送花(酒杯)的交互表情。同时,在个人设置中新增了“不可使用牌下移”的选项,可以在牌很多时辅助选择;顺便修复了一大堆bug。 ]==], } diff --git a/lua/core/skill_type/usable_skill.lua b/lua/core/skill_type/usable_skill.lua index b97221ba..9adb243e 100644 --- a/lua/core/skill_type/usable_skill.lua +++ b/lua/core/skill_type/usable_skill.lua @@ -27,6 +27,9 @@ end function UsableSkill:withinTimesLimit(player, scope, card, card_name, to) scope = scope or Player.HistoryTurn local status_skills = Fk:currentRoom().status_skills[TargetModSkill] or Util.DummyTable + if not card and self.name:endsWith("_skill") then + card = Fk:cloneCard(self.name:sub(1, #self.name - 6)) + end for _, skill in ipairs(status_skills) do if skill:bypassTimesCheck(player, self, scope, card, to) then return true end end @@ -44,6 +47,9 @@ end function UsableSkill:withinDistanceLimit(player, isattack, card, to) local status_skills = Fk:currentRoom().status_skills[TargetModSkill] or Util.DummyTable + if not card and self.name:endsWith("_skill") then + card = Fk:cloneCard(self.name:sub(1, #self.name - 6)) + end for _, skill in ipairs(status_skills) do if skill:bypassDistancesCheck(player, self, card, to) then return true end end diff --git a/lua/server/serverplayer.lua b/lua/server/serverplayer.lua index 016276e4..b9b15d5a 100644 --- a/lua/server/serverplayer.lua +++ b/lua/server/serverplayer.lua @@ -344,6 +344,10 @@ end function ServerPlayer:showCards(cards) cards = Card:getIdList(cards) + for _, id in ipairs(cards) do + Fk:filterCard(id, self) + end + local room = self.room room:sendLog{ type = "#ShowCard", diff --git a/packages/standard_cards/init.lua b/packages/standard_cards/init.lua index f99dd7ed..8898e806 100644 --- a/packages/standard_cards/init.lua +++ b/packages/standard_cards/init.lua @@ -6,7 +6,7 @@ extension.metadata = require "packages.standard_cards.metadata" local global_can_use = function(self, player, card) local room = Fk:currentRoom() for _, p in ipairs(room.alive_players) do - if not player:isProhibited(p, card) then + if not (card and player:isProhibited(p, card)) then return true end end @@ -15,7 +15,7 @@ end local aoe_can_use = function(self, player, card) local room = Fk:currentRoom() for _, p in ipairs(room.alive_players) do - if p ~= player and not player:isProhibited(p, card) then + if p ~= player and not (card and player:isProhibited(p, card)) then return true end end