/tg/ Station 13 - Modules - TypesVar Details - Proc Details

parrot

Parrots! Klepto bastards that imitate your speech and hoard your shit.

Vars

desired_perchesContains all of the perches that parrots will generally sit on until something catches their eye.
earsHeadset for Poly to yell at engineers :)
ediblesFood that Poly loves to eat (spoiler alert it's just crackers)
forced_speech_cooldownTracks the times when we send a phrase through either being pet or attack to ensure it's not abused to flood
icon_sitIcon we use while sitting
ignore_itemsitems we wont pick up
pet_commandslist of commands we follow
speech_blackboard_keyThe blackboard key we use to store the string we're repeating
speech_probability_rateThe generic probability odds we have to do a speech-related action
speech_shuffle_rateThe generic probability odds we have to switch out our speech string

Procs

consume_crackerEats a cracker (or anything i guess). This would be nice to eventually fold into the basic_eating element but we do too much snowflake inventory code stuff for this to be reliable presently. We don't qdel the item here, we assume the invoking proc will have handled that somehow. Returns TRUE if we ate the thing.
drop_held_itemHandles dropping items we're holding. Gently is a special modifier we can use for special interactions.
early_melee_attackMaster proc which will determine the intent of OUR attacks on an object and summon the relevant procs accordingly. This is pretty much meant for players, AI will use the task-specific procs instead.
get_available_channelsGets the available channels that this parrot has access to. Returns a list of the channels we can use.
get_phraseProc that handles sending the signal and returning a valid phrase to say. Will not do anything if we don't have a stat or if we're cliented. Will return either a string or null.
get_static_list_of_phrasesGets a static list of phrases we wish to pass to the element.
mouse_drop_draggedProc that we just use to see if we're dragging onto stomething something for perch behavior or dropping the item we currently have
on_attackedIf we're right-clicked on with a cracker, we eat the cracker.
on_injuredHandles special behavior whenever we are injured.
on_petProc that listens for when a parrot is pet so we can dispatch a voice line.
perch_on_humanProc that will perch us on a human. Returns TRUE if we perched, FALSE otherwise.
put_in_hand_checkPicks up an item from the ground and puts it in our claws. Returns TRUE if we picked it up, FALSE otherwise.
setup_headsetWill simply set up the headset for the parrot to use. Stub, implemented on subtypes.
start_perchingProc that ascertains the type of perch we're dealing with and starts the perching process. Returns TRUE if we started perching, FALSE otherwise.
steal_from_mobLooks for an item that we can snatch and puts it in our claws. Returns TRUE if we picked it up, FALSE otherwise.
update_speech_blackboardsUpdates our speech blackboards mob-side to reflect the current speech on the controller to ensure everything is synchronized.

Var Details

desired_perches

Contains all of the perches that parrots will generally sit on until something catches their eye.

ears

Headset for Poly to yell at engineers :)

edibles

Food that Poly loves to eat (spoiler alert it's just crackers)

forced_speech_cooldown

Tracks the times when we send a phrase through either being pet or attack to ensure it's not abused to flood

icon_sit

Icon we use while sitting

ignore_items

items we wont pick up

pet_commands

list of commands we follow

speech_blackboard_key

The blackboard key we use to store the string we're repeating

speech_probability_rate

The generic probability odds we have to do a speech-related action

speech_shuffle_rate

The generic probability odds we have to switch out our speech string

Proc Details

consume_cracker

Eats a cracker (or anything i guess). This would be nice to eventually fold into the basic_eating element but we do too much snowflake inventory code stuff for this to be reliable presently. We don't qdel the item here, we assume the invoking proc will have handled that somehow. Returns TRUE if we ate the thing.

drop_held_item

Handles dropping items we're holding. Gently is a special modifier we can use for special interactions.

early_melee_attack

Master proc which will determine the intent of OUR attacks on an object and summon the relevant procs accordingly. This is pretty much meant for players, AI will use the task-specific procs instead.

get_available_channels

Gets the available channels that this parrot has access to. Returns a list of the channels we can use.

get_phrase

Proc that handles sending the signal and returning a valid phrase to say. Will not do anything if we don't have a stat or if we're cliented. Will return either a string or null.

get_static_list_of_phrases

Gets a static list of phrases we wish to pass to the element.

mouse_drop_dragged

Proc that we just use to see if we're dragging onto stomething something for perch behavior or dropping the item we currently have

on_attacked

If we're right-clicked on with a cracker, we eat the cracker.

on_injured

Handles special behavior whenever we are injured.

on_pet

Proc that listens for when a parrot is pet so we can dispatch a voice line.

perch_on_human

Proc that will perch us on a human. Returns TRUE if we perched, FALSE otherwise.

put_in_hand_check

Picks up an item from the ground and puts it in our claws. Returns TRUE if we picked it up, FALSE otherwise.

setup_headset

Will simply set up the headset for the parrot to use. Stub, implemented on subtypes.

start_perching

Proc that ascertains the type of perch we're dealing with and starts the perching process. Returns TRUE if we started perching, FALSE otherwise.

steal_from_mob

Looks for an item that we can snatch and puts it in our claws. Returns TRUE if we picked it up, FALSE otherwise.

update_speech_blackboards

Updates our speech blackboards mob-side to reflect the current speech on the controller to ensure everything is synchronized.