====== Shop Law ====== Otherwise known as the player shop handbook. Where players learn how **shopkeepers** work in Nilgiri the Forgotten World — listing the room stock, valuing goods you carry, buying what is for sale, identifying listed items, and checking your balance at the keeper. Listing goods for auction, bidding with ''offer'', auction timers, fees, and how wins or returns are covered on [[player:auctionlaw|Auction Law]]. Commerce needs a Banking Guild account (''help auction''). Immortal builders configure keepers under [[immortal:creationlaw:shops|Creation Law — Shops]]; this page is the player-facing shop flow. Related walkthroughs: [[player:gamelaw:shopkeepers|Shopkeepers]] · [[player:auctionlaw|Auction Law]] · [[player:gamelaw:bankingguild|Banking Guild]] · [[player:gamelaw:postalguild|Postal Guild]] · [[player:gamelaw|Game Law]] (Economy) ===== At a shopkeeper ===== Commands that only work in a shop room against a keeper with ''Acts.SHOPKEEPER'' (elsewhere they print the "not here" style refusal from ''Command'' → ''Communication.cmdNotHere''): * ''list'' — auctions and sales at this keeper * ''value'' — listing / postage quote for an item you carry (how listing spends that quote → [[player:auctionlaw|Auction Law]]) * ''buy'' — purchase an item that is **for sale** (not mid-auction) * ''identify'' — examine a listed item's stats * ''balance'' — ask the keeper for your bank balance (same guild funds) * ''auction'' / ''offer'' — list goods and bid → [[player:auctionlaw|Auction Law]] Keepers only **trade** certain item types (armor, weapon, and so on). If the keeper refuses what you bring, try another specialist. Shop rows also store open/close hours for builders; player trade commands do not gate on those hours in the current runtime path. Payment is from your Banking Guild account (carry a merchant note / have funds). In-game help demos often end command lines with ''with note''. ===== Typical shop flow ===== A common visit: ''list'' the room, ''value'' something you might consign later, ''identify'' a listing you care about, ''buy'' what is for sale (or ''offer'' while it is still auctioning — see [[player:auctionlaw|Auction Law]]), and ''balance'' if you want the keeper's short balance whisper. ===== List ===== ''list'' shows each stocked or consigned item with a short list index, hex item id, price in ''gc'', name, and — while still in the auction window — time left and offer count. Produced shop stock (keeper inventory copies) may appear without an auction timer. Example: > list The armorer informs you of its auctions and sales: 1) #01A3EEB9 500gc : 'the golden eagle breast plate' (6 days offers:0) 2) #01A3F46D 123gc : 'a great golden eagle shield' (6 days offers:0) 3) #01A513D2 61gc : 'a pair of armored golden eagle leggings' > You may address items by list number (''#1'') or by the hex id (''#01A513D2''). Empty stock whispers: "I have nothing for auction or sale." (''MobileScript.shopkeeperActList''). Owner-listed items whose auction window has ended and that still have no buyer show remaining sale time as ''… sale)'' on the list line (''Auction.list''); those are buyable — see Buy below. Mid-auction bidding is on [[player:auctionlaw|Auction Law]]. ===== Value ===== Before you list, ''value '' asks the keeper what listing will cost and what refundable shipping/handling deposit applies if you set a **minimum** selling price (so unsold goods can be mailed back). Example: > inventory You are carrying: the golden eagle breast plate (soft aura) a Banking Guild merchant note a small sparkling diamond a potion of youth > value the plate The armorer whispers to you, "I can list your plate for 6 gold coins. If you require a minimum selling price then you will also be charged a refundable 101 gold coins to cover shipping and handling fees for returned items." > The whisper formula is live from code (listing fee + ''shopMailCost(weight)'' for a minimum). ''help auction'' and current ''Constant.COST_AUCTION_LISTING'' = 0 mean the **base** listing is tax-covered; sample ''value'' demos may still show an older non-zero listing line. Always trust ''value'' on your item. How ''auction … minimum …'' spends that quote, and the full fee / timer table, are on [[player:auctionlaw|Auction Law]]. ===== Buy ===== ''buy'' works only when the listing is **for sale**: either keeper-produced stock, or a player listing whose auction window has ended (and any bids have already resolved). Mid-auction items refuse buy with ''S.auctItemNoSale'' ("That item is for auction, not for sale."). Example: > list The armorer informs you of its auctions and sales: #01A51392 500gc : 'the golden eagle breast plate' (6 days offers:0) #01A513CB 123gc : 'a great golden eagle shield' (6 days offers:1) #01A513D2 61gc : 'a pair of armored golden eagle leggings' > buy item #01a513d2 with note Account #0000-1001 debited 61gc for purchase #01A513CB by Silk Okay. The armorer whispers to you, "That will be 61 coins, please." You now have a pair of armored golden eagle leggings. > list The armorer informs you of its auctions and sales: #01A51392 500gc : 'the golden eagle breast plate' (6 days offers:0) #01A513CB 125gc : 'a great golden eagle shield' (6 days offers:1) > Same purchase by list number: > buy item #1 with note Account #0000-1001 debited 61gc for purchase #01A513CB by Silk Okay. The armorer whispers to you, "That will be 61 coins, please." You now have a pair of armored golden eagle leggings. > (Snippet note: help demos show purchase hex ''#01A513CB'' on a buy of leggings ''#01a513d2'' / list ''#1'' — likely a help-demo paste inconsistency; live debit text uses the purchased item's id from ''Bank.buy''. ''You now have …'' matches ''S.nowHave''.) Charisma can nudge the buy price slightly (code thresholds on ''Stat.CHARISMA''): high CHA may shave a few percent; very low CHA may hike it. The keeper whispers the adjusted figure when it applies (''S.discount'' / ''S.discountF'' for discounts; ''S.hike'' for low-CHA surcharges). ===== Identify ===== ''identify'' on a listed item (by list ''#n'' or hex id) prints type, AC, flags, wear slots, and modifiers. Live path announces ''COST_IDENTIFY'' (**2** gold): ''"For %d gold, $n informs you:"'' (''MobileScript.shopkeeperActIdentify''). An older merchant-note lead-in still appears in some help demos: > list The armorer informs you of its auctions and sales: 1) #01A51392 500gc : 'the golden eagle breast plate' (6 days offers:0) 2) #01A513CB 123gc : 'a great golden eagle shield' (6 days offers:0) 3) #01A513D2 61gc : 'a pair of armored golden eagle leggings' > identify item #01a513d2 with note For the Banking Guild merchant note, the armorer informs you: ARMOR "a pair of armored golden eagle leggings" AC apply: 8 ItemFlags : GLOW MAGIC Wear : TAKE LEGS Modifiers: (0) STRENGTH +3 (1) HITROLL +2 --- Affects Modifiers --- > By list number: > identify item #3 with note For the Banking Guild merchant note, the armorer informs you: ARMOR "a pair of armored golden eagle leggings" AC apply: 8 ItemFlags : GLOW MAGIC Wear : TAKE LEGS Modifiers: (0) STRENGTH +3 (1) HITROLL +2 --- Affects Modifiers --- > Prefer the live "For 2 gold, …" cost line from code when identifying today; the item body above is the in-game help demo shape. ===== Balance ===== At a shopkeeper, ''balance'' asks the keeper for your Banking Guild balance (same funds as the bank). ''MobileScript.shopkeeperActBalance'' whispers: "Currently, your balance is ." The bank desk has a full ''balance'' transcript, but there is no separate shop-room balance help sample; the keeper whisper text below is from Java only (amount illustrative from the bank help ledger figure): > balance The armorer whispers to you, "Currently, your balance is 543." > For the full account ledger at a banker, see [[player:gamelaw:bankingguild|Banking Guild]]. ===== Auction and offers ===== Handing goods to the keeper (''auction''), bidding (''offer''), auction / sale timers, listing fees, outbid refunds, wins, returns, and dumps are documented on [[player:auctionlaw|Auction Law]]. ''help auction'' is the in-game help keyword for that market. ===== Immortal contrast ===== Builders create and save shop rows with ''@shop'' / ''@save shop'' under [[immortal:creationlaw:shops|Creation Law — Shops]]. Players never use those commands — only the room commands above against a placed keeper. ===== Related ===== * [[player:auctionlaw|Auction Law]] — list for sale, bid, lifecycle, fees, delivery * [[player:gamelaw:shopkeepers|Shopkeepers]] — shorter command demos * [[player:gamelaw:bankingguild|Banking Guild]] — accounts and notes * [[player:gamelaw:postalguild|Postal Guild]] — receive auction wins / returns * [[player:gamelaw|Game Law]] — economy hub * [[immortal:creationlaw:shops|Creation Law — Shops]] — immortal shop build