1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package de.kaiserpfalzedv.rpg.torg.model.core;
19
20 import com.fasterxml.jackson.annotation.JsonInclude;
21 import lombok.AllArgsConstructor;
22 import lombok.Builder;
23 import lombok.Getter;
24 import lombok.ToString;
25 import lombok.extern.jackson.Jacksonized;
26 import org.eclipse.microprofile.openapi.annotations.media.Schema;
27
28 import java.util.Set;
29
30
31
32
33
34
35
36 @Jacksonized
37 @Builder(toBuilder = true)
38 @AllArgsConstructor
39 @Getter
40 @ToString
41 @JsonInclude(JsonInclude.Include.NON_ABSENT)
42 public class Armor {
43 @Schema(description = "Name of the armor.", minLength = 5, maxLength = 50)
44 private final String name;
45
46 @Schema(description = "Axiom of this armor.", minItems = 1, maxItems = 1)
47 private final Set<Axiom> axioms;
48
49 @Schema(description = "This armor limits the dexterity to this value.", nullable = true, minimum = "1", maximum = "30")
50 private final Integer maxDex;
51
52 @Schema(description = "The armor bonus.")
53 private final Integer bonus;
54
55 @Schema(description = "If the use of this armor will fatigue the wearer of this armor.")
56 @Builder.Default
57 private final Boolean fatigues = false;
58 }