# Phones & inventory

Phone models, colours and accents, inventory items, and the phone stores in your city.

## Choose a phone model

| | Wolfden Phone | Wolfden Phone Pro | Wolfden Phone Secure |
| --- | --- | --- | --- |
| Items | `nova_phone_<colour>` | `nova_business_<colour>` | `nova_secure` (black only) |
| Body | Standard | Squarer corners | Rugged, with a rubber bumper |
| Interface | NovaOS | NovaOS | Its own tactical interface |
| App limit | 30 | 40 | Its eight apps |
| Apps | All, plus Nova Store | All, plus Nova Store | Fixed set of eight |
| Lines enabled at once | 1 | 2 (dual SIM) | 1 |
| eSIMs stored | 1 | 4 | 1 |
| SIM cards | Any carrier | Any carrier | Ghost Mobile eSIMs only |
| Nova Account, Locate, backups | Yes | Yes | No |
| Face Unlock | Yes | Yes | No |
| NovaBuds, Nova Studio, speakers, Wi-Fi | Yes | Yes | No |
| Voice changer on calls | No | No | Yes |
| Default theme | System | Dark | Dark |
| Default accent colour | The finish's, or blue | The finish's, or gold | Lime, fixed |

- **Wolfden Phone** is the everyday personal phone.
- **Wolfden Phone Pro** is the dual-SIM work phone, with more eSIMs and more app space.
- **Wolfden Phone Secure** is the burner phone, described [below](#wolfden-phone-secure).

All three run NovaOS. Models are defined in `config/devices.lua` (the keys `nova`, `nova_business` and `nova_secure`), and their SIM limits in `config/sims.lua`. Only the names players see changed in 1.0.1: item names, model keys and config keys are the same as before, so a Wolfden Phone Pro is still the item `nova_business_<colour>`.

## Colours

Wolfden Phone and Wolfden Phone Pro are sold as one item per colour, and the phone on screen and in the player's hand always matches its item. There are eight finishes:

| Finish | Wolfden Phone item | Wolfden Phone Pro item | Accent colour |
| --- | --- | --- | --- |
| Midnight Black | `nova_phone_midnight` | `nova_business_midnight` | The model's default |
| Pearl White | `nova_phone_pearl` | `nova_business_pearl` | The model's default |
| Titanium Grey | `nova_phone_titanium` | `nova_business_titanium` | Graphite |
| Rose Gold | `nova_phone_rosegold` | `nova_business_rosegold` | Rose |
| Ocean Blue | `nova_phone_ocean` | `nova_business_ocean` | Blue |
| Violet | `nova_phone_violet` | `nova_business_violet` | Purple |
| Red | `nova_phone_red` | `nova_business_red` | Red |
| Forest Green | `nova_phone_forest` | `nova_business_forest` | Green |

The item entries and images for all 17 phones are in [Installation](#/docs/wd_phone/installation). Metadata cannot recolour a phone: to sell a different colour, sell its item.

### Accent colours

The accent colour tints buttons, switches and highlights. A new phone uses **Match Phone**: the accent of its finish from the table above, or the model's default (blue on Wolfden Phone, gold on Wolfden Phone Pro). Players can pick one of eleven accents during setup or in Settings → Display & Brightness. Wolfden Phone Secure always uses its lime accent.

Change which accent a finish uses with `accent` in `Config.DeviceColors`, and a model's default with `defaultAccent` in `Config.PhoneModels`, both in `config/devices.lua`. The colours themselves are in `Config.AccentColors` in `config/themes.lua`.

## In the player's hand

Each Wolfden Phone and Wolfden Phone Pro finish has its own phone model in the player's hand, and Wolfden Phone Secure has its own rugged model, set in `Config.Prop.perModel` (`nova_secure = 'nova_secure'`). All of them are included in the resource. The standard GTA phone in `Config.Prop.default` only shows if a model is missing.

Every Wolfden Phone and Wolfden Phone Pro in someone's hand with its screen on casts a soft glow on the holder's face, seen by players nearby. Wolfden Phone Secure does not glow, nor does a phone that is off or lying on a charging pad or the ground. Tune it in `Config.PhoneLight` in `config/client.lua`: `color`, `brightness`, `distance` and `scanRadius`, or `enabled = false` to turn it off.

To use your own prop for a model, set it in `Config.Prop.perModel` by model key, such as `nova_secure = 'my_phone_prop'`; it replaces that model's own props. The hand position is `offset` and `rotation` in `Config.Prop`.

## Inventory items

Wolfden Phone includes item files for both supported inventories, in `migrations/`:

| Inventory | Item file | Paste into | Copy `inventory/*.png` to |
| --- | --- | --- | --- |
| ox_inventory | `ox_inventory_items.lua` | `ox_inventory/data/items.lua` | `ox_inventory/web/images/` |
| qb-inventory | `qb_inventory_items.lua` | `QBShared.Items` in `qb-core/shared/items.lua` | `qb-inventory/html/images/` |

The phones and SIM cards at the top are required. The groups below them are optional; add the ones you use:

| Group | Items |
| --- | --- |
| Phones | `nova_secure`, `nova_phone_<colour>`, `nova_business_<colour>` |
| SIM cards | `nova_sim_blank`, `nova_sim`, `nova_business_sim` |
| Charging | `nova_car_charger`, `nova_power_bank`, `nova_charging_pad` |
| Wi-Fi | `nova_router` |
| NovaBuds and Nova Studio | `novapods_white`, `novapods_black`, `novapods_max_silver`, `novapods_max_spacegray`, `novapods_max_skyblue`, `novapods_max_pink`, `novapods_max_green` |
| Speakers | `nova_speaker_mini`, `nova_speaker_boom` |
| SD card | `sd_card` |
| Shade | `shade_sdcard`, `shade_key` |
| Racing | `racing_usb` |

The item names keep their original ids: `novapods_white` is a pair of NovaBuds, `novapods_max_<colour>` is Nova Studio, `nova_business_<colour>` is a Wolfden Phone Pro. Only the labels players see use the new names. If you are updating from 1.0.0, copy the labels from the item file into your inventory again; see [Updating Wolfden Phone](#/docs/wd_phone/upgrading).

On qb-inventory, Wolfden Phone makes the items usable itself; there is nothing else to register. `phoneadmin selftest report` warns about any item that is missing.

The models players see in the world are included too: NovaBuds and Nova Studio when worn, the charging pad, the router, and the Nova Mini and Nova Boom speakers. Whatever sits on a charging pad shows as its own model: any phone (every finish, and the Secure), a power bank, the NovaBuds charging case in white or black, and a speaker as its prop.

## Make phones available to players

Phones and accessories are sold at the [phone stores](#phone-stores) that come with Wolfden Phone. You can also sell the items in your inventory's own shops: add the phone items you want to sell, such as `nova_phone_midnight` or `nova_business_pearl`, and set your own prices.

From another resource, give a phone with:

```lua
-- ox_inventory
exports.ox_inventory:AddItem(source, 'nova_phone_ocean', 1)
-- qb-inventory
exports['qb-inventory']:AddItem(source, 'nova_phone_ocean', 1, nil, nil, 'purchase')
```

SIM carrier shops are defined separately in `config/shops.lua`; see [SIMs & carriers](#/docs/wd_phone/sims).

## Phone stores

Phone stores sell phones in every finish, NovaBuds, Nova Studio, speakers, chargers, routers, blank SIMs and SD cards over the counter. Players walk up to the counter and open the storefront with ox_target, or an **[E]** prompt without it. They pick a finish and quantity, and pay by bank or cash.

| Store | Sells | Hours (game time) | Map blip |
| --- | --- | --- | --- |
| Digital Den | Everything except Wolfden Phone Secure, with 10% off for on-duty police and EMS | 07:00 to 23:00 | Yes |
| Wolfden Kiosk | Wolfden Phone, NovaBuds, power banks, car chargers and blank SIMs | 08:00 to 22:00 | Yes |
| Back Room Electronics | Everything, including Wolfden Phone Secure | 20:00 to 05:00 | Hidden |
| Stranger | [Shade](#/docs/wd_phone/shade) SD cards and [Racing](#/docs/wd_phone/racing) USBs only, for cash | 22:00 to 05:00 | Hidden |

Default prices:

| Product | Price | Product | Price |
| --- | --- | --- | --- |
| Wolfden Phone | 1200 | Nova Mini speaker | 180 |
| Wolfden Phone Pro | 1850 | Nova Boom speaker | 420 |
| Wolfden Phone Secure | 5200 at Back Room, the only store that sells it | Power bank | 95 |
| NovaBuds | 249 | Car charger | 45 |
| Nova Studio | 549 | Charging pad | 120 |
| Wi-Fi router | 320 (280 at Back Room) | Blank SIM | 100 |
| SD card | 25 | | |

The **Stranger** is a black-market dealer at a different spot every day, at night only; see [Shade](#/docs/wd_phone/shade?section=the-stranger).

### Configure the stores

The stores, prices and the dealer's spots are in the server-only `config/mobile_shops_server.lua`, so players cannot read them. Keep your changes in a file in `config/local/server/`; see [Configuration](#/docs/wd_phone/configuration?section=keep-your-changes-in-configlocal).

- **Prices** for every store are in `catalogue`. A product without a price is not sold. A store's own `catalogue` overrides a price, sets `stock` (a number of units until the next restart, or `false` for sold out), or removes a product with `false`.
- **Each store** has `coords` and `heading` (move every counter to fit your map), a shop assistant (`ped`), a `blip`, opening `hours` and an optional `products` list.
- **Wolfden Phone Secure** (`nova_secure`) is only sold where a store has `secure = true`. Shade cards and Racing USBs only where it has `contraband = true`.
- **Job discounts:** `discounts = { police = 10 }`, with `discountOnDuty = true` to apply them only on duty.
- **Job-owned stores:** `owner = { job = 'digitalden', account = 'digitalden' }` pays sales into that job's account, when your banking resource has shared accounts.
- **Limits:** `accounts` (how players may pay), `maxQuantity` (units per purchase, 5 by default) and `cooldownMinutes` (one purchase per character per that long).

Opening hours are checked by players' games. To have the server enforce them on every purchase too, give it the game hour with `serverHour`; the file's comments have examples.

Shared settings are in `config/mobile_shops.lua`: `enabled`, `interaction` (`'auto'`, `'target'` or `'prompt'`) and `maxDistance`, how close to the counter a purchase is accepted (3 metres). Another resource can add a store while the server runs with the `AddMobileShop` export; see [Exports & integrations](#/docs/wd_phone/exports).

`phoneadmin selftest report` warns when a store sells an item your inventory does not have.

## Give a test phone

```text
/giveitem <id> nova_phone_midnight 1
/giveitem <id> nova_business_ocean 1
/giveitem <id> nova_secure 1
```

Replace `<id>` with a player's server ID. A new item's first use sets the phone up and signs it automatically.

## Wolfden Phone Secure

Wolfden Phone Secure (item `nova_secure`) is a locked-down burner with its own graphite and lime-green interface. It is the burner phone: nothing on it can be traced back through an account.

- **Fixed apps.** Settings, Notifications, Phone, Messages, Contacts (the Phone app's Contacts tab), Camera, Gallery and [Shade](#/docs/wd_phone/shade). There is no Nova Store, so nothing else can be installed. Add `'city'` to its `apps` list in `config/devices.lua` to offer City.
- **No Nova Account.** It cannot sign in, so it never appears in Locate and cannot be backed up, transferred or erased remotely. Its data stays on the phone.
- **Burner SIMs only.** It has no SIM card slot and takes only Ghost Mobile eSIMs. Those are `777` numbers that expire after the time the player bought, and calls from them always hide the caller ID.
- **Disappearing data.** Its messages, call history, photos and contacts disappear on timers, starting at 24 hours for messages; see [Disappearing data](#/docs/wd_phone/nova-secure?section=disappearing-data).
- **Quiet lock screen.** A new Wolfden Phone Secure hides what arrived on its lock screen.
- **Burn Phone and Burn PIN.** Players can erase everything at once, including what the phone sent, from Settings or by typing a second PIN on the lock screen.
- **New numbers and rooms.** Its eSIM can swap for a fresh `777` number, and players can meet in group chats joined with a code.
- **Voice changer.** Players can disguise their voice on calls with the Robot, Distorted, Radio or Muffled style, set in Settings → Phone & Messages or on the call screen.
- **Locked down.** Mobile data only (no Wi-Fi), no Bluetooth, NovaBuds or Nova Studio, no Face Unlock, no Control Center, and no theme, accent, wallpaper, widget or home-screen changes.

On-duty police can get past a seized Secure's PIN with a timed forensic unlock. [Wolfden Phone Secure](#/docs/wd_phone/nova-secure) covers each feature and its settings in `config/secure.lua`.

The Ghost Mobile shop has no map blip by default, and only Back Room Electronics sells the phone itself. Players have to know where they are, or you can enable their blips in `config/shops.lua` and `config/mobile_shops_server.lua`.

## Change names and appearance

For inventory labels and descriptions, edit the item entries in your inventory. For model labels (`label` in `Config.PhoneModels`), colours and accents, edit `config/devices.lua`; for themes and wallpapers, `config/themes.lua`.

Keep item names matched across the inventory entries and the phone configuration. Renaming the resource or an item without updating the other side prevents the item from opening.

## What moves with the phone?

| Stays with the phone | Follows the Nova Account | Follows the SIM |
| --- | --- | --- |
| Settings, home screen, installed apps, Calendar, Notes, alarms, photos and videos | Contacts, messages, call history, voicemail, mail, saved places and the Music library | The phone number |

Without a Nova Account, the phone keeps the account data too. A number routes calls and messages, but history belongs to the account (or phone) that received it. Use [Nova Account & recovery](#/docs/wd_phone/device-operations) to move a phone's own data to another phone.
