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

fax

Vars

allow_exotic_faxesIf true you can fax things which strictly speaking are not paper.
allowed_typesList of types which should always be allowed to be faxed
exotic_typesList of types which should be allowed to be faxed if hacked
fax_historyThis is where the dispatch and reception history for each fax is stored.
fax_idThe unique ID by which the fax will build a list of existing faxes.
fax_nameThe name of the fax displayed in the list. Not necessarily unique to some EMAG jokes.
hurl_contentsIf true we will eject faxes at speed rather than sedately place them into a tray.
jammedIf true, the fax machine is jammed and needs cleaning
loaded_item_refA weak reference to an inserted object.
seconds_electrifiedWorld ticks the machine is electified for.
special_networksList with a fake-networks(not a fax actually), for request manager.
syndicate_networkNecessary to hide syndicate faxes from the general list. Doesn't mean he's EMAGGED!
visible_to_networkTrue if the fax machine should be visible to other fax machines in general.

Procs

animate_object_travelProcedure for animating an object entering or leaving the fax machine. Arguments:
can_load_itemReturns true if an item can be loaded into the fax machine.
clear_jamAttempts to clean out a jammed machine using a passed item. Returns true if successful.
emag_actEmag the device if the panel is open. Emag does not bring you into the syndicate network, but makes it visible to you.
fax_name_existChecks fax names for a match.
find_overlay_stateReturns an appropriate icon state to represent a passed item. Arguments:
history_addA procedure that makes entries in the history of fax transactions.
history_clearClears the history of fax operations.
is_allowed_typeReturns true if an item is of a type which can currently be loaded into this fax machine. This list expands if you snip a particular wire.
log_faxRecords logs of bureacratic action Arguments:
multitool_actUsing the multi-tool with the panel closed causes the fax network name to be renamed.
receiveProcedure for accepting papers from another fax machine.
screwdriver_actOpen and close the wire panel.
sendThe procedure for sending a paper to another fax machine.
shockAttempts to shock the passed user, returns true if they are shocked.
travel_animation_completeCalled when the travel animation should end. Reset animation and overlay states. Arguments:
vend_itemActually vends an item out of the fax machine. Moved into its own proc to allow a delay for the animation. This will either deposit the item on the fax machine, or throw it if you have hacked a wire. Arguments:

Var Details

allow_exotic_faxes

If true you can fax things which strictly speaking are not paper.

allowed_types

List of types which should always be allowed to be faxed

exotic_types

List of types which should be allowed to be faxed if hacked

fax_history

This is where the dispatch and reception history for each fax is stored.

fax_id

The unique ID by which the fax will build a list of existing faxes.

fax_name

The name of the fax displayed in the list. Not necessarily unique to some EMAG jokes.

hurl_contents

If true we will eject faxes at speed rather than sedately place them into a tray.

jammed

If true, the fax machine is jammed and needs cleaning

loaded_item_ref

A weak reference to an inserted object.

seconds_electrified

World ticks the machine is electified for.

special_networks

List with a fake-networks(not a fax actually), for request manager.

syndicate_network

Necessary to hide syndicate faxes from the general list. Doesn't mean he's EMAGGED!

visible_to_network

True if the fax machine should be visible to other fax machines in general.

Proc Details

animate_object_travel

Procedure for animating an object entering or leaving the fax machine. Arguments:

can_load_item

Returns true if an item can be loaded into the fax machine.

clear_jam

Attempts to clean out a jammed machine using a passed item. Returns true if successful.

emag_act

Emag the device if the panel is open. Emag does not bring you into the syndicate network, but makes it visible to you.

fax_name_exist

Checks fax names for a match.

Called to check the new fax name against the names of other faxes to prevent the use of identical names. Arguments:

find_overlay_state

Returns an appropriate icon state to represent a passed item. Arguments:

history_add

A procedure that makes entries in the history of fax transactions.

Called to record the operation in the fax history list. Records the type of operation, the name of the fax machine with which the operation was performed, and the station time. Arguments:

history_clear

Clears the history of fax operations.

is_allowed_type

Returns true if an item is of a type which can currently be loaded into this fax machine. This list expands if you snip a particular wire.

log_fax

Records logs of bureacratic action Arguments:

multitool_act

Using the multi-tool with the panel closed causes the fax network name to be renamed.

receive

Procedure for accepting papers from another fax machine.

The procedure is called in proc/send() of the other fax. It receives a paper-like object and "prints" it. Arguments:

screwdriver_act

Open and close the wire panel.

send

The procedure for sending a paper to another fax machine.

The object is called inside /obj/machinery/fax to send the thing to another fax machine. The procedure searches among all faxes for the desired fax ID and calls proc/receive() on that fax. If the item is sent successfully, it returns TRUE. Arguments:

shock

Attempts to shock the passed user, returns true if they are shocked.

Arguments:

travel_animation_complete

Called when the travel animation should end. Reset animation and overlay states. Arguments:

vend_item

Actually vends an item out of the fax machine. Moved into its own proc to allow a delay for the animation. This will either deposit the item on the fax machine, or throw it if you have hacked a wire. Arguments: