RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
DuelRules.java
1package com.osroyale.content.activity.impl.duelarena;
2
3import java.util.EnumSet;
4
5
31
32public final class DuelRules {
33
34 private final EnumSet<DuelRule> flags = EnumSet.noneOf(DuelRule.class);
35
36 private int value;
37
38 private void incrementValue(int value) {
39 this.value += value;
40 }
41
42 private void decrementValue(int value) {
43 this.value -= value;
44 if (this.value < 0) {
45 this.value = 0;
46 }
47 }
48
49 public void flag(DuelRule rule) {
50 if (flags.contains(rule)) {
51 return;
52 }
53 flags.add(rule);
54 if (DuelRule.EQUIPMENT_RULES.contains(rule)) {
55 incrementValue(rule.getValue());
56 }
57 }
58
59 public void unflag(DuelRule rule) {
60 if (!flags.contains(rule)) {
61 return;
62 }
63 flags.remove(rule);
64 if (DuelRule.EQUIPMENT_RULES.contains(rule)) {
65 decrementValue(rule.getValue());
66 }
67 }
68
69 public void alternate(DuelRule flag) {
70 if (flags.contains(flag)) {
71 flags.remove(flag);
72 if (DuelRule.EQUIPMENT_RULES.contains(flag)) {
73 decrementValue(flag.getValue());
74 }
75 } else {
76 flags.add(flag);
77 if (DuelRule.EQUIPMENT_RULES.contains(flag)) {
78 incrementValue(flag.getValue());
79 }
80 }
81 }
82
83 public int getValue() {
84 return value;
85 }
86
87 public boolean contains(DuelRule rule) {
88 return flags.contains(rule);
89 }
90
91 public void reset() {
92 flags.clear();
93 value = 0;
94 }
95
96 public EnumSet<DuelRule> getFlags() {
97 return flags.clone();
98 }
99
100}