Saved revision 2. Current page.
Shoplifting for gold
For a character with high Pickpocketing, stealing a few valuable, light items can avoid dungeon combat. Bank spare gold first, take only the pieces worth the risk, then sell them at a shop that buys their item type. Merchants accept stolen goods, but a guilty verdict confiscates stolen items you carry.
The detection check uses Pickpocketing, shop quality, the basket's total weight and its item count. Higher-quality shops are harder to steal from. Taking an entire shelf is much riskier than taking one light piece.
These examples use a quality-10 shop and a basket containing one item:
| Pickpocketing | Basket weight (kg) | Detection chance |
|---|---|---|
| 100 | 1 | 12% |
| 100 | 30 | 41% |
| 50 | 1 | 62% |
Detection chance is always at least 5%, even with better skills.
This is a specialist method, not a reliable beginner income. Online counters remain staffed around the clock. The old trick of selling a stolen item back onto a shelf and stealing it again no longer works: a stolen item disappears from shop stock when sold. See Crime and the law for the consequences of being caught.
Sources (72)
- src/systems/shopStock.js
- src/systems/tradeModes.js
- src/systems/item/foundMark.js
- src/systems/repairService.js
- src/net/townEconLaw.js
- src/net/marksLaw.js
- src/systems/silverFinds.js
- src/net/professionLaw.js
- src/net/nodeLaw.js
- src/net/writLaw.js
- src/net/craftWritLaw.js
- src/net/marketLaw.js
- src/net/vendorLaw.js
- src/net/patronLaw.js
- src/net/decorLaw.js
- src/net/homeLaw.js
- src/systems/bounty/bountyBoard.js
- src/systems/bounty/bountyReward.js
- src/systems/searchables.js
- src/systems/eliteFoes.js
- src/systems/quest/actions.js
- src/systems/guild/guildServices.js
- src/systems/gate/gateSpoils.js
- src/systems/raidSpoils.js
- src/systems/serpent/serpentSpoils.js
- src/systems/starfall/starSpoils.js
- src/systems/starfall/starglassRow.js
- src/systems/ketch/ketchSpoils.js
- src/systems/superDungeon/sdSpoils.js
- src/net/superDungeon/sdLaw.js
- src/systems/eliteGates/egSpoils.js
- src/net/eliteGates/egPay.js
- src/systems/arena/arenaLadder.js
- src/systems/arena/arenaBook.js
- src/net/card/cardLaw.js
- src/systems/naval/tradeGoods.js
- src/systems/naval/harbourBoard.js
- src/systems/naval/captainLedger.js
- src/systems/naval/navalPlunder.js
- src/systems/shipyards.js
- src/systems/loot/loot.js
- src/systems/roleplayRealismItems/rriRealism.js
- src/systems/unleveledLoot.js
- src/systems/dungeon/dungeonRespawn.js
- src/world/smallerDungeons.js
- src/formats/mapsFile.js
- src/net/gate/gateBrain.js
- src/systems/teleportAnchor.js
- src/systems/theft.js
- src/systems/stolenGoods.js
- src/combat/formulas.js
- src/systems/banking.js
- src/systems/worldTick.js
- src/net/wire.js
- src/systems/online/onlineLane.js
- src/formats/blocksFile.js
- src/formats/arch3dFile.js
- src/world/rdbLayout.js
- src/world/dungeon/dungeonLayout.js
- src/world/arch3dSeams.js
- src/ai/nav/navBake.js
- src/ai/nav/navmesh.js
- src/player/collider.js
- src/player/enterExit.js
- src/scenes/roomLootHost.js
- src/scenes/searchRoom.js
- src/systems/roomLoot.js
- src/scenes/dungeonContext.js
- src/player/activate.js
- src/world/rmbFlats.js
- src/scenes/lockpickHost.js
- src/systems/lockpick/lockpickItem.js