Skip to content

Commit

Permalink
Add gadget shops to various vaults
Browse files Browse the repository at this point in the history
Added gadget shops in a few places where specific "good" shops were
already being placed (mainly Orc and Vaults endings and Bazaars).

Since Nicolae's "Gadget Gallery" vault-defined shop now seemed rather
vanilla I gave it an overhaul, adding a selection of evocable armours
and jewelleries (+Inv, +Blink etc. items you won't find in a regular
gadget shop).
  • Loading branch information
chucksellick committed Jan 29, 2025
1 parent 2bcf91c commit f0677ab
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 17 deletions.
10 changes: 5 additions & 5 deletions crawl-ref/source/dat/des/branches/orc.des
Original file line number Diff line number Diff line change
Expand Up @@ -1912,7 +1912,7 @@ KMONS: V = orc warlord
KFEAT: V = T
# This one has a lot more high level orcs than the rest,
# so instead of adding more shops, guarantees good shops.
KFEAT: S = general shop
KFEAT: S = general shop / gadget shop
KFEAT: A = antique armour shop
KFEAT: B = antique weapon shop
KFEAT: C = book shop / jewellery shop
Expand Down Expand Up @@ -2009,7 +2009,7 @@ ORIENT: float
dgn.persist.grunt_orc_gardens_giant_problem = crawl.one_chance_in(7)
hook("post_place", function()
local stores = { "antique weapon shop", "antique armour shop",
"general shop", "book shop / jewellery shop" }
"general shop / gadget shop", "book shop / jewellery shop" }
local which = crawl.random2(#stores) + 1
dgn.persist.grunt_orc_gardens_store = stores[which]
table.remove(stores, which)
Expand Down Expand Up @@ -2271,7 +2271,7 @@ KMONS: B = Nergalle w:2 / orc sorcerer, orc sorcerer
KMONS: C = Urug w:2 / orc knight, orc knight
KMONS: D = Blorkula the orcula w:2 / orc wizard, orc wizard
KMONS: E = Erolcha w:2 / ogre mage band, ogre mage band
KFEAT: J = general shop
KFEAT: J = general shop / gadget shop
KFEAT: K = antique armour shop
KFEAT: L = antique weapon shop
KFEAT: M = book shop / jewellery shop
Expand Down Expand Up @@ -2313,7 +2313,7 @@ MONS: orc knight / kobold blastminer w:1
MONS: demonspawn / obsidian bat w:2 / nothing w:8
MONS: orc high priest / orc sorcerer
KFEAT: A = w:20 general shop / distillery shop / scroll shop
KFEAT: B = book shop / jewellery shop
KFEAT: B = book shop / jewellery shop / gadget shop
KFEAT: C = antique weapon shop / antique armour shop
KFEAT: P = enter_pandemonium
SHUFFLE: BC
Expand Down Expand Up @@ -2362,7 +2362,7 @@ KMONS: 4 = Erolcha / ogre mage, ogre mage
KMONS: 5 = Nergalle / orc sorcerer, orc sorcerer
KMONS: 6 = obsidian bat
KFEAT: A = distillery shop / scroll shop
KFEAT: B = book shop / jewellery shop
KFEAT: B = book shop / jewellery shop / gadget shop
KFEAT: C = antique weapon shop / antique armour shop
KFEAT: D = altar_beogh
KFEAT: E = altar_kikubaaqudgha
Expand Down
7 changes: 4 additions & 3 deletions crawl-ref/source/dat/des/branches/vaults.des
Original file line number Diff line number Diff line change
Expand Up @@ -1332,14 +1332,15 @@ x.................xxxxx...x
ENDMAP

############################################################
# Consumable shops (scrolls, potions).
# Consumable shops (scrolls, potions, evocables).
# Monsters in rooms.
NAME: vaults_end_dpeg_shops2
TAGS: vaults_end_quadrant vaults_end_quadrant_mall unrand
SHUFFLE: Ll / Mm / Nn / Oo / Pp / Qq / Rr / Ss / Tt
SUBST: o = k, lmnpqrst = ', LMNPQ = S99, RT = S
NSUBST: A = 1:+ / *:x+, B = 1:+ / *:x+, C = 1:+ / *:x+
KFEAT: S = scroll shop / distillery shop / abandoned_shop
KFEAT: S = scroll shop w:7 / distillery shop w:7 / \
gadget shop w:6 / abandoned_shop
NSUBST: ' = 20:9 / *:.
NSUBST: . = 5:9 / *:.
SUBST: 9 = 8 9 .:20
Expand Down Expand Up @@ -2391,7 +2392,7 @@ SHUFFLE: AB, CD, Ee / Ff / Gg / Hh / Ii
SUBST: A = +, B : xx+, C : xxx+, D : xxxx+
SUBST: E = O, e = k, fghi = ', FG = S, HI : RRU9
KFEAT: S = jewellery shop / antique armour shop / distillery shop
KFEAT: R = general shop / book shop / scroll shop / \
KFEAT: R = general shop / book shop / scroll shop / gadget shop / \
antique weapon shop / distillery shop
KFEAT: U = stone_arch
NSUBST: ' = 22:9 / *:., . = 2:9 / *:.
Expand Down
11 changes: 9 additions & 2 deletions crawl-ref/source/dat/des/builder/shops.des
Original file line number Diff line number Diff line change
Expand Up @@ -1454,11 +1454,18 @@ MAP
ENDMAP

# Gadget shops are back! Well, one gadget shop is back.
# (Now gadget shops are really back, I've added a unique gimmick: here we
# can also find +Blink and +Inv evocables armour and jewellery. I would have
# liked to add these items rarely to normal gadget shops, but the complexity
# of doing so seems not worth it, so it's nicely handled by a vault. -mumra)
NAME: nicolae_shop_gadgets
TAGS: transparent
DEPTH: D:4-, Depths, Orc, Elf, Shoals, Snake, Vaults
KFEAT: S = general shop type:Gadget suffix:Gallery count:5 use_all ; \
any wand | any wand | any wand | any wand | any misc
KFEAT: S = gadget shop type:Gadget suffix:Gallery count:8 ; \
w:40 any wand | w:20 any misc | w:15 any talisman | orb | \
w:2 any armour artprops:+Inv | w:2 any jewellery artprops:+Inv | \
w:3 any armour artprops:+Blink | w:3 any jewellery artprops:+Blink | \
w:2 scarf ego:invisibility | w:2 cloak ego:invisibility
SHUFFLE: cvmb
MAP
cc.vv
Expand Down
14 changes: 7 additions & 7 deletions crawl-ref/source/dat/des/portals/bazaar.des
Original file line number Diff line number Diff line change
Expand Up @@ -409,7 +409,7 @@ SUBST: A = Y
SHUFFLE: XY
SUBST: X = <, Y = >
# high quality shops, pity they don't stay :p
KFEAT: B = general shop
KFEAT: B = general shop / gadget shop
KFEAT: C = book shop / jewellery shop
KFEAT: D = antique weapon shop
KFEAT: E = antique armour shop
Expand Down Expand Up @@ -471,7 +471,7 @@ SHUFFLE: Aa/Zz, Bb/Yy, Cc/Rr, Dd/Ss
# two guaranteed shops, expected four shops
KFEAT: A = any shop / antique weapon shop
KFEAT: B = any shop / antique armour shop
KFEAT: C = any shop / antiques shop
KFEAT: C = any shop / antiques shop / gadget shop
KFEAT: D = any shop / jewellery shop
KFEAT: E = any shop / weapon shop / armour shop
KFEAT: F = any shop / book shop / scroll shop
Expand Down Expand Up @@ -586,7 +586,7 @@ KFEAT: D = antique armour shop / book shop
: else
SUBST: T = <, A = >
KFEAT: B = antique weapon shop
KFEAT: C = antique armour shop
KFEAT: C = antique armour shop / gadget shop
KFEAT: D = general shop / distillery shop
:end
: if crawl.coinflip() then
Expand Down Expand Up @@ -1108,7 +1108,7 @@ SHUFFLE: AX
SUBST: X = <, A = >
SUBST: B : T G
KFEAT: C = any shop
KFEAT: D = weapon shop / book shop / jewellery shop
KFEAT: D = weapon shop / book shop / jewellery shop / gadget shop
: bazaar_setup(_G)
: local colour = dgn.get_floor_colour()
: if colour == "red" then
Expand Down Expand Up @@ -1357,7 +1357,7 @@ SUBST: "=l , '=. , A=l , B=!
SUBST: "=. , '=l , A=! , B=l
: end
KFEAT: ! = jewellery shop / jewellery shop / antiques shop / scroll shop / \
book shop
book shop / gadget shop
LFLOORCOL: darkgrey
: set_border_fill_type("endless_lava")
: bazaar_setup(_G, false, false)
Expand Down Expand Up @@ -1716,7 +1716,7 @@ ORIENT: encompass
WEIGHT: 1
SHUFFLE: AC, BD
KFEAT: A = armour shop / weapon shop / jewellery shop
KFEAT: B = general shop
KFEAT: B = general shop / gadget shop
KFEAT: C = scroll shop / book shop / distillery shop
SUBST: D = >
SUBST: = : +x
Expand Down Expand Up @@ -1776,7 +1776,7 @@ SHUFFLE: AEST
NSUBST: A = 1:A / 1:B / 1:C / 1:D
SUBST: E=>, S=T, T:TUV, D=ABC.
KFEAT: A = armour shop / weapon shop / jewellery shop
KFEAT: B = general shop
KFEAT: B = general shop / gadget shop
KFEAT: C = scroll shop / book shop / distillery shop
: if crawl.coinflip() then
SUBST: '=+, "=x, :=x
Expand Down

0 comments on commit f0677ab

Please sign in to comment.