Methods
(static) createAppearance(character) → {String}
- Description:
Describe a character's appearance and behavior. This description will be different each time the character is passed to this function.
atomic.createAppearance({ character }) => "Long brown hair, short stature"
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
character |
ion.models.Character | The character to describe. |
Returns:
A description of the appearance and behavior of the character
- Type
- String
createBag(paramsopt)
- Description:
Generate a collection of items.
- Source:
Example
let bag = createBag({ totalValue: 500, minValue: 10, tags: 'firearm'});
bag.toString()
=> "2 Browning Automatic Rifles, a M14 Rifle...and a pulse rifle."
Parameters:
| Name | Type | Attributes | Description | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
params |
Object |
<optional> |
Properties
|
createCharacterName(params) → {CharacterName}
- Description:
Generate a random name for a mid-century American, of the kind that would be wandering around an atomic era apocalypse. Does not add a nickname.
- Source:
Example
createCharacterName({gender: 'female', heritage: 'latino'})
=> {"given": "Elena", "family": "Silva", "gender": "female", "heritage": "latino"}
let girl = createCharacterName({gender: 'female'})
girl.toString()
=> "Ada King"
Parameters:
| Name | Type | Description | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
params |
Object |
Properties
|
Returns:
- Type
- CharacterName
createContainer(params) → {Bag}
- Description:
Create a bag with additional properties (representing a container of some kind, like a lockbox or safe).
- Source:
Parameters:
| Name | Type | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
params |
Object |
Properties
|
Returns:
a bag representing a container
- Type
- Bag
createKit(params) → {Object}
- Description:
Generate the possessions that would be on the person of an active NPC (e.g. out on patrol, out for a night on the town, out on a raid or in the middle of criminal activity).
- Source:
Parameters:
| Name | Type | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
params |
Object |
Properties
|
Returns:
An object of two bags, one under the property "clothing" and another under the bag of "possessions".
- Type
- Object
createLocation()
- Description:
Create a location. You must supply the type of a location template and an instance tree will be created from that point in the template hierarchy, working downward throw all child nodes templates, returning the resulting instance tree. Tags are not currently used in selection of templates, but may be in the future.
- Source:
createMagazineTitle() → {String}
- Description:
Magazines will be produced as generic items in bags, loot, etc. This method returns a magazine with an auto-generated title, usually pretty silly. The titles are random so these magazines are not considered collectible.
- Source:
Returns:
magazine with a title
- Type
- String
createStockpile(paramsopt) → {Bag}
- Description:
Like creating a bag but with many more repeated items (purposefully repeated, not accidentally repeated), as if collected for a cache, shop, or storeroom. Honors the
totalValuelimit (in fact will usually fall short of it), butfillBagwill always be treated as false.
- Source:
Parameters:
| Name | Type | Attributes | Description | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
params |
Object |
<optional> |
Properties
|
Returns:
a bag representing a stockpile
- Type
- Bag
findAll(optionsopt) → {Array.<Item>}
- Description:
Finds all items matching the specified criteria.
- Source:
Example
itemDb.findAll({ tags: "weapon sword", minValue: 10, maxValue: 100 });
Parameters:
| Name | Type | Attributes | Default | Description | |||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
<optional> |
{}
|
Search criteria Properties
|
Returns:
Array of matching Item objects
- Type
- Array.<Item>
findAll(param0) → {Array.<Model>}
- Description:
This returns all items that match regardless of rarity, or an empty array if none match.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
param0 |
* |
Returns:
all models that match
- Type
- Array.<Model>
findOne(optionsopt) → {Item|null}
- Description:
Finds a single random item matching the specified criteria, weighted by rarity (rare items are less likely to be selected).
- Source:
Example
itemDb.findOne({ tags: "weapon", minValue: 5 });
Parameters:
| Name | Type | Attributes | Default | Description | |||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
<optional> |
{}
|
Search criteria Properties
|
Returns:
A random matching Item object, or null if none found
- Type
- Item | null
findOne(param0) → {Model|null}
- Description:
This returns one random item that matches, respecting rarity.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
param0 |
* |
Returns:
a random matching model, or null if none found
- Type
- Model | null
getContainerTypes() → {Array}
- Description:
Get container types. One of these values is a valid type to pass to the
createContainer(type)method.
- Source:
Returns:
an array of container types
- Type
- Array
getProfessions()
- Description:
Post collapse professions only.
- Source:
Returns:
a list of profession names
idFilter(m, id) → {boolean}
- Description:
Filters models by ID.
- Source:
Example
models.filter(m => idFilter(m, "item123"));
Parameters:
| Name | Type | Description |
|---|---|---|
m |
Object | The model to test |
id |
* | The ID to match against (undefined means no filtering) |
Returns:
True if the model matches or no ID filter is specified
- Type
- boolean
namesFilter(m, name) → {boolean}
- Description:
Filters models by checking if a name exists in the model's names array.
- Source:
Example
models.filter(m => namesFilter(m, "John"));
Parameters:
| Name | Type | Description |
|---|---|---|
m |
Object | The model to test |
name |
string | The name to search for (undefined means no filtering) |
Returns:
True if the model contains the name or no name filter is specified
- Type
- boolean
newCreateBag(paramsopt)
- Description:
A simplified bag creation algorithm, currently being tried out with locations at the kibble layer.
- Source:
Parameters:
| Name | Type | Attributes | Description | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
params |
Object |
<optional> |
Properties
|
Returns:
a bag that meets the above criteria.
tagFilter(m, tags) → {boolean}
- Description:
Filters models by tags using tag matching logic.
- Source:
Example
models.filter(m => tagFilter(m, "weapon firearm"));
Parameters:
| Name | Type | Description |
|---|---|---|
m |
Object | The model to test |
tags |
string | The tag filter string (undefined means no filtering) |
Returns:
True if the model matches or no tag filter is specified
- Type
- boolean
timeSeries(paramsopt) → {Array}
- Description:
Create a date series for periodicals, in the past.
- Source:
Parameters:
| Name | Type | Attributes | Description | |||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
params |
Object |
<optional> |
params Properties
|
Returns:
an array of string dates in the format 'Monday 2 Jan 1956'.
- Type
- Array
typeFilter(m, type) → {boolean}
- Description:
Filters models by type (case-insensitive).
- Source:
Example
models.filter(m => typeFilter(m, "weapon"));
Parameters:
| Name | Type | Description |
|---|---|---|
m |
Object | The model to test |
type |
string | The type to match against (undefined means no filtering) |
Returns:
True if the model matches or no type filter is specified
- Type
- boolean