UODiamondCodex

Bounty System

A minimal data store for tracking bounty entries on a single global "bounty stone" object. Source: UOD - System Bounty.scp.

How it works

The system is built around one persistent script item, i_stone_bounty (a gravestone), which holds all bounty records as tags:

  • On @create it initialises TAG.BOUNTIES=0 (the running count of stored bounties).
  • Two helper FUNCTIONs read/write the stone. Both hard-code the stone's UID in OBJ=04002423b, so they operate on that specific placed stone.
Function Behaviour
f_add_bounty Increments OBJ.TAG.BOUNTIES and stores <args> into OBJ.TAG.BOUNTY_<n> (the next slot).
f_isinbounty Loops over all BOUNTY_1..N tags; returns 1 if any equals <args>, else 0.

Note: This file only defines storage and lookup primitives. There are no player-facing commands here, and no code in this script consumes the bounties (e.g. pays out or displays them) — that logic, if any, lives elsewhere. The OBJ=04002423b UID is environment-specific and must match the actual placed stone.

Key definitions

DEFNAME Role
i_stone_bounty Global bounty store item; TAG.BOUNTIES = count, TAG.BOUNTY_<n> = entries
f_add_bounty Adds <args> as a new bounty entry
f_isinbounty Tests whether <args> is already a bounty