Lines 87.50% 7 / 8
Methods 80.00% 4 / 5
Classes 0.00% 0 / 1
Name Lines Methods CRAP
 channel 100.00% 1 / 1 100.00% 1 / 1 1
 phrase 100.00% 1 / 1 100.00% 1 / 1 1
 summary 0.00% 0 / 1 0.00% 0 / 1 2
 [Lorekeeper\Server\Event\NoticeEvent] __construct 100.00% 1 / 1 100.00% 1 / 1 1
 [Lorekeeper\Server\Event\NoticeEvent] from 100.00% 4 / 4 100.00% 1 / 1 1
10final readonly class MapRequiresQuestEvent extends NoticeEvent
11{
12    #[Override]
13    protected static function channel(): string
14    {
15        return 'warning';
16    }
17
18    #[Override]
19    protected static function phrase(): string
20    {
21        return 'that map requires special quest actions';
22    }
23
24    #[Override]
25    public function summary(): string
26    {
27        return 'That map requires special quest actions';
28    }
29}

Inherited from Lorekeeper\Server\Event\NoticeEvent

15    final public function __construct() {}
23    final public static function from(Message $message): Option\Option
24    {
25        return Notice::text($message, static::channel())->filter(static fn(string $text): bool => str_contains(
26            strtolower($text),
27            static::phrase(),
28        ))->map(static fn(): static => new static());
29    }