mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2026-08-28 05:45:10 -06:00
vinesweeper restore original hole
This commit is contained in:
parent
9daaeb780c
commit
b8b8475954
1 changed files with 15 additions and 11 deletions
|
|
@ -388,7 +388,7 @@ class Vinesweeper : InteractionListener, InterfaceListener, MapArea {
|
|||
}
|
||||
}
|
||||
for (scenery in wipedHoles) {
|
||||
SceneryBuilder.replace(scenery, scenery.transform(HOLES[0]))
|
||||
restoreOriginalHole(scenery)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -652,6 +652,7 @@ class VinesweeperNPC : AbstractNPC {
|
|||
scheduleNPCs(dest.player, dest.loc, alive = true, rabbit = false)
|
||||
}
|
||||
}
|
||||
|
||||
fun handleFarmerSeed(scenery: Scenery, dest: Vinesweeper.SeedDestination) {
|
||||
lock()
|
||||
var i = 0
|
||||
|
|
@ -665,14 +666,7 @@ class VinesweeperNPC : AbstractNPC {
|
|||
1 -> {
|
||||
animate(Animation(Animations.GNOME_FARMER_SPADE_SMACK_8732))
|
||||
sendChat(FARMER_FLAG_LINES.DEAD_PLANT.line)
|
||||
var originalHoleId = HOLES[0]
|
||||
for (obj in scenery.location.chunk.getStatObjects(scenery.location.chunkOffsetX, scenery.location.chunkOffsetY)) {
|
||||
if (obj?.id != null) {
|
||||
originalHoleId = obj.id
|
||||
break
|
||||
}
|
||||
}
|
||||
SceneryBuilder.replace(scenery, scenery.transform(originalHoleId))
|
||||
restoreOriginalHole(scenery)
|
||||
}
|
||||
2 -> {
|
||||
animate(Animation(Animations.GNOME_FARMER_CLEAR_HOLES_8724))
|
||||
|
|
@ -699,7 +693,7 @@ class VinesweeperNPC : AbstractNPC {
|
|||
sendChat(FARMER_FLAG_LINES.FIND_FLAG.line)
|
||||
}
|
||||
1 -> {
|
||||
SceneryBuilder.replace(scenery, scenery.transform(HOLES[0]))
|
||||
restoreOriginalHole(scenery)
|
||||
if (SEED_LOCS.contains(dest.loc)) {
|
||||
sendChat(FARMER_FLAG_LINES.FIND_SEED.line)
|
||||
animate(Animation(Animations.GNOME_FARMER_HOORAY_8731))
|
||||
|
|
@ -733,7 +727,7 @@ class VinesweeperNPC : AbstractNPC {
|
|||
for (dy in -FARMER_CLEAR_RADIUS..FARMER_CLEAR_RADIUS) {
|
||||
val toClear = getScenery(dest.loc.transform(dx, dy, 0))
|
||||
if (toClear != null && intArrayOf(Sceneries.DEAD_PLANT_29456, *NUMBERS).contains(toClear.id)) {
|
||||
SceneryBuilder.replace(toClear, toClear.transform(HOLES[0]))
|
||||
restoreOriginalHole(toClear)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -742,6 +736,16 @@ class VinesweeperNPC : AbstractNPC {
|
|||
}
|
||||
}
|
||||
|
||||
fun restoreOriginalHole(scenery: Scenery) {
|
||||
var originalHoleId = HOLES[0]
|
||||
for (obj in scenery.location.chunk.getStatObjects(scenery.location.chunkOffsetX, scenery.location.chunkOffsetY)) {
|
||||
if (obj?.id != null) {
|
||||
originalHoleId = obj.id
|
||||
break
|
||||
}
|
||||
}
|
||||
SceneryBuilder.replace(scenery, scenery.transform(originalHoleId))
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue