diff --git a/game/plugin/locations/al-kharid/build.gradle b/game/plugin/locations/al-kharid/build.gradle index a587f4fe..3be3eb4f 100644 --- a/game/plugin/locations/al-kharid/build.gradle +++ b/game/plugin/locations/al-kharid/build.gradle @@ -1,9 +1,10 @@ plugin { - name = "al_kharid_npc_spawns" + name = "al_kharid" authors = [ "Jesse W", + "Arham 4" ] dependencies = [ - "entity:spawn", + "entity:spawn", "shops" ] } \ No newline at end of file diff --git a/game/plugin/locations/al-kharid/src/shops.plugin.kts b/game/plugin/locations/al-kharid/src/shops.plugin.kts new file mode 100644 index 00000000..d679700e --- /dev/null +++ b/game/plugin/locations/al-kharid/src/shops.plugin.kts @@ -0,0 +1,144 @@ +import org.apollo.game.plugin.shops.shop + +shop("Al-Kharid General Store") { + operated by "Shop keeper"(524) and "Shop assistant"(525) + buys any items + + sell(5) of "Pot" + sell(2) of "Jug" + sell(2) of "Shears" + sell(3) of "Bucket" + sell(2) of "Bowl" + sell(2) of "Cake tin" + sell(2) of "Tinderbox" + sell(2) of "Chisel" + sell(5) of "Hammer" + sell(5) of "Newcomer map" +} + +/** + * TODO add a way to "unlock" items, as more of Ali Morrisane's items are unlocked by completing certain parts of + * the Rogue Trader minigame progressively. + * + * TODO this shop can be accessed only through dialogue, so support for that should be added. + */ +/*shop("Ali's Discount Wares") { + operated by "Ali Morrisane" + + sell(3) of "Pot" + sell(2) of "Jug" + sell(10) of { "Waterskin"(1825) } + sell(3) of "Desert shirt" + sell(2) of "Desert boots" + sell(19) of "Bucket" + sell(11) of "Fake beard" + sell(12) of "Karidian headpiece" + sell(50) of "Papyrus" + sell(5) of "Knife" + sell(11) of "Tinderbox" + sell(23) of "Bronze pickaxe" + sell(15) of "Raw chicken" +}*/ + +shop("Dommik's Crafting Store") { + operated by "Dommik" + + sell(2) of "Chisel" + category("mould") { + sell(10) of "Ring" + sell(2) of "Necklace" + sell(10) of "Amulet" + } + sell(3) of "Needle" + sell(100) of "Thread" + category("mould") { + sell(3) of "Holy" + sell(10) of "Sickle" + sell(10) of "Tiara" + } +} + +shop("Gem Trader") { + operated by "Gem trader" + + category("uncut", affix = prefix) { + sell(1) of { + -"Sapphire" + -"Emerald" + } + sell(0) of { + -"Ruby" + -"Diamond" + } + } + + sell(1) of { + -"Sapphire" + -"Emerald" + } + sell(0) of { + -"Ruby" + -"Diamond" + } +} + +shop("Louie's Armoured Legs Bazaar") { + operated by "Louie Legs" + + category("platelegs", depluralise = false) { + sell(5) of "Bronze" + sell(3) of "Iron" + sell(2) of "Steel" + sell(1) of "Black" + sell(1) of "Mithril" + sell(1) of "Adamant" + } +} + +shop("Ranael's Super Skirt Store") { + operated by "Ranael" + + category("plateskirt") { + sell(5) of "Bronze" + sell(3) of "Iron" + sell(2) of "Steel" + sell(1) of "Black" + sell(1) of "Mithril" + sell(1) of "Adamant" + } +} + +shop("Shantay Pass Shop") { + operated by "Shantay" + + sell(100) of { "Waterskin"(1823) } + sell(100) of { "Waterskin"(1831) } + sell(10) of "Jug of water" + sell(10) of "Bowl of water" + sell(10) of "Bucket of water" + sell(10) of "Knife" + category("desert", affix = prefix) { + sell(10) of "shirt" + sell(10) of "robe" + sell(10) of "boots" + } + sell(10) of "Bronze bar" + sell(500) of "Feather" + sell(10) of "Hammer" + sell(0) of "Bucket" + sell(0) of "Bowl" + sell(0) of "Jug" + sell(500) of "Shantay pass" + sell(20) of "Rope" +} + +shop("Zeke's Superior Scimitars") { + operated by "Zeke" + + category("scimitar") { + sell(5) of "Bronze" + sell(3) of "Iron" + sell(2) of "Steel" + sell(1) of "Mithril" + } +} \ No newline at end of file diff --git a/game/plugin/locations/edgeville/build.gradle b/game/plugin/locations/edgeville/build.gradle index 6c9023e3..0f2de321 100644 --- a/game/plugin/locations/edgeville/build.gradle +++ b/game/plugin/locations/edgeville/build.gradle @@ -1,9 +1,10 @@ plugin { - name = "edgeville_npc_spawns" + name = "edgeville" authors = [ "Jesse W", + "Arham 4" ] dependencies = [ - "entity:spawn", + "entity:spawn", "shops" ] } \ No newline at end of file diff --git a/game/plugin/locations/edgeville/src/shops.plugin.kts b/game/plugin/locations/edgeville/src/shops.plugin.kts new file mode 100644 index 00000000..1a619dc1 --- /dev/null +++ b/game/plugin/locations/edgeville/src/shops.plugin.kts @@ -0,0 +1,29 @@ +import org.apollo.game.plugin.shops.shop + +shop("Edgeville General Store") { + operated by "Shop keeper"(528) and "Shop assistant"(529) + buys any items + + sell(5) of "Pot" + sell(2) of "Jug" + sell(2) of "Shears" + sell(3) of "Bucket" + sell(2) of "Bowl" + sell(2) of "Cake tin" + sell(2) of "Tinderbox" + sell(2) of "Chisel" + sell(5) of "Hammer" + sell(5) of "Newcomer map" +} + +/** + * TODO make a way to have requirements to open shops. Players have to have finished Dragon Slayer to access + * "Oziach's Armour" + */ +shop("Oziach's Armour") { + operated by "Oziach" + + sell(2) of "Rune platebody" + sell(2) of "Green d'hide body" + sell(35) of "Anti-dragon shield" +} \ No newline at end of file diff --git a/game/plugin/locations/falador/build.gradle b/game/plugin/locations/falador/build.gradle index c599f40c..9af8dd9e 100644 --- a/game/plugin/locations/falador/build.gradle +++ b/game/plugin/locations/falador/build.gradle @@ -1,9 +1,10 @@ plugin { - name = "falador_npc_spawns" + name = "falador" authors = [ "Jesse W", + "Arham 4" ] dependencies = [ - "entity:spawn", + "entity:spawn", "shops" ] } \ No newline at end of file diff --git a/game/plugin/locations/falador/src/shops.plugin.kts b/game/plugin/locations/falador/src/shops.plugin.kts new file mode 100644 index 00000000..dde292f2 --- /dev/null +++ b/game/plugin/locations/falador/src/shops.plugin.kts @@ -0,0 +1,74 @@ +import org.apollo.game.plugin.shops.shop + +shop("Falador General Store") { + operated by "Shop keeper"(524) and "Shop assistant"( 525) + buys any items + + sell(5) of "Pot" + sell(2) of "Jug" + sell(2) of "Shears" + sell(3) of "Bucket" + sell(2) of "Bowl" + sell(2) of "Cake tin" + sell(2) of "Tinderbox" + sell(2) of "Chisel" + sell(5) of "Hammer" + sell(5) of "Newcomer map" +} + +shop("Cassie's Shield Shop") { + operated by "Cassie" + + sell(5) of "Wooden shield" + sell(3) of "Bronze sq shield" + sell(3) of "Bronze kiteshield" + sell(2) of "Iron sq shield" + sell(0) of "Iron kiteshield" + sell(0) of "Steel sq shield" + sell(0) of "Steel kiteshield" + sell(0) of "Mithril sq shield" +} + +shop("Flynn's Mace Market") { + operated by "Flynn" + + category("mace") { + sell(5) of "Bronze" + sell(4) of "Iron" + sell(3) of "Mithril" + sell(2) of "Adamant" + } +} + +shop("Herquin's Gems") { + operated by "Herquin" + + category("uncut", affix = prefix) { + sell(1) of "Sapphire" + sell(0) of { + -"Emerald" + -"Ruby" + -"Diamond" + } + } + + sell(1) of "Sapphire" + sell(0) of { + -"Emerald" + -"Ruby" + -"Diamond" + } +} + +shop("Wayne's Chains - Chainmail Specialist") { + operated by "Wayne" + + category("chainbody") { + sell(3) of "Bronze" + sell(2) of "Iron" + sell(1) of "Steel" + sell(1) of "Black" + sell(1) of "Mithril" + sell(1) of "Adamant" + } +} \ No newline at end of file diff --git a/game/plugin/locations/lumbridge/build.gradle b/game/plugin/locations/lumbridge/build.gradle index 60f39625..97bdf686 100644 --- a/game/plugin/locations/lumbridge/build.gradle +++ b/game/plugin/locations/lumbridge/build.gradle @@ -1,9 +1,10 @@ plugin { - name = "lumbridge_npc_spawns" + name = "lumbridge" authors = [ "Gary Tierney", + "Arham 4" ] dependencies = [ - "entity:spawn", + "entity:spawn", "shops" ] } \ No newline at end of file diff --git a/game/plugin/locations/lumbridge/src/shops.plugin.kts b/game/plugin/locations/lumbridge/src/shops.plugin.kts new file mode 100644 index 00000000..dd12f286 --- /dev/null +++ b/game/plugin/locations/lumbridge/src/shops.plugin.kts @@ -0,0 +1,40 @@ +import org.apollo.game.plugin.shops.shop + +shop("Lumbridge General Store") { + operated by "Shop keeper" and "Shop assistant" + buys any items + + sell(5) of "Pot" + sell(2) of "Jug" + sell(2) of "Shears" + sell(3) of "Bucket" + sell(2) of "Bowl" + sell(2) of "Cake tin" + sell(2) of "Tinderbox" + sell(2) of "Chisel" + sell(5) of "Hammer" + sell(5) of "Newcomer map" +} + +shop("Bob's Brilliant Axes") { + operated by "Bob" + + category("pickaxe") { + sell(5) of "Bronze" + } + + category("axe") { + sell(10) of "Bronze" + sell(5) of "Iron" + sell(3) of "Steel" + } + + category("battleaxe") { + sell(5) of "Iron" + sell(2) of "Steel" + sell(1) of "Mithril" + } +} + +// TODO find out how to make objects be able to open stores for the Culinaromancer's Chest. Also links to TODO in +// Al-Kharid's shops plugin for "unlockable" items. \ No newline at end of file