Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1# -*- coding: utf-8 -*- 

2 

3# -- stdlib -- 

4# -- third party -- 

5# -- own -- 

6from thb import actions, characters 

7from thb.meta.common import ui_meta 

8 

9# -- code -- 

10 

11 

12@ui_meta(characters.rumia.Darkness) 

13class Darkness: 

14 # Skill 

15 name = '黑暗' 

16 description = ( 

17 '出牌阶段限一次,你可以弃置一张牌并指定一名其他角色,令其选择一项:\n' 

18 '|B|R>> |r对其攻击范围内另一名你指定的其他角色使用一张|G弹幕|r。\n' 

19 '|B|R>> |r受到你造成的1点伤害。' 

20 ) 

21 

22 custom_ray = True 

23 

24 def clickable(self, game): 

25 try: 

26 if self.limit1_skill_used('darkness_tag'): 

27 return False 

28 act = game.action_stack[-1] 

29 if isinstance(act, actions.ActionStage): 

30 return True 

31 except IndexError: 

32 pass 

33 return False 

34 

35 def is_action_valid(self, sk, tl): 

36 cl = sk.associated_cards 

37 if not cl or len(cl) != 1: 

38 return (False, '请选择一张牌') 

39 

40 if not len(tl): 

41 return (False, '请选择第一名玩家(向第二名玩家出【弹幕】)') 

42 elif len(tl) == 1: 

43 return (False, '请选择第二名玩家(【弹幕】的目标)') 

44 else: 

45 return (True, '你们的关系…是~这样吗?') 

46 

47 def effect_string(self, act): 

48 # for LaunchCard.ui_meta.effect_string 

49 return '|G【%s】|r在黑暗中一通乱搅,结果|G【%s】|r和|G【%s】|r打了起来!' % ( 

50 act.source.ui_meta.name, 

51 act.target_list[0].ui_meta.name, 

52 act.target_list[1].ui_meta.name, 

53 ) 

54 

55 def sound_effect(self, act): 

56 return 'thb-cv-rumia_darkness' 

57 

58 

59@ui_meta(characters.rumia.DarknessKOF) 

60class DarknessKOF: 

61 # Skill 

62 name = '黑暗' 

63 description = '|B登场技|r,你登场的回合,对方使用牌时不能指定你为目标。' 

64 

65 

66@ui_meta(characters.rumia.DarknessKOFAction) 

67class DarknessKOFAction: 

68 

69 def effect_string(self, act): 

70 return '|G【%s】|r一出现天就黑了,低头都看不见胖次!' % act.source.ui_meta.name 

71 

72 def sound_effect(self, act): 

73 return 'thb-cv-rumia_darkness_kof' 

74 

75 

76@ui_meta(characters.rumia.DarknessKOFLimit) 

77class DarknessKOFLimit: 

78 shootdown_message = '【黑暗】你不能对其使用卡牌' 

79 

80 

81@ui_meta(characters.rumia.DarknessAction) 

82class DarknessAction: 

83 def ray(self, act): 

84 src = act.source 

85 tl = act.target_list 

86 return [(src, tl[0]), (tl[0], tl[1])] 

87 

88 def choose_card_text(self, g, act, cards): 

89 if act.cond(cards): 

90 return (True, '使用【弹幕】') 

91 else: 

92 return (False, '请使用一张【弹幕】(否则受到一点伤害)') 

93 

94 

95@ui_meta(characters.rumia.Cheating) 

96class Cheating: 

97 # Skill 

98 name = '作弊' 

99 description = '|B锁定技|r,结束阶段开始时,你摸一张牌。' 

100 

101 

102@ui_meta(characters.rumia.CheatingDrawCards) 

103class CheatingDrawCards: 

104 def effect_string(self, act): 

105 return '突然不知道是谁把太阳挡住了。等到大家回过神来,赫然发现牌堆里少了一张牌!' 

106 

107 def sound_effect(self, act): 

108 return 'thb-cv-rumia_cheat' 

109 

110 

111@ui_meta(characters.rumia.Rumia) 

112class Rumia: 

113 # Character 

114 name = '露米娅' 

115 title = '宵暗的妖怪' 

116 illustrator = '和茶' 

117 cv = '小羽' 

118 

119 port_image = 'thb-portrait-rumia' 

120 figure_image = 'thb-figure-rumia' 

121 miss_sound_effect = 'thb-cv-rumia_miss' 

122 

123 

124@ui_meta(characters.rumia.RumiaKOF) 

125class RumiaKOF: 

126 # Character 

127 name = '露米娅' 

128 title = '宵暗的妖怪' 

129 illustrator = '和茶' 

130 cv = '小羽' 

131 

132 port_image = 'thb-portrait-rumia' 

133 figure_image = 'thb-figure-rumia' 

134 miss_sound_effect = 'thb-cv-rumia_miss' 

135 

136 notes = '|RKOF修正角色'