# Coverage for thb/meta/characters/flandre.py : 98%

## 34 statements 33 run 1 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 from __future__ import annotations

3

4# -- stdlib --

5# -- third party --

6# -- own --

7 from thb import characters

8 from thb.meta.common import ui_meta

9

10

11# -- code --

12@ui_meta(characters.flandre.Flandre)

13 class Flandre:

14 # Character

15 name = '芙兰朵露'

16 title = '恶魔之妹'

17 illustrator = '月见'

18 cv = 'shourei小N'

19

20 port_image = 'thb-portrait-flandre'

21 figure_image = 'thb-figure-flandre'

22 miss_sound_effect = 'thb-cv-flandre_miss'

23

24

25@ui_meta(characters.flandre.CriticalStrike)

26 class CriticalStrike:

27 # Skill

28 name = '狂咲'

29 description = (

30 '摸牌阶段，你可以少摸一张牌，若如此做，你获得以下效果直到回合结束：\n'

31 '|B|R>> |r当你没有干劲时，你可以对本阶段内没有成为过|G弹幕|r目标的其他角色使用|G弹幕|r。\n'

32 '|B|R>> |r你为伤害来源的|G弹幕|r和|G弹幕战|r造成的伤害+1。'

33 )

34

35

36@ui_meta(characters.flandre.CriticalStrikeHandler)

37 class CriticalStrikeHandler:

38 # choose_option

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

40 choose_option_prompt = '你要发动【狂咲】吗？'

41

42

43@ui_meta(characters.flandre.CriticalStrikeLimit)

44 class CriticalStrikeLimit:

45 target_independent = False

46 shootdown_message = '你对这个角色使用过弹幕了'

47

48

49@ui_meta(characters.flandre.CriticalStrikeAction)

50 class CriticalStrikeAction:

51 def effect_string(self, act):

52 return '|G【%s】|r突然呵呵一笑，进入了黑化状态！' % (

53 act.target.ui_meta.name,

54 )

55

56 def sound_effect(self, act):

57 return 'thb-cv-flandre_cs'

58

59

60@ui_meta(characters.flandre.Exterminate)

61 class Exterminate:

62 # Skill

63 name = '毁灭'

64 description = '|B锁定技|r，每当你使用|G弹幕|r或|G弹幕战|r指定其他角色为目标后，其所有技能无效直到回合结束。'

65

66

67@ui_meta(characters.flandre.ExterminateAction)

68 class ExterminateAction:

69 def effect_string(self, act):

70 return '|G【%s】|r被|G【%s】|r玩坏了……' % (

71 act.target.ui_meta.name,

72 act.source.ui_meta.name,

73 )

74

75 def sound_effect(self, act):

76 return None

77 return 'thb-cv-flandre_cs'