====== Auction Law ====== Otherwise known as the player auction handbook. Where players learn how **listing**, **bidding**, **timers**, **fees**, and **delivery** work at Nilgiri shopkeepers — the auction-style market behind [[player:shoplaw|Shop Law]]. A Banking Guild account is required for commerce (''help auction''). Shop-room commands that browse or buy stock without listing or bidding stay on [[player:shoplaw|Shop Law]]; this page is the auction and offer path. Related: [[player:shoplaw|Shop Law]] · [[player:gamelaw:bankingguild|Banking Guild]] · [[player:gamelaw:postalguild|Postal Guild]] · [[immortal:creationlaw:shops|Creation Law — Shops]] · [[player:gamelaw|Game Law]] (Economy) ===== How to auction (list an item) ===== At a keeper with ''Acts.SHOPKEEPER'', hand goods with ''auction''. From ''help auction'' and ''MobileScript.shopkeeperActAuction'': * ''auction '' * or ''auction for gold'' * with return postage: ''auction minimum '' The start price must be greater than zero. A minimum, if set, must be ≥ 0 and ≤ the start price (''S.noAuctMinCost''). The item leaves your inventory into shop storage and appears on ''list''. In-game help for ''auction'' (base listing covered by taxes; ''Constant.COST_AUCTION_LISTING'' = 0): > auction headress for 10 gold You hand a pontiff's headress to the armorer. Account #0000-10A9 debited 0gc for auction service #00F31DC3 'a pontiff's headress' by Quenyarhun Okay. The armorer whispers to you, "Taxes cover the cost of your listing." > With a minimum (in-game help demo; fee follows weight × mail multiplier): > auction the plate for 500 gold coins at a minimum of 200 with note You hand the golden eagle breast plate to the armorer. Account #0000-1000 debitted 106gc for auction service #01A3EEB9 by Quenarhun Okay. The armorer whispers to you, "That'll be 106 coins, please." > From ''help auction'': if you list **without** a minimum and the item never sells, the shopkeeper may **dump** it free of charge. If you need the item back, set a minimum and pay the postage deposit. Ask ''value'' on the item first (see [[player:shoplaw|Shop Law]] — Value) for the live listing / shipping quote. Grammar notes: in-game help spells ''headress''; some help demos print ''debitted'' / ''Quenarhun'' while ''Bank.java'' ledger text uses ''debited'' and ''help auction'' uses ''Quenyarhun''. An older no-minimum sell demo still shows a non-zero listing debit from an older fee table — live ''COST_AUCTION_LISTING'' = 0 and the tax-cover whisper above. Trust the bank line and whisper you see. ===== Offer (bid) ===== While an item is still in its **auction** window (owner-listed, time remaining), bid with ''offer'', not ''buy''. Bids below the next allowed price are refused; a successful bid debits your account. Example: > 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' > offer 125 gold for #01a513cb with note Account #0000-1001 debitted 125gc for auction #01A513CB by Silk Okay. The armorer whispers to you, "Thanks for your offer! Your account will be deducted. Should you be outbid, your offer will be refunded." > offer 1 gold coin for item #01a51392 with note The armorer whispers to you, "Your offer is too low. Try 500 gold coins." > list The armorer informs you of its auctions and sales: 1) #01A51392 500gc : 'the golden eagle breast plate' (6 days offers:0) 2) #01A513CB 125gc : 'a great golden eagle shield' (6 days offers:1) 3) #01A513D2 61gc : 'a pair of armored golden eagle leggings' > By list number: > offer 125 gold for #1 with note Account #0000-1001 debitted 125gc for auction #01A513CB by Silk Okay. The armorer whispers to you, "Thanks for your offer! Your account will be deducted. Should you be outbid, your offer will be refunded." > The next bid must be at least **110%** of the current high bid (or one coin higher when that percentage would not raise the price) — ''Auction.PRICE_INCREASE_PERCENT''. Raising your **own** high bid whispers ''S.raiseOffer'': "Your account is updated and your offer has been raised." Address items by list number (''#1'') or hex id (''#01A513CB''). Mid-auction items refuse ''buy'' with ''S.auctItemNoSale'': "That item is for auction, not for sale." ===== Auction lifecycle ===== From ''Auction.poll'', ''AuctionEvent'', ''help auction'', ''Mailer'', and ''Bank'': - **List** — ''auction'' stores the item under the keeper; auction clock starts (''Auction.TIME_TO_AUCTION'' = **2 real weeks**). - **Bid** — ''offer'' while time remains. List lines show remaining time and ''offers: N''. - **Sale window** — if the auction clock ends with **no** offers, the listing enters a **sale** period (''Auction.TIME_TO_SELL'' = **1 real month**). List lines show remaining sale time as ''… sale)''. Asking price drops each real day to **70%** of the prior price (''PRICE_DECREASE_PERCENT'' / ''PRICE_DECREASE_PERIOD''), never below your minimum. Players may ''buy'' at the current sale price (see [[player:shoplaw|Shop Law]] — Buy). - **Cancel** — no player cancel command was found in in-game help or the shopkeeper command set; omitted. Auction resolution is polled about every **30 real minutes** per keeper (''AuctionEvent.PULSE'' = nextPrime(30 × ''Time.MILLIS_PER_MINUTE'')). ==== When someone wins (bids present) ==== When the auction clock expires **with** at least one offer (''Auction.poll'': ''timeLeft <= 0'' and ''_offers > 0''): - The high bidder is mailed the item: ''Mailer.send(bidder, shopkeeper.proper(), item)''. The **from** name is the shopkeeper's proper name. - If the bidder is **online** (linked), ''MaildeliverEvent'' runs with the player's mail daemon (default ''S.immMailDaemon'' = "a snowy white owl"): swoop in carrying the item, deliver it, tell ''Mailer.message()'', give the item, then fly away. ''Mailer.message()'' is built as: "You have a package here sent