manabrew_engine/keyword/
modular.rs1use super::keyword_instance::Keyword;
6use super::keyword_with_amount::KeywordWithAmount;
7
8#[derive(Debug, Clone)]
13pub struct Modular {
14 pub inner: KeywordWithAmount,
15 pub sunburst: bool,
17}
18
19impl Modular {
20 pub fn new(original: String) -> Self {
22 Self {
23 inner: KeywordWithAmount::new(Keyword::Modular, original),
24 sunburst: false,
25 }
26 }
27
28 pub fn parse(&mut self, details: &str) {
30 if details == "Sunburst" {
31 self.sunburst = true;
32 } else {
33 self.inner.parse(details);
34 }
35 }
36
37 pub fn get_title(&self) -> String {
39 if self.sunburst {
40 "Modular\u{2014}Sunburst".to_string()
41 } else {
42 self.inner.get_title()
43 }
44 }
45
46 pub fn get_amount_string(&self) -> String {
48 if self.sunburst {
49 "Sunburst".to_string()
50 } else {
51 self.inner.get_amount_string()
52 }
53 }
54
55 pub fn format_reminder_text(&self, reminder_text: &str) -> String {
57 if self.sunburst {
58 "This enters with a +1/+1 counter on it for each color of mana spent to cast it. When it dies, you may put its +1/+1 counters on target artifact creature.".to_string()
59 } else {
60 self.inner.format_reminder_text(reminder_text)
61 }
62 }
63}