# VirtualSlash **Repository Path**: skyfallen/VirtualSlash ## Basic Information - **Project Name**: VirtualSlash - **Description**: 虚幻杀(前Vup杀) - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-08 - **Last Updated**: 2026-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### To 玩家 #### 规则相关 ##### 专业用语及相关调整 > 存活 > > 在场 > > 死亡 > > 离场 > > 武将 > > 角色 > > 击杀 > > 击败 > > 濒死 > > 濒危 > > 置于角色牌上 > > 外置 ##### **新旧机制及相关调整** ###### **指定目标** 在三国杀中,一名角色使用牌指定N个目标,将会产生N个“指定目标时”“指定目标后”时机。 在三国杀中的“你使用牌指定一名角色为目标后”将会依次询问对每名目标是否发动技能。 以上部分均继承三国杀。 ###### 轮次 “轮次开始时”的基础概念继承三国杀。 虚幻杀的轮次数可以被技能更改。 增加轮次数不会触发“轮次开始时”时机,也不会影响持续一轮的延时效果的结算,仅增加轮次计数。 ###### 性别 虚幻杀的性别结算规则参考新月杀雌雄双股剑逻辑。 > 无性角色与任何其他角色的性别不同;双性角色与除无性角色外的任何其他角色的性别相同。 ###### 返回牌堆 将牌置入牌堆,这些被置入牌堆的牌将会被分别插入牌堆的任意位置。 ### To 程序员 文字描述的命名方式: ##### 角色及相关 角色命名:v*_【角色拼音】*_角色称号拼音缩写 ##### 技能及相关 技能命名:#v*_【技能拼音】*_特定描述 如果仅指定该技能,则不需要#及特定描述 如果技能为隐藏技能,则依然需要# > 特定描述规则暂定如下 > > 询问技能是否发动:ask > > 技能询问发动的原因不同:ask_询问理由首字母/询问理由英文 > > · 如小希【传输】,置于角色牌部分为ask_put,令其他人摸牌为ask_draw > > 技能存在若干选项:choice > > 技能对应的选项:choice_选项拼音首字母/选项英文【待定,也可能就是0123之类的】 > > · 如该选项存在较通用的英文,如摸牌(draw),弃置,确定(confirm)等,则优先使用英文,摸几张牌表述类似draw_1/draw_2。 > > 游戏信息记录类:log_记录理由首字母/记录理由英文 > > 技能卡牌框及相关信息:【待定】 > > 标记:mark_记录理由首字母/记录理由英文 > > 存在特定条件下会被清除的牌,该类效果的处理写在了前aux_skill中,后续需要转一下才能用。 轮次及真实轮次:技能描述中提到“轮次”的用轮次(roundcount),没提到“轮次”而只是为了防止首轮BUG的用真实轮次(@v_trueround)。 > > 后续针对使用@v_trueround的技能,做无真实轮次情况的适配。 > > 完成适配后请使用适配代码编写。 ##### 游戏全局日志相关 **后续计划相关** · 为虚拟斗地主,联动时刻等专属模式增加副将适配,禁止使用特定角色;为联动时刻增加随机队友机制。 > >副将适配暂无法完成,需要对选角函数进行重构,其中联动时刻选角函数涉及QML UI,因此暂时搁置。 > >以及虚拟身份局,虚拟斗地主,联动时刻等“禁止使用特定角色”功能也需要对选角函数进行重构。 · 将礼墨的“铆定”词条制作方式改为提供标记,如有标记则回合外锁定装备区,这样便于部分技能可以针对“铆定”词条。 > >此方案后续可以为“铆定”标记提供图标标记,便于玩家游玩;过渡期先使用类似于YY技能的标记(武防御攻宝;手装判)。 > >将铆定及解铆的效果作为集成代码置于utility,控制发动与否取决于trigger。 > >可以借助的函数:player.room:cancelMove(data, {info.cardId})。 > >由于高概率要用到状态栏,否则无法实际了解铆定状态,建议等新月杀UI重构完毕后再进行。 · 全局技能调整。 > >全局技能逻辑判断:global技能只要extension:loadSkillSkelsByPath()包含了该技能,无论是否存在角色使用技能都会生效。 > >如进行调整,如何保证相关角色离场时清理部分依然可以运行待定;是否绑定在规则内待定。 · 增加胜率计算条件:未使用测试角色谋徐盛,未使用非VSL角色,未自选角色,未开启双将。 · 后续针对为了防止首轮BUG使用@v_trueround的技能,做无真实轮次情况的适配。 > >目前除模式以外,仅“通感”存在此类适配需要完成。 · 玩家状态栏:将非图标标记但需要替玩家记住的内容放进去,需要注意如果这么做可能需要另行写一份针对状态栏的按固定节点的清除函数,并关注其发动后对内存的占用【后续官方可能会出】。 > >可以先从主副角色专属标签,沙月福音标签等之类的开始。 > >其他的一点点来,私家牌堆先不管。 > >建议等新月杀UI重构完毕后再进行。 · AI敌我判断:由于现版本官方敌我判断仅基于身份局,因此针对不同模式需要特殊化定制,建议使用重包装,在本作utility中重包装判断并判定模式,如为身份模式,则依然使用官方判断;否则根据代码内容自行判断(建议一个模式包装一个判断函数然后汇总在总的敌我判断里。 · 【待定】VSL专属函数范围拓宽:为防止官方频繁重置影响游戏运行,计划将一些官方常用函数重包装,这样只需要重写重包装的函数即可。 > >重写函数范围,无参数如何应对等都需要考虑。 · 技能动态描述优化。 > >关键字dynamic_desc。 · 将所有技能的延时效果通过is_delay_effect=true完成规范化。 > >第一轮基本写完,神临纠结一下;后续可能要再行检查和定义。 **已完成计划相关** 20260213: 卡牌标签清理者代码汇总至utility,各技能按需调用;新月杀官方清理者也可按需取用。 > >新月杀官方清理者可以和其他非同类清理者同时调用,通过类似于-inhand-turn的方式调用即可。 > >新月杀官方-inhand只要从自己手牌区离开的牌就会触发卡牌标记清空,如果需要到其他人手牌区还有标记(如**止鸽**),建议在utility中增加内容在相关技能中引用,让此类牌在移动后依然可以保留对应的标记(方式也可以一定程度参考**止鸽**)。 > >备选方案:将清理者交给各模式调用而非各角色调用(待定)。 20260305:重写VslUtil.canUseCard()及VslUtil.canUseCardTo()。 > >所有使用目标类判定均使用此二函数,其他条件后续根据实际开发增加。 20260313:为虚拟斗地主,联动时刻等专属模式增加过劳模式。 20260313:aux_skill的内容已完成调整。 > >部分内容与游戏模式绑定,后续可能考虑为需要此类全局技能的角色做无此类技能的代码匹配,避免跨包BUG。 20260314:所有角色势力统一为“虚幻”。 > >角色其他元素计划作为标签后续加入游戏。 20260324:为角色增添所属社团,所属属性,所属种族等标签。 > >是否使用图标待定,因为存在单个角色图标标记上限的风险,需要考虑到延时锦囊的前提下测试该内容。 > >20260324:现情况下未超出上限,且延时锦囊从左往右和角色图标从右往左,图层在角色图标下方; >但现在的图标标记会遮住数字。 > >如必要,后续将其合并至状态栏。 20260324:为虚拟斗地主,联动时刻等专属模式增加冰属性伤害特效适配。 20260520:土豆雷调整计划:放入一个可以视为手牌使用/打出的牌堆里。