# Coverage for thb/meta/characters/reisen.py : 94%

## 50 statements 46 run 4 missing 0 excluded 0 partial

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 import random

5

6# -- third party --

7# -- own --

8 from thb import characters

9 from thb.meta.common import ui_meta

10

11# -- code --

12

13

14@ui_meta(characters.reisen.Reisen)

15 class Reisen:

16 # Character

17 name = '铃仙'

18 title = '永琳的首席药品品尝官'

19 illustrator = '镜_Area@幻想梦斗符'

20 cv = '小羽'

21

22 port_image = 'thb-portrait-reisen'

23 figure_image = 'thb-figure-reisen'

24 miss_sound_effect = 'thb-cv-reisen_miss'

25

26

27@ui_meta(characters.reisen.ReisenKOF)

28 class ReisenKOF:

29 # Character

30 name = '铃仙'

31 title = '永琳的首席药品品尝官'

32 illustrator = '镜_Area@幻想梦斗符'

33 cv = '小羽'

34

35 port_image = 'thb-portrait-reisen'

36 figure_image = 'thb-figure-reisen'

37 miss_sound_effect = 'thb-cv-reisen_miss'

38

39 notes = '|RKOF修正角色|r'

40

41

42@ui_meta(characters.reisen.Lunatic)

43 class Lunatic:

44 # Skill

45 name = '狂气'

46 description = (

47 '当你使用|G弹幕|r或|G弹幕战|r对其他角色造成伤害后，你可以令其获得技能丧心。\n'

48 '|B|R>> |b丧心|r：|B锁定技|r，出牌阶段，你不能使用|G弹幕|r以外的牌；你使用|G弹幕|r只能指定距离最近的目标；结束阶段开始时，你失去此技能。'

49 )

50

51

52@ui_meta(characters.reisen.Discarder)

53 class Discarder:

54 # Skill

55 name = '丧心'

56 description = '|B锁定技|r，出牌阶段，你不能使用|G弹幕|r以外的牌；你使用|G弹幕|r只能指定距离最近的目标；结束阶段开始时，你失去此技能。'

57

58

59@ui_meta(characters.reisen.MahjongDrug)

60 class MahjongDrug:

61 # Skill

62 name = '生药'

63 description = '每当你因使用|G麻薯|r回复体力后，你可以获得|B喝醉|r状态。'

64

65

66@ui_meta(characters.reisen.MahjongDrugAction)

67 class MahjongDrugAction:

68 def effect_string(self, act):

69 return '|G【%s】|r：“国士无双之药，认准蓝瓶的！”' % act.target.ui_meta.name

70

71 def sound_effect(self, act):

72 return 'thb-cv-reisen_mahjongdrug'

73

74

75@ui_meta(characters.reisen.MahjongDrugHandler)

76 class MahjongDrugHandler:

77 choose_option_prompt = '你要发动【生药】吗？'

78 choose_option_buttons = (('发动', True), ('不发动', False))

79

80

81@ui_meta(characters.reisen.LunaticHandler)

82 class LunaticHandler:

83 choose_option_prompt = '你要发动【狂气】吗？'

84 choose_option_buttons = (('发动', True), ('不发动', False))

85

86

87@ui_meta(characters.reisen.LunaticAction)

88 class LunaticAction:

89 def effect_string(self, act):

90 return '|G【%s】|r看着|G【%s】|r的眼睛，突然觉得自己可以打10个！' % (

91 act.target.ui_meta.name,

92 act.source.ui_meta.name,

93 )

94

95 def sound_effect(self, act):

96 return 'thb-cv-reisen_lunatic%d' % random.choice([1, 2])

97

98

99@ui_meta(characters.reisen.DiscarderAttackOnly)

100 class DiscarderAttackOnly:

101 target_independent = True

102 shootdown_message = '【丧心】你不能使用弹幕以外的牌'

103

104

105@ui_meta(characters.reisen.DiscarderDistanceLimit)

106 class DiscarderDistanceLimit:

107 shootdown_message = '【丧心】你只能对离你最近的角色使用弹幕'