San Francisco - Modules - TypesVar Details - Proc Details

Splat

A type of supernatural being (like vampires, werewolves, ghouls, etc.) that players can be. Has traits and actions that are inherent to all members of the splat.

Also manages the supernatural powers of this splat that the owner has, but it's limited until future reworks improve powers.

Vars

can_frenzyCan frenzy and is given a verb to manually do it.
descDescription of what the splat is and what it does
idID for trait sources and whatnot
incompatible_splatsSplats that someone with this splat cannot gain
nameName of the splat
ownerMob this splat belongs to
power_typeBase type of the powers that this splat has
powersPowers unique to this splat possessed by the owner
splat_actionsActions possessed by all members of this splat
splat_biotypesBiotypes possessed by all members of this splat
splat_priorityThe priority a splat has in being returned when checked for, and for overriding behavoirs if something contests
splat_traitsTraits possessed by all members of this splat
tooth_fingerprintIf examining the pulled tooth of the splat can gain some indication of what it is.

Procs

add_actionsInternal proc to add all of the splat's actions to the new owner on gain.
add_biotypesInternal proc to add all of the splat's biotypes to the new owner on gain.
add_splat_traitsInternal proc to add all of the splat's traits to the new owner on gain.
assignAssign this splat to a new owner.
check_roundstart_eligibleChecks if a splat is eligible to be picked at roundstart.
clear_powersInternal proc to clean up all power instances owned by this splat. Called by unassign() on losing the splat.
create_pref_biotypes_perksAdds adds any perks related to the splat's splat_biotypes flags.
create_pref_unique_perksUsed to add any splat specific perks to the perk list.
get_featuresReturns a list of strings representing features this splat has. Used by the preferences UI to know what buttons to show.
get_powerStandardize this all when the power system is made universal, the procs have to be implemented on every subtype because powers are currently completely unrelated datums.
get_splat_descriptionGets a short description for the specices. Should be relatively succinct. Used in the preference menu.
get_splat_loreGets the lore behind the type of species. Can be long. Used in the preference menu.
get_splats_perksGenerates a list of "perks" related to this splat (Postives, neutrals, and negatives) in the format of a list of lists. Used in the preference menu.
on_gainEffects on gaining the splat.
on_loseEffects on losing the splat normally.
on_lose_or_destroyEffects on losing the splat if the owner isn't null.
prepare_human_for_previewGiven a human, will adjust it before taking a picture for the preferences UI. This should create a CONSISTENT result, so the icons don't randomly change.
remove_actionsInternal proc to remove all of the actions added by this splat on lose. Checks for and skips actions that also belong to another splat.
remove_biotypesInternal proc to remove all of the biotypes added by this splat on lose. Checks for and skips biotypes added by the owner's species or other splats.
remove_splat_traitsInternal proc to remove all of the traits added by this splat on lose.
unassignRemove this splat from its owner.

Var Details

can_frenzy

Can frenzy and is given a verb to manually do it.

desc

Description of what the splat is and what it does

id

ID for trait sources and whatnot

incompatible_splats

Splats that someone with this splat cannot gain

name

Name of the splat

owner

Mob this splat belongs to

power_type

Base type of the powers that this splat has

powers

Powers unique to this splat possessed by the owner

splat_actions

Actions possessed by all members of this splat

splat_biotypes

Biotypes possessed by all members of this splat

splat_priority

The priority a splat has in being returned when checked for, and for overriding behavoirs if something contests

Typically a two digit number plus a SPLAT_PRIO define to ensure its easy to shift around prios and nothing overlaps. e.g 50 + SPLAT_PRIO_SPLAT for a mid imporant fullsplat

splat_traits

Traits possessed by all members of this splat

tooth_fingerprint

If examining the pulled tooth of the splat can gain some indication of what it is.

Proc Details

add_actions

Internal proc to add all of the splat's actions to the new owner on gain.

add_biotypes

Internal proc to add all of the splat's biotypes to the new owner on gain.

add_splat_traits

Internal proc to add all of the splat's traits to the new owner on gain.

assign

Assign this splat to a new owner.

Fails if the new owner cannot be given the splat or a signal return cancels it. Proceeds to give the splat to the owner and add its traits, actions, and biotypes before applying on_gain() effects. Returns the splat on success.

Arguments:

check_roundstart_eligible

Checks if a splat is eligible to be picked at roundstart.

Checks the config to see if this splat is allowed to be picked in the character setup menu. Used by [/proc/generate_selectable_splat_and_languages].

clear_powers

Internal proc to clean up all power instances owned by this splat. Called by unassign() on losing the splat.

create_pref_biotypes_perks

Adds adds any perks related to the splat's splat_biotypes flags.

Returns a list containing perks, or an empty list.

create_pref_unique_perks

Used to add any splat specific perks to the perk list.

Returns null by default. When overriding, return a list of perks.

get_features

Returns a list of strings representing features this splat has. Used by the preferences UI to know what buttons to show.

get_power

Standardize this all when the power system is made universal, the procs have to be implemented on every subtype because powers are currently completely unrelated datums.

get_splat_description

Gets a short description for the specices. Should be relatively succinct. Used in the preference menu.

Returns a string.

get_splat_lore

Gets the lore behind the type of species. Can be long. Used in the preference menu.

Returns a list of strings. Between each entry in the list, a newline will be inserted, for formatting.

get_splats_perks

Generates a list of "perks" related to this splat (Postives, neutrals, and negatives) in the format of a list of lists. Used in the preference menu.

"Perk" format is as followed: list( SPECIES_PERK_TYPE = type of perk (postiive, negative, neutral - use the defines) SPECIES_PERK_ICON = icon shown within the UI SPECIES_PERK_NAME = name of the perk on hover SPECIES_PERK_DESC = description of the perk on hover )

Returns a list of lists. The outer list is an assoc list of [perk type]s to a list of perks. The innter list is a list of perks. Can be empty, but won't be null.

on_gain

Effects on gaining the splat.

Overridable proc that handles all splat-specific behavior when the splat is gained. Called in assign() after the owner gained the splat and its traits, actions, and biotypes were added.

on_lose

Effects on losing the splat normally.

Overridable proc that handles most splat-specific behavior when the splat is lost. Called in unassign() before any part of the splat is removed from the owner. Not called if the owner is being deleted.

on_lose_or_destroy

Effects on losing the splat if the owner isn't null.

Overridable proc that handles splat-specific behavior when the splat is lost. Called in unassign() before anything else whether or not the owner is being deleted. Should be used only for cleanup like removing the owner from a splat-specific global list.

prepare_human_for_preview

Given a human, will adjust it before taking a picture for the preferences UI. This should create a CONSISTENT result, so the icons don't randomly change.

remove_actions

Internal proc to remove all of the actions added by this splat on lose. Checks for and skips actions that also belong to another splat.

remove_biotypes

Internal proc to remove all of the biotypes added by this splat on lose. Checks for and skips biotypes added by the owner's species or other splats.

remove_splat_traits

Internal proc to remove all of the traits added by this splat on lose.

unassign

Remove this splat from its owner.

Fails if the owner is null, or cleans up the splat if the owner is being deleted. First applies on_lose() effects then removes all of the splat's traits, actions, and biotypes that were added in assign() before removing the splat entirely.