mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2026-08-28 05:45:10 -06:00
QuickWaveStart door warns about wave reset.
This commit is contained in:
parent
ed44e5bde9
commit
2263604c7b
2 changed files with 45 additions and 49 deletions
|
|
@ -17,20 +17,20 @@ class BADevHelper : CommandSet(Privilege.ADMIN) {
|
|||
var babotcount = 0
|
||||
|
||||
override fun defineCommands() {
|
||||
define ("maxbarbpoints") { player,_ ->
|
||||
define ("maxbapoints") { player,_ ->
|
||||
addBAPoints(player,BarbAssaultPoints(500, 500, 500,500))
|
||||
return@define
|
||||
}
|
||||
define ("setbarbwave") { player,args ->
|
||||
define ("setbawave") { player,args ->
|
||||
setBAWave(player,args[1].toInt())
|
||||
return@define
|
||||
}
|
||||
|
||||
define ("resetbarbpoints") { player,_ ->
|
||||
define ("resetbapoints") { player,_ ->
|
||||
setBAPoints(player,BarbAssaultPoints(0, 0, 0,0))
|
||||
return@define
|
||||
}
|
||||
define ("resetbarblevels") { player,_ ->
|
||||
define ("resetbalevels") { player,_ ->
|
||||
setBALevels(player,BarbAssaultLevels(0, 0, 0,0))
|
||||
return@define
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,38 +42,34 @@ class BALobby : InteractionListener, MapArea {
|
|||
if (enteredZone == QUICK_START) { return }
|
||||
if (enteredZone == REGION_10322) { return }
|
||||
|
||||
updatePlayerWave(entity)
|
||||
//updatePlayerWave(entity)
|
||||
openOverlay(entity as Player, 256)
|
||||
}
|
||||
|
||||
override fun areaLeave(entity: Entity, logout: Boolean) {
|
||||
if (entity is Player) {
|
||||
entity.interfaceManager.closeOverlay()
|
||||
|
||||
//this is redundant.
|
||||
val barbassItems = intArrayOf(Items.POISONED_WORMS_10540)
|
||||
entity.equipment.removeAll(barbassItems)
|
||||
entity.inventory.removeAll(barbassItems)
|
||||
|
||||
}
|
||||
}
|
||||
//was used in early development.
|
||||
fun updatePlayerWave(entity: Entity) {
|
||||
val player = entity as? Player ?: return
|
||||
val location = player.location
|
||||
|
||||
if (QUICK_START.insideBorder(location)) {
|
||||
entity.setAttribute("/save:barbass:wave", 1)
|
||||
setBAWave(entity,1)
|
||||
return
|
||||
}
|
||||
for ((index, lobby) in waveLobbies.withIndex()) {
|
||||
if (lobby.insideBorder(location)) {
|
||||
if (lobby != MAIN_LOBBY) { // MAIN_LOBBY should not assign a wave number
|
||||
entity.setAttribute("/save:barbass:wave", index )
|
||||
setBAWave(entity,index)
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun capeCheck(player: Player): Boolean {
|
||||
val wornCape = getItemFromEquipment(player, EquipmentSlot.CAPE)?.id ?: -1
|
||||
if (wornCape != -1) {
|
||||
|
|
@ -94,7 +90,7 @@ class BALobby : InteractionListener, MapArea {
|
|||
val team = session?.team
|
||||
|
||||
if (team == null) {
|
||||
leader.sendMessage("No active session found.")
|
||||
leader.debug("[DEBUG] No active session found.")
|
||||
return@onUseWithPlayer false
|
||||
}
|
||||
|
||||
|
|
@ -113,27 +109,18 @@ class BALobby : InteractionListener, MapArea {
|
|||
on(Items.SCROLL_10512, IntType.ITEM, "Read") { player, _ ->
|
||||
//https://youtu.be/GYh6JPKNOSA?t=233 -- I know 2017, but only example for read scroll iv found.
|
||||
// ima cry, that YT account got deleted.
|
||||
// waveAdvance(player)
|
||||
waveAdvance(player)
|
||||
|
||||
return@on true
|
||||
}
|
||||
on(Items.SCROLL_10512, IntType.ITEM, "Write-Role") { player, _ ->
|
||||
//player.interfaceManager.open(Component(493))
|
||||
//setInterfaceModel(player, 20561, 493, 8,1)
|
||||
sendDialogueOptions(player, "Which role would you like to perform?","Attacker", "Defender","Collector","Healer","Cancel")
|
||||
addDialogueAction(player) { _ , buttonId -> writeRole(player,buttonId) }
|
||||
return@on true
|
||||
}
|
||||
on(Items.SCROLL_10512, IntType.ITEM, "Clear") { player, _ ->
|
||||
val session = getBASession(player)
|
||||
val team = session?.team
|
||||
if (team != null) {
|
||||
disbandTeam(session)
|
||||
createTeam(player)
|
||||
} else {
|
||||
createTeam(player)
|
||||
}
|
||||
|
||||
if (getBASession(player)?.team != null) return@on true
|
||||
createTeam(player)
|
||||
return@on true
|
||||
}
|
||||
on(Items.SCROLL_10512, IntType.ITEM, "Destroy") { player, item ->
|
||||
|
|
@ -143,7 +130,6 @@ class BALobby : InteractionListener, MapArea {
|
|||
if (removeItem(player, item)) {
|
||||
playAudio(player, Sounds.DESTROY_OBJECT_2381)
|
||||
abandonTeam(player)
|
||||
//updateCurrentTeam(player)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -151,33 +137,42 @@ class BALobby : InteractionListener, MapArea {
|
|||
}
|
||||
|
||||
on(Scenery.LADDER_20193, IntType.SCENERY, "Climb-down") { player, _ ->
|
||||
val session = getBASession(player) ?: run {
|
||||
player.sendMessage("You are not in a session!")
|
||||
return@on true
|
||||
}
|
||||
if (session.state != BarbassaultState.PARTY_CREATION) {
|
||||
player.sendMessage("Your team is already starting or in the arena!")
|
||||
return@on true
|
||||
}
|
||||
val session = getBASession(player)
|
||||
if (session == null) { player.debug("[DEBUG] You are not in a session!"); return@on true }
|
||||
if (session.team.isLeader(player)) return@on true
|
||||
if (session.state != BarbassaultState.PARTY_CREATION) { player.debug("[DEBUG] Your team is already starting or in the arena!"); return@on true }
|
||||
|
||||
closeOverlay(player) // close party
|
||||
openOverlay(player, 494) // open countdown
|
||||
|
||||
closeOverlay(player) // close party,
|
||||
openOverlay(player, 494)// open countdown,
|
||||
session.beginStartingPhase()
|
||||
return@on true
|
||||
}
|
||||
on(Scenery.DOOR_20209, IntType.SCENERY, "Pass") { player, node ->
|
||||
if (!capeCheck(player)) { return@on false }
|
||||
//todo Not allowed to enter QuickStart with Scroll
|
||||
if (!QUICK_START.insideBorder(player.location)){
|
||||
//todo warning message you are about to reset your wave
|
||||
setBAWave(player,1)
|
||||
handlePlayerOptionDoor(player) { role ->
|
||||
//player.sendMessage("You are a ${role.name.lowercase().replaceFirstChar { it.uppercase() }}.")
|
||||
handleWaveDoor(player, node, 489)
|
||||
addToQueue(player, role)
|
||||
if (!capeCheck(player)) return@on false
|
||||
|
||||
// todo Not allowed to enter QuickStart with Scroll
|
||||
if (!QUICK_START.insideBorder(player.location)) {
|
||||
|
||||
if (getBAWave(player) != 1) {
|
||||
sendDialogueOptions(player,"Are you sure you wish to reset your wave progress??","Yes","No")
|
||||
addDialogueAction(player) { _, buttonId ->
|
||||
if (buttonId == 2) {
|
||||
setBAWave(player, 1)
|
||||
|
||||
handlePlayerOptionDoor(player) { role ->
|
||||
handleWaveDoor(player, node, 489)
|
||||
addToQueue(player, role)
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
handlePlayerOptionDoor(player) { role ->
|
||||
handleWaveDoor(player, node, 489)
|
||||
addToQueue(player, role)
|
||||
}
|
||||
}
|
||||
}else {
|
||||
} else {
|
||||
handleWaveDoor(player, node, 489)
|
||||
}
|
||||
return@on true
|
||||
|
|
@ -335,12 +330,13 @@ class BALobby : InteractionListener, MapArea {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun waveAdvance(player: Player) {
|
||||
val wave = player.getAttribute("barbass:wave", 1)
|
||||
val wave = getBAWave(player)
|
||||
if (wave in 1..waveLobbies.size) {
|
||||
if (wave == 10) {player.setAttribute("/save:barbass:wave", 1)}
|
||||
} else {
|
||||
println("Invalid wave number: $wave")
|
||||
sendMessage(player,"Invalid wave number: $wave. PLEASE REPORT THIS!")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue