Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions data/minigame/vinesweeper/vinesweeper.anims.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
[vinesweeper_dig]
id = 8709

[vinesweeper_inspect]
id = 8710

[vinesweeper_plant_flag]
id = 8711

[vinesweeper_rabbit_eat_seed]
id = 8718

[vinesweeper_rabbit_eat_ogleroot]
id = 8734

[vinesweeper_farmer_clear]
id = 8724

[vinesweeper_farmer_dig_flag]
id = 8725

[vinesweeper_farmer_dig_seed]
id = 8730

[vinesweeper_farmer_hooray]
id = 8731

[vinesweeper_farmer_smack]
id = 8732

[leprechaun_teleport]
id = 11705
4 changes: 4 additions & 0 deletions data/minigame/vinesweeper/vinesweeper.areas.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[vinesweeper_field]
x = [1605, 1658]
y = [4678, 4730]
level = 0
8 changes: 8 additions & 0 deletions data/minigame/vinesweeper/vinesweeper.enums.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[vinesweeper_rewards]
id = 1589

[vinesweeper_reward_prices]
id = 1365

[vinesweeper_xp_rates]
id = 1369
3 changes: 3 additions & 0 deletions data/minigame/vinesweeper/vinesweeper.gfx.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
[flag]
id = 1541

[vinesweeper_dirt]
id = 1543
64 changes: 64 additions & 0 deletions data/minigame/vinesweeper/vinesweeper.ifaces.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
[vinesweeper_points]
id = 689
type = "overlay"

[.points]
id = 8

[vinesweeper_rewards]
id = 686
type = "main_screen"

[.items]
id = 6
options = { Value = 0, "Buy 1" = 1, "Buy 5" = 2, "Buy 10" = 3, "Buy X" = 4, Examine = 9 }

[.confirm]
id = 9

[.confirm_text]
id = 13

[.proceed]
id = 14

[.cancel]
id = 16

[.close]
id = 35

[vinesweeper_instructions]
id = 685
type = "main_screen"

[.close]
id = 7

[vinesweeper_info_rabbits]
id = 684
type = "main_screen"

[.close]
id = 18

[vinesweeper_info_digging]
id = 687
type = "main_screen"

[.close]
id = 45

[vinesweeper_info_points]
id = 688
type = "main_screen"

[.close]
id = 25

[vinesweeper_info_farmers]
id = 690
type = "main_screen"

[.close]
id = 22
326 changes: 0 additions & 326 deletions data/minigame/vinesweeper/vinesweeper.npc-spawns.toml

Large diffs are not rendered by default.

70 changes: 70 additions & 0 deletions data/minigame/vinesweeper/vinesweeper.objs.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
[vinesweeper_hole]
id = 29476
examine = "A hole in the ground. Something might be planted here."

[vinesweeper_hole_2]
clone = "vinesweeper_hole"
id = 29477

[vinesweeper_hole_3]
clone = "vinesweeper_hole"
id = 29478

[vinesweeper_number_0]
id = 29447

[vinesweeper_number_1]
id = 29448

[vinesweeper_number_2]
id = 29449

[vinesweeper_number_3]
id = 29450

[vinesweeper_number_4]
id = 29451

[vinesweeper_number_5]
id = 29452

[vinesweeper_number_6]
id = 29453

[vinesweeper_number_7]
id = 29454

[vinesweeper_number_8]
id = 29455

[vinesweeper_dead_plant]
id = 29456
examine = "Someone dug up a seed by mistake."

[vinesweeper_flag]
id = 29457
examine = "Someone thinks there's a seed here."

[vinesweeper_rabbit_hole]
id = 29533
examine = "A rabbit hole."

[vinesweeper_portal]
id = 29534
examine = "Gnome sweet Gnome?"

[vinesweeper_sign_farmers]
id = 29461
examine = "Instructions for Vinesweeper."

[vinesweeper_sign_points]
clone = "vinesweeper_sign_farmers"
id = 29462

[vinesweeper_sign_rabbits]
clone = "vinesweeper_sign_farmers"
id = 29463

[vinesweeper_sign_digging]
clone = "vinesweeper_sign_farmers"
id = 29464
4 changes: 4 additions & 0 deletions data/minigame/vinesweeper/vinesweeper.varbits.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[vinesweeper_points]
id = 4449
format = "int"
persist = true
12 changes: 12 additions & 0 deletions data/minigame/vinesweeper/vinesweeper.vars.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[vinesweeper_stored_flags]
format = "int"
default = 10
persist = true

[vinesweeper_return_tile]
format = "int"
persist = true

[vinesweeper_free_flags]
format = "boolean"
persist = true
46 changes: 46 additions & 0 deletions game/src/main/kotlin/content/minigame/vinesweeper/FarmerBlinkin.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package content.minigame.vinesweeper

import content.entity.player.dialogue.Happy
import content.entity.player.dialogue.Neutral
import content.entity.player.dialogue.Quiz
import content.entity.player.dialogue.type.choice
import content.entity.player.dialogue.type.npc
import content.entity.player.dialogue.type.player
import world.gregs.voidps.engine.Script
import world.gregs.voidps.engine.client.ui.open
import world.gregs.voidps.engine.entity.character.player.Player

class FarmerBlinkin : Script {

init {
npcOperate("Talk-to", "farmer_blinkin_minesweeper") {
npc<Happy>("Ah, a visitor! Fancy helping me find my seeds? My farmers have planted them all over the field and forgotten where.")
menu()
}

npcOperate("Buy-flags", "farmer_blinkin_minesweeper") {
buyFlags()
}

npcOperate("Buy-roots", "farmer_blinkin_minesweeper") {
buyOgleroots()
}
}

private suspend fun Player.menu() {
choice {
option<Quiz>("How do I play?") {
open("vinesweeper_instructions")
}
option<Quiz>("Can I have some flags?") {
buyFlags()
}
option<Quiz>("Can I buy some ogleroots?") {
buyOgleroots()
}
option<Neutral>("Not right now.") {
player<Neutral>("Not right now.")
}
}
}
}
52 changes: 52 additions & 0 deletions game/src/main/kotlin/content/minigame/vinesweeper/MrsWinkin.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package content.minigame.vinesweeper

import content.entity.player.dialogue.Happy
import content.entity.player.dialogue.Neutral
import content.entity.player.dialogue.Quiz
import content.entity.player.dialogue.type.choice
import content.entity.player.dialogue.type.npc
import content.entity.player.dialogue.type.player
import world.gregs.voidps.engine.Script
import world.gregs.voidps.engine.client.ui.open
import world.gregs.voidps.engine.entity.character.player.Player

class MrsWinkin : Script {

init {
npcOperate("Talk-to", "mrs__winkin_minesweeper") {
npc<Happy>("Hello there, dearie. Welcome to Winkin's Farm. What can I do for you?")
menu()
}

npcOperate("Trade", "mrs__winkin_minesweeper") {
open("vinesweeper_rewards")
}

npcOperate("Buy flags", "mrs__winkin_minesweeper") {
buyFlags()
}
}

private suspend fun Player.menu() {
choice {
option<Quiz>("What is this place?") {
npc<Happy>("This is our farm. My husband's gnome farmers plant seeds all over the field, but the silly things never remember where they put them!")
npc<Neutral>("If you can work out where the seeds are and mark them with flags, the farmers will dig them up and reward you with points. I'll swap those points for seeds or Farming experience.")
npc<Neutral>("Have a read of the instruction signs around the farm, or ask Farmer Blinkin outside if you get stuck.")
menu()
}
option<Quiz>("I'd like to see your rewards.") {
open("vinesweeper_rewards")
}
option<Quiz>("Can I have some flags?") {
buyFlags()
}
option<Quiz>("Can I buy a spade?") {
buySpade()
}
option<Neutral>("Nothing, thanks.") {
player<Neutral>("Nothing, thanks.")
}
}
}
}
Loading