parrot
Parrots! Klepto bastards that imitate your speech and hoard your shit.
Vars | |
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 |
held_item | Parrots are kleptomaniacs. This variable ... stores the item a parrot is holding. |
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 |
Procs | |
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. |
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. |
pick_up_item | Handles picking up the item we're holding, done in its own proc because of a snowflake edge case we need to account for. No additional logic beyond that. Returns TRUE if we picked it up, FALSE otherwise. |
resolve_right_click_attack | Proc that we just use to see if we're rightclicking something for perch behavior or dropping the item we currently ahve |
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_ground | Picks up an item from the ground and puts it in our claws. Returns TRUE if we picked it up, 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. |
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
held_item
Parrots are kleptomaniacs. This variable ... stores the item a parrot is holding.
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.
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.
pick_up_item
Handles picking up the item we're holding, done in its own proc because of a snowflake edge case we need to account for. No additional logic beyond that. Returns TRUE if we picked it up, FALSE otherwise.
resolve_right_click_attack
Proc that we just use to see if we're rightclicking something for perch behavior or dropping the item we currently ahve
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_ground
Picks up an item from the ground and puts it in our claws. Returns TRUE if we picked it up, 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.