Replaced the lock interface for Tribal Totem quest with the correct/authentic one

This commit is contained in:
szumaster
2023-04-18 08:17:08 +00:00
committed by Ryan
parent 957540c362
commit 4ded3b90de
2 changed files with 39 additions and 100 deletions
@@ -9,44 +9,18 @@ import core.game.interaction.InterfaceListener
class TTDoorCodeInterfaceListener : InterfaceListener { class TTDoorCodeInterfaceListener : InterfaceListener {
override fun defineInterfaceListeners() { override fun defineInterfaceListeners() {
val LETTERONEBACK = 10 val LETTERONEBACK = 17
val LETTERONEFORWARD = 11 val LETTERONEFORWARD = 18
val LETTERTWOBACK = 12 val LETTERTWOBACK = 19
val LETTERTWOFORWARD = 13 val LETTERTWOFORWARD = 20
val LETTERTHREEBACK = 14 val LETTERTHREEBACK = 21
val LETTERTHREEFORWARD = 15 val LETTERTHREEFORWARD = 22
val LETTERFOURBACK = 16 val LETTERFOURBACK = 23
val LETTERFOURFORWARD = 17 val LETTERFOURFORWARD = 24
val ENTER = 18 val ENTER = 27
val DOORLOCKINTERFACE = 285 val EXIT = 28
val LETTERS = arrayOf( val DOORLOCKINTERFACE = 369
"A", val LETTERS = arrayOf("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z")
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z"
)
onOpen(DOORLOCKINTERFACE) { player, component -> onOpen(DOORLOCKINTERFACE) { player, component ->
player.setAttribute("tt-letter-one", 0) player.setAttribute("tt-letter-one", 0)
@@ -55,6 +29,7 @@ class TTDoorCodeInterfaceListener : InterfaceListener {
player.setAttribute("tt-letter-four", 0) player.setAttribute("tt-letter-four", 0)
return@onOpen true return@onOpen true
} }
onClose(DOORLOCKINTERFACE) { player, component -> onClose(DOORLOCKINTERFACE) { player, component ->
player.removeAttribute("tt-letter-one") player.removeAttribute("tt-letter-one")
player.removeAttribute("tt-letter-two") player.removeAttribute("tt-letter-two")
@@ -62,125 +37,89 @@ class TTDoorCodeInterfaceListener : InterfaceListener {
player.removeAttribute("tt-letter-four") player.removeAttribute("tt-letter-four")
return@onClose true return@onClose true
} }
on(DOORLOCKINTERFACE) { player, component, opcode, buttonID, slot, itemID -> on(DOORLOCKINTERFACE) { player, component, opcode, buttonID, slot, itemID ->
when (buttonID) { when (buttonID) {
LETTERONEBACK -> { LETTERONEBACK -> {
if (player.getAttribute("tt-letter-one", 0) == 0) { if (player.getAttribute("tt-letter-one", 0) == 0) {
player.setAttribute("tt-letter-one", 25) player.setAttribute("tt-letter-one", 25)
setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-one", 0)], DOORLOCKINTERFACE, 6) setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-one", 0)], DOORLOCKINTERFACE, 13)
} else { } else {
(player.incrementAttribute("tt-letter-one", -1)) (player.incrementAttribute("tt-letter-one", -1))
setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-one", 0)], DOORLOCKINTERFACE, 6) setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-one", 0)], DOORLOCKINTERFACE, 13)
} }
} }
LETTERONEFORWARD -> { LETTERONEFORWARD -> {
if (player.getAttribute("tt-letter-one", 0) == 25) { if (player.getAttribute("tt-letter-one", 0) == 25) {
player.setAttribute("tt-letter-one", 0) player.setAttribute("tt-letter-one", 0)
setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-one", 0)], DOORLOCKINTERFACE, 6) setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-one", 0)], DOORLOCKINTERFACE, 13)
} else { } else {
(player.incrementAttribute("tt-letter-one", 1)) (player.incrementAttribute("tt-letter-one", 1))
setInterfaceText( setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-one", 0)], DOORLOCKINTERFACE, 13)
player,
LETTERS[player.getAttribute("tt-letter-one", 0)],
DOORLOCKINTERFACE,
6
)
} }
} }
LETTERTWOBACK -> { LETTERTWOBACK -> {
if (player.getAttribute("tt-letter-two", 0) == 0) { if (player.getAttribute("tt-letter-two", 0) == 0) {
player.setAttribute("tt-letter-two", 25) player.setAttribute("tt-letter-two", 25)
setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-two", 0)], DOORLOCKINTERFACE, 7) setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-two", 0)], DOORLOCKINTERFACE, 14)
} else { } else {
(player.incrementAttribute("tt-letter-two", -1)) (player.incrementAttribute("tt-letter-two", -1))
setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-two", 0)], DOORLOCKINTERFACE, 7) setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-two", 0)], DOORLOCKINTERFACE, 14)
} }
} }
LETTERTWOFORWARD -> { LETTERTWOFORWARD -> {
if (player.getAttribute("tt-letter-two", 0) == 25) { if (player.getAttribute("tt-letter-two", 0) == 25) {
player.setAttribute("tt-letter-two", 0) player.setAttribute("tt-letter-two", 0)
setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-two", 0)], DOORLOCKINTERFACE, 7) setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-two", 0)], DOORLOCKINTERFACE, 14)
} else { } else {
(player.incrementAttribute("tt-letter-two", 1)) (player.incrementAttribute("tt-letter-two", 1))
setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-two", 0)], DOORLOCKINTERFACE, 7) setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-two", 0)], DOORLOCKINTERFACE, 14)
} }
} }
LETTERTHREEBACK -> { LETTERTHREEBACK -> {
if (player.getAttribute("tt-letter-three", 0) == 0) { if (player.getAttribute("tt-letter-three", 0) == 0) {
player.setAttribute("tt-letter-three", 25) player.setAttribute("tt-letter-three", 25)
setInterfaceText( setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-three", 0)], DOORLOCKINTERFACE, 15)
player,
LETTERS[player.getAttribute("tt-letter-three", 0)],
DOORLOCKINTERFACE,
8
)
} else { } else {
(player.incrementAttribute("tt-letter-three", -1)) (player.incrementAttribute("tt-letter-three", -1))
setInterfaceText( setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-three", 0)], DOORLOCKINTERFACE, 15)
player,
LETTERS[player.getAttribute("tt-letter-three", 0)],
DOORLOCKINTERFACE,
8
)
} }
} }
LETTERTHREEFORWARD -> { LETTERTHREEFORWARD -> {
if (player.getAttribute("tt-letter-three", 0) == 25) { if (player.getAttribute("tt-letter-three", 0) == 25) {
player.setAttribute("tt-letter-three", 0) player.setAttribute("tt-letter-three", 0)
setInterfaceText( setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-three", 0)], DOORLOCKINTERFACE, 15)
player,
LETTERS[player.getAttribute("tt-letter-three", 0)],
DOORLOCKINTERFACE,
8
)
} else { } else {
(player.incrementAttribute("tt-letter-three", 1)) (player.incrementAttribute("tt-letter-three", 1))
setInterfaceText( setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-three", 0)], DOORLOCKINTERFACE, 15)
player,
LETTERS[player.getAttribute("tt-letter-three", 0)],
DOORLOCKINTERFACE,
8
)
} }
} }
LETTERFOURBACK -> { LETTERFOURBACK -> {
if (player.getAttribute("tt-letter-four", 0) == 0) { if (player.getAttribute("tt-letter-four", 0) == 0) {
player.setAttribute("tt-letter-four", 25) player.setAttribute("tt-letter-four", 25)
setInterfaceText( setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-four", 0)], DOORLOCKINTERFACE, 16)
player,
LETTERS[player.getAttribute("tt-letter-four", 0)],
DOORLOCKINTERFACE,
9
)
} else { } else {
(player.incrementAttribute("tt-letter-four", -1)) (player.incrementAttribute("tt-letter-four", -1))
setInterfaceText( setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-four", 0)], DOORLOCKINTERFACE, 16)
player,
LETTERS[player.getAttribute("tt-letter-four", 0)],
DOORLOCKINTERFACE,
9
)
} }
} }
LETTERFOURFORWARD -> { LETTERFOURFORWARD -> {
if (player.getAttribute("tt-letter-four", 0) == 25) { if (player.getAttribute("tt-letter-four", 0) == 25) {
player.setAttribute("tt-letter-four", 0) player.setAttribute("tt-letter-four", 0)
setInterfaceText( setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-four", 0)], DOORLOCKINTERFACE, 16)
player,
LETTERS[player.getAttribute("tt-letter-four", 0)],
DOORLOCKINTERFACE,
9
)
} else { } else {
(player.incrementAttribute("tt-letter-four", 1)) (player.incrementAttribute("tt-letter-four", 1))
setInterfaceText( setInterfaceText(player, LETTERS[player.getAttribute("tt-letter-four", 0)], DOORLOCKINTERFACE, 16)
player,
LETTERS[player.getAttribute("tt-letter-four", 0)],
DOORLOCKINTERFACE,
9
)
} }
} }
ENTER -> { ENTER -> {
val letterOne = LETTERS[player.getAttribute("tt-letter-one", 0)] val letterOne = LETTERS[player.getAttribute("tt-letter-one", 0)]
val letterTwo = LETTERS[player.getAttribute("tt-letter-two", 0)] val letterTwo = LETTERS[player.getAttribute("tt-letter-two", 0)]
@@ -56,7 +56,7 @@ class TribalTotemListeners : InteractionListener {
if(player.getAttribute("TT:DoorUnlocked",false) == true){ if(player.getAttribute("TT:DoorUnlocked",false) == true){
core.game.global.action.DoorActionHandler.handleAutowalkDoor(player,node.asScenery()) core.game.global.action.DoorActionHandler.handleAutowalkDoor(player,node.asScenery())
}else{ }else{
openInterface(player,285) openInterface(player,369)
} }
return@on true return@on true
} }