General
PromptBeginner5 minmarkdown
<h1 align="center">
<a href="https://prompts.chat">
5
classDiagram
Sign in to like and favorite skills
classDiagram direction LR Skill <|-- ActiveSkill ActiveSkill <|-- MainPhaseSkill Skill <|-- TriggeredSkill namespace 大部分技能 { class ActiveSkill { +bool canUse() +void executeProtocol() } class TriggeredSkill { ResolveResult execute() } class MainPhaseSkill { +bool canUse() = false +bool mainPhaseNeedNotify() } } class Skill { +SkillId skillId +bool isInitialSkill } Skill <|.. InvalidSkill OneTurnSkill <|.. CannotPlayCard Skill <|.. OneTurnSkill Skill <|.. BeforeDieSkill Skill <|.. ChangeDrawCardCountSkill Skill <|.. ChangeGameResultSkill Skill <|.. WinSkill Skill <|.. ConvertCardSkill OneTurnSkill <|.. MustReceiveMessage namespace 生成出的技能 { class InvalidSkill { +bool isInitialSkill = false } class OneTurnSkill class CannotPlayCard { -List cardType +bool forbidAllCard +bool cannotPlayCard() } class MustReceiveMessage { +bool mustReceive() +bool cannotReceive() } } namespace 特殊的技能 { class BeforeDieSkill class ChangeDrawCardCountSkill { +int changeDrawCardCount() } class ChangeGameResultSkill { +void changeGameResult() } class WinSkill { +void checkWin() } class ConvertCardSkill { +card_type cardTypeA +List<card_type> cardTypeB +bool must +void onConvert() } } Skill <|.. SendMessageDirectionSkill Skill <|.. SendMessageCanLockSkill Skill <|.. SendMessageCardSkill namespace 传情报相关 { class SendMessageDirectionSkill { +bool checkDir() } class SendMessageCanLockSkill { +bool checkCanLock() } class SendMessageCardSkill { +bool checkSendCard() } }
技能
Skill是基类。其中有个变量叫做isInitialSkill,表示是否是开局就拥有的技能,只有isInitialSkill=true的技能会被无效。
InvalidSkill,它是某个isInitialSkill=true的技能被无效后套了一个壳,回合结束的时候会放出来。OneTurnSkill,回合结束就失去这个技能。技能分为两类,
ActiveSkill和TriggeredSkill
ActiveSkill是出牌阶段、争夺阶段、有人濒死时主动使用的技能。下面有一种特殊的子类:MainPhaseSkill,
仅在出牌阶段可以使用的技能,这种技能如果没有使用,直接点结束出牌阶段,会弹提示。TriggeredSkill是其它时间触发的技能。只继承于InvalidSkill,不属于Skill和ActiveSkillTriggeredSkill
如果一个玩家不可能可以使用技能且不可能可以出牌,则争夺阶段、濒死求澄清会被跳过。
ActiveSkill的技能并且canUse方法判断争夺阶段可以使用技能,或者他是隐藏角色并且从未正面过,说明他可能可以使用技能。有一个特殊的技能叫
CannotPlayCard,拥有这个技能的玩家不能出牌,它继承于OneTurnSkill,它有两个参数,被禁的卡牌类型列表、是否是禁了所有牌。
[!NOTE] 【禁闭】【强令】【调虎离山】会让目标玩家/所有玩家获得一个
技能。CannotPlayCard
有一种特殊的技能叫
ConvertCardSkill,拥有这个技能的玩家的卡牌会被转化,它有三个参数,A、B、是否必须必须转化。
当玩家打出的卡牌实际是A时:
[!NOTE] SP李宁玉的应变继承于
。 变则通让所有玩家获得一个继承于ConvertCardSkill(Jie_Huo, Wu_Dao, false)和ConvertCardSkill(A, B,true)的技能。OneTurnSkill
有一种特殊的技能叫
MustReceiveCardSkill,本回合必须接收/必须不能接收情报,它继承于OneTurnSkill
[!NOTE] 小铃铛和边云疆会让别人获得一个继承于
和的技能。MustReceiveCardSkill
SendMessageDirectionSkill,它会影响可以传出情报的方向SendMessageCanLockSkill,它会影响传出的情报是否能锁定SendMessageCardSkill,它会影响能传出哪张情报相同类型的技能,后来的技能会使先来的技能失效
有一种特殊的技能叫
WinSkill,它会在身份规则以外宣胜
有一种特殊的技能叫
ChangeGameResultSkill,它会影响游戏结果
有一种特殊的技能叫
BeforeDieSkill。对于这种技能,自己无需存活也能发动。
有一种特殊的技能叫
ChangeDrawCardCountSkill,它会影响摸牌阶段摸牌的数量。