RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
PuzzleDisplay.java
1
package
com.osroyale.content.puzzle;
2
3
import
com.osroyale.game.world.entity.mob.player.Player;
4
import
com.osroyale.net.packet.out.SendInterfaceWidget;
5
import
com.osroyale.util.Utility;
6
43
44
public
class
PuzzleDisplay
{
46
private
final
Player
player;
47
49
private
PuzzleData
puzzle;
50
52
private
int
[] options;
53
55
private
PuzzleType
type;
56
58
int
successCount;
59
61
public
PuzzleDisplay
(
Player
player) {
62
this.player = player;
63
}
64
66
private
void
randomize() {
67
this.puzzle =
PuzzleData
.PUZZLES[(int) (Math.random() *
PuzzleData
.PUZZLES.length)];
68
this.options =
Utility
.shuffleArray(puzzle.getOptions());
69
}
70
72
public
void
open
(
PuzzleType
puzzleType) {
73
randomize();
74
75
for
(
int
index = 0; index < 3; index++) {
76
int
sequenceModel = puzzle.getSequenceModel(index);
77
int
optionModel = options[index];
78
player.send(
new
SendInterfaceWidget
(4545 + index, sequenceModel));
79
player.send(
new
SendInterfaceWidget
(4550 + index, optionModel));
80
}
81
82
type = puzzleType;
83
player.interfaceManager.open(4543);
84
}
85
87
private
boolean
checkAnswer(
int
button) {
88
int
index = button - 4550;
89
int
model = options[index];
90
return
model == puzzle.getAnswer();
91
}
92
94
public
boolean
click
(
int
button) {
95
switch
(button) {
96
case
4550:
97
case
4551:
98
case
4552:
99
if
(checkAnswer(button)) {
100
successCount++;
101
type.onSuccess(player);
102
return
true
;
103
}
104
successCount = 0;
105
type.onFailure(player);
106
return
true
;
107
}
108
return
false
;
109
}
110
}
com.osroyale.content.puzzle.PuzzleDisplay.open
void open(PuzzleType puzzleType)
Definition
PuzzleDisplay.java:72
com.osroyale.content.puzzle.PuzzleDisplay.click
boolean click(int button)
Definition
PuzzleDisplay.java:94
com.osroyale.content.puzzle.PuzzleDisplay.PuzzleDisplay
PuzzleDisplay(Player player)
Definition
PuzzleDisplay.java:61
com.osroyale.game.world.entity.mob.player.Player
Definition
Player.java:162
com.osroyale.net.packet.out.SendInterfaceWidget
Definition
SendInterfaceWidget.java:31
com.osroyale.util.Utility
Definition
Utility.java:64
com.osroyale.content.puzzle.PuzzleData
Definition
PuzzleData.java:18
com.osroyale.content.puzzle.PuzzleType
Definition
PuzzleType.java:35