diff --git a/android/copy_assets.sh b/android/copy_assets.sh index df71e019..616a49e6 100755 --- a/android/copy_assets.sh +++ b/android/copy_assets.sh @@ -21,6 +21,7 @@ chmod 644 assets/res/certs/* mkdir assets/res/packages cp -r ../packages/standard assets/res/packages cp -r ../packages/standard_cards assets/res/packages +cp -r ../packages/maneuvering assets/res/packages cp -r ../packages/test assets/res/packages rm assets/res/packages/test/test.lua cp ../packages/init.sql assets/res/packages diff --git a/image/card/drowning.png b/image/card/drowning.png deleted file mode 100644 index 93a3bb8e..00000000 Binary files a/image/card/drowning.png and /dev/null differ diff --git a/image/card/vscrossbow.png b/image/card/vscrossbow.png deleted file mode 100644 index 235036ab..00000000 Binary files a/image/card/vscrossbow.png and /dev/null differ diff --git a/image/card/wooden_ox.png b/image/card/wooden_ox.png deleted file mode 100644 index 47df4da8..00000000 Binary files a/image/card/wooden_ox.png and /dev/null differ diff --git a/lua/client/i18n/zh_CN.lua b/lua/client/i18n/zh_CN.lua index a44e9ec9..838d7d60 100644 --- a/lua/client/i18n/zh_CN.lua +++ b/lua/client/i18n/zh_CN.lua @@ -125,6 +125,9 @@ Fk:loadTranslationTable{ ["phase_draw"] = "摸牌阶段", ["phase_play"] = "出牌阶段", ["phase_discard"] = "弃牌阶段", + + ["chained"] = "横置", + ["not-chained"] = "重置", } -- related to sendLog @@ -142,6 +145,8 @@ Fk:loadTranslationTable{ ["$DrawCards"] = "%from 摸了 %arg 张牌 %card", ["$DiscardCards"] = "%from 弃置了 %arg 张牌 %card", + ["$InstallEquip"] = "%from 装备了 %card", + ["$UninstallEquip"] = "%from 卸载了 %card", -- phase ["#PhaseSkipped"] = "%from 跳过了 %arg", @@ -192,4 +197,6 @@ Fk:loadTranslationTable{ -- misc ["#GuanxingResult"] = "%from 的观星结果为 %arg 上 %arg2 下", + ["#ChainStateChange"] = "%from %arg 了武将牌", + ["#ChainDamage"] = "%from 处于连环状态,将受到传导的伤害", } diff --git a/lua/core/exppattern.lua b/lua/core/exppattern.lua index b739647d..6459c2de 100644 --- a/lua/core/exppattern.lua +++ b/lua/core/exppattern.lua @@ -57,7 +57,8 @@ local function matchCard(matcher, card) card = Fk:getCardById(card) end - if matcher.name and not table.contains(matcher.name, card.name) then + if matcher.name and not table.contains(matcher.name, card.name) and + not table.contains(matcher.name, card.trueName) then return false end diff --git a/lua/core/player.lua b/lua/core/player.lua index ec6741fa..a58615ae 100644 --- a/lua/core/player.lua +++ b/lua/core/player.lua @@ -463,6 +463,10 @@ function Player:isWounded() return self.hp < self.maxHp end +function Player:getLostHp() + return math.min(self.maxHp - self.hp, self.maxHp) +end + ---@param skill string | Skill ---@return Skill local function getActualSkill(skill) diff --git a/lua/server/events/usecard.lua b/lua/server/events/usecard.lua index 1dda115a..8193b565 100644 --- a/lua/server/events/usecard.lua +++ b/lua/server/events/usecard.lua @@ -1,7 +1,13 @@ local playCardEmotionAndSound = function(room, player, card) if card.type ~= Card.TypeEquip then - room:setEmotion(player, "./packages/" .. - card.package.extensionName .. "/image/anim/" .. card.name) + local anim_path = "./packages/" .. card.package.extensionName .. "/image/anim/" .. card.name + if not FileIO.exists(anim_path) then + for _, dir in ipairs(FileIO.ls("./packages/")) do + anim_path = "./packages/" .. dir .. "/image/anim/" .. card.name + if FileIO.exists(anim_path) then break end + end + end + if FileIO.exists(anim_path) then room:setEmotion(player, anim_path) end end local soundName @@ -19,6 +25,13 @@ local playCardEmotionAndSound = function(room, player, card) else soundName = "./packages/" .. card.package.extensionName .. "/audio/card/" .. (player.gender == General.Male and "male/" or "female/") .. card.name + if not FileIO.exists(soundName .. ".mp3") then + for _, dir in ipairs(FileIO.ls("./packages/")) do + soundName = "./packages/" .. dir .. "/audio/card/" + .. (player.gender == General.Male and "male/" or "female/") .. card.name + if FileIO.exists(soundName .. ".mp3") then break end + end + end end room:broadcastPlaySound(soundName) end diff --git a/lua/server/room.lua b/lua/server/room.lua index 44457258..04576f94 100644 --- a/lua/server/room.lua +++ b/lua/server/room.lua @@ -899,7 +899,10 @@ function Room:askForCardsChosen(chooser, target, min, max, flag, reason) end local new_ret = table.filter(ret, function(id) return id ~= -1 end) - table.insertTable(new_ret, table.random(target:getCardIds(Player.Hand), #ret - #new_ret)) + local hand_num = #ret - #new_ret + if hand_num > 0 then + table.insertTable(new_ret, table.random(target:getCardIds(Player.Hand), hand_num)) + end return new_ret end diff --git a/lua/server/serverplayer.lua b/lua/server/serverplayer.lua index 7cbdec89..383573a5 100644 --- a/lua/server/serverplayer.lua +++ b/lua/server/serverplayer.lua @@ -510,4 +510,15 @@ function ServerPlayer:setSkillUseHistory(cardName, num, scope) self:doNotify("SetSkillUseHistory", json.encode{cardName, num, scope}) end +---@param chained boolean +function ServerPlayer:setChainState(chained) + self.chained = chained + self.room:broadcastProperty(self, "chained") + self.room:sendLog{ + type = "#ChainStateChange", + from = self.id, + arg = self.chained and "chained" or "not-chained" + } +end + return ServerPlayer diff --git a/lua/server/system_enum.lua b/lua/server/system_enum.lua index 1124e7cc..6cea11bb 100644 --- a/lua/server/system_enum.lua +++ b/lua/server/system_enum.lua @@ -47,6 +47,7 @@ fk.FireDamage = 3 ---@field to ServerPlayer ---@field damage integer ---@field card Card +---@field chain boolean ---@field damageType DamageType ---@field skillName string diff --git a/packages/.gitignore b/packages/.gitignore index 9083b6c3..95e16711 100644 --- a/packages/.gitignore +++ b/packages/.gitignore @@ -2,6 +2,6 @@ !standard/ !standard_cards/ !test/ -!manuvering/ +!maneuvering/ !.gitignore !init.sql diff --git a/packages/maneuvering/audio/card/fan.mp3 b/packages/maneuvering/audio/card/fan.mp3 new file mode 100644 index 00000000..f7635f53 Binary files /dev/null and b/packages/maneuvering/audio/card/fan.mp3 differ diff --git a/packages/maneuvering/audio/card/female/analeptic.mp3 b/packages/maneuvering/audio/card/female/analeptic.mp3 new file mode 100644 index 00000000..676db3d6 Binary files /dev/null and b/packages/maneuvering/audio/card/female/analeptic.mp3 differ diff --git a/packages/maneuvering/audio/card/female/fire__slash.mp3 b/packages/maneuvering/audio/card/female/fire__slash.mp3 new file mode 100644 index 00000000..4c76a33e Binary files /dev/null and b/packages/maneuvering/audio/card/female/fire__slash.mp3 differ diff --git a/packages/maneuvering/audio/card/female/fire_attack.mp3 b/packages/maneuvering/audio/card/female/fire_attack.mp3 new file mode 100644 index 00000000..eb93d0e9 Binary files /dev/null and b/packages/maneuvering/audio/card/female/fire_attack.mp3 differ diff --git a/packages/maneuvering/audio/card/female/iron_chain.mp3 b/packages/maneuvering/audio/card/female/iron_chain.mp3 new file mode 100644 index 00000000..64dc8f00 Binary files /dev/null and b/packages/maneuvering/audio/card/female/iron_chain.mp3 differ diff --git a/packages/maneuvering/audio/card/female/supply_shortage.mp3 b/packages/maneuvering/audio/card/female/supply_shortage.mp3 new file mode 100644 index 00000000..0da16104 Binary files /dev/null and b/packages/maneuvering/audio/card/female/supply_shortage.mp3 differ diff --git a/packages/maneuvering/audio/card/female/thunder__slash.mp3 b/packages/maneuvering/audio/card/female/thunder__slash.mp3 new file mode 100644 index 00000000..32a4eaac Binary files /dev/null and b/packages/maneuvering/audio/card/female/thunder__slash.mp3 differ diff --git a/packages/maneuvering/audio/card/guding_blade.mp3 b/packages/maneuvering/audio/card/guding_blade.mp3 new file mode 100644 index 00000000..355fa444 Binary files /dev/null and b/packages/maneuvering/audio/card/guding_blade.mp3 differ diff --git a/packages/maneuvering/audio/card/male/analeptic.mp3 b/packages/maneuvering/audio/card/male/analeptic.mp3 new file mode 100644 index 00000000..0646230e Binary files /dev/null and b/packages/maneuvering/audio/card/male/analeptic.mp3 differ diff --git a/packages/maneuvering/audio/card/male/fire__slash.mp3 b/packages/maneuvering/audio/card/male/fire__slash.mp3 new file mode 100644 index 00000000..87ad92c1 Binary files /dev/null and b/packages/maneuvering/audio/card/male/fire__slash.mp3 differ diff --git a/packages/maneuvering/audio/card/male/fire_attack.mp3 b/packages/maneuvering/audio/card/male/fire_attack.mp3 new file mode 100644 index 00000000..7d092303 Binary files /dev/null and b/packages/maneuvering/audio/card/male/fire_attack.mp3 differ diff --git a/packages/maneuvering/audio/card/male/iron_chain.mp3 b/packages/maneuvering/audio/card/male/iron_chain.mp3 new file mode 100644 index 00000000..776d0f00 Binary files /dev/null and b/packages/maneuvering/audio/card/male/iron_chain.mp3 differ diff --git a/packages/maneuvering/audio/card/male/supply_shortage.mp3 b/packages/maneuvering/audio/card/male/supply_shortage.mp3 new file mode 100644 index 00000000..08b042e1 Binary files /dev/null and b/packages/maneuvering/audio/card/male/supply_shortage.mp3 differ diff --git a/packages/maneuvering/audio/card/male/thunder__slash.mp3 b/packages/maneuvering/audio/card/male/thunder__slash.mp3 new file mode 100644 index 00000000..4446b7ac Binary files /dev/null and b/packages/maneuvering/audio/card/male/thunder__slash.mp3 differ diff --git a/packages/maneuvering/audio/card/silver_lion.mp3 b/packages/maneuvering/audio/card/silver_lion.mp3 new file mode 100644 index 00000000..fbd6a671 Binary files /dev/null and b/packages/maneuvering/audio/card/silver_lion.mp3 differ diff --git a/packages/maneuvering/audio/card/vine.mp3 b/packages/maneuvering/audio/card/vine.mp3 new file mode 100644 index 00000000..dc8cf99a Binary files /dev/null and b/packages/maneuvering/audio/card/vine.mp3 differ diff --git a/packages/maneuvering/audio/card/vineburn.mp3 b/packages/maneuvering/audio/card/vineburn.mp3 new file mode 100644 index 00000000..f4688304 Binary files /dev/null and b/packages/maneuvering/audio/card/vineburn.mp3 differ diff --git a/packages/maneuvering/image/anim/fan/0.png b/packages/maneuvering/image/anim/fan/0.png new file mode 100644 index 00000000..707a200b Binary files /dev/null and b/packages/maneuvering/image/anim/fan/0.png differ diff --git a/packages/maneuvering/image/anim/fan/1.png b/packages/maneuvering/image/anim/fan/1.png new file mode 100644 index 00000000..f7335484 Binary files /dev/null and b/packages/maneuvering/image/anim/fan/1.png differ diff --git a/packages/maneuvering/image/anim/fan/10.png b/packages/maneuvering/image/anim/fan/10.png new file mode 100644 index 00000000..256c139f Binary files /dev/null and b/packages/maneuvering/image/anim/fan/10.png differ diff --git a/packages/maneuvering/image/anim/fan/11.png b/packages/maneuvering/image/anim/fan/11.png new file mode 100644 index 00000000..b696c0dc Binary files /dev/null and b/packages/maneuvering/image/anim/fan/11.png differ diff --git a/packages/maneuvering/image/anim/fan/12.png b/packages/maneuvering/image/anim/fan/12.png new file mode 100644 index 00000000..b696c0dc Binary files /dev/null and b/packages/maneuvering/image/anim/fan/12.png differ diff --git a/packages/maneuvering/image/anim/fan/13.png b/packages/maneuvering/image/anim/fan/13.png new file mode 100644 index 00000000..de182fcf Binary files /dev/null and b/packages/maneuvering/image/anim/fan/13.png differ diff --git a/packages/maneuvering/image/anim/fan/14.png b/packages/maneuvering/image/anim/fan/14.png new file mode 100644 index 00000000..42335db2 Binary files /dev/null and b/packages/maneuvering/image/anim/fan/14.png differ diff --git a/packages/maneuvering/image/anim/fan/15.png b/packages/maneuvering/image/anim/fan/15.png new file mode 100644 index 00000000..b688ce36 Binary files /dev/null and b/packages/maneuvering/image/anim/fan/15.png differ diff --git a/packages/maneuvering/image/anim/fan/16.png b/packages/maneuvering/image/anim/fan/16.png new file mode 100644 index 00000000..a4b85d4d Binary files /dev/null and b/packages/maneuvering/image/anim/fan/16.png differ diff --git a/packages/maneuvering/image/anim/fan/17.png b/packages/maneuvering/image/anim/fan/17.png new file mode 100644 index 00000000..a67646d3 Binary files /dev/null and b/packages/maneuvering/image/anim/fan/17.png differ diff --git a/packages/maneuvering/image/anim/fan/18.png b/packages/maneuvering/image/anim/fan/18.png new file mode 100644 index 00000000..87aefe19 Binary files /dev/null and b/packages/maneuvering/image/anim/fan/18.png differ diff --git a/packages/maneuvering/image/anim/fan/19.png b/packages/maneuvering/image/anim/fan/19.png new file mode 100644 index 00000000..14b5673a Binary files /dev/null and b/packages/maneuvering/image/anim/fan/19.png differ diff --git a/packages/maneuvering/image/anim/fan/2.png b/packages/maneuvering/image/anim/fan/2.png new file mode 100644 index 00000000..70615b5f Binary files /dev/null and b/packages/maneuvering/image/anim/fan/2.png differ diff --git a/packages/maneuvering/image/anim/fan/20.png b/packages/maneuvering/image/anim/fan/20.png new file mode 100644 index 00000000..df65dd84 Binary files /dev/null and b/packages/maneuvering/image/anim/fan/20.png differ diff --git a/packages/maneuvering/image/anim/fan/21.png b/packages/maneuvering/image/anim/fan/21.png new file mode 100644 index 00000000..5411ad4e Binary files /dev/null and b/packages/maneuvering/image/anim/fan/21.png differ diff --git a/packages/maneuvering/image/anim/fan/22.png b/packages/maneuvering/image/anim/fan/22.png new file mode 100644 index 00000000..30779d6b Binary files /dev/null and b/packages/maneuvering/image/anim/fan/22.png differ diff --git a/packages/maneuvering/image/anim/fan/23.png b/packages/maneuvering/image/anim/fan/23.png new file mode 100644 index 00000000..2371ffd3 Binary files /dev/null and b/packages/maneuvering/image/anim/fan/23.png differ diff --git a/packages/maneuvering/image/anim/fan/3.png b/packages/maneuvering/image/anim/fan/3.png new file mode 100644 index 00000000..8335d26a Binary files /dev/null and b/packages/maneuvering/image/anim/fan/3.png differ diff --git a/packages/maneuvering/image/anim/fan/4.png b/packages/maneuvering/image/anim/fan/4.png new file mode 100644 index 00000000..de9cc804 Binary files /dev/null and b/packages/maneuvering/image/anim/fan/4.png differ diff --git a/packages/maneuvering/image/anim/fan/5.png b/packages/maneuvering/image/anim/fan/5.png new file mode 100644 index 00000000..04cd99cd Binary files /dev/null and b/packages/maneuvering/image/anim/fan/5.png differ diff --git a/packages/maneuvering/image/anim/fan/6.png b/packages/maneuvering/image/anim/fan/6.png new file mode 100644 index 00000000..ab690d84 Binary files /dev/null and b/packages/maneuvering/image/anim/fan/6.png differ diff --git a/packages/maneuvering/image/anim/fan/7.png b/packages/maneuvering/image/anim/fan/7.png new file mode 100644 index 00000000..24dbcbb1 Binary files /dev/null and b/packages/maneuvering/image/anim/fan/7.png differ diff --git a/packages/maneuvering/image/anim/fan/8.png b/packages/maneuvering/image/anim/fan/8.png new file mode 100644 index 00000000..6e3ab9d6 Binary files /dev/null and b/packages/maneuvering/image/anim/fan/8.png differ diff --git a/packages/maneuvering/image/anim/fan/9.png b/packages/maneuvering/image/anim/fan/9.png new file mode 100644 index 00000000..c4a8951b Binary files /dev/null and b/packages/maneuvering/image/anim/fan/9.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/0.png b/packages/maneuvering/image/anim/fire__slash/0.png new file mode 100644 index 00000000..7f93d392 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/0.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/1.png b/packages/maneuvering/image/anim/fire__slash/1.png new file mode 100644 index 00000000..bd7127f0 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/1.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/10.png b/packages/maneuvering/image/anim/fire__slash/10.png new file mode 100644 index 00000000..bd95e561 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/10.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/11.png b/packages/maneuvering/image/anim/fire__slash/11.png new file mode 100644 index 00000000..d1f27a44 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/11.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/12.png b/packages/maneuvering/image/anim/fire__slash/12.png new file mode 100644 index 00000000..d975db62 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/12.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/13.png b/packages/maneuvering/image/anim/fire__slash/13.png new file mode 100644 index 00000000..54e3878e Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/13.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/14.png b/packages/maneuvering/image/anim/fire__slash/14.png new file mode 100644 index 00000000..e282f565 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/14.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/15.png b/packages/maneuvering/image/anim/fire__slash/15.png new file mode 100644 index 00000000..8bd20b10 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/15.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/16.png b/packages/maneuvering/image/anim/fire__slash/16.png new file mode 100644 index 00000000..8bd20b10 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/16.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/17.png b/packages/maneuvering/image/anim/fire__slash/17.png new file mode 100644 index 00000000..6aed1038 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/17.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/18.png b/packages/maneuvering/image/anim/fire__slash/18.png new file mode 100644 index 00000000..f4eb95cd Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/18.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/19.png b/packages/maneuvering/image/anim/fire__slash/19.png new file mode 100644 index 00000000..502da90a Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/19.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/2.png b/packages/maneuvering/image/anim/fire__slash/2.png new file mode 100644 index 00000000..ba1efd16 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/2.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/20.png b/packages/maneuvering/image/anim/fire__slash/20.png new file mode 100644 index 00000000..dd489ad8 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/20.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/21.png b/packages/maneuvering/image/anim/fire__slash/21.png new file mode 100644 index 00000000..6588d41a Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/21.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/22.png b/packages/maneuvering/image/anim/fire__slash/22.png new file mode 100644 index 00000000..e68208f3 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/22.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/23.png b/packages/maneuvering/image/anim/fire__slash/23.png new file mode 100644 index 00000000..7aa188db Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/23.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/3.png b/packages/maneuvering/image/anim/fire__slash/3.png new file mode 100644 index 00000000..4c0e3c45 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/3.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/4.png b/packages/maneuvering/image/anim/fire__slash/4.png new file mode 100644 index 00000000..d643b4ec Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/4.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/5.png b/packages/maneuvering/image/anim/fire__slash/5.png new file mode 100644 index 00000000..28d178d3 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/5.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/6.png b/packages/maneuvering/image/anim/fire__slash/6.png new file mode 100644 index 00000000..629b8756 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/6.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/7.png b/packages/maneuvering/image/anim/fire__slash/7.png new file mode 100644 index 00000000..87365324 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/7.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/8.png b/packages/maneuvering/image/anim/fire__slash/8.png new file mode 100644 index 00000000..3144dc14 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/8.png differ diff --git a/packages/maneuvering/image/anim/fire__slash/9.png b/packages/maneuvering/image/anim/fire__slash/9.png new file mode 100644 index 00000000..a5baebe7 Binary files /dev/null and b/packages/maneuvering/image/anim/fire__slash/9.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/0.png b/packages/maneuvering/image/anim/guding_blade/0.png new file mode 100644 index 00000000..d9d26658 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/0.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/1.png b/packages/maneuvering/image/anim/guding_blade/1.png new file mode 100644 index 00000000..360d2add Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/1.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/10.png b/packages/maneuvering/image/anim/guding_blade/10.png new file mode 100644 index 00000000..b040f94c Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/10.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/11.png b/packages/maneuvering/image/anim/guding_blade/11.png new file mode 100644 index 00000000..5dc26ad2 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/11.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/12.png b/packages/maneuvering/image/anim/guding_blade/12.png new file mode 100644 index 00000000..8e876b46 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/12.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/13.png b/packages/maneuvering/image/anim/guding_blade/13.png new file mode 100644 index 00000000..60c86e47 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/13.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/14.png b/packages/maneuvering/image/anim/guding_blade/14.png new file mode 100644 index 00000000..74df90ab Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/14.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/15.png b/packages/maneuvering/image/anim/guding_blade/15.png new file mode 100644 index 00000000..5e215d7d Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/15.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/16.png b/packages/maneuvering/image/anim/guding_blade/16.png new file mode 100644 index 00000000..5e215d7d Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/16.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/17.png b/packages/maneuvering/image/anim/guding_blade/17.png new file mode 100644 index 00000000..c5d14c69 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/17.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/18.png b/packages/maneuvering/image/anim/guding_blade/18.png new file mode 100644 index 00000000..05474fab Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/18.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/19.png b/packages/maneuvering/image/anim/guding_blade/19.png new file mode 100644 index 00000000..c303cd31 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/19.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/2.png b/packages/maneuvering/image/anim/guding_blade/2.png new file mode 100644 index 00000000..f38b25e3 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/2.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/20.png b/packages/maneuvering/image/anim/guding_blade/20.png new file mode 100644 index 00000000..8a805646 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/20.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/21.png b/packages/maneuvering/image/anim/guding_blade/21.png new file mode 100644 index 00000000..62b9f676 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/21.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/22.png b/packages/maneuvering/image/anim/guding_blade/22.png new file mode 100644 index 00000000..304e3861 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/22.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/23.png b/packages/maneuvering/image/anim/guding_blade/23.png new file mode 100644 index 00000000..cccfb225 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/23.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/24.png b/packages/maneuvering/image/anim/guding_blade/24.png new file mode 100644 index 00000000..dafb8953 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/24.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/3.png b/packages/maneuvering/image/anim/guding_blade/3.png new file mode 100644 index 00000000..4a505490 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/3.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/4.png b/packages/maneuvering/image/anim/guding_blade/4.png new file mode 100644 index 00000000..038c1105 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/4.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/5.png b/packages/maneuvering/image/anim/guding_blade/5.png new file mode 100644 index 00000000..ae721cbf Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/5.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/6.png b/packages/maneuvering/image/anim/guding_blade/6.png new file mode 100644 index 00000000..d50ec4bb Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/6.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/7.png b/packages/maneuvering/image/anim/guding_blade/7.png new file mode 100644 index 00000000..176a6585 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/7.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/8.png b/packages/maneuvering/image/anim/guding_blade/8.png new file mode 100644 index 00000000..f33cce36 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/8.png differ diff --git a/packages/maneuvering/image/anim/guding_blade/9.png b/packages/maneuvering/image/anim/guding_blade/9.png new file mode 100644 index 00000000..06fef3b5 Binary files /dev/null and b/packages/maneuvering/image/anim/guding_blade/9.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/0.png b/packages/maneuvering/image/anim/silver_lion/0.png new file mode 100644 index 00000000..89243d06 Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/0.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/1.png b/packages/maneuvering/image/anim/silver_lion/1.png new file mode 100644 index 00000000..cb8d0e39 Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/1.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/10.png b/packages/maneuvering/image/anim/silver_lion/10.png new file mode 100644 index 00000000..8451e493 Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/10.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/11.png b/packages/maneuvering/image/anim/silver_lion/11.png new file mode 100644 index 00000000..66599367 Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/11.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/12.png b/packages/maneuvering/image/anim/silver_lion/12.png new file mode 100644 index 00000000..638c79dd Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/12.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/13.png b/packages/maneuvering/image/anim/silver_lion/13.png new file mode 100644 index 00000000..47a9171b Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/13.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/14.png b/packages/maneuvering/image/anim/silver_lion/14.png new file mode 100644 index 00000000..0581aed0 Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/14.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/15.png b/packages/maneuvering/image/anim/silver_lion/15.png new file mode 100644 index 00000000..4a7e376c Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/15.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/16.png b/packages/maneuvering/image/anim/silver_lion/16.png new file mode 100644 index 00000000..7e3ef530 Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/16.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/17.png b/packages/maneuvering/image/anim/silver_lion/17.png new file mode 100644 index 00000000..447a853b Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/17.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/18.png b/packages/maneuvering/image/anim/silver_lion/18.png new file mode 100644 index 00000000..447a853b Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/18.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/19.png b/packages/maneuvering/image/anim/silver_lion/19.png new file mode 100644 index 00000000..447a853b Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/19.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/2.png b/packages/maneuvering/image/anim/silver_lion/2.png new file mode 100644 index 00000000..f0f1c6f7 Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/2.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/20.png b/packages/maneuvering/image/anim/silver_lion/20.png new file mode 100644 index 00000000..c4ac072a Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/20.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/21.png b/packages/maneuvering/image/anim/silver_lion/21.png new file mode 100644 index 00000000..698da6df Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/21.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/22.png b/packages/maneuvering/image/anim/silver_lion/22.png new file mode 100644 index 00000000..b576f7d3 Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/22.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/23.png b/packages/maneuvering/image/anim/silver_lion/23.png new file mode 100644 index 00000000..fe6ce18f Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/23.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/3.png b/packages/maneuvering/image/anim/silver_lion/3.png new file mode 100644 index 00000000..1bbd8ff5 Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/3.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/4.png b/packages/maneuvering/image/anim/silver_lion/4.png new file mode 100644 index 00000000..4993b08c Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/4.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/5.png b/packages/maneuvering/image/anim/silver_lion/5.png new file mode 100644 index 00000000..6b4ae10a Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/5.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/6.png b/packages/maneuvering/image/anim/silver_lion/6.png new file mode 100644 index 00000000..01fa5a4c Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/6.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/7.png b/packages/maneuvering/image/anim/silver_lion/7.png new file mode 100644 index 00000000..6d23cdd4 Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/7.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/8.png b/packages/maneuvering/image/anim/silver_lion/8.png new file mode 100644 index 00000000..5d68340d Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/8.png differ diff --git a/packages/maneuvering/image/anim/silver_lion/9.png b/packages/maneuvering/image/anim/silver_lion/9.png new file mode 100644 index 00000000..b7289aa1 Binary files /dev/null and b/packages/maneuvering/image/anim/silver_lion/9.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/0.png b/packages/maneuvering/image/anim/thunder__slash/0.png new file mode 100644 index 00000000..2e03e751 Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/0.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/1.png b/packages/maneuvering/image/anim/thunder__slash/1.png new file mode 100644 index 00000000..0ba2eda2 Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/1.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/10.png b/packages/maneuvering/image/anim/thunder__slash/10.png new file mode 100644 index 00000000..1b0526c0 Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/10.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/11.png b/packages/maneuvering/image/anim/thunder__slash/11.png new file mode 100644 index 00000000..2da73f9f Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/11.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/12.png b/packages/maneuvering/image/anim/thunder__slash/12.png new file mode 100644 index 00000000..6256eaca Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/12.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/13.png b/packages/maneuvering/image/anim/thunder__slash/13.png new file mode 100644 index 00000000..6fd96618 Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/13.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/14.png b/packages/maneuvering/image/anim/thunder__slash/14.png new file mode 100644 index 00000000..b24b9d9c Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/14.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/15.png b/packages/maneuvering/image/anim/thunder__slash/15.png new file mode 100644 index 00000000..060b69d0 Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/15.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/16.png b/packages/maneuvering/image/anim/thunder__slash/16.png new file mode 100644 index 00000000..060b69d0 Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/16.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/17.png b/packages/maneuvering/image/anim/thunder__slash/17.png new file mode 100644 index 00000000..2c21b156 Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/17.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/18.png b/packages/maneuvering/image/anim/thunder__slash/18.png new file mode 100644 index 00000000..8e6897a8 Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/18.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/19.png b/packages/maneuvering/image/anim/thunder__slash/19.png new file mode 100644 index 00000000..c7e97efb Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/19.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/2.png b/packages/maneuvering/image/anim/thunder__slash/2.png new file mode 100644 index 00000000..e61345fe Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/2.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/20.png b/packages/maneuvering/image/anim/thunder__slash/20.png new file mode 100644 index 00000000..a6e773f5 Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/20.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/21.png b/packages/maneuvering/image/anim/thunder__slash/21.png new file mode 100644 index 00000000..6ea8f160 Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/21.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/22.png b/packages/maneuvering/image/anim/thunder__slash/22.png new file mode 100644 index 00000000..1fe0d638 Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/22.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/23.png b/packages/maneuvering/image/anim/thunder__slash/23.png new file mode 100644 index 00000000..69aa4419 Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/23.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/3.png b/packages/maneuvering/image/anim/thunder__slash/3.png new file mode 100644 index 00000000..ac1d531b Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/3.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/4.png b/packages/maneuvering/image/anim/thunder__slash/4.png new file mode 100644 index 00000000..b6ff3ee5 Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/4.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/5.png b/packages/maneuvering/image/anim/thunder__slash/5.png new file mode 100644 index 00000000..cc05829c Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/5.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/6.png b/packages/maneuvering/image/anim/thunder__slash/6.png new file mode 100644 index 00000000..1a20420b Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/6.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/7.png b/packages/maneuvering/image/anim/thunder__slash/7.png new file mode 100644 index 00000000..63d58ab2 Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/7.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/8.png b/packages/maneuvering/image/anim/thunder__slash/8.png new file mode 100644 index 00000000..5a613d16 Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/8.png differ diff --git a/packages/maneuvering/image/anim/thunder__slash/9.png b/packages/maneuvering/image/anim/thunder__slash/9.png new file mode 100644 index 00000000..a66f543f Binary files /dev/null and b/packages/maneuvering/image/anim/thunder__slash/9.png differ diff --git a/packages/maneuvering/image/anim/vine/0.png b/packages/maneuvering/image/anim/vine/0.png new file mode 100644 index 00000000..ab875374 Binary files /dev/null and b/packages/maneuvering/image/anim/vine/0.png differ diff --git a/packages/maneuvering/image/anim/vine/1.png b/packages/maneuvering/image/anim/vine/1.png new file mode 100644 index 00000000..eb558a2b Binary files /dev/null and b/packages/maneuvering/image/anim/vine/1.png differ diff --git a/packages/maneuvering/image/anim/vine/10.png b/packages/maneuvering/image/anim/vine/10.png new file mode 100644 index 00000000..17d1ffd1 Binary files /dev/null and b/packages/maneuvering/image/anim/vine/10.png differ diff --git a/packages/maneuvering/image/anim/vine/11.png b/packages/maneuvering/image/anim/vine/11.png new file mode 100644 index 00000000..ac41f480 Binary files /dev/null and b/packages/maneuvering/image/anim/vine/11.png differ diff --git a/packages/maneuvering/image/anim/vine/12.png b/packages/maneuvering/image/anim/vine/12.png new file mode 100644 index 00000000..6b6b63b0 Binary files /dev/null and b/packages/maneuvering/image/anim/vine/12.png differ diff --git a/packages/maneuvering/image/anim/vine/13.png b/packages/maneuvering/image/anim/vine/13.png new file mode 100644 index 00000000..a2a92efe Binary files /dev/null and b/packages/maneuvering/image/anim/vine/13.png differ diff --git a/packages/maneuvering/image/anim/vine/14.png b/packages/maneuvering/image/anim/vine/14.png new file mode 100644 index 00000000..b8d5b362 Binary files /dev/null and b/packages/maneuvering/image/anim/vine/14.png differ diff --git a/packages/maneuvering/image/anim/vine/15.png b/packages/maneuvering/image/anim/vine/15.png new file mode 100644 index 00000000..2e317929 Binary files /dev/null and b/packages/maneuvering/image/anim/vine/15.png differ diff --git a/packages/maneuvering/image/anim/vine/16.png b/packages/maneuvering/image/anim/vine/16.png new file mode 100644 index 00000000..9fd7c8b2 Binary files /dev/null and b/packages/maneuvering/image/anim/vine/16.png differ diff --git a/packages/maneuvering/image/anim/vine/17.png b/packages/maneuvering/image/anim/vine/17.png new file mode 100644 index 00000000..9067060f Binary files /dev/null and b/packages/maneuvering/image/anim/vine/17.png differ diff --git a/packages/maneuvering/image/anim/vine/18.png b/packages/maneuvering/image/anim/vine/18.png new file mode 100644 index 00000000..49e6230a Binary files /dev/null and b/packages/maneuvering/image/anim/vine/18.png differ diff --git a/packages/maneuvering/image/anim/vine/19.png b/packages/maneuvering/image/anim/vine/19.png new file mode 100644 index 00000000..4ef44009 Binary files /dev/null and b/packages/maneuvering/image/anim/vine/19.png differ diff --git a/packages/maneuvering/image/anim/vine/2.png b/packages/maneuvering/image/anim/vine/2.png new file mode 100644 index 00000000..9af8e11b Binary files /dev/null and b/packages/maneuvering/image/anim/vine/2.png differ diff --git a/packages/maneuvering/image/anim/vine/20.png b/packages/maneuvering/image/anim/vine/20.png new file mode 100644 index 00000000..e47d3e8e Binary files /dev/null and b/packages/maneuvering/image/anim/vine/20.png differ diff --git a/packages/maneuvering/image/anim/vine/21.png b/packages/maneuvering/image/anim/vine/21.png new file mode 100644 index 00000000..0f64e48a Binary files /dev/null and b/packages/maneuvering/image/anim/vine/21.png differ diff --git a/packages/maneuvering/image/anim/vine/22.png b/packages/maneuvering/image/anim/vine/22.png new file mode 100644 index 00000000..e4008c82 Binary files /dev/null and b/packages/maneuvering/image/anim/vine/22.png differ diff --git a/packages/maneuvering/image/anim/vine/23.png b/packages/maneuvering/image/anim/vine/23.png new file mode 100644 index 00000000..716bc941 Binary files /dev/null and b/packages/maneuvering/image/anim/vine/23.png differ diff --git a/packages/maneuvering/image/anim/vine/3.png b/packages/maneuvering/image/anim/vine/3.png new file mode 100644 index 00000000..d494f211 Binary files /dev/null and b/packages/maneuvering/image/anim/vine/3.png differ diff --git a/packages/maneuvering/image/anim/vine/4.png b/packages/maneuvering/image/anim/vine/4.png new file mode 100644 index 00000000..d6afb164 Binary files /dev/null and b/packages/maneuvering/image/anim/vine/4.png differ diff --git a/packages/maneuvering/image/anim/vine/5.png b/packages/maneuvering/image/anim/vine/5.png new file mode 100644 index 00000000..ca6e2ce4 Binary files /dev/null and b/packages/maneuvering/image/anim/vine/5.png differ diff --git a/packages/maneuvering/image/anim/vine/6.png b/packages/maneuvering/image/anim/vine/6.png new file mode 100644 index 00000000..46c517e7 Binary files /dev/null and b/packages/maneuvering/image/anim/vine/6.png differ diff --git a/packages/maneuvering/image/anim/vine/7.png b/packages/maneuvering/image/anim/vine/7.png new file mode 100644 index 00000000..b974163e Binary files /dev/null and b/packages/maneuvering/image/anim/vine/7.png differ diff --git a/packages/maneuvering/image/anim/vine/8.png b/packages/maneuvering/image/anim/vine/8.png new file mode 100644 index 00000000..586a06c3 Binary files /dev/null and b/packages/maneuvering/image/anim/vine/8.png differ diff --git a/packages/maneuvering/image/anim/vine/9.png b/packages/maneuvering/image/anim/vine/9.png new file mode 100644 index 00000000..d6611229 Binary files /dev/null and b/packages/maneuvering/image/anim/vine/9.png differ diff --git a/packages/maneuvering/image/anim/vineburn/0.png b/packages/maneuvering/image/anim/vineburn/0.png new file mode 100644 index 00000000..96b8aaed Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/0.png differ diff --git a/packages/maneuvering/image/anim/vineburn/1.png b/packages/maneuvering/image/anim/vineburn/1.png new file mode 100644 index 00000000..b4e5aa8b Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/1.png differ diff --git a/packages/maneuvering/image/anim/vineburn/10.png b/packages/maneuvering/image/anim/vineburn/10.png new file mode 100644 index 00000000..f6dbe7a6 Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/10.png differ diff --git a/packages/maneuvering/image/anim/vineburn/11.png b/packages/maneuvering/image/anim/vineburn/11.png new file mode 100644 index 00000000..d83f1048 Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/11.png differ diff --git a/packages/maneuvering/image/anim/vineburn/12.png b/packages/maneuvering/image/anim/vineburn/12.png new file mode 100644 index 00000000..027fe55e Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/12.png differ diff --git a/packages/maneuvering/image/anim/vineburn/13.png b/packages/maneuvering/image/anim/vineburn/13.png new file mode 100644 index 00000000..9fe2ce4a Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/13.png differ diff --git a/packages/maneuvering/image/anim/vineburn/14.png b/packages/maneuvering/image/anim/vineburn/14.png new file mode 100644 index 00000000..d74f3be4 Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/14.png differ diff --git a/packages/maneuvering/image/anim/vineburn/15.png b/packages/maneuvering/image/anim/vineburn/15.png new file mode 100644 index 00000000..d0faecf7 Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/15.png differ diff --git a/packages/maneuvering/image/anim/vineburn/16.png b/packages/maneuvering/image/anim/vineburn/16.png new file mode 100644 index 00000000..974e2334 Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/16.png differ diff --git a/packages/maneuvering/image/anim/vineburn/17.png b/packages/maneuvering/image/anim/vineburn/17.png new file mode 100644 index 00000000..c1987850 Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/17.png differ diff --git a/packages/maneuvering/image/anim/vineburn/18.png b/packages/maneuvering/image/anim/vineburn/18.png new file mode 100644 index 00000000..70e83d7e Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/18.png differ diff --git a/packages/maneuvering/image/anim/vineburn/19.png b/packages/maneuvering/image/anim/vineburn/19.png new file mode 100644 index 00000000..654a25e9 Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/19.png differ diff --git a/packages/maneuvering/image/anim/vineburn/2.png b/packages/maneuvering/image/anim/vineburn/2.png new file mode 100644 index 00000000..97091640 Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/2.png differ diff --git a/packages/maneuvering/image/anim/vineburn/20.png b/packages/maneuvering/image/anim/vineburn/20.png new file mode 100644 index 00000000..fc8055a9 Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/20.png differ diff --git a/packages/maneuvering/image/anim/vineburn/21.png b/packages/maneuvering/image/anim/vineburn/21.png new file mode 100644 index 00000000..f5ad8c5d Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/21.png differ diff --git a/packages/maneuvering/image/anim/vineburn/22.png b/packages/maneuvering/image/anim/vineburn/22.png new file mode 100644 index 00000000..79797669 Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/22.png differ diff --git a/packages/maneuvering/image/anim/vineburn/23.png b/packages/maneuvering/image/anim/vineburn/23.png new file mode 100644 index 00000000..e8a50798 Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/23.png differ diff --git a/packages/maneuvering/image/anim/vineburn/3.png b/packages/maneuvering/image/anim/vineburn/3.png new file mode 100644 index 00000000..5ab60507 Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/3.png differ diff --git a/packages/maneuvering/image/anim/vineburn/4.png b/packages/maneuvering/image/anim/vineburn/4.png new file mode 100644 index 00000000..75c2e888 Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/4.png differ diff --git a/packages/maneuvering/image/anim/vineburn/5.png b/packages/maneuvering/image/anim/vineburn/5.png new file mode 100644 index 00000000..627383e2 Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/5.png differ diff --git a/packages/maneuvering/image/anim/vineburn/6.png b/packages/maneuvering/image/anim/vineburn/6.png new file mode 100644 index 00000000..5de1fadc Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/6.png differ diff --git a/packages/maneuvering/image/anim/vineburn/7.png b/packages/maneuvering/image/anim/vineburn/7.png new file mode 100644 index 00000000..d1b00a25 Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/7.png differ diff --git a/packages/maneuvering/image/anim/vineburn/8.png b/packages/maneuvering/image/anim/vineburn/8.png new file mode 100644 index 00000000..d88e1ad7 Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/8.png differ diff --git a/packages/maneuvering/image/anim/vineburn/9.png b/packages/maneuvering/image/anim/vineburn/9.png new file mode 100644 index 00000000..2866c34f Binary files /dev/null and b/packages/maneuvering/image/anim/vineburn/9.png differ diff --git a/image/card/analeptic.png b/packages/maneuvering/image/card/analeptic.png similarity index 95% rename from image/card/analeptic.png rename to packages/maneuvering/image/card/analeptic.png index 3b98f7fb..432f7246 100644 Binary files a/image/card/analeptic.png and b/packages/maneuvering/image/card/analeptic.png differ diff --git a/image/card/fan.png b/packages/maneuvering/image/card/fan.png similarity index 97% rename from image/card/fan.png rename to packages/maneuvering/image/card/fan.png index 57c2dc83..ca58f05b 100644 Binary files a/image/card/fan.png and b/packages/maneuvering/image/card/fan.png differ diff --git a/image/card/fire_slash.png b/packages/maneuvering/image/card/fire__slash.png similarity index 98% rename from image/card/fire_slash.png rename to packages/maneuvering/image/card/fire__slash.png index ca4b971d..ff4d5728 100644 Binary files a/image/card/fire_slash.png and b/packages/maneuvering/image/card/fire__slash.png differ diff --git a/image/card/fire_attack.png b/packages/maneuvering/image/card/fire_attack.png similarity index 97% rename from image/card/fire_attack.png rename to packages/maneuvering/image/card/fire_attack.png index 947c3fec..4bdc5379 100644 Binary files a/image/card/fire_attack.png and b/packages/maneuvering/image/card/fire_attack.png differ diff --git a/image/card/guding_blade.png b/packages/maneuvering/image/card/guding_blade.png similarity index 98% rename from image/card/guding_blade.png rename to packages/maneuvering/image/card/guding_blade.png index 6d91443a..5e01f975 100644 Binary files a/image/card/guding_blade.png and b/packages/maneuvering/image/card/guding_blade.png differ diff --git a/packages/standard_cards/image/card/hualiu.png b/packages/maneuvering/image/card/hualiu.png similarity index 100% rename from packages/standard_cards/image/card/hualiu.png rename to packages/maneuvering/image/card/hualiu.png diff --git a/image/card/iron_chain.png b/packages/maneuvering/image/card/iron_chain.png similarity index 97% rename from image/card/iron_chain.png rename to packages/maneuvering/image/card/iron_chain.png index 1e8d9350..4bfd8a16 100644 Binary files a/image/card/iron_chain.png and b/packages/maneuvering/image/card/iron_chain.png differ diff --git a/image/card/silver_lion.png b/packages/maneuvering/image/card/silver_lion.png similarity index 98% rename from image/card/silver_lion.png rename to packages/maneuvering/image/card/silver_lion.png index 13a84907..d738c7cc 100644 Binary files a/image/card/silver_lion.png and b/packages/maneuvering/image/card/silver_lion.png differ diff --git a/image/card/supply_shortage.png b/packages/maneuvering/image/card/supply_shortage.png similarity index 98% rename from image/card/supply_shortage.png rename to packages/maneuvering/image/card/supply_shortage.png index 2e52258a..28b5b179 100644 Binary files a/image/card/supply_shortage.png and b/packages/maneuvering/image/card/supply_shortage.png differ diff --git a/image/card/thunder_slash.png b/packages/maneuvering/image/card/thunder__slash.png similarity index 98% rename from image/card/thunder_slash.png rename to packages/maneuvering/image/card/thunder__slash.png index 243197a6..b4c1e0e9 100644 Binary files a/image/card/thunder_slash.png and b/packages/maneuvering/image/card/thunder__slash.png differ diff --git a/image/card/vine.png b/packages/maneuvering/image/card/vine.png similarity index 97% rename from image/card/vine.png rename to packages/maneuvering/image/card/vine.png index 3b8fc843..f1709014 100644 Binary files a/image/card/vine.png and b/packages/maneuvering/image/card/vine.png differ diff --git a/packages/maneuvering/init.lua b/packages/maneuvering/init.lua new file mode 100644 index 00000000..7f9b0e46 --- /dev/null +++ b/packages/maneuvering/init.lua @@ -0,0 +1,316 @@ +local extension = Package:new("maneuvering", Package.CardPack) + +local slash = Fk:cloneCard("slash") + +local thunderSlashSkill = fk.CreateActiveSkill{ + name = "thunder_slash_skill", + max_phase_use_time = 1, + target_num = 1, + can_use = slash.skill.canUse, + target_filter = slash.skill.targetFilter, + on_effect = function(self, room, effect) + local to = effect.to + local from = effect.from + + room:damage({ + from = room:getPlayerById(from), + to = room:getPlayerById(to), + card = effect.card, + damage = 1 + (effect.addtionalDamage or 0), + damageType = fk.ThunderDamage, + skillName = self.name + }) + end +} +local thunderSlash = fk.CreateBasicCard{ + name = "thunder__slash", + skill = thunderSlashSkill, +} + +extension:addCards{ + thunderSlash:clone(Card.Club, 5), + thunderSlash:clone(Card.Club, 6), + thunderSlash:clone(Card.Club, 7), + thunderSlash:clone(Card.Club, 8), + thunderSlash:clone(Card.Spade, 4), + thunderSlash:clone(Card.Spade, 5), + thunderSlash:clone(Card.Spade, 6), + thunderSlash:clone(Card.Spade, 7), + thunderSlash:clone(Card.Spade, 8), +} + +local fireSlashSkill = fk.CreateActiveSkill{ + name = "fire_slash_skill", + max_phase_use_time = 1, + target_num = 1, + can_use = slash.skill.canUse, + target_filter = slash.skill.targetFilter, + on_effect = function(self, room, effect) + local to = effect.to + local from = effect.from + + room:damage({ + from = room:getPlayerById(from), + to = room:getPlayerById(to), + card = effect.card, + damage = 1 + (effect.addtionalDamage or 0), + damageType = fk.FireDamage, + skillName = self.name + }) + end +} +local fireSlash = fk.CreateBasicCard{ + name = "fire__slash", + skill = fireSlashSkill, +} + +extension:addCards{ + fireSlash:clone(Card.Heart, 4), + fireSlash:clone(Card.Heart, 7), + fireSlash:clone(Card.Heart, 10), + fireSlash:clone(Card.Diamond, 4), + fireSlash:clone(Card.Diamond, 5), +} + +local ironChainEffect = fk.CreateTriggerSkill{ + name = "iron_chain_effect", + global = true, + priority = 0, -- game rule + refresh_events = {fk.DamageFinished}, + can_refresh = function(self, event, target, player, data) + return target == player and data.damageType ~= fk.NormalDamage + end, + on_refresh = function(self, event, target, player, data) + local room = player.room + if data.to.chained then + data.to:setChainState(false) + else + return + end + if data.chain then return end + + local targets = table.filter(room:getAlivePlayers(), function(p) + return p.chained + end) + for _, p in ipairs(targets) do + room:sendLog{ + type = "#ChainDamage", + from = p.id + } + local dmg = table.simpleClone(data) + dmg.to = p + dmg.chain = true + room:damage(dmg) + end + end, +} +Fk:addSkill(ironChainEffect) +local ironChainCardSkill = fk.CreateActiveSkill{ + name = "iron_chain_skill", + min_target_num = 1, + max_target_num = 2, + target_filter = function() return true end, + on_effect = function(self, room, cardEffectEvent) + local to = room:getPlayerById(cardEffectEvent.to) + to:setChainState(not to.chained) + end, +} +local ironChain = fk.CreateTrickCard{ + name = "iron_chain", + skill = ironChainCardSkill, +} +extension:addCards{ + ironChain:clone(Card.Spade, 11), + ironChain:clone(Card.Spade, 12), + ironChain:clone(Card.Club, 10), + ironChain:clone(Card.Club, 11), + ironChain:clone(Card.Club, 12), + ironChain:clone(Card.Club, 13), +} + +local supplyShortageSkill = fk.CreateActiveSkill{ + name = "supply_shortage_skill", + distance_limit = 1, + target_filter = function(self, to_select, selected) + if #selected == 0 then + local player = Fk:currentRoom():getPlayerById(to_select) + if Self ~= player then + return not player:hasDelayedTrick("supply_shortage") and + Self:distanceTo(player) <= self:getDistanceLimit(Self) + end + end + return false + end, + target_num = 1, + on_effect = function(self, room, effect) + local to = room:getPlayerById(effect.to) + local judge = { + who = to, + reason = "supply_shortage", + pattern = ".|.|spade,heart,diamond", + } + room:judge(judge) + local result = judge.card + if result.suit ~= Card.Club then + to:skip(Player.Draw) + end + self:onNullified(room, effect) + end, + on_nullified = function(self, room, effect) + room:moveCards{ + ids = room:getSubcardsByRule(effect.card, { Card.Processing }), + toArea = Card.DiscardPile, + moveReason = fk.ReasonPutIntoDiscardPile + } + end, +} +local supplyShortage = fk.CreateDelayedTrickCard{ + name = "supply_shortage", + skill = supplyShortageSkill, +} +extension:addCards{ + supplyShortage:clone(Card.Spade, 10), + supplyShortage:clone(Card.Club, 4), +} + +local gudingSkill = fk.CreateTriggerSkill{ + name = "#guding_blade_skill", + attached_equip = "guding_blade", + frequency = Skill.Compulsory, + events = {fk.DamageCaused}, + can_trigger = function(self, event, target, player, data) + return target == player and player:hasSkill(self.name) and + data.to:isKongcheng() and data.card and data.card.trueName == "slash" and + not data.chain + end, + on_use = function(_, _, _, _, data) + data.damage = data.damage + 1 + end, +} +Fk:addSkill(gudingSkill) +local gudingBlade = fk.CreateWeapon{ + name = "guding_blade", + suit = Card.Spade, + number = 1, + attack_range = 2, + equip_skill = gudingSkill, +} + +extension:addCard(gudingBlade) + +local vineSkill = fk.CreateTriggerSkill{ + name = "#vine_skill", + attached_equip = "vine", + mute = true, + frequency = Skill.Compulsory, + + events = {fk.PreCardEffect, fk.DamageInflicted}, + can_trigger = function(self, event, target, player, data) + if event == fk.DamageInflicted then + return target == player and player:hasSkill(self.name) and + data.damageType == fk.FireDamage + end + local effect = data ---@type CardEffectEvent + return player.id == effect.to and player:hasSkill(self.name) and + (effect.card.name == "slash" or effect.card.name == "savage_assault" or + effect.card.name == "archery_attack") + end, + on_use = function(self, event, target, player, data) + local room = player.room + if event == fk.DamageInflicted then + room:broadcastPlaySound("./packages/maneuvering/audio/card/vineburn") + room:setEmotion(player, "./packages/maneuvering/image/anim/vineburn") + data.damage = data.damage + 1 + else + room:broadcastPlaySound("./packages/maneuvering/audio/card/vine") + room:setEmotion(player, "./packages/maneuvering/image/anim/vine") + return true + end + end, +} +Fk:addSkill(vineSkill) +local vine = fk.CreateArmor{ + name = "vine", + equip_skill = vineSkill, +} +extension:addCards{ + vine:clone(Card.Spade, 2), + vine:clone(Card.Club, 2), +} + +local silverLionSkill = fk.CreateTriggerSkill{ + name = "#silver_lion_skill", + attached_equip = "silver_lion", + frequency = Skill.Compulsory, + events = {fk.DamageInflicted}, + can_trigger = function(self, event, target, player, data) + return target == player and player:hasSkill(self.name) and data.damage > 1 + end, + on_use = function(_, _, _, _, data) + data.damage = 1 + end, +} +Fk:addSkill(silverLionSkill) +local silverLion = fk.CreateArmor{ + name = "silver_lion", + suit = Card.Club, + number = 1, + equip_skill = silverLionSkill, + on_uninstall = function(self, room, player) + Armor.onUninstall(self, room, player) + if player:isWounded() then + room:broadcastPlaySound("./packages/maneuvering/audio/card/silver_lion") + room:setEmotion(player, "./packages/maneuvering/image/anim/silver_lion") + room:recover{ + who = player, + num = 1, + skillName = self.name + } + end + end, +} +extension:addCard(silverLion) + +local huaLiu = fk.CreateDefensiveRide{ + name = "hualiu", + suit = Card.Diamond, + number = 13, +} + +extension:addCards({ + huaLiu, +}) + +extension:addCards{ + Fk:cloneCard("jink", Card.Heart, 8), + Fk:cloneCard("jink", Card.Heart, 9), + Fk:cloneCard("jink", Card.Heart, 11), + Fk:cloneCard("jink", Card.Heart, 12), + Fk:cloneCard("jink", Card.Diamond, 6), + Fk:cloneCard("jink", Card.Diamond, 7), + Fk:cloneCard("jink", Card.Diamond, 8), + Fk:cloneCard("jink", Card.Diamond, 10), + Fk:cloneCard("jink", Card.Diamond, 11), + + Fk:cloneCard("peach", Card.Heart, 5), + Fk:cloneCard("peach", Card.Heart, 6), + Fk:cloneCard("peach", Card.Diamond, 2), + Fk:cloneCard("peach", Card.Diamond, 3), + + Fk:cloneCard("nullification", Card.Heart, 1), + Fk:cloneCard("nullification", Card.Heart, 13), + Fk:cloneCard("nullification", Card.Spade, 13), +} + +Fk:loadTranslationTable{ + ["thunder__slash"] = "雷杀", + ["fire__slash"] = "火杀", + ["iron_chain"] = "铁锁连环", + ["supply_shortage"] = "兵粮寸断", + ["guding_blade"] = "古锭刀", + ["vine"] = "藤甲", + ["silver_lion"] = "白银狮子", + ["hualiu"] = "骅骝", +} + +return extension diff --git a/packages/standard_cards/init.lua b/packages/standard_cards/init.lua index 286c13aa..31bea742 100644 --- a/packages/standard_cards/init.lua +++ b/packages/standard_cards/init.lua @@ -597,9 +597,9 @@ local lightningSkill = fk.CreateActiveSkill{ end, on_nullified = function(self, room, effect) local to = room:getPlayerById(effect.to) - local nextp + local nextp = to repeat - nextp = to:getNextAlive() + nextp = nextp:getNextAlive() if nextp == to then return end until not nextp:hasDelayedTrick("lightning") diff --git a/qml/Pages/skin-bank.js b/qml/Pages/skin-bank.js index 28f56a8a..e1441bd1 100644 --- a/qml/Pages/skin-bank.js +++ b/qml/Pages/skin-bank.js @@ -32,6 +32,11 @@ function getCardPicture(cid) { let path = AppPath + "/packages/" + extension + "/image/card/" + name + ".png"; if (Backend.exists(path)) { return path; + } else { + for (let dir of Backend.ls(AppPath + "/packages/")) { + path = AppPath + "/packages/" + dir + "/image/card/" + name + ".png"; + if (Backend.exists(path)) return path; + } } return CARD_DIR + "unknown.png"; }