Lines 100.00% 1 / 1
Functions and Methods 100.00% 1 / 1
Classes and Traits 100.00% 1 / 1
Name Lines Functions and Methods CRAP Classes and Traits
QuestLoadedQuest 100.00% 1 / 1 100.00% 1 / 1 1 100.00% 1 / 1
 __construct 100.00% 1 / 1 100.00% 1 / 1 1
1<?php
2
3declare(strict_types=1);
4
5namespace Lorekeeper\Server\Event\Quest;
6
7use Lorekeeper\Core\World\Quest\Objective\QuestObjective;
8use Lorekeeper\Core\World\Quest\QuestDescription;
9use Lorekeeper\Core\World\Quest\QuestId;
10use Lorekeeper\Core\World\Quest\QuestName;
11use Lorekeeper\Core\World\Quest\Requirement\QuestRequirement;
12use Lorekeeper\Core\World\Quest\Reward\QuestReward;
13use Psl\Option\Option;
14
15final readonly class QuestLoadedQuest
16{
17    /**
18     * @param Option<QuestDescription> $description
19     * @param list<QuestRequirement> $requirements
20     * @param list<QuestObjective> $objectives
21     * @param list<QuestReward> $rewards
22     *
23     * @mago-expect lint:excessive-parameter-list
24     */
25    public function __construct(
26        public QuestId $id,
27        public QuestName $name,
28        public Option $description,
29        public array $requirements,
30        public array $objectives,
31        public array $rewards,
32    ) {}
33}