Coverage for thb/meta/characters/medicine.py : 95%
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 -*-
2from __future__ import annotations
4# -- stdlib --
5# -- third party --
6# -- own --
7from thb import characters
8from thb.meta.common import ui_meta
11# -- code --
12@ui_meta(characters.medicine.Medicine)
13class Medicine:
14 # Character
15 name = '梅蒂欣'
16 title = '小小的甜蜜毒药'
17 illustrator = '和茶'
18 cv = 'VV'
20 port_image = 'thb-portrait-medicine'
21 figure_image = 'thb-figure-medicine'
22 miss_sound_effect = 'thb-cv-medicine_miss'
24 notes = '|RKOF不平衡角色|r'
27@ui_meta(characters.medicine.Ciguatera)
28class Ciguatera:
29 # Skill
30 name = '神经之毒'
31 description = '一名角色准备阶段开始时,你可以弃置一张黑色牌,令其失去1点体力并获得|B喝醉|r状态。'
34@ui_meta(characters.medicine.CiguateraAction)
35class CiguateraAction:
36 def effect_string_before(self, act):
37 return '|G【%s】|r对|G【%s】|r使用了|G神经之毒|r。' % (
38 act.source.ui_meta.name,
39 act.target.ui_meta.name
40 )
42 def sound_effect(self, act):
43 return 'thb-cv-medicine_ciguatera'
46@ui_meta(characters.medicine.CiguateraHandler)
47class CiguateraHandler:
48 def choose_card_text(self, act, cards):
49 return act.cond(cards), '弃置一张黑色牌,发动【神经之毒】'
52@ui_meta(characters.medicine.Melancholy)
53class Melancholy:
54 # Skill
55 name = '忧郁之毒'
56 description = '每当你受到一次有来源的伤害后,你可以展示并获得牌堆顶的一张牌,若此牌不是梅花牌,伤害来源不能使用或打出手牌,直到回合结束。'
59@ui_meta(characters.medicine.MelancholyPoison)
60class MelancholyPoison:
61 name = '忧郁之毒(效果)'
63 def is_complete(self, skill):
64 return (False, '忧郁之毒:无法使用或打出手牌直到该回合结束')
66 def is_action_valid(self, sk, tl):
67 return (False, '忧郁之毒:无法使用或打出手牌直到该回合结束')
70@ui_meta(characters.medicine.MelancholyAction)
71class MelancholyAction:
72 def effect_string_before(self, act):
73 return '|G【%s】|r对|G【%s】|r使用了|G忧郁之毒|r。' % (
74 act.source.ui_meta.name,
75 act.target.ui_meta.name
76 )
78 def effect_string(self, act):
79 return ('|G【%s】|r陷入了忧郁。' if act.effective
80 else '但|G【%s】|r缓了过来。') % act.target.ui_meta.name
82 def sound_effect(self, act):
83 return 'thb-cv-medicine_melancholy'
86@ui_meta(characters.medicine.MelancholyHandler)
87class MelancholyHandler:
88 # choose_option
89 choose_option_buttons = (('发动', True), ('不发动', False))
90 choose_option_prompt = '是否发动【忧郁之毒】'
93@ui_meta(characters.medicine.MelancholyLimit)
94class MelancholyLimit:
95 target_independent = True
96 shootdown_message = '【忧郁】你不能使用或打出手牌'